ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;visibility: visible !important;width: 114px !important;"/>ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;text-align: center;visibility: visible;line-height: normal;">序言ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;">达人种草作为内容电商具有代表性的方式,其能够获得更高的用户黏性、更长时间的用户注意力,同时又能实现商品成交,正在成为内容电商的新宠。传统内容图片生成方式依赖引入真人拍摄种草内容,其时间成本,人力成本较大;使用AIGC批量生产成本近乎为0,可以极大程度帮助淘天商家、达人提升素材生产效率、丰富淘天内容生态;而人物生成是实现AIGC达人种草的基础技术,如何虚拟出一个达人,生成真实又具有吸引力的达人图片内容?我们将问题拆解为以下两个基础核心问题:ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;background-color: rgb(255, 255, 255);">1.真实性:生成的人物和场景需要以假乱真;ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;background-color: rgb(255, 255, 255);">2.一致性:一条内容里面的人物id,场景的一致性需要较好保证ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;background-color: rgb(255, 255, 255);">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;background-color: rgb(255, 255, 255);">我们将从人物图片生成,人物角色一致性,场景一致性,in-contex 一致性 这几个方面进行探讨。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;-webkit-tap-highlight-color: transparent;outline: 0px;color: rgb(34, 34, 34);visibility: visible;line-height: 1.75em;">
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;visibility: visible !important;width: 115px !important;"/>
▐人物数据集构建
搜集真实人物数据,进行人物检测,人脸检测,质量评分等过滤得到500w单人物高质量图片。
结构化打标:为方便进行多样性的prompt 控制,对人物图片进行结构化精细打标,参考csmicman,利用多模态大模型对图片进行精确caption 标注。
▐模型训练
去年9月,继 SD3 Medium、Kolors 之后,开源领域又新增了一款文本-图像生成模型 Flux.1,它由 Stability AI 前核心成员主导开发,模型质量远超 SD3,甚至与闭源的 Midjourney v6.1 模型不相上下,成为了 AI 文生图模型的新标杆,我们在FLUX.1dev 上进行微调;我们主要优化了以下训练策略:
1.multi resolution 训练:
采用multi resolution 训练flux,实验发现multi resolutin 训练可以有效提高flux 图片的生成质量。
2.风格和内容解耦合:
真实数据中存在大量复杂信息(复杂的背景,复杂的人物姿态),虽然flux 已是目前生成效果最真实的文生图模型,但是仍然不能完全适应这些复杂信息,如下真实数据和flux 生成数据对比,真实数据和flux 生成的图片在风格,细节丰富度,物体丰富度,空间布局,人物姿态,光影复杂度上存在较大差异。
我们实验发现直接使用原始flow matching loss 学习真实数据,模型人工评测通过率为69%,低于原始flux模型(84.7%),直接flow match loss 学习会破坏 原始flux 模型对人物和背景物体的理解能力,出现大量的手部,物体错误,如何保持住原始flux 模型的理解能力,同时将模型生成风格向真实数据风格迁移,我们使用风格和内容在loss上解耦合的方式进行训练。
adaIN提出VAE图像特征通道均值方差代表风格,我们将flux 的pred noise 分离出style,对style 进行学习;同时为了不破坏原模型的内容理解能力,我们使用一个冻结的teacher 网络来学习原flux 的内容布局,SplicingViT 提出VIT token 间的self-similarity 代表图像内容,我们以此作为content loss; style + content loss训练的模型人工测试通过率为84%和原始基础模型持平,且其风格能迁移到真实数据风格。
原始flux结果 | 原始flow match loss 结果 | style loss + content loss 结果 |
|
|
|
模型采样:
如何从已经训练好的模型中采样出更加真实的数据?虽然flux 模型生成的人物已经非常真实了,但是我们还是能比较容易区分AI图片和真实图片,我们能比较轻易的发现AI感,什么是AI感,可能包括:背景虚化,人物过度美观,磨皮或者油画感,光影,空间布局,人物姿态过于简单,产生这种结果的原因推测有以下方面:
训练数据:原始flux 基础模型训练时存在大量的"非真实数据",如背景虚化的写真照片,3D cg 效果图片,这种数据比较美观,在模型评估的FID值比较高,数据也比较简单便于模型理解。
多样性损失:由于数据的复杂多样,难以理解;模型未能完美将噪声分布映射到真实分布上,噪声映射到真实分布的某种均值空间,多样性结果只存在于分布边缘。
针对因素1,我们已经用真实数据进行微调;针对因素2,我们需要对噪声空间进行shift,以便其映射到真实数据的多样性边缘上,我们采用在采样过程中加噪的方式进行shift,类似于detail daemn sampler

直接flow match 采样 | 采样noise 优化 |
|
|

| |
人物角色一致性
一条真实的内容不仅要求发布一些真实的图片,他需要一个人设来赋予账号的生命力,人设概念要求我们实现以下最基础的技术方面:
1.虚拟角色的生成
2.虚拟角色在不同场景,不同内容间的id一致性
▐虚拟角色生成
我们期望生成真实性高,又美观的虚拟角色形象,我们采用人脸lora 融合的方式获取新的美观形象,我们收集了几百个真人帅哥和美女的人脸图片分别训练出单人的人脸lora,将人脸形象按照长相类型进行分类,比如甜美系,御姐系,霸总系,奶狗系等类别,当我们要生成新的某种类型的虚拟形象时,我们随机从其类型人物lora库中挑选多个lora,对lora进行加权融合,就可以获取符合类型描述的新形象,这样做有两个优势:由于lora来自于真人,可以获得足够真实的形象;lora可以直接进行换脸生成角色一致的图片,相对于其他单张图片输入的换脸方式,如instanID,PULLID 可以适应更多样的角色姿态。
▐虚拟角色一致性
单纯的换脸方法依赖于人脸的形态,如果生成图片的人脸形态差距较大,容易出现不相似;同时使用真实数据训练的FLUX模型多样性较高,多次采样的结果间人物身高,身材,发型都会发生较大变化,也会造成人物不相似;因此我们对换脸的结果进行face id 和体型,发型等的筛选,筛选出相似的图片,再将这些图片训练成新的人物lora,新的lora产生的角色一致性较高。


场景一致性
除了人物id的一致性,我们还需要保留不同图片间的背景风格一致,才能构成一条观感和谐的内容,即人物在同一个地方的多张照片,其包括两个层次:
1.多张图片背景风格的一致性(一般情况下,看起来像一个地方就比较和谐了)
2.特定场景需要保持特定标志物的细节准确(打卡,种草等场景需要)
在算法上背景一致是一个参考图人物生成问题,第一个层次生成风格一致场景,我们采用隐式方式注入参考;第二个方式我们采用显示注入和隐式注入结合的方式。
▐隐式注入
加权注入
最常见的隐式图像信息注入方式是ipadapter,其通过clip 编码图像内容,引入额外的cross attention layer 来注入图像信息,将图像cross attention 和 文本cross attention 结果进行加权叠加,instantStyle指出在训练好的ipadpter 中,不同的cross attention layer有一定的内容风格解耦性,在mid layer 的cross attention layer更能代表背景风格,基于此我们能够得到一个基本的背景参考效果,如下图效果
但是在实际应用中,此方法常常出现背景和人物生成不和谐,人物生成多样性低,失败率高的问题,有以下几个原因:
1.ipadapter 未单独在人物数据集上进行训练
2. 此方案中人物通过prompt txt控制,而背景通过图像的clip特征控制,分别和latent特征进行cross attention再进行硬性权重叠加, 无法自适应学习人物支路和图像背景支路的融合特征。
语义注入
如下图所示,我们将背景特征VAE编码和线性投影后,直接和文本特征进行并联注入到DIT 中,尝试将背景图像细节特征直接映射到和txt 特征一样的语义层面,训练cross attention 层,让网络自适应学习图像背景控制和文本人物控制的融合,训练效果如下图,可以允许更自由的prompt 人物动作姿态控制,同时保持背景风格的一致性。

11.20 日 FLUX 官方发布flux Redux,其采用类似txt特征和图像特征通道并联的语义注入方式,区别在于其仍然使用clip进行图像信息编码,保留原基础模型权重冻结,只训练投影层;结合我们的基础模型,我们可以得到下面的效果;已经能够很好的完成背景参考,也不会影响到人物的生成,人物生成姿态多样,失败率较低。
缺陷:redux 虽然已经可以得到较好的人物背景参考结果,但是由于其训练时未单独分离背景和人物,其生成的人物和原参考图相似度高,prompt 的人物控制能力下降,无法通过prompt 去自由改变人物细节。
因此我们固定原始redux,重新训练flux基础模型以让其人物可以通过prompt 控制,我们进行了初步训练,效果如下,目前背景和人物仍有少量耦合,需进一步对数据进行增强。

缺陷:redux 虽然已经可以得到较好的人物背景参考结果,但是由于其训练时未单独分离背景和人物,其生成的人物和原参考图相似度高,prompt 的人物控制能力下降,无法通过prompt 去自由改变人物细节。
因此我们固定原始redux,重新训练flux基础模型以让其人物可以通过prompt 控制,我们进行了初步训练,效果如下,目前背景和人物仍有少量耦合,需进一步对数据进行增强。

| 参考图 | 人物prompt1 | 人物prompt2 | 人物prompt3 | 人物prompt4 |
 |  |  |  |  |
▐显式注入
特定场景需要保持特定标志物的细节准确性,一种最简单的解决办法就是inapinting,将特征标志物,如特点建筑物直接保持不变,其他不需要保持的部分可以采用隐式方法进行注入,进行参考和inpainting 的联合训练,目前方案还在实验当中。
单独设计一致性模块,人物一致性,背景一致性 ,无法避免的需要处理各个模块的解耦能力,影响原始基础模型,需要大量的单独设计和训练,最终影响到生成效果。
IClora 指出t2i模型本质上具有某种上下文生成能力, 如下图所示,直接从flux t2i 中采样多panel图像,panel之间具有较强的相关性。

IClora 直接将多张相关图片并联成一张多panel 图像,训练lora 来激发原始flux t2i 模型的一致性能力,有以下几个优势:
1.不改变原始基础模型权重,生成能力保证;
2.无需单独定义和设计一致性模块,训练简单;
3.少量训练数据;
IClora 论文训练效果如下

缺陷:其条件注入方式为非训练的inpainting(SDEdit)稳定性较差,后续需要专门在我们的数据集上进行条件生成训练才能较好的应用