ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle

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