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

ControlNet 的作用是通过添加额外掌握条件,来引导 Stable Diffusion 按照创作者的创作思路生成图象,从而提升 AI 图象生成的可控性和精度。在使用 ControlNet 前,需要确保已经正确安装 Stable Diffusion 和 ControlNet 插件。如还未安装,可以参照这篇文章中的教程举行安装部署:目前 ControlNet 已经更新到 1.1 版本,相较于 1.0 版本,ControlNet1.1 新增了更多的预处理器和模型,原有的模型也通过更好的数据训练获得了更优的性能。以下

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

ControlNet 的作用是通过添加额外掌握条件,来引导 Stable Diffusion 按照创作者的创作思路生成图象,从而提升 AI 图象生成的可控性和精度。在使用 ControlNet 前,需要确保已经正确安装 Stable Diffusion 和 ControlNet 插件。如还未安装,可以参照这篇文章中的教程举行安装部署:

目前 ControlNet 已经更新到 1.1 版本,相较于 1.0 版本,ControlNet1.1 新增了更多的预处理器和模型,原有的模型也通过更好的数据训练获得了更优的性能。以下我做简要梳理,想要了解更多内容可以参照作者的文档: https://github.com/lllyasviel/ControlNet-v1-1-nightly

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

ControlNet 的使用方式非常灵活,既可以单模型运用,也可以多模型组合运用。清楚 ControlNet 的一些原理步骤后,可以帮助我们更好的提升出图效果。以下通过一些示例,简要介绍 ControlNet 的实际用法。

一、ControlNet 单模型运用

1. 线稿上色

步骤:通过 ControlNet 边缘检测模型或线稿模型提炼线稿(可提炼参照图片线稿,或者手绘线稿),再根据提醒词和作风模型对图象举行着色和作风化。

运用模型:Canny、SoftEdge、Lineart。

Canny 边缘检测:

Canny 是比较常用的一种线稿提炼方式,该模型能够很好的识别出图象内各对象的边缘轮廓。

使用说明(以下其它模型同理):

展开 ControlNet 面板,上传参照图,勾选 Enable 启用(如果显存小于等于 4G,勾选低显存形式)。
预处理器选择 Canny(注意:如果上传的是已经经过预处理的线稿图片,则预处理器选择 none,不举行预处理),模型选择对应的 control_v11p_sd15_canny 模型。
勾选 Allow Preview 允许预览,点击预处理器旁的🎆按钮生成预览。

其它参数说明:

Control Weight:使用 ControlNet 生成图片的权重占比影响(多个 ControlNet 组合使用时,需要调整权重占比)。
Starting Control Step:ControlNet 开始参与生图的步数。
Ending Control Step:ControlNet 结束参与生图的步数。
Preprocessor resolution:预处理器分辨率,默认 512,数值越高线条越精细,数值越低线条越粗糙。
Canny 低阈值/高阈值:数值越低线条越复杂,数值越高线条越简单。

Canny 示例:(保留结构,再举行着色和作风化)

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

SoftEdge 软边缘检测:

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

SoftEdge 示例:(保留结构,再举行着色和作风化)

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

Lineart 精细线稿提炼:

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

Lineart 的预处理器有三种形式:lineart_coarse(粗略形式),lineart_realistic(详细形式),lineart_standard(标准形式),处理效果有所不同,对比如下:

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

Lineart 示例:(保留结构,再举行着色和作风化)

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

2. 涂鸦成图

步骤:通过 ControlNet 的 Scribble 模型提炼涂鸦图(可提炼参照图涂鸦,或者手绘涂鸦图),再根据提醒词和作风模型对图象举行着色和作风化。

运用模型:Scribble。

Scribble 比 Canny、SoftEdge 和 Lineart 的自由发挥度要更高,也可以用于对手绘稿举行着色和作风处理。Scribble 的预处理器有三种形式:Scribble_hed,Scribble_pidinet,Scribble_Xdog,对比如下,可以看到 Scribble_Xdog 的处理细节更为丰富:

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

Scribble 参照图提炼示例(保留大致结构,再举行着色和作风化):

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

Scribble 手动涂鸦示例(根据手绘草图,生成图象):

也可以不用参照图,直接创建空白画布,手绘涂鸦成图。

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

3. 建筑/室内设计

步骤:通过 ControlNet 的 MLSD 模型提炼建筑的线条结构和几何形状,构建出建筑线框(可提炼参照图线条,或者手绘线条),再配合提醒词和建筑/室内设计作风模型来生成图象。

运用模型:MLSD。

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

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

MLSD 示例:(毛坯变精装)

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

4. 颜色掌握画面

步骤:通过 ControlNet 的 Segmentation 语义分割模型,标注画面中的不同区块颜色和结构(不同颜色代表不同类型对象),从而掌握画面的构图和内容。

运用模型:Seg。

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

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

Seg 示例:(提炼参照图内容和结构,再举行着色和作风化)

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

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

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

5. 后台替换

步骤:在 img2img 图生图形式中,通过 ControlNet 的 Depth_leres 模型中的 remove background 功能移除后台,再通过提醒词更换想要的后台。

运用模型:Depth,预处理器 Depth_leres。

要点:如果想要比较完美的替换后台,可以在图生图的 Inpaint 形式中,对需要保留的图片内容添加蒙版,remove background 值可以设置在 70-80%。

Depth_leres 示例:(将原图后台替换为办公室后台)

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

6. 图片指令

步骤:通过 ControlNet 的 Pix2Pix 模型(ip2p),可以对图片举行指令式变换。

运用模型:ip2p,预处理器选择 none。

要点:采用指令式提醒词(make Y into X),如下图示例中的 make it snow,让非洲草原下雪。

Pix2Pix 示例:(让非洲草原下雪)

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

7. 作风迁移

步骤:通过 ControlNet 的 Shuffle 模型提炼出参照图的作风,再配合提醒词将作风迁移到生成图上。

运用模型:Shuffle。

Shuffle 示例:(根据魔兽道具作风,重新生成一个宝箱道具)

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

8. 色彩继承

步骤:通过 ControlNet 的 t2iaColor 模型提炼出参照图的色彩分布情况,再配合提醒词和作风模型将色彩运用到生成图上。

运用模型:Color。

Color 示例:(把参照图色彩分布运用到生成图上)

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

9. 角色三视图

步骤:通过 ControlNet 的 Openpose 模型精准识别出人物姿态,再配合提醒词和作风模型生成同样姿态的图片。

运用模型:OpenPose。在 ControlNet1.1 版本中,提供了多种姿态检测方式,包含:openpose 身体、openpose_face 身体+脸、openpose_faceonly 只有脸、openpose_full 身体+手+脸、openpose_hand 手,可以根据实际需要灵活运用。

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

OpenPose 角色三视图示例:

要点:上传 openpose 三视图,加载 charturner 作风模型( https://civitai.com/?query=charturner ),添加提醒词保持后台干净 (simple background, white background:1.3), multiple views

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

10. 图片光源掌握

步骤:如果想对生成的图片举行打光,可以在 img2img 形式下,把光源图片上传到图生图区域,ControlNet 中放置需要打光的原图,ControlNet 模型选择 Depth。

运用模型:Depth。

要点:图生图中的所有参数和提醒词信息需要与原图生成时的参数一样,具体原图参数可以在 PNG Info 面板中查看并复制。

示例:

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

二、ControlNet 多模型组合运用

ControlNet 还支持多个模型的组合使用,从而对图象举行多条件掌握。ControlNet 的多模型掌握可以在设置面板中的 ControlNet 模块中开启:

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

1. 人物和后台分别掌握

步骤:设置 2 个 ControlNet,第一个 ControlNet 通过 OpenPose 掌握人物姿态,第二个 ControlNet 通过 Seg 或 Depth 掌握后台构成。调整 ControlNet 权重,如 OpenPose 权重高于 Depth 权重,以确保人物姿态被正确识别,再通过提醒词和作风模型举行内容和作风掌握。

运用模型:OpenPose、Seg(自定义后台内容和结构)、Depth。

示例:

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

2. 三维重建

步骤:通过 Depth 深度检测和 Normalbae 法线贴图模型,识别三维目标。再配合提醒词和作风模型,重新构建出三维物体和场景。

运用模型:Depth、Normalbae。

示例:

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

3. 更精准的图片作风化

步骤:在 img2img 图生图中,通过叠加 Lineart 和 Depth 模型,可以更加精准的提炼图象结构,最大程度保留原图细节,再配合提醒词和作风模型重新生成图象。

运用模型:Lineart、Depth。

示例:

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

4. 更精准的图片局部重绘

步骤:在 img2img 图生图的局部重绘中,通过叠加 Canny 和 Inpaint 模型,可以更加精准的对图象举行局部重绘。

运用模型:Canny、Inpaint。

示例:

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

给TA打赏
共{{data.count}}人
人已打赏
应用

设想师如何用AI提高工作效率?收下这份超全的应对指南!

2023-5-3 7:50:43

应用

Stable Diffusion进阶!姥姥都能看懂的ControlNet超全教程!

2023-5-5 5:30:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
搜索