虽然通过简单的提示词,在文生图和图生图中能生成不错的图片。但是如果要精准控图,实现人物姿势,深度图,画风迁移等进阶应用,就离不开ControlNet控图了。ControlNet 提供了十几种生成图片的控制方式,有的可以控制画面的结构,有的可以控制人物的姿势,还有的可以控制图片的画风,这对于提高AI绘画的质量特别有用;基于 ControlNet 的能力,炼丹师们可以将AI绘画拓展到很多的应用场景,比如艺术二维码、光影文字、线稿上色、老照片修复、图片风格转绘、IP图片创作等等。
ControlNet的绘画模式是:先让用户输入一张参考图,AI根据指定的预处理模式,生成一张新图。常用 ControlNet预处理器包括:tile、openpos、depth、candy、lineart等。
安装插件
ComfyUI自带了一些简单的 ControlNet 节点,不过这还远远不够,我们需要安装一些插件来增强 ControlNet 方面的处理能力。
插件路径:ComfyUI_controlnet_aux安装到/ComfyUI/custom_nodes/
ControlNet安装目录: /ComfyUI/models/controlnet
ControlNet 的使用方式非常灵活,既可以单模型应用,也可以多模型组合应用。清楚 ControlNet 的一些原理方法后,可以帮助我们更好的提升出图效果。
右键【新建节点】-【ControlNet预处理器】-【AUX集成预处理器】–这就是刚安装的插件,不安装它的话ControlNet自带的预处理器是有限的,且只能单个节点添加
【AUX集成预处理器】左边的图像节点连接【加载图像】节点,右边连接【ControlNet应用】节点
以下介绍 ControlNet 的实际用法
1. 线条控制类
指的是通过元素轮廓来限制画面内容,轮廓类模型有 Canny 硬边缘、MLSD 直线、Lineart 真实线稿、Lineart_anime 动漫线稿、SoftEdge 软边缘、Segmentation 语义分割、Shuffle 随机洗牌这 7 种,且每种模型都配有相应的预处理器,由于算法和版本差异,同一模型可能提供多种预处理器供用户自行选择。
- Canny:通过边缘检测生成精细线稿,适合精准模仿原图结构。
- MLSD:仅检测直线,适用于建筑、室内设计等场景。
- Lineart:新一代线稿识别,比Canny更精细,支持动漫线条提取。
- SoftEdge:软边缘检测,优先识别大轮廓线,适合非精准模仿的场景。
- Scribble/Sketch:涂鸦控制,支持粗略轮廓识别或手动绘制草图生成图像。
Canny:
比较常用的一种线稿提取方式,该模型能够很好的识别出图像内各对象的边缘轮廓。
MLSD 直线边缘
MLSD 提取的都是画面中的直线边缘,在下图中可以看到 mlsd(M-LSD 直线线条检测)预处理后只会保留画面中的直线特征,而忽略曲线特征。
Lineart :
精细线稿提取是 ControlNet1.1 版本中新增的模型,相较于 Canny,Lineart 提取的线稿更加精细,细节更加丰富。
2. 深度与结构类
- Depth:通过亮度区分前后景深度关系,白色区域靠前,黑色区域靠后。
- NormalMap:法线贴图,控制物体表面凹凸质感(如窗户凹陷效果)。
- OpenPose:骨骼姿势识别,可自动检测或手动编辑人体姿态。
Depth:
深度图这个解决的是图片的前后深度关系,当你使用depth处理器和模型处理图片生成新图的时候ControlNet会根据越亮越白的部分越靠前,越黑越灰的部分越靠后来生成ai绘画图片。
4. 对象类
终于到了我们大名鼎鼎的 OpenPose,作为唯一一款专门用来控制人物肢体和表情特征的关键模型,它被广泛用于人物图像的绘制。
在 OpenPose 中为我们内置了 openpose、face、faceonly、full、hand 这 5 种预处理器,它们分别用于检测五官、四肢、手部等人体结构。
3. 语义与分割类
- Segmentation:语义分割,通过颜色对应物品类别生成图像(如蓝色代表天空)。
- Inpaint/局部重绘:局部修改图像,保持与原图风格一致。
4. 风格与色彩类
- Shuffle:随机洗牌,打乱参考图语义元素生成多样性画面。
- Recolor:黑白图片重新上色,支持自动或提示词定义颜色。
- IP-Adapter:风格/人脸模仿,保持生成图像的一致性。
5. 功能扩展类
- InstructP2P:通过文本指令修改图片(如让房子“着火”)。
- Instant_ID:AI换脸,保持人脸一致性并支持多图融合。
- Tile/Blur:模糊图片高清化与细节增强。
不兼容OpenPose面部/手部专用处理器及部分语义分割预处理。
这个工作流和之前的工作流相比,其实就只是多了一部图像的预处理,我们把对应的图像输入到C omfyUI ControlNet Auxiliary Preprocessors 提供的预处理器OpenPose Pose
节点中,完成了对应的图片预处理。
那么以上就是对应的 ComfyUI 中 ControlNet 的简单介绍了,在后续的 ControlNet 相关教程中,我们将会继续介绍更多的 ControlNet 模型,并给出对应的示例。