首页  >  教程  >  文章
2023-08-27 15:15

Stable Diffusion基础应用丨关于ControlNet的线稿成图

图片

大家好,我是每天分享AI应用的萤火君!

今天继续给大家分享Stable Diffusiion的基础能力:ControlNet之线稿成图。

所谓线稿就是由一条条的线段组成的图形,主要用于绘画和设计领域的打底稿、表达构想和预见最终效果。

所谓线稿成图就是利用 Stable Diffusion + ControlNet 的能力,依照线稿中的图形设计生成创意图片。借助ControlNet,我们可以直接使用线稿图生成图片,也可以先从其它图片中提取线稿,然后再生成图片。

下面我将介绍ControlNet中四个优秀的线稿模型,以及它们的使用方法和注意事项。

安装ControlNet

工欲善其事必先利其器,ControlNet还是先要安装好的,已经安装好的请跳过这一步。

之前的文章已经介绍过相关安装方法,大家请点击这个链接移步过去:AI复制小姐姐的优美姿势:OpenPose ControlNet

使用方法

Canny

基于精细的边缘检测,准确还原图片的结构和特征。Canny边缘图中的线条没有粗细、深浅的区分。

图片

因为是真人图片,所以这里选择了一个现实视觉的大模型:realisticVisionV51.提示词可以手写,也可以找个反推工具反推。

图片

如果是生成真人图片,建议把“面部修复”勾选上。

图片

ControlNet的设置是重点:

1、展开ControlNet控制面板。

2、在Unit 0中上传一张需要提取边缘的图片。

3、勾选“启用”,启用当前ControlNet Unit。

4、勾选“完美匹配像素”,自动设置预处理器的分辨率。

5、勾选“允许预览”,这样就可以预览边缘检测的效果。

图片

6、选择“Canny”

7、预处理器和模型会自动加载,暂时不更改它们。

预处理器可以检测图片中人物和物体的边缘,绘制出边缘图。点击预处理器后边的星火图标可以在预览区看到预处理的效果图。

预处理器器还有两个选项:

无:不使用预处理器,直接在ControlNet中上传一张线稿图。

颜色反转:ControlNet中能够处理的线稿图需要线条是白色, 其它区域是黑色,这和现实中的线图颜色是相反的。所以通过这个预处理器,我们可以直接反转一张现实世界的线稿图,供ControlNet模型进行生图处理。不适合普通的彩色图片。

8、控制权重:ControlNet模型在生成图片时的权重,降低这个权重,线稿对绘图的约束就会变弱。

启动控制的步数:Canny介入的时机。介入时机越早,越能保证构图依照边缘图,一般从0开始。

结束控制的步数:Canny退出的时机。退出时机越晚,细节保留程度越大,如果要多变换一些细节,可以提前退出。

9、这两个阈值是canny预处理器提取线稿图时使用的,通过调整阈值可以控制边缘图中保留细节的多少。

Canny Low Threshold:去掉过细的线段。大于低阈值的线段被认定为边缘。

Canny High Threshold:去掉零散的线段。大于高阈值的线段被认定为强边缘,全部保留;高阈值和低阈值之间的线段认定为弱边缘,只保留强边缘相邻的弱边缘。

10、控制模式:ControlNet的通用设置,以提示词为主,还是以ControlNet模型为主。

11、缩放模式:ControlNet的通用设置,参考图与要生成的图片尺寸不一致时如何处理。拉伸有变形的问题,一般使用裁剪和填充。

图片

Lineart

使用线条艺术生成训练,通常用于黑线白底图的上色,也可以从各种图片中提取线条,然后再生成图片。

Lineart的线条有粗细深浅的区别,相比Canny,除了能够控制构图,还可以更好的还原图片深度。

图片

图片

下图的几个设置和上面Canny控制器的设置差不多,只是上传的图片换成了一张黑白线稿图。

图片

重点看下这几个设置:

Lineart:线稿控制网络。

预处理器:从图片提取线稿图的处理器。这里有多个预处理器,简单介绍下:

none:不使用预处理器,需要直接上传一张处理好白线黑景线稿图。

lineart_anime:适合从动漫图片中提取线稿图。

lineart_anime_denoise:适合从动漫图片中提取线稿图,并去掉噪音点。

lineart_coarse:从图片中粗略提取线稿图,忽略不突出的细节,生图时自由度更高。

lineart_realistic:从真实视觉的图片中提取线稿图。

lineart_standard:从图片提取线稿图的标准版处理器。

颜色反转:反色图片,适合从白色背景、黑色线条的图片中提取线稿图。

图片

模型:根据线稿图生成图片的ControlNet模型。

control_v11p_sd15_lineart_fp16:通用线稿图生成模型。

control_v11p_sd15s2_lineart_anime_fp16:二次元线稿图生成模型。

图片

SoftEdge

使用软边缘图像生成训练,平滑的边缘、更好的深度,忽略内部细节,方便创作更具绘画特征或艺术风格的图片。

相比Canny、Lineart,SoftEdge除了稳定构图,更好的图片深度控制,还拥有了更多的自由度。

图片

重点看下ControlNet的这几个设置:

图片

预处理器:从图片中提取软边缘图。

softedge_hed:合成柔边图。

softedge_hedsafe:安全的合成柔边图,边缘更清晰,稳定性更高。

softedge_pidinet:简笔柔边图,描绘的细节更少,出图的细节更自由,姿势更稳定。

softedge_pidinet:安全的简笔柔边图,边缘更清晰,稳定性更高。

图片

模型:control_v11p_sd15_softedge_fp16.参与生成图片的软边缘模型,只有这一个。

Scribble

这是一个称之为涂鸦成图的ControlNet,生成图片的自由度更高。

丁老头大家都画过吧,我这里把它生成一个毛绒玩具的图片。

图片

注意这几个参数:

图片

预处理器:

无:不对参考图进行预处理,需要自己上传处理好的涂鸦图,白色代表线条。

scribble_hed: 粗线合成涂鸦图,用来生成随机性较强的图。

scribble_pidinet: 粗线简笔合成涂鸦图,生成图片的自由度比 scribble_hed 弱。

scribble_xdog:从图片中提取更多的细节生成涂鸦图,结构和轮廓的限制更多。

颜色反转:简单的反转图片中的黑白色,适合黑白图的处理。

图片

模型:control_v11p_sd15_scribble_fp16.参与生成图片的涂鸦模型,只有这一个。

Scribble 也可以用来处理真实的图片,与Canny、Lineart、SoftEdge相比,最大的变化就是,构图会发生一些变化,而且它没有对图片深度的处理。

图片

效果对比

考虑到 Scribble 对原图的变化过大,这里只对比前三个:

可以看到 SoftEdge 对构图和深度处理的最好,当然细节上也更自由。

资源下载

本文使用的模型、插件,生成的图片,都已经上传到了我整理的SD绘画资源中,后续也会持续更新,如有需要,请关注公众号:萤火遛AI(yinghuo6ai),发消息:SD,即可获取下载地址。


扫一扫,关注作者公众号

AI探索者,分享AI前沿知识跟实用技巧

6

相关文章