Stable Diffusion进阶教程!超详细的 ControlNet 实用入门指南
来源:极绘AI(jihuiai)
ControlNet的作用是通过添加附加控制条件,去引导Stable Diffusion依照创作者的创作思路生成图象,进而提升AI图像生成的可控性和精度。目前ControlNet已经更新到1.1版本,相较于1.0版本,ControlNet1.1增加了更多预处理器和模型,原先的模型也通过更好的数据训练获得了更优的特性。
ControlNet的使用方式更加灵活,既可以单模型应用,也可以多模型组合应用。清楚ControlNet的一些原理方法后,能帮助我们更好的提升出图效果。下列通过一些实例,简单介绍ControlNet的具体用法。
一、ControlNet单模型应用
1.线稿上色
方式:根据ControlNet边缘检测模型或线稿模型获取线稿(可提取参考图片线稿,或是手绘线稿),再根据提示词和风格模型对图像进行上色和风格化。
应用模型:Canny、SoftEdge、Lineart。
Canny边缘检测:
Canny是经常使用的一种线稿获取方法,该模型可以很好的辨别出图象内各目标的边缘轮廊。
使用说明(下列其他模型同样):
1、进行ControlNet面板,提交参考图,勾选Enable开启(假如显存不大于4G,勾选低显存方式)。
2、预处理器挑选Canny(注意:假如上传是已经经过预处理的线稿图片,则预处理器挑选none,不进行预处理),模型选择对应的control_v11p_sd15_canny模型。
3、勾选AllowPreview允许浏览,点击预处理器旁的按钮生成浏览。
其他参数说明:
1、ControlWeight:应用ControlNet生成图片的权重占比影响(多个ControlNet组合使用时,要调整权重占比)。
2、StartingControlStep:ControlNet逐渐参加照片的计步。
3、EndingControlStep:ControlNet完毕参加照片的计步。
4、Preprocessorresolution:预处理器分辨率,默认512,数值越高线条越细致,数值越小线条越粗糙。
5、Canny低阀值/高阀值:数值越小线条越复杂,数值越高线条越简单。
SoftEdge软边缘检测:
SoftEdge可以看作是ControlNet1.0中HED边缘检测的升级版。ControlNet1.1版本中4个预处理器按结果质量排列:SoftEdge_HED>SoftEdge_PIDI>SoftEdge_HED_safe>SoftEdge_PIDI_safe,其中带safe的预处理器能够防止生成的图像含有不良内容。相较于Canny,SoftEdge边沿可以保存更多细节。
Lineart细致线稿获取:
Lineart细致线稿获取是ControlNet1.1版本中新增模型,相较于Canny,Lineart提取的线稿更加精细,细节更丰富。
Lineart的预处理器有三种模式:lineart_coarse(粗略方式),lineart_realistic(详细方式),lineart_standard(标准模式),处理效果各有不同。
2.涂鸦成图
方式:根据ControlNet的Scribble模型获取涂鸦图(可提取参考图涂鸦,或是手绘涂鸦图),再根据提示词和风格模型对图像进行上色和风格化。
应用模型:Scribble。
Scribble比Canny、SoftEdge和Lineart的充分发挥度要更高,还可以用于对手绘稿开展上色和风格解决。Scribble的预处理器有三种模式:Scribble_hed,Scribble_pidinet,Scribble_Xdog,比照如下,能够看见Scribble_Xdog的处理细节更为丰富:
Scribble(保存大概构造,再进行上色和风格化)
Scribble手动涂鸦(依据手绘草图,生成图象)
也可以不用参考图,直接建立空缺画板,手绘涂鸦成图。
3.建筑/室内设计
方式:根据ControlNet的MLSD模型获取建筑线条结构与几何结构,构建起建筑线条(可提取参考图线条,或是手绘线条),再搭配提示词与建筑/室内设计风格模型来生成图象。
应用模型:MLSD。
建筑/室内设计风格模型下载:
1、https://civitai.com/?query=Interior
2、https://civitai.com/?query=building
4.色调操纵界面
方式:根据ControlNet的Segmentation语义分割模型,标明画面中的不同区块色彩和构造(不同颜色代表不同种类目标),从而控制画面的构图和内容。
应用模型:Seg。
Seg词义参照:https://docs.qq.com/sheet/DYmtkWG5taWxhVkx2?tab=BB08J2
Seg实例:(获取参考图内容和结构,再进行上色和风格化)
如果还想在车前面加一个人,只需在Seg预处理图上对应人物色值,添加人物色块再生成图象即可。
5.背景更换
方式:在img2img图生图模式下,根据ControlNet的Depth_leres模型中的removebackground作用清除背景,再通过提示词更换想要的背景。
应用模型:Depth,预处理器Depth_leres。
要点:如果想要较为完美替换背景,可以在图生图的Inpaint模式下,对需要保存的图片内容添加蒙版,removebackground值可以设置在70-80%。
6.照片命令
方式:根据ControlNet的Pix2Pix模型(ip2p),能够对图片开展指令式转换。
应用模型:ip2p,预处理器挑选none。
要点:选用指令式提示词(makeYintoX),如下图示例中的makeitsnow,让非洲草原降雪。
7.风格迁移
方式:根据ControlNet的Shuffle模型提取出参考图的风格,再搭配提示词将风格迁移到生成图上。
应用模型:Shuffle。
Shuffle实例:(依据魔兽道具风格,重新生成一个箱子道具)
8.颜色传承
方式:根据ControlNet的t2iaColor模型提取出参考图的色调分布特征,再搭配提示词和风格模型将颜色应用到生成图上。
应用模型:Color。
9.角色三视图
方式:根据ControlNet的Openpose模型精准识别出人物姿态,再搭配提示词和风格模型生成一样姿态的照片。
应用模型:OpenPose。在ControlNet1.1版本中,提供了多种姿态检测方式,包括:openpose身体、openpose_face身体+脸、openpose_faceonly只有脸、openpose_full身体+手+脸、openpose_hand手,能够根据实际需要灵便应用。
OpenPose角色三视图实例:
要点:提交openpose三视图,载入charturner风格模型(https://civitai.com/?query=charturner),添加提示词维持背景整洁(simplebackground,whitebackground:1.3),multipleviews
10.照片灯源操纵
方式:假如想对产生的图片进行布光,可以在img2img模式中,把灯源图片上传到图生图地区,ControlNet中摆放必须布光的原图,ControlNet模型选择Depth。
应用模型:Depth。
要点:图生图中所有参数和提示词信息需要与原图生成时参数值一样,实际原图参数可以在PNGInfo面板中查看并拷贝。
二、ControlNet多模型组合应用
ControlNet还支持多个模型组合使用,进而对图像进行多条件操纵。ControlNet得多模型操纵能够在设置面板里的ControlNet模块中打开:
1.人物和背景分别控制
方式:设定2个ControlNet,第一个ControlNet根据OpenPose操纵人物姿态,第二个ControlNet根据Seg或Depth操纵背景组成。调节ControlNet权重,如OpenPose权重高过Depth权重,以保证人物姿态被正确识别,再通过提示词和风格模型进行内容和风格操纵。
应用模型:OpenPose、Seg(自定义背景内容和结构)、Depth。
2.三维重建
方式:根据Depth深度检测和Normalbae法线贴图模型,鉴别三维目标。再搭配提示词和风格模型,重新构建出三维物件和场景。
应用模型:Depth、Normalbae。
3.更精准的照片风格化
方式:在img2img图生图中,根据累加Lineart和Depth模型,能够更加精准的获取图象构造,最大限度保存原图细节,再搭配提示词和风格模型重新生成图象。
应用模型:Lineart、Depth。
4.更精准的照片部分重绘
方式:在img2img图生图的局部重绘中,根据累加Canny和Inpaint模型,能够更加精准的对图像进行局部重绘。
应用模型:Canny、Inpaint。