Stable Diffusion进阶教程!超详细的 ControlNet 实用入门指南

来源:极绘AIjihuiai

ControlNet的作用是通过添加附加控制条件,去引导Stable Diffusion依照创作者的创作思路生成图象,进而提升AI图像生成的可控性和精度。目前ControlNet已经更新到1.1版本,相较于1.0版本,ControlNet1.1增加了更多预处理器和模型,原先的模型也通过更好的数据训练获得了更优的特性。

ControlNet的使用方式更加灵活,既可以单模型应用,也可以多模型组合应用。清楚ControlNet的一些原理方法后,能帮助我们更好的提升出图效果。下列通过一些实例,简单介绍ControlNet的具体用法。

 

一、ControlNet单模型应用

1.线稿上色

方式:根据ControlNet边缘检测模型或线稿模型获取线稿(可提取参考图片线稿,或是手绘线稿),再根据提示词和风格模型对图像进行上色和风格化。

应用模型:CannySoftEdgeLineart

Canny边缘检测:

Canny是经常使用的一种线稿获取方法,该模型可以很好的辨别出图象内各目标的边缘轮廊。

使用说明(下列其他模型同样):

1、进行ControlNet面板,提交参考图,勾选Enable开启(假如显存不大于4G,勾选低显存方式)。

2、预处理器挑选Canny(注意:假如上传是已经经过预处理的线稿图片,则预处理器挑选none,不进行预处理),模型选择对应的control_v11p_sd15_canny模型。

3、勾选AllowPreview允许浏览,点击预处理器旁的按钮生成浏览。

其他参数说明:

1ControlWeight:应用ControlNet生成图片的权重占比影响(多个ControlNet组合使用时,要调整权重占比)。

2StartingControlStepControlNet逐渐参加照片的计步。

3EndingControlStepControlNet完毕参加照片的计步。

4Preprocessorresolution:预处理器分辨率,默认512,数值越高线条越细致,数值越小线条越粗糙。

5Canny低阀值/高阀值:数值越小线条越复杂,数值越高线条越简单。

SoftEdge软边缘检测:

SoftEdge可以看作是ControlNet1.0HED边缘检测的升级版。ControlNet1.1版本中4个预处理器按结果质量排列:SoftEdge_HED>SoftEdge_PIDI>SoftEdge_HED_safe>SoftEdge_PIDI_safe,其中带safe的预处理器能够防止生成的图像含有不良内容。相较于CannySoftEdge边沿可以保存更多细节。

Lineart细致线稿获取:

Lineart细致线稿获取是ControlNet1.1版本中新增模型,相较于CannyLineart提取的线稿更加精细,细节更丰富。

Lineart的预处理器有三种模式:lineart_coarse(粗略方式),lineart_realistic(详细方式),lineart_standard(标准模式),处理效果各有不同。

2.涂鸦成图

方式:根据ControlNetScribble模型获取涂鸦图(可提取参考图涂鸦,或是手绘涂鸦图),再根据提示词和风格模型对图像进行上色和风格化。

应用模型:Scribble

ScribbleCannySoftEdgeLineart的充分发挥度要更高,还可以用于对手绘稿开展上色和风格解决。Scribble的预处理器有三种模式:Scribble_hedScribble_pidinetScribble_Xdog,比照如下,能够看见Scribble_Xdog的处理细节更为丰富:

Scribble(保存大概构造,再进行上色和风格化)

Scribble手动涂鸦(依据手绘草图,生成图象)

也可以不用参考图,直接建立空缺画板,手绘涂鸦成图。

3.建筑/室内设计

方式:根据ControlNetMLSD模型获取建筑线条结构与几何结构,构建起建筑线条(可提取参考图线条,或是手绘线条),再搭配提示词与建筑/室内设计风格模型来生成图象。

应用模型:MLSD

建筑/室内设计风格模型下载:

1https://civitai.com/?query=Interior

2https://civitai.com/?query=building

4.色调操纵界面

方式:根据ControlNetSegmentation语义分割模型,标明画面中的不同区块色彩和构造(不同颜色代表不同种类目标),从而控制画面的构图和内容。

应用模型:Seg

Seg词义参照:https://docs.qq.com/sheet/DYmtkWG5taWxhVkx2?tab=BB08J2

Seg实例:(获取参考图内容和结构,再进行上色和风格化)

如果还想在车前面加一个人,只需在Seg预处理图上对应人物色值,添加人物色块再生成图象即可。

5.背景更换

方式:在img2img图生图模式下,根据ControlNetDepth_leres模型中的removebackground作用清除背景,再通过提示词更换想要的背景。

应用模型:Depth,预处理器Depth_leres

要点:如果想要较为完美替换背景,可以在图生图的Inpaint模式下,对需要保存的图片内容添加蒙版,removebackground值可以设置在70-80%

6.照片命令

方式:根据ControlNetPix2Pix模型(ip2p),能够对图片开展指令式转换。

应用模型:ip2p,预处理器挑选none

要点:选用指令式提示词(makeYintoX),如下图示例中的makeitsnow,让非洲草原降雪。

7.风格迁移

方式:根据ControlNetShuffle模型提取出参考图的风格,再搭配提示词将风格迁移到生成图上。

应用模型:Shuffle

Shuffle实例:(依据魔兽道具风格,重新生成一个箱子道具)

8.颜色传承

方式:根据ControlNett2iaColor模型提取出参考图的色调分布特征,再搭配提示词和风格模型将颜色应用到生成图上。

应用模型:Color

9.角色三视图

方式:根据ControlNetOpenpose模型精准识别出人物姿态,再搭配提示词和风格模型生成一样姿态的照片。

应用模型: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.人物和背景分别控制

方式:设定2ControlNet,第一个ControlNet根据OpenPose操纵人物姿态,第二个ControlNet根据SegDepth操纵背景组成。调节ControlNet权重,如OpenPose权重高过Depth权重,以保证人物姿态被正确识别,再通过提示词和风格模型进行内容和风格操纵。

应用模型:OpenPoseSeg(自定义背景内容和结构)、Depth

2.三维重建

方式:根据Depth深度检测和Normalbae法线贴图模型,鉴别三维目标。再搭配提示词和风格模型,重新构建出三维物件和场景。

应用模型:DepthNormalbae

3.更精准的照片风格化

方式:在img2img图生图中,根据累加LineartDepth模型,能够更加精准的获取图象构造,最大限度保存原图细节,再搭配提示词和风格模型重新生成图象。

应用模型:LineartDepth

4.更精准的照片部分重绘

方式:在img2img图生图的局部重绘中,根据累加CannyInpaint模型,能够更加精准的对图像进行局部重绘。

应用模型:CannyInpaint