中关村在线

游戏硬件

AIGC技巧2:SD插件ControlNet详解 让AI更易掌控!

Stable Diffusion是目前应用最广泛的本地AIGC,AI的最大特点就是强随机性,虽然在大部分时候它是优点,但难以掌控,随机抽卡也让用户颇为头疼。今天我们就为大家详细介绍一下Stable Diffusion中的ControlNet插件,它可以极大降低抽卡的随机性,让用户更容易的控制AI出图。

ControlNet是什么?有什么作用?

ControlNet是Stable Diffusion中的一款超强插件,它不同于模型,不会控制出图的风格,而是在底部的菜单栏中调用。

ControlNet需要结合不同大模型使用,插件本身的模型用于控制单元计算。

ControlNet可以多单元组合应用,增强出图控制。

ControlNet可以控制人物姿势、线稿生图(多种风格可选)、老照片上色、光影艺术字、固定照片物体生图、固定景深生图等等。

1 ControlNet插件界面讲解

在这里我们就不讲SD的操作以及插件的安装了,默认大家已经下好秋叶大神的整合包(里面包含ControlNet),如果想了解基础操作,可以翻看我前一篇文章。

AIGC技巧:SD图生图 如何控制变量生成想要的效果?

下面直接来看看ControlNet操作界面:

1.工作单元,ControlNet运行时可多单元同步参与计算

2.图像区,上传照片、手绘、效果预览(ControlNet的本质仍是图生图)

3.辅助功能区,新建画布,打开摄像头,尺寸同步等

4.设置勾选,勾选启用生成的图片才会参考ControlNet插件效果

5.控制类型,不同生成效果

6.模型区,ControlNet生成必须要有对应模型,预处理器可以空白

7.生成权重和介入控制区(这里我们后面详细讲解)

8.简单的字面意思

2 测试平台

SD出图对于显卡算力和显存的要求不过多赘述了,ControlNet对于显存的要求同样很高。在常规文生图中,我们大多数时间会参照模型(512×512或1024×1024)的尺寸进行生成。

但图生图会根据原图尺寸进行调整,如果想生成一次可用的图片,尺寸要比模型大很多,这时候对于显存的要求就非常高。

本次测试平台我们选择了技嘉提供的整机,整体采用纯白配件打造,兼顾美观与性能。对于内容创作者或玩家来说,也是桌搭非常好的选择。

显卡为技嘉GeForce RTX 4080 SUPER AERO OC雪鹰,RTX 4080拥有16GB大显存,304个Tensor Cores,达到780 AI TOPS,在简单的内容创作和日常主流AIGC软件中,都能够提供高速稳定的体验。

主板为技嘉B760M冰雕,采用16(14+1+1)相供电,且采用了M.2全覆盖散热以及供电全覆盖散热,轻松驾驭i9级处理器。

另外在AIGC软件中,图像或视频的生成均以GPU为主,在算力上GPU也要比CPU高出几十倍。不过我们在长时间的生成中,不可能干等着,所以一颗好的CPU也能够让我们同时处理更多工作。

下面直接进入正题,来看看ControlNet到底有何神奇之处。

PS:由于时间有限,每种效果仅用了简单的提示词控制,生成图像比较简陋。如果想生成理想图像,大家还需要在提示词上进行打磨,反复实验。

3 Canny(硬边缘)

Canny可以识别到画面中非常详细的线条,能够最大程度还原照片,可以说是ControlNet中约束性最强的控制。

在第一次讲解中,我们先大概了解一下ControlNet的操作流程。

首先上传一张图片后,如果生成想保持原图的尺寸,可以点击预处理结果预览右下方的上剪头;

在控制类型中选择好Canny后,下面的预处理器和模型会自动变成Canny对应的,大部分时间无需手动调节。但有时预处理中会有不同分支,需手动选择。

点击对话框中的爆炸图表,插件就会生成一张由该模型控制的预处理效果。从图中能看到在硬边缘模式下,生成图像为包含了所有边缘的黑白线稿。

控制权重默认为1,也是最为均衡的;引导介入时机和引导终止时机,可以理解为ControlNet在生成这张图片中参与了哪些部分,默认的0-1就是全程参与。

4 SoftEdge(软边缘)

用了最简单的Canny讲解操作方法后,我们再来看SoftEdge,相比硬边缘,它在预处理效果中的线条比较柔和,没有框定所有约束,给AI发挥的空间也就越大。

5 Lineart(线稿)

Lineart是专门提取线稿的模型,相比硬边缘和软边缘,它更接近手绘的风格,并且可以针对不同类型的图片进行不同的处理。

可以看到在不同线稿的提取方法中,预处理的线稿差别会很大,上图中标准线稿提取-白底黑线反色,比较好的还原了整个场景的结构和关系,但是它与硬边缘不同的是,仅靠白底反色处理,所以边缘仍然较为柔和,出图效果在最大程度还原原图结构外,也会有一些发挥空间。

而在coarse(粗略线稿提取)中,则更像标准的手绘线稿,而且它更偏向描绘主体。不过这样的问题就是AI发挥度更大,关键词少的话更容易崩。

在realistic(写实线稿提取)中,风格化更为明显。不过这几种先搞提取方法整体的出图效果大同小异,如果默认标准的提取无法达到效果,可以试试不同的手法。

6 Scribble/Sketch(涂鸦/草图)

Scribble/Sketch的风格更为粗犷一些,基本只保留了图片中的大致轮廓,所以生成出来的图片也只能看出与原图神似,但完全不是一回事。

不过既然是涂鸦玩法,那么使用照片显然有点违背初衷,在草稿上随便画几条线,然后静静看着AI能够联想出来什么,才是最有意思的。

而且这个功能相比NVIDIA Canvas所呈现的效果更好,毕竟Canvas是用画笔颜色代替物体,有点类似于Segmentation的效果,而Scribble/Sketch只是用画笔给了轮廓,重要的还是靠提示词来生成。

7 MLSD(直线)

MLSD是仅能提取直线的线稿,一般在建筑,或家居场景中使用的比较多,不过我们依然能发现一些有意思的用法。

可以看到模型将显卡边框的线条全部提取了出来,但是转角部位的弧形则没有。而且直线提取,少了很多具象化的东西,想象空间更大,非常容易出现意想不到的效果。

小结

上面几种都是属于线稿出图,只是在细分领域中有所区别。用过图生图的大家都知道,它依靠原图的效果来控制生成图像,所以可以做到与原图很像,但自由度非常小。想要更大的自由度又非常难以控制。

ControlNet这几个模型的本质上来说还是图生图,但相比图生图,它相当于有了一层蒙版,自由度更高,更可控。

8 Openpose(姿态)

Openpose是非常实用的一个工具,SD生图最大的困难就是对于姿态的控制,往往仅靠提示词,AI无法明确我们想表达的内容,而Openpose的火柴人就可以完美还原图中角色的姿态,更厉害的是,它还可以调节多人的不同姿态。

全身像适合full预设,姿态、手部及脸部都会被火柴人框住

Openpose预设中分的较为细致,对应不同的构图,可选择脸部、手部、姿态等范围。

在Openpose中,除了预处理,还可以手动调节捕捉细节,从而保障画面的真实or夸张,比如大家也可以把自己照片的腿部拉长,这样就会在其他结构不变的情况下,生成一个大长腿小姐姐。

9 Recolor(重上色)

Recolor可以对图片进行重新上色,它可以将现有的彩色照片进行黑白处理,然后重新由提示词填上颜色;但为黑白照片添加颜色应该才是大家最期望看到的,

为黑白老照片上色其实比较困难,首先老照片的清晰度都比较低,灰阶也没有现代黑白照片那样对比明显,AI识别起来很困难;另外老照片特有的噪点和马赛克又为AI区分细节增加了困难。

如果想要高清还原一张彩色照片,可以分为几步:1、运用AI的高清修复,先将照片分辨率放大;2、消除噪点、修复损坏部分;3、最后再进行上色填充。

不过相比于高分辨率无噪点的AI精修,个人还是更倾向于老照片那种“低保真”的年代感。其实用高糊原片,我们同样能够再利用PS对多张图片进行叠加处理,从而保留相对准确的部分。

10 AI光影艺术字

这一部分我没有写对应的控制类型,它可以用ControlNet自带的Tile/Blur(分块/模糊)来制作,也可以用自己下载的模型,都能达到想要的效果。

比如上面的图片,我使用了Control_v1p_sd15_brightness模型来制作,它能够将字体通过光影的形式更好的融入图片中。

这里重点讲解一下AI艺术字的设置,原始图像可以在PS中直接写好字导出图片,或者使用ControlNet自带的画笔进行涂鸦。

如果使用Tile/Blur自带的模型,预处理器和模型这里都无需改动,如果想要选择自己下载的模型,预处理器需要选择none,然后刷新模型,找到自己想要的。

控制权重、引导介入时机、引导终止时机在其他模型中都是默认的,不过在艺术字中均要手动调节。

控制权重设置为0.5为宜,如果是1的话会让字体过于突出,而出现上图的效果。

引导介入时机和引导终止时机这两项是相辅相成的,0-1代表艺术字全程参与画面的迭代生成,但那样得出的效果与控制权重为1差不多。通常设置为0.2-0.4左右,代表着画面迭代在20%-40%的时间段有字体参与。

但这一数值并不绝对,如果你的画面迭代步数越高,引导终止时机则可以越大。

如果想要得到理想效果,仍需要多次尝试。在提示词、字体、大小、介入终止时机均达到理想平衡时,再更换文字,就能够比较快速的批量出图了。

11 Depth(深度)

Depth则可以很好地控制原图中的景深,如果想保持图像中的纵深结构可以选择。除了街景,在室内场景中,AI往往会生成出空间错乱的图片,Depth能够完美解决这一点。

Depth的发挥空间也非常大,能够看到它的预处理图像仅有“近白远黑”的概念,所以如果看到有哪些喜欢的构图,可以利用Depth借鉴一下。

除了ControlNet预处理的黑白图像,所有的模型都可以自定义上传蒙版,大家在PS中可以把过于突出的元素抹掉或增减,防止上图中出现明显边缘的情况。

12 NormalMap(法线贴图)

NormalMap比较神奇,它能够计算图片中主体的明暗关系,并且相对较为还原原图的姿势。

不过相对来说,NormalMap在预处理之后的修改空间不大,如果是普通的二三次元转换,不如线稿来的方便可操作性强;但如果是明暗光影效果较强的图片,想要保留这些细节的话NormalMap是不错的选择。

13 Segmentation(语义分割)

Segmentation拥有超强的稳定性和发散性,它的预处理结果不像其他模型是线稿,而是色块图,不同色块也有对应的不同物体。

可以看到Segmentation拥有超强的固定性,虽然预处理只是一些不同的色块,但每个色块都代表着固定的东西,这个模型也非常适合居家类风格,它可以将物体原本的形状固定住,然后转换为任何形式。

另外,虽然是色块图,但Segmentation不像NormalMap的预处理那么难以修改,知道了颜色代码之后,用户同样可以自行绘制色块到蒙版上,生成图像中就会出现对应的物体;以及在预处理识别不准确的时候也可以手动修改。

14 总结

这次技巧相对比较详细的介绍了ControlNet的各种控制类型,一些没讲到的相对大同小异,或者可替代性较强,当然大家也可以自行尝试。由于时间关系,本次所有模型出图均以演示为主,效果有所欠缺。

ControlNet本质上来讲,依然是图生图。但相比SD自带的图生图,它又更偏向以文字生成。在都有原图约束的情况下,他们最大的区别在于ControlNet拥有多种底稿的控制类型,如边缘线稿、深度、光影、姿态等。

所以它能够在遵循原构图的情况下,对生成图像随意调整,而SD自带图生图想要拥有自由度,则需要靠重绘幅度来调整,但这样一来会对原图有较大破坏。

最后总结一下ControlNet中容易碰到的坑:

1、提示词很重要,没有正反提示词,即使有原图打底也容易生成奇怪的东西

2、更换大模型后,需要注意ControlNet模型是否丢失

3、所有ControlNet生图都会附带一张预处理结果预览,没有的话代表ControlNet没有启用

4、ControlNet必须要使用对应模型,但它的模型与大模型不同,不控制生图风格,更偏功能性

5、使用放大涂鸦绘制时,一定一定一定不要点这个叉子,它是删除图像,不是让图像复位……

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多
说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具