1. IP-Adapter
论文地址
办理问题:
怎样将图片作为prompt输入网络,并无需更改开源模型参数
办理思绪:
新增一个cross-attention layers,结果与text prompt的cross-attention layers结果相加后输入网络,只必要训练Wk, Wv两个参数
2. ControlNet
论文地址
办理问题:
怎样快速高效的使用开源模型继续特定条件输入,适配特别任务
办理思绪:
新增网络:复制原UNet网络的encode和middle部分共13个网络blocks,将特定条件通过一个4层卷积构成的encode输入到那13网络中,13网络与原UNet通过zero-conv进行feature融合,训练时仅更新新增网络,原模型参数冻结,详细如下图所示:
Tips:
1. 训练时随机去掉text,换成空字符输入,以加强网络多特别条件的理解,并在应用时支持输出text为空的情形。
2. 当训练呆板资源有限时,可以去掉网络decode的zero-conv连接,只保留中间层连接,可加快模型收敛,提高训练速度。末了再将去掉的zero-conv连接接上进行finetune即可
3. InstantID
论文地址
办理问题:
怎样办理换脸过程中人脸ID得保持性,并与配景较好的融合
办理思绪:
融合IP-A和controlNet,并使用insightface的antelopev2提取人脸特性,详细如下图所示:
Tips:
- clip提取image特性不能很好的保留细节和语义特性,不利于后续人脸ID的保持性,以是才用人脸识别模型提取人脸特性
- IdentityNet仅采用人脸五个点特性作为输入,既引入了空间信息,又避免过多原人脸信息的泄漏
- IdentityNet用ID embedding替换text prompts是为了让IdentityNet专注于人脸特性的表示,而不受非人脸的配景影响,因此在训练时也没有采用随机去掉text or image conditions的策略
- ID embedding可用多张参考图人脸特性平均盘算得到,并且参考人脸数据较多时结果会更好
4. T2I-Adapter
论文地址
办理问题:
办理怎样更好的挖掘文生图模型的生成能力,办理笔墨描述能力限制。
办理思绪:
设计一个condition的encode网络,将condition信息依次参加UNet的encode网络的四层block中,与controlNet不同的是:1. condition的encode网络是独立设计的,controlNet是复制Unet的encode和mid部分 2. condition信息是参加encode环节,controlNet是参加middle和decode环节 3. condition信息是直接和UNet参数相加,controlNet是通过zero-conv连接:
Tips:
- 颜色信息作为condtion时会做特别前处置惩罚,先下采样再上采样,以去除图片中的语义及布局信息,最终生成类似马赛克图片(如上图c3)
- 多条件融合输入采用权重相加的方式,权重必要自行调节巨细
- 时间信息也必要参加条件adapter中,不同于controlNet能直接参加网络中,T2I-adapter是自行设计的卷积网络,作者并未实际参加网络当中。作者通过实行发现,条件信息在去噪过程的早期参加远比晚期控制结果好很多,因此作者在训练过程中更改时间采样函数,不消平均采样而用cubic函数实现在训练过程中更偏向于选较小的时间(即前期):
- 作者实行发现,条件控制加在encode阶段远比decode阶段结果好,大概是参加encode阶段时能享受到后续decode的参数,同时,为了不过多影响笔墨prompt的结果,以是条件控制只加在encode阶段
- 作者实行发现,减少adapter的巨细同样也能到达不错的控制结果,因此,针对颜色条件这种比力粗的控制条件,采用较小的adapter网络
5. Uni-ControlNet
论文地址
办理问题:
办理怎样将更多条件更好的融入模型,同时针对不同条件不必要训练不同adapter
办理思绪:
作者将条件分成局部和全局两类,进而训练两个adapter。局部adapter参照controlNet,采用复制unet的encode和middle网络进行条件特性提取,插入特性的方式也是zero-conv,不同的是条件特性插入原UNet的encode和middle层,并且插入的层数多达13层,大概也借鉴了T2I-Adapter的想法,同时势部adapter的输入依然是noise,局部条件特性会通过FDN模块注入到adapter网络的encode的四个模块中。全局adapter只针对参考rgb图,用clip提取图像特性,而后concat在text token后面,图像特性设置了权重,测试时可按需设定:
Tips:
- 全局和局部adapter必要分开训练,一起训练的话局部adapter的特性过强,会削弱全局adapter的结果,分开训练完成后也可以再次合并一起训练,不过结果改善不显着。测试时可一起使用
- 和其他方法类似,adapter训练时也会随机drop掉一些条件,以顺应不同条件的组合
- 作者在测试多条件融适时发现,canny edge对结果影响最大,其次是sketch, depth, MLSD, and segmentation map,Openpose对结果影响最小
6. Composer
论文地址
办理问题:
办理怎样将更多条件更好的融入模型
办理思绪:
作者以为可以将原图拆分成若干组件,在图像生成阶段参加其他图像的组件(即条件控制)即可到达定向改变图像的目的。图像的组件(条件)可分玉成局条件(text,rgb图和颜色直方图)和局部条件(分割图,深度图,灰度图,素描图,局部遮挡图等)。全局条件不仅通过cross-attention插入网络中,而且同时参加到timestep中。局部条件通过卷积编码和nosie 图concat一起。
Tips:
- composer多条件输入训练参考classifier-free策略:
- 使用diffusion model的加噪减噪过程实现多域转换。用原图进行加噪得到噪声图后,再对噪声图进行降噪并添加相应转换条件:
7. MGPF
论文地址
Enhancing Prompt Following with Visual Control Through Training-Free Mask-Guided Diffusion
办理问题:
文生图任务中,广泛存在prompt无法准确控制物体属性(比如颜色等)生成的问题,作者思考是否可以通过将prompt拆分成物体-属性对,使用物体mask信息,在controlNet和SD UNet的attention map层创建两者的束缚
办理思绪:
作者通过实行发现,Unet对生成物体的属性特性影响较大,而controlNet对生成物体的形状及分布位置影响较大,使用这一点,参照classify guidance的思绪,可以通过拉近两者之间的距离来对生成结果进行引导:
- 整体架构:
包含Masked ControlNet和Attribute-matching Loss两部分
Masked ControlNet将mask后置处置惩罚,即对controlNet提取的featuremap乘上mask,去除配景信息。相比在输入时去掉配景信息,个人感觉这种做法可以使边缘更平滑,并减少生成配景的空洞感
Attribute-matching Loss通过构建类内和类间loss,叠加在噪声上,prompt通过拆分,得到(物体o,属性a)对,s1指的是物体,s2指的黑白物体(通常是配景),Ac是controlNet的attention map,As是UNet的attention map:
8. Salient Object-Aware Background Generation using Text-Guided Diffusion Models
论文地址
办理问题:
针对明显前景物体配景生成问题,现有方案是使用文生图模型大概在输入增加前景信息重新训练inpainting模型,但都存在前景多生成的问题,作者思考是否可以针对配景生成专门训练一个inpainting的controlNet办理
办理思绪:
9. ControlNeXt
论文地址
办理问题:
controlNet结果固然不错,但是盘算量过大,且训练不稳定,会出现突然收敛的情况,训练时间较长,为了办理这些问题,作者重新设计网络布局,更换与unet的adapter,从zero-conv更换为Cross normalization.
办理思绪:
整体布局:
优化点:
- 重新设计controlNet布局,依然会输入time emb,但prompt不再输入,从复制unet的encode更换为参数目更少的cnn,只由resnet block构成
- controlNeXt训练时会更改少量的unet参数,即Wout参数,作者以为只训练新增的control网络会限制结果上限
- 不像controlNet将特性逐层参加unet,controlNeXt只参加到unet中间层,因为作者以为通过Cross normalization特性已经在高层次语义上对齐:the controls typically have a simple form or maintain a high level of consistency with the denoising features, eliminating the need to insert controls at multiple stages.
- 更换zero-conv为Cross normalization,出发点是原unet参数的数据分布和待训练的controlnet参数的数据不一致,直接连接训练会导致训练崩溃。zero-conv引入类似warm up结果,但是训练较慢,会出现突然收敛现象。作者提出Cross normalization,先盘算unet输出的特性图均值和方差,使用此均值方差去均一化controlNext的输出,从而到达对齐特性分布的目的。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |