AIGC 技术在淘淘秀场景的探索与实践
本文介绍了AIGC相关领域的爆发式增长,并探讨了淘宝秀秀(AI买家秀)的设计思路和技术方案。文章涵盖了图像生成、仿真形象生成和换背景方案,以及模型流程串联等关键技术。
文章还介绍了淘淘秀的使用流程和遇到的问题及处理方法。最后,文章展望了未来AIGC的发展趋势,包括模型使用体验优化、自动化素材生成和产品形态探索等方向。
引言
AIGC相关领域爆发式增长,在图像式AI领域出现Midjourney、SD等专业的工具,也推出了妙鸭相机、美图秀秀等生成虚拟形象的APP。
当前淘宝具有的用户群和商家,可以考虑设计一款结合用户和商家AI工具,以AI生成用户商品代言为主题,帮助商家提高商品展示的吸引力,同时通过个性化和创新的虚拟形象增强用户体验。
在这个背景下,产品同学设计了一款让用户具有代入感的生成产品,淘淘秀(也叫AI买家秀),让用户上传通过照片建立像我但比我好看的商品代言,也会结合一些互动玩法,引发用户创作兴趣提升业务的指标。
关键词:图像类AI创新应用、用户轻松创作、内容分享、结合商家品牌。
技术交流群
建了技术答疑、交流群!想要进交流群、资料的同学,可以直接加微信号:mlc2060。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。
前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~
方式①、添加微信号:mlc2060,备注:技术交流
方式②、微信搜索公众号:机器学习社区,后台回复:技术交流
技术调研
整个产品会更复杂一些,这里我们主要探讨AIGC相关的一些技术能力,在买家秀的产品设计下,在AIGC的相关能力依赖上,有如下的诉求:
-
生成优质素材模板,用户要代言的商品素材,以便达到更好的效果;生成
-
结合素材模板和用户图片,生成用户相关图片;用户形象生成
-
在用户图片的基础上,考虑进行背景风格替换,提升丰富性( 策划中,还未上线,也写一下 );背景生成替换
相关的产品链路,这个是比较早期的,在调研之图中的一些方案有做一些调整,但是大致流程接近:
-
生成素材 -> 配置模板 -> 生成用户代言图 -> 进行贴图 ;
-
同时在考虑一些视频类的生成。
图像生成方案对比
要求是**(真人 + 场景 + 商品类目)**的情况下,生成一些比较好的素材图片案例,给到用户使用, 中间使用了几个模型。
现在从事后总结的角度,我觉得对这些模型做一些对比,考虑几个维度:
-
准确性(易用性): 模型生成的图像与提示词描述的一致性
-
可扩展性;API接入与自动化:模型是否支持API接入,支持API的话,跑任务解放运营。影响到速度与效率。
-
成功率: 大约多少张图片,可以有一张可以用的照片, 成功率到一个可以接受的范围。
使用提示词如下:
An ultra-realistic photograph captured with the aesthetics of an iPhone camera, portraying a modern Chinese woman in a distinctive location in Shanghai. The woman is sitting on a wooden bench, the backdrop is softly blurred showcasing the city’s unique architecture. The park is filled with lush greenery and vibrant flowers, exuding tranquility. Soft sunlight bathes the woman’s visage and hair, creating a subtle and natural glow. The image, shot in high resolution with a 750:1200 aspect ratio, exudes the character’s authentic charm and elegance.
不同模型的效果:
模型:Midjourney
特性:易用性高;无可扩展性;成功率高达50%;
优点:生成质量高,真人效果好,可以生成复杂的图像。
缺点:访问限制;没有API,不能直接和系统打通。;速率限制,单个用户一分钟一般只能生成一次。
效果图:
BadCase:
基本不太有,就是风格问题、角度问题等。
模型:通义万相
特性:易用性高;可扩展性高;成功率中等为10~50%;
优点:内部产品;支持API接入;使用起来方便
缺点:真人场景下效果略微差一点,但是不是不能接受;算下来更贵一点,单张照片官网标记价格 0.16元一张。
效果图:
BadCase:
有时候脸会变形
模型:Stable Diffusion
特性:易用性低;可扩展性高;成功率低约为1%;
优点:开源;允许定制模型和自己部署;经过调整后效果也可以达到非常好的地步。
缺点:使用难度大;提示词难调,好的效果需要花较多的时间;只能生成某一种类型的,一旦结合类目或者场景就会有比较大的问题。
效果图:
其实效果也不太行。
BadCase:
出现失败的概率还是比较高的。
模型:DALL·E
特性:DALLE3真人效果当前不太行,暂时忽略。DALLE2还原度有点差。
优点:支持API接入;能生成高分辨率的图像;提示词的还原度比较高
缺点:访问限制;在真人的效果上还是差点意思。
效果图:
BadCase:在我们的场景下,在真实人物上上感觉都是bad case。
模型:堆友
特性:风格、尺寸、生成速度,和上面没有太明显的优势。
优点:内部产品;效果还可以,有一定的还原度
缺点:没有联系对应团队,官网上没有API;在结合具体类目的时候,也会变形;风格有限;尺寸有限
效果图:
整体结论:
-
Midjourney在生成效果上表现最为出色,但其过程需要持续的人工参与,意味着较高的时间成本。
-
在万相和Stable Diffusion效果对比,万相效果更好,如果要做规模化考虑使用下万相;
-
SD在通用场景下效果比较差,但是SD模型提供了全面的定制能力。
基于各自的特色,概括如下:
仿真形象生成方案对比
如何让生成的图片要包含对应的人物特征,让用户的代入感更强。我们的算法同学调研不同的方案,数字分身以及换脸。大概效果如下:
考虑到资源问题、以及背后的素材质量问题,走换脸的链路,用的也是主流的Roop模型。
▐ 换背景方案 (测试中)
当前可用的就只有SD的Inpaiting方案,把人物扣出来,使用SemanticGuidedHumanMatting,然后进行背景的补充。因为背后的风格是生成的,提示词未必能涵盖到所有的场景,对输入的图片也要有一定的限制。结果上存在一定的不可控性,
目前效果上还在探索,看以什么样的形态更合适。
一些限制:
-
人不能占空间太小; 背景发挥的空间不要太大。
-
人手里不要拿东西,人物不要有一些物品依赖,比如沙发,坐着之类的,也会生成比较奇怪的内容。
模型流程串联**
可以看一下万相在一些场景上从生成到最终的效果
希望场景:行李箱 - 男- 机场
调整提示词:An Instagram-style portrait that serves as a luggage advertisement featuring a 20-year-old Chinese boy. He’s sitting inside an airport with a suitcase next to him, holding a cup of coffee. The background is the airport, creating a high-end atmosphere. You can see the boy’s complete face and facial features. He’s posing dynamically and relaxed, creating a sophisticated composition, shot using a film camera, 8k
用通义万相随机生成四张照片。(提示词好的话,生成的成功率感觉还可以,效果大家可以评估下到底如何)
淘淘秀AIGC的使用
-
在淘宝客户端搜索【淘淘秀】
-
点击【淘淘秀】进入到对应的小程序。
-
开始我的代言,上传自己的照片
-
生成用户的代言照片;
-
可以选择自己喜欢的代言照片发布到广场,也可以选择私密。
问题与处理
在应用AIGC时遇到的一些问题与处理;
问题1:模型在特定场景下生成效果不佳
方案: 引入外部的Midjourney,人工生产与导入。一些内部模型可以生成的,选择内部模型批量生成组合多个模型使用。
问题2:线上生成效果不稳定,资源消耗大。
方案: 离线生成,人工筛选。预先生成内容以减少资源消耗,并提高内容质量的一致性。
问题3:每部署一个模型,都要写一套TPP;
方案: 利用vipserver进行模型匹配和调用,写一套模型调用的网关,结合限流和队列技术,平衡系统负载,提高部署效率。最开始以为只有TPP才能访问到模型部署的机器,后面发现知道IP之后,应用也可以直接调用模型的服务,就省去TPP这一层了。
问题4: 生成的内容后如何使用。
方案: 开发一些内容的配套工具,内容的导出,内容的检索(图片检索),内容标注,以满足不同场景需求。
展望
在第一阶段,大约一个月的时间主要关注于开发和上线,未来还有一些可尝试的计划和想法:
-
优化模型使用体验:后台体验和用户体验,当前只是确保具备对应的功能,但如何让管理人员介入进来更好的指导模型生产素材,还有很多体验优化可以做。 另外再用户侧的模型生成上,保证效果更好和更稳定。
-
自动化素材生成:看能否设定内容目标后,能利用模型自动化地生成内容,提升内容的规模和丰富性。
-
产品形态探索:从图片到视频,从图片到故事,或者配上音乐等等,有些形态看看是否要尝试,探索更有趣、更吸引人的产品形态。
跳出产品之外,一些预感即将会发生的,随着模型的性能以及效果变好之后,以后对专业的内容创作者依赖越来少,内容的生产效率越来越高。互联网上将会有越来越多的AI内容,针对每个人的个性化素材,解放人们的想象力…
当然内容过度也会有一定的影响,但最后肯定还是往好的方向发展。
考虑到越来越多的AI创新产品出现,本文所涉及到的AIGC能力我们在这次的开发中都沉淀到一个AI的平台,提供一些模型能力的复用, 对类似能力有兴趣的业务,可以探讨交流下,一起探索下更多AI的可能性。
相关文章:

AIGC 技术在淘淘秀场景的探索与实践
本文介绍了AIGC相关领域的爆发式增长,并探讨了淘宝秀秀(AI买家秀)的设计思路和技术方案。文章涵盖了图像生成、仿真形象生成和换背景方案,以及模型流程串联等关键技术。 文章还介绍了淘淘秀的使用流程和遇到的问题及处理方法。最后,文章展望…...

ANSYS网格无关性检查
网格精度对应力结果存在很大的影响,有时候可以发现,随着网格精度逐渐提高,所求得的最大应力值逐渐趋于收敛。 默认网格: 从默认网格下计算出的应力云图可以发现,出现了的三处应力奇异点,此时算出的应力值是…...

设计模式-责任链-笔记
动机(Motivation) 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有个接受者,如果显示指定,将必不可少地带来请求者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受…...

SpringMvc请求原理流程
springmvc是用户和服务沟通的桥梁,官网提供了springmvc的全面使用和解释:DispatcherServlet :: Spring Framework 流程 1.Tomcat启动 2.解析web.xml文件,根据servlet-class找到DispatcherServlet,根据init-param来获取spring的…...

【开源】基于Vue.js的音乐偏好度推荐系统的设计和实现
项目编号: S 012 ,文末获取源码。 \color{red}{项目编号:S012,文末获取源码。} 项目编号:S012,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 音乐档案模块2.1…...

采集1688整店商品(店铺所有商品、店铺列表api)
返回数据: 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "http…...

IObit Unlocker丨解除占用程序软件
更多内容请收藏:https://rwx.tza-3.xyz 官网:IObit Unlocker “永远不用担心电脑上无法删除的文件。” 界面简单,支持简体中文,一看就会,只需要把无法删除/移动的文件或整个U盘拖到框里就行。 解锁率很高,…...

开发一款小程序游戏需要多少钱?
小程序游戏的开发成本因多种因素而异,无法提供具体的固定数字。以下是影响小程序游戏开发成本的一些关键因素: 游戏规模和复杂度: 小程序游戏可以是简单的休闲游戏,也可以是更复杂的策略游戏。规模和复杂度会影响开发所需的时间和…...

基于Vue+SpringBoot的校园电商物流云平台开源项目
项目编号: S 034 ,文末获取源码。 \color{red}{项目编号:S034,文末获取源码。} 项目编号:S034,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 商品数据模块2.3 快…...

庖丁解牛:NIO核心概念与机制详解 03 _ 缓冲区分配、包装和分片
文章目录 Pre概述缓冲区分配和包装 (allocate 、 wrap)缓冲区分片 (slice)缓冲区份片和数据共享只读缓冲区 (asReadOnlyBuffer)直接和间接缓冲区 (allocateDirect)内存映射文件 I/O将文件映射到内存(map) Pre 庖丁解牛࿱…...

002 OpenCV dft 傅里叶变换
目录 一、傅里叶变换 1.1 傅里叶变换概念 1.2 opencv中傅里叶变换 二、实验代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、傅里叶变换 2.1 傅里叶变换概念 傅里叶变换(Fourier Transform)是一种…...

力扣:171. Excel 表列序号(Python3)
题目: 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如: A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 来源:力扣(LeetCode) …...

C++中结构体的初始化
C中结构体的初始化 结构体是一个由程序员定义的数据类型,可以容纳许多不同的数据值。在过去,面向对象编程的应用尚未普及之前,程序员通常使用这些从逻辑上连接在一起的数据组合到一个单元中。一旦结构体类型被声明并且其数据成员被标识&…...

vue3+vite+ts 发布自定义组件到npm
vue3vite 发布自定义组件到npm 初始化项目编写组件配置打包组件上传到npm测试组件库 初始化项目 // 创建项目 pnpm create vite vue-test-app --template vue-ts// 运行项目 cd vite vue-test-app pnpm install pnpm run dev编写组件 1、根目录下创建packages目录作为组件的开…...

mybatis使用xml形式配置
以这个注解形式的查询代码为例 Select("select * from emp where name like concat(%,#{name},%) and gender #{gender} and entrydate between #{begin} and #{end} order by update_time desc ")public List<Emp> list(String name, Short gender, LocalDat…...

开源简历生成器OpenResume
什么是 OpenResume ? OpenResume 是一个功能强大的开源简历生成器和简历解析器。OpenResume 的目标是为每个人提供免费的现代专业简历设计,让任何人都能充满信心地申请工作。 OpenResume 有 5 个核心特点: 特征描述1. 实时UI更新当您输入简历…...

AI变现之Gpts搞流量+赚钱
文章目录 Gpts | 搞流量 + 赚钱1.项目介绍2.项目分析3.项目实操4.变现路径Gpts | 搞流量 + 赚钱 1.项目介绍 这两天 AI 圈最火的莫过于 OpenAI 开发者大会公布的一个爆炸产品 Gpts 了,大家都知道这个肯定是一个划时代的产品,也绝对是一个风口,虽然官方还没有公布到底怎么通…...

音视频项目—基于FFmpeg和SDL的音视频播放器解析(十六)
介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…...

Elasticsearch文档操作
一、Elasticsearch的CURD 1、CURD之Create PUT lqz/doc/1 {"name":"顾老二","age":30,"from": "gu","desc": "皮肤黑、武器长、性格直","tags": ["黑", "长", "直…...

聊一聊go的单元测试(goconvey、gomonkey、gomock)
文章目录 概要一、测试框架1.1、testing1.2、stretchr/testify1.3、smartystreets/goconvey1.4、cweill/gotests 二、打桩和mock2.1、打桩2.2、mock2.2.1、mockgen2.2.1、示例 三、基准测试和模糊测试3.1、基准测试3.2、模糊测试 四、总结4.1、小结4.2、其他4.3、参考资料 概要…...

Positive Technologies 利用 PT Cloud Application Firewall 保护中小型企业的网络资源
云产品按月订购,无需购买硬件资源 PT Cloud Application Firewall 是 Positive Technologies 推出的首个用于保护网络应用程序的商用云产品。Web 应用层防火墙 (web application firewall, WAF) 现在可以通过 技术合作伙伴——授权服务商和云提供商以订购方式提供1…...

深入解析序列模型:全面阐释 RNN、LSTM 与 Seq2Seq 的秘密
探索序列建模的基础知识和应用。 简介 序列建模是许多领域的一个重要问题,包括自然语言处理 (NLP)、语音识别和语音合成、时间序列预测、音乐生成和「生物信息学」。所有这些任务的共同点是它们需要坚持。接下来的事情的预测是基于历史的。例如,在“哈桑…...

vue项目本地开发构建速度优化 hard-source-webpack-plugin
1、为啥要优化本地构建速度 有些项目因为项目需求点多、功能复杂、管理混乱、引入第三方插件/样式库过多、本身项目页面较多、文件较多等等原因,会导致项目体积变大、本地构建速度明显变慢,这时就需要对项目webpack进行一些设置来提高打包效率、加快打包…...

燕之屋通过港交所聆讯:苦战IPO十余年,黄健等人提前精准套现
撰稿|行星 来源|贝多财经 11月19日,厦门燕之屋生物工程股份有限公司(下称“燕之屋”)通过港交所聆讯,并披露了聆讯后资料集(即招股书),中金公司和广发证券为其联席保荐人。 据贝多财经了解&a…...

【51单片机系列】C51基础
本文内容是关于C51语言的基础内容的,包括C51的数据类型、变量、运算符、函数以及reg52.h文件中的内容,有些与C中相同的内容没有记录在此,比如常量、某些变量、表达式、程序结构、数组等没有涉及。 文章目录 C51的数据类型1. C51中的基本数据类…...

openssl1.0.2版本Windows安装问题
之前安装过1.1版本,Windows环境下C 安装OpenSSL库 源码编译及使用(VS2019)_vs2019安装openssl_肥宝Fable的博客-CSDN博客 后来发现linux编译不过,以为是版本问题,相差太大,所以降一下版本,以免…...

【Java 进阶篇】Ajax 实现——原生JS方式
大家好,欢迎来到这篇关于原生 JavaScript 中使用 Ajax 实现的博客!在前端开发中,我们经常需要与服务器进行数据交互,而 Ajax(Asynchronous JavaScript and XML)是一种用于创建异步请求的技术,它…...

Spring Cloud Stream实践
概述 不同中间件,有各自的使用方法,代码也不一样。 可以使用Spring Cloud Stream解耦,切换中间件时,不需要修改代码。实现方式为使用绑定层,绑定层对生产者和消费者提供统一的编码方式,需要连接不同的中间…...

高精度算法【Java】(待更新中~)
高进度加法 在Java中可以使用BigInteger进行高精度计算,除此也可以仿照竖式相加的计算原理进行计算。 BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算࿱…...

说一说HTTP1.0、1.1、2.0版本区别和优化
说一说HTTP1.0、1.1、2.0版本区别和优化 HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议。 在不同的版本中,HTTP经历了一系列的演进和改进,主要包括HTTP 1.0、HTTP 1.1和HTTP 2.0。 下面详细解释它们之间…...