AIGC图像技术在淘宝人生2的探索和应用(上)

简介: AIGC图像技术在淘宝人生2的探索和应用(上)

淘宝人生2(又名:第二人生)是淘宝的一个虚拟人装扮类应用,承担了用户在淘宝的第二个人生的作用。我们旨在通过AI为淘宝人生2的用户提供丰富有趣的可玩性内容,随着最近火热的AIGC技术的发展,我们也进行了相关尝试和落地,目前已经上线了AI拍照风格化、AI写真馆、AI服饰涂鸦等项目。本文主要以AI服饰涂鸦为例介绍我们在AIGC图像领域的探索和应用,希望能够对大家有所启发和帮助,也欢迎大家建议和合作。


项目背景


为了能够让淘宝人生2的用户拥有更多可互动性的有趣玩法,提高社区内容发布量,我们开发了AI服饰涂鸦项目,能够让用户自行创作生成相关服饰,增加用户的参与感和成就感。具体玩法主要是:通过选定一张底图,用户可以在图上进行自由涂鸦和创作,同时也支持输入文字描述,然后通过AIGC算法技术,最终生成和用户涂鸦相像的高质量风格图像。下列涂鸦来自淘宝人生2的用户创作:

图1 AI服饰涂鸦示例


前置技术介绍


本节内容主要是简介一些项目使用到的关键技术,不会长篇大论进行具体的理论分析,只是让大家有一个大致的了解,如果想深入了解相关的原理可以查看论文或者网上大佬们的文章博客。


 Stable Diffusion


在具体图像生成算法选择上,我们选择以Stable Diffusion(后续简称为SD)技术为核心,进行开发和优化。其核心是基于Latent Diffusion Models(LDMs)实现的的文生图模型,SD模型基于Latent的扩散模型的优势是因为图像的Latent空间要比Pixel空间小得多,计算效率更高效。下图是其主要框架结构,它先采用AutoEncoder能够将图像压缩到Latent空间,然后通过扩散模型并在U-Net中引入TextCondition来实现基于文本生成图像的Latents,最后送入AutoEncoder的Decoder模块解码得到生成的图像。


图2 基于Latent的扩散模型结构

SD模型主要包括了三大件:图像压缩还原模型(变分自编码器VAE),文本编码器(CLIP Text Encoder)和潜空间扩散模型(U-Net结构)。

  1. VAE其分为Encoder和Decoder两部分,Encoder将图像压缩到Latent空间,而Decoder将Latent解码为图像。
  2. CLIPTextEncoder:理解输入的文字描述,把文字信息转换成特征向量,并注入到扩散模型的UNet中,指导图像生成。
  3. UNet:扩散模型的主体,在潜空间中逐步处理扩散信息,用来实现文本引导下的图像Latent生成。


SD更深入的原理和具体训练过程和我们在这不详细展开,我们关注其整体的推理部分,我们将上述三个大模块组合一下,以一个具体示例进行展示: 图3 SD模型三大件工作流程


通过上面展示的SD流程,我们即可实现给定一段文本描述prompt后生成相关的图像。


 ControlNet


上面SD模型能够通过prompt以及image的输入,生成一张图像,但是其生成的图像不太可控,具有一定的抽卡性质,有非常多千差万别的图像符合输入描述的文本。


而ControlNet的出现,将AI绘画推向了高峰,ControlNet是一个神经网络架构,该网络可以控制SD模型使其支持更多的输入条件,提高图像生成模型在特定结构和布局控制上的能力。


图4 ControlNet结构


图中ControlNet结果的locked部分固定了原始模型的权重,保留原始模型已经学习到的图像生成能力,通过额外学习网络参数加入到原始模型中,以最终控制图像的生成。其中zero convolution是一个1x1的卷积层,初始化权重和偏差都为0,以保证训练初始阶段随机噪声不会影响主干网络。ControlNet在SD模型中应用的结构如下:

图5 ControlNet和StableDiffusion结合


通过不同的控制条件作为输入输出训练,即可实现通过物体边缘、人物姿态、深度图等等条件来控制SD模型推理得到的图达到和输入布局类似的效果。一些不同控制条件下的SD+ControlNet生图效果:

图6 不同控制条件下的SD+ControlNet生图效果


 LoRA


由于大模型的训练需要非常高的数据和机器资源成本,即使是进行 Fine-tuning微调也需要较多算力资源的消耗。而LoRA(Low-Rank Adaptation)的提出,便大大节约了算力、提高了效率,它能够让下游细分领域任务的微调大面积应用起来。其最初是为LLM大语言模型设计的低秩适配器,一开始SD并不支持LoRA,据说Simo Ryu是第一个让SD支持LoRA的人。


其主要原理是假设模型在适配特定任务时的参数改变量是低秩的,通过低秩分解来模拟参数的改变量,从而实现间接的训练神经网络的参数,由此引出低秩自适应方法LoRA。


图7 LoRA结构


LoRA在SD模型中的训练逻辑是首先冻结SD模型的权重,然后在SD模型的U-Net结构中注入LoRA模块,并将其与CrossAttention模块结合,并只对这部分参数进行微调训练,其中低秩分解是由两个低秩矩阵的乘积组成。LoRA模型能在较小的数据集上进行训练,即使是几张图像也能够完成特定的细分领域微调任务。


虽然LoRA模型能够比较好的适应特定的任务比如图像风格化,但是总体来说在图像的多样性和泛化性上还是有所欠缺的,因此我们在项目中大部分情况下不同的风格还是选择使用不同的底模。


AIGC图像技术在淘宝人生2的探索和应用(下):https://developer.aliyun.com/article/1480495


目录
相关文章
|
9天前
|
人工智能 自然语言处理 数据可视化
什么是AIGC?如何使用AIGC技术辅助办公?
2分钟了解AIGC技术及其如何提高日常办公效率!
45 4
什么是AIGC?如何使用AIGC技术辅助办公?
|
27天前
|
人工智能 自然语言处理 数据挖掘
Claude 3.5:一场AI技术的惊艳飞跃 | AIGC
在这个科技日新月异的时代,人工智能(AI)的进步令人惊叹。博主体验了Claude 3.5 Sonnet的最新功能,对其卓越的性能、强大的内容创作与理解能力、创新的Artifacts功能、视觉理解与文本转录能力、革命性的“computeruse”功能、广泛的应用场景与兼容性以及成本效益和易用性深感震撼。这篇介绍将带你一窥其技术前沿的魅力。【10月更文挑战第12天】
59 1
|
1月前
|
机器学习/深度学习 人工智能 缓存
基于AIGC的自动化内容生成与应用
基于AIGC的自动化内容生成与应用
64 3
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AIGC的底层技术:人工智能通用计算架构
探索AIGC的底层技术:人工智能通用计算架构
108 3
|
1月前
|
人工智能 自然语言处理 搜索推荐
超越边界:探索2023年AIGC技术盛宴,预测前沿科技的奇迹 🚀
本文探讨了互联网内容生产从PGC、UGC到AIGC的演变,特别关注了AIGC(人工智能生成内容)的发展及其对未来内容生产的深远影响。文章详细介绍了AIGC的定义、技术进展(如生成算法、多模态技术、AI芯片等),并展示了AIGC在多个领域的广泛应用,如代码生成、智能编程、个性化服务等。未来,AIGC将在各行各业创造巨大价值,推动社会进入更加智能化的时代。同时,文章也探讨了AIGC对开发者的影响,以及其可能无法完全取代人类的原因,强调开发者可以利用AIGC提升工作效率。
38 0
|
1月前
|
机器学习/深度学习 自然语言处理 Go
Python与Go在AIGC领域的应用:比较与分析
Python与Go在AIGC领域的应用:比较与分析
41 0
|
4月前
|
存储 自然语言处理 API
通义万相AIGC技术Web服务体验评测
随着人工智能技术的不断进步,图像生成技术已成为创意产业的一大助力。通义万相AIGC技术,作为阿里云推出的一项先进技术,旨在通过文本到图像、涂鸦转换、人像风格重塑及人物写真创建等功能,加速艺术家和设计师的创作流程。本文将详细评测这一技术的实际应用体验。
189 4
|
3月前
|
机器学习/深度学习 数据采集 人工智能
作为AIGC技术的一种应用-bard
8月更文挑战第22天
63 15
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
|
3月前
|
人工智能
AIGC图生视频技术下的巴黎奥运高光时刻
图生视频,Powered By「 阿里云视频云 」
133 4