0x0. 如果你不知道 Controlnet

0x1. Controlnet 是什么

一开始,人们制造了 AI 绘图工具,却无法完全掌控它们——AI 的生成是离散的,极大的随机性让画面的精细控制变得极其困难。如果单纯依赖“抽卡”等方式抽出比较符合自己预期的图片,效率会变得地下甚至是为0。既然效率都不存在了,就更不可能在生产或创作中作为“生产力”了。

而 Controlnet 的出现让这一切都不太一样了。这个事物被当时的报道形容为“划时代的”。

AI 迈向工业化的重要一步。

Controlnet通过额外的输入来控制Ai绘画效果,也就是说,绘画师画出的Ai女友,终于可以按照自己的设想摆出各种姿势,画出的房子等事物,终于可以控制在某个设想范围之内。——张阿姨也能看懂的Controlnet简明教程(Stable Diffusion最强插件) - 知乎

通俗地来讲,就是人为且强力地干预 AI 生成的画面,使其符合自己的最终设想。

0x2. Controlnet 能做什么

说了那么多该回到正题了。

我个人浅显地将它的用途分为两大类:

  • 一是控制人物骨骼姿态、约束人物细节,让画面符合你的预期。
  • 另一则是线稿出图。用于将自己粗略的想法实际落地。

本篇文章着重介绍前者,即人物姿态的精细控制与约束。

1x0. 插件的安装

本篇文章的重点不在这里。可以参考下方文章完成安装与模型下载。

一步步带你解锁Stable Diffusion:ControlNet 保姆级入门介绍_stable diffusion control net安装-CSDN博客

2x0. 认识插件

2x1. 各种控制类型(Control Type)

本文需要你认识以下几种控制类型:

  • Openpose——进行姿势控制,可以识别角色的骨骼图,对生成图进行姿势约束。
  • SoftEdge(软边缘)——保留轮廓的细节,适用于简单画面。
  • Depth(深度)——深度控制可以探测图片生成深度图,基于图像深度进行控制来渲染目标图片。生成的预览图中,越靠前越白,越靠后越黑,深度感更强烈。

2x2. 插件界面

Controlnet 可以同时使用多个单元,单元同时生效。

如果你需要使用 Controlnet 就必须保持 启用 选项为勾选状态。

3x0. 生成

3x1. 设置插件

我们可以在网上找一张图片或是自己拍一张需要的姿势的照片。拖进左侧的图像栏后,点击预处理器右方的按钮开始预览。

正常情况下,你会得到一张骨骼图。

如果你在 60s 后遇到了报错,不用惊慌,一般是文件缺失所致,可以参考这篇文章解决:

stable-diffusion使用openpose报错 - 知乎

点击生成后,我们会发现人物的手指部分效果并不理想。

但我们前面也说过了,Controlnet 允许多个单元同时作用。所以我们只需要再添加 Depth 与 SoftEdge 即可。多重约束下手指的崩坏率比较小。

我们继续启用两个单元。类型分别选择 深度软边缘

随后将三个单元的控制权重均调整为 0.6。

我们再次点击生成,就会发现人物的手指已经可以看了。

3x2. 效果展示

如文章封面:

4x0. 疑难解答

4x1. 线条处理导致我的人物轮廓被限制

这其实是 Depth 与 SoftEdge 导致的。

解决方法也很简单,直接将二者的处理图多余涂黑,只留下需要约束的部位(手部)即可。然后将处理后的图发送到 Controlnet,将预处理器改为无,再次生成即可。

  • reward_image1
此作者没有提供个人介绍。
最后更新于 2025-08-10