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、参考资料 概要…...

UE5 学习系列(二)用户操作界面及介绍
这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...