百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术分析 > 正文

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

liebian365 2025-03-30 18:14 19 浏览 0 评论

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、使用放大涂鸦绘制时,一定一定一定不要点这个叉子,它是删除图像,不是让图像复位……

(8690529)

相关推荐

“版本末期”了?下周平衡补丁!国服最强5套牌!上分首选

明天,酒馆战棋就将迎来大更新,也聊了很多天战棋相关的内容了,趁此机会,给兄弟们穿插一篇构筑模式的卡组推荐!老规矩,我们先来看10职业胜率。目前10职业胜率排名与一周前基本类似,没有太多的变化。平衡补丁...

VS2017 C++ 程序报错“error C2065:“M_PI”: 未声明的标识符"

首先,程序中头文件的选择,要选择头文件,在文件中是没有对M_PI的定义的。选择:项目——>”XXX属性"——>配置属性——>C/C++——>预处理器——>预处理器定义,...

东营交警实名曝光一批酒驾人员名单 88人受处罚

齐鲁网·闪电新闻5月24日讯酒后驾驶是对自己和他人生命安全极不负责的行为,为守护大家的平安出行路,东营交警一直将酒驾作为重点打击对象。5月23日,东营交警公布最新一批饮酒、醉酒名单。对以下驾驶人醉酒...

Qt界面——搭配QCustomPlot(qt platform)

这是我第一个使用QCustomPlot控件的上位机,通过串口精确的5ms发送一次数据,再将读取的数据绘制到图表中。界面方面,尝试卡片式设计,外加QSS简单的配了个色。QCustomPlot官网:Qt...

大话西游2分享赢取种族坐骑手办!PK趣闻录由你书写

老友相聚,仗剑江湖!《大话西游2》2021全民PK季4月激燃打响,各PK玩法鏖战齐开,零门槛参与热情高涨。PK季期间,不仅各种玩法奖励丰厚,参与PK趣闻录活动,投稿自己在PK季遇到的趣事,还有机会带走...

测试谷歌VS Code AI 编程插件 Gemini Code Assist

用ClaudeSonnet3.7的天气测试编码,让谷歌VSCodeAI编程插件GeminiCodeAssist自动编程。生成的文件在浏览器中的效果如下:(附源代码)VSCode...

顾爷想知道第4.5期 国服便利性到底需优化啥?

前段时间DNF国服推出了名为“阿拉德B计划”的系列改版计划,截至目前我们已经看到了两项实装。不过关于便利性上,国服似乎还有很多路要走。自从顾爷回归DNF以来,几乎每天都在跟我抱怨关于DNF里面各种各样...

掌握Visual Studio项目配置【基础篇】

1.前言VisualStudio是Windows上最常用的C++集成开发环境之一,简称VS。VS功能十分强大,对应的,其配置系统较为复杂。不管是对于初学者还是有一定开发经验的开发者来说,捋清楚VS...

还嫌LED驱动设计套路深?那就来看看这篇文章吧

随着LED在各个领域的不同应用需求,LED驱动电路也在不断进步和发展。本文从LED的特性入手,推导出适合LED的电源驱动类型,再进一步介绍各类LED驱动设计。设计必读:LED四个关键特性特性一:非线...

Visual Studio Community 2022(VS2022)安装图文方法

直接上步骤:1,首先可以下载安装一个VisualStudio安装器,叫做VisualStudioinstaller。这个安装文件很小,很快就安装完成了。2,打开VisualStudioins...

Qt添加MSVC构建套件的方法(qt添加c++11)

前言有些时候,在Windows下因为某些需求需要使用MSVC编译器对程序进行编译,假设我们安装Qt的时候又只是安装了MingW构建套件,那么此时我们该如何给现有的Qt添加一个MSVC构建套件呢?本文以...

Qt为什么站稳c++GUI的top1(qt c)

为什么现在QT越来越成为c++界面编程的第一选择,从事QT编程多年,在这之前做C++界面都是基于MFC。当时为什么会从MFC转到QT?主要原因是MFC开发界面想做得好看一些十分困难,引用第三方基于MF...

qt开发IDE应该选择VS还是qt creator

如果一个公司选择了qt来开发自己的产品,在面临IDE的选择时会出现vs或者qtcreator,选择qt的IDE需要结合产品需求、部署平台、项目定位、程序猿本身和公司战略,因为大的软件产品需要明确IDE...

Qt 5.14.2超详细安装教程,不会来打我

Qt简介Qt(官方发音[kju:t],音同cute)是一个跨平台的C++开库,主要用来开发图形用户界面(GraphicalUserInterface,GUI)程序。Qt是纯C++开...

Cygwin配置与使用(四)——VI字体和颜色的配置

简介:VI的操作模式,基本上VI可以分为三种状态,分别是命令模式(commandmode)、插入模式(Insertmode)和底行模式(lastlinemode),各模式的功能区分如下:1)...

取消回复欢迎 发表评论: