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

用户头像
成都/设计爱好者/1年前/4474浏览
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle
用户头像
野鹿志
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNDg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
今天我们要分享的内容视频版如下,视频已添加进度条及配音,想要学习资料的鹿友后台
联系我
获取:
以下是图文版内容:
正文共:2828字 40图
预计阅读时间:8分钟
01 
前言
上篇文章我们分享了ControlNet风格迁移类控制IP-Adapter,还没有阅读过的鹿友墙裂建议去学习一下:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNTI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
剩下的ControlNet风格迁移类控制包括Instant-ID、Shuffle、Reference、Revision。
今天我们会分享这些内容,其中有些是较早期的预处理器。
随着ControlNet的不断更新,这些早期预处理器渐渐被取代,大家可以了解一下,根据实际需求选择使用即可。
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNTY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
02 
Instant-ID(即时ID)
Instant-ID是由小红书参与开发的一款主要针对面部特征进行迁移的预处理器,有点类似我们上篇文章分享的IP-Adapter中的FaceID和PulID:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNjA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
安装Instant-ID同样需要InsightFace。如果你已经安装过FaceID或者PulID则可忽略,没有安装过的鹿友需要首先复制InsightFace
整个文件夹
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNjQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
粘贴到如图所示路径:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAxNjg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
再复制这个叫models
文件夹里的模型
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMTY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
粘贴到ControlNet的模型文件夹里:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMjA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
使用Instant-ID相对其他预处理器会麻烦一点,需要结合两个预处理器使用。
由于它目前只支持SDXL,因此我们需要先将大模型切换成SDXL模型:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMjQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
由于是基于SDXL训练的模型,因此建议宽和高至少有一项大于1024:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMjg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
使用Instant-ID时,建议将CFG值调整到1-3之间,否则会出现过拟合的情况:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMzI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
接下来是ControlNet中的设置。前面提到它需要结合两个预处理器使用。
首先,开启单元0,选择Instant-ID,预处理器先选择instant_id_face_embedding。
对应的模型是ip-adapter_instant_id_sdxl,这一步是用于提取图片的面部特征的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyMzY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
然后开启单元1,上传一张用于控制面部构图的图片。为了说明问题,我这里用SD生成了一张面部比较夸张的图。
预处理器选择instant_id_face_keypoints,对应的模型是control_instant_id_sdxl:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNDA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
可以看到,面部特征还原的效果还是不错的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNDQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
细心的鹿友应该能总结出一些规律。
首先,从单元0中提取的面部特征由于没有眼镜这个特性,因此即使添加了带着眼镜的提示词,生成图中也不会出现眼镜。
但白色头发等特征仍能体现出来:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNDg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
而单元1中,由于用于控制面部构图的表情是笑,因此生成图中也是相同的表情。所以,大家可以通过上传不同的表情图来进行控制:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNTI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
下方是Instant-ID和IP-Adapter各类面部迁移预处理器的对比。个人感觉从面部特征来看,Instant-ID要优于IP-Adapter:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNTY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
在Instant-ID中,除了有我们熟悉的控制模式外,它还提供了权重类型的选项。
与IP-Adapter类似,这个功能已经在上篇文章中介绍过了,感兴趣的鹿友可以回顾一下那篇文章:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNjA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
最后补充一个遗漏的问题,当你将宽高设置成1024*1024时,生成的图像有一定概率出现水印。
这是一个官方已知的Bug,因此,大家在使用Instant-ID时,请避免将宽高比设置为1024*1024:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNjQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
03 
Revision(修订)
Revision是ControlNet 1.1.400版本中官方新增的一个预处理器,仅针对SDXL使用。
Revision不需要对应的ControlNet模型,它有两个预处理器。通过名称我们可以明白,它的功能就是将图片转化为提示词,类似于提示词反推。
两款预处理器的区别在于一个是在原提示词上进行补充,另外一个则是忽略原有提示词:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNjg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
当我直接上传一张图,不输入任何提示词的情况下,它已经能读取到参考图的部分元素:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNzI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
需要注意的是,输入的提示词尽量不要和参考图差别太大。
例如,我这里提示词中填写的是一个男孩,红色头发,戴着墨镜,生成图似乎就和参考图没有太大关系了:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyNzY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
需要将ControlNet的权重给得很高,才能体现参考图的元素:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyODA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
而当我们将预处理器选择为忽略原有提示词,生成的图就和没有提示词时选择的第一款预处理器效果一样:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyODQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
在Revision中没有控制模式的选项,取而代之的是Noise Augmentation噪声增强的选项。
例如,当我关闭ControlNet时,生成的图是这样的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyODg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
噪声增强默认为0,而当我将它改为1时,可以看到生成图同样和参考图没有太大关系。
所以可以简单理解为,噪声增强数值越低,ControlNet越重要;反之,提示词更重要:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyOTI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
04 
Reference(参考)
Reference和Revision一样,也是ControlNet 1.1.400版本中官方新增的预处理器,同时它支持SD1.5和SDXL版本。
它迁移风格的原理大致可以理解为固定参考图的部分特征,并在此基础上进行扩散。
在Reference中有三个预处理器,同样不需要对应的ControlNet模型:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAyOTY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
这三款预处理器官方说明是由两套算法实现的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMDA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
我这里就继续以SDXL版本进行演示吧。提示词中我简单输入一个男孩,生成的图是这样的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMDQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
当我开启ControlNet,默认参数情况下,生成的图读取了参考图背景的一些信息:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMDg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
Reference中有一个风格保真度的参数,仅在控制模式为均衡时生效。
默认参数为0.5,数值越大,生成的图越接近参考图的风格:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMTI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
当风格保真度数值为1时,生成的图和控制模式中的 "ControlNet更重要" 是相同的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMTY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
同样当风格保真度参数为0的时候,生成的图是这样的:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMjA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
它和控制模式为"提示词更重要"时生成的图也是一样的,因此可以看出,风格保真度这个参数实际上是控制模式的替代品,并且可控性更高:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMjQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
下面是风格保真度数值为1时,三种预处理器的对比。个人感觉还是reference_only的效果要好一些:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMjg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
这里再额外多说一句,通过测试我们可以看到Reference固定的更多是参考图的背景信息:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMzI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
而Revision似乎更偏向于获取参考图的主体信息:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzMzY=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
基于这个想法,我们可以把Reference和Revision结合使用,就能获得一个更加接近于参考图的结果:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzNDA=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
05 
Shuffle(洗牌)
Shuffle是ControlNet最早期用于风格迁移的预处理器,仅针对SD1.5使用,通过模型名称中的“e”可以知道,它是一个实验性的预处理器:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzNDQ=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
通过预处理结果可以看到,Shuffle是通过打散参考图的颜色来获取信息,从而进行扩散生成图像:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzNDg=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
生成的图像稳定性差,不易控制。随着越来越多的风格迁移预处理器的出现,Shuffle基本可以弃用了,大家仅作了解即可:
ControlNet风格迁移类控制(下):Instant-ID|Revision|Reference|Shuffle(图ZMTQ4NjAzNTI=) - 教程 - 站酷设计师野鹿志原创素材 - 站酷ZCOOL
收藏
好了,以上就是今天要分享的所有内容了。
更文不易,如果觉得对自己有帮助,请不要吝啬自己的一键三连,你们的支持对我很重要,谢谢!
47
举报
|
85
分享
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
加载中
推荐素材
AI音乐创作系统界面
新年插画 | 12只蛇卡通形象设计
记录 PPT创作 阅读助手 AI 笔记
金蛇送福 | 蛇年主题卡通插画设计
AI Prompt工程深度解析PPT
AI艺术量子创作系统-100组商业级艺术提示词正式发布
未来都市AI音乐创作系统
金蛇送福 | 蛇年主题卡通插画设计
【矢量/PSD】二次元少女角色立绘
清新治愈系二次元少女插画合集
元界械语·绮幻少女纪IP创意设计
棉花簇拥蓝色AI字母 静谧创作
灵蛇开运 | 蛇年主题插画设计
北京城市地标儿童插画矢量
AI人工智能机器人正在写作
黄色台灯和黄色灯泡照射出的光交织在AI字
记录 PPT创作 阅读助手 AI 笔记
蓝色背景下的台灯和AI字母组成的静物照
软萌兔子玩偶系列 粉嫩少女心卡通创意设计
蛇年旺财 | 新年插画文创设计
魔法礼帽鲜花插画 创意图案设计素材包
赛博朋克风格动漫赛车壁纸
清新雏菊少女扁平风元气少女ip形象
记录 PPT创作 阅读助手 AI 笔记
登录注册