大家好,欢迎来到IT知识分享网。
今天我们要分享的内容视频版如下,视频已添加进度条及配音,想要学习资料的鹿友公众号后台联系我获取:
视频版稍后单独发送
以下是图文版内容:
正文共:2828字 40图
预计阅读时间:8分钟
01
前言
上篇文章我们分享了ControlNet风格迁移类控制IP-Adapter,还没有阅读过的鹿友墙裂建议去学习一下:
剩下的ControlNet风格迁移类控制包括Instant-ID、Shuffle、Reference、Revision。
今天我们会分享这些内容,其中有些是较早期的预处理器。
随着ControlNet的不断更新,这些早期预处理器渐渐被取代,大家可以了解一下,根据实际需求选择使用即可。
02
Instant-ID(即时ID)
Instant-ID是由小红书参与开发的一款主要针对面部特征进行迁移的预处理器,有点类似我们上篇文章分享的IP-Adapter中的FaceID和PulID:
安装Instant-ID同样需要InsightFace。如果你已经安装过FaceID或者PulID则可忽略,没有安装过的鹿友需要首先复制InsightFace整个文件夹:
粘贴到如图所示路径:
再复制这个叫models文件夹里的模型:
粘贴到ControlNet的模型文件夹里:
使用Instant-ID相对其他预处理器会麻烦一点,需要结合两个预处理器使用。
由于它目前只支持SDXL,因此我们需要先将大模型切换成SDXL模型:
由于是基于SDXL训练的模型,因此建议宽和高至少有一项大于1024:
使用Instant-ID时,建议将CFG值调整到1-3之间,否则会出现过拟合的情况:
接下来是ControlNet中的设置。前面提到它需要结合两个预处理器使用。
首先,开启单元0,选择Instant-ID,预处理器先选择instant_id_face_embedding。
对应的模型是ip-adapter_instant_id_sdxl,这一步是用于提取图片的面部特征的:
然后开启单元1,上传一张用于控制面部构图的图片。为了说明问题,我这里用SD生成了一张面部比较夸张的图。
预处理器选择instant_id_face_keypoints,对应的模型是control_instant_id_sdxl:
可以看到,面部特征还原的效果还是不错的:
细心的鹿友应该能总结出一些规律。
首先,从单元0中提取的面部特征由于没有眼镜这个特性,因此即使添加了带着眼镜的提示词,生成图中也不会出现眼镜。
但白色头发等特征仍能体现出来:
而单元1中,由于用于控制面部构图的表情是笑,因此生成图中也是相同的表情。所以,大家可以通过上传不同的表情图来进行控制:
下方是Instant-ID和IP-Adapter各类面部迁移预处理器的对比。个人感觉从面部特征来看,Instant-ID要优于IP-Adapter:
在Instant-ID中,除了有我们熟悉的控制模式外,它还提供了权重类型的选项。
与IP-Adapter类似,这个功能已经在上篇文章中介绍过了,感兴趣的鹿友可以回顾一下那篇文章:
最后补充一个遗漏的问题,当你将宽高设置成1024*1024时,生成的图像有一定概率出现水印。
这是一个官方已知的Bug,因此,大家在使用Instant-ID时,请避免将宽高比设置为1024*1024:
03
Revision(修订)
Revision是ControlNet 1.1.400版本中官方新增的一个预处理器,仅针对SDXL使用。
Revision不需要对应的ControlNet模型,它有两个预处理器。通过名称我们可以明白,它的功能就是将图片转化为提示词,类似于提示词反推。
两款预处理器的区别在于一个是在原提示词上进行补充,另外一个则是忽略原有提示词:
当我直接上传一张图,不输入任何提示词的情况下,它已经能读取到参考图的部分元素:
需要注意的是,输入的提示词尽量不要和参考图差别太大。
例如,我这里提示词中填写的是一个男孩,红色头发,戴着墨镜,生成图似乎就和参考图没有太大关系了:
需要将ControlNet的权重给得很高,才能体现参考图的元素:
而当我们将预处理器选择为忽略原有提示词,生成的图就和没有提示词时选择的第一款预处理器效果一样:
在Revision中没有控制模式的选项,取而代之的是Noise Augmentation噪声增强的选项。
例如,当我关闭ControlNet时,生成的图是这样的:
噪声增强默认为0,而当我将它改为1时,可以看到生成图同样和参考图没有太大关系。
所以可以简单理解为,噪声增强数值越低,ControlNet越重要;反之,提示词更重要:
04
Reference(参考)
Reference和Revision一样,也是ControlNet 1.1.400版本中官方新增的预处理器,同时它支持SD1.5和SDXL版本。
它迁移风格的原理大致可以理解为固定参考图的部分特征,并在此基础上进行扩散。
在Reference中有三个预处理器,同样不需要对应的ControlNet模型:
这三款预处理器官方说明是由两套算法实现的:
我这里就继续以SDXL版本进行演示吧。提示词中我简单输入一个男孩,生成的图是这样的:
当我开启ControlNet,默认参数情况下,生成的图读取了参考图背景的一些信息:
Reference中有一个风格保真度的参数,仅在控制模式为均衡时生效。
默认参数为0.5,数值越大,生成的图越接近参考图的风格:
当风格保真度数值为1时,生成的图和控制模式中的 “ControlNet更重要” 是相同的:
同样当风格保真度参数为0的时候,生成的图是这样的:
它和控制模式为”提示词更重要”时生成的图也是一样的,因此可以看出,风格保真度这个参数实际上是控制模式的替代品,并且可控性更高:
下面是风格保真度数值为1时,三种预处理器的对比。个人感觉还是reference_only的效果要好一些:
这里再额外多说一句,通过测试我们可以看到Reference固定的更多是参考图的背景信息:
而Revision似乎更偏向于获取参考图的主体信息:
基于这个想法,我们可以把Reference和Revision结合使用,就能获得一个更加接近于参考图的结果:
05
Shuffle(洗牌)
Shuffle是ControlNet最早期用于风格迁移的预处理器,仅针对SD1.5使用,通过模型名称中的“e”可以知道,它是一个实验性的预处理器:
通过预处理结果可以看到,Shuffle是通过打散参考图的颜色来获取信息,从而进行扩散生成图像:
生成的图像稳定性差,不易控制。随着越来越多的风格迁移预处理器的出现,Shuffle基本可以弃用了,大家仅作了解即可:
好了,以上就是今天要分享的所有内容了。
更文不易,如果觉得对自己有帮助,请不要吝啬自己的一键三连,你们的支持对我很重要,谢谢!
更多内容欢迎关注公众号
本文由“野鹿志”发布
转载前请联系马鹿野郎
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/80002.html