ComfyUI ControlNet 环境搭建备忘录

0. ComfyUI ControlNet Aux 插件简介

  • 作用 :comfyui_controlnet_aux 是 ComfyUI 的扩展插件,用来管理和调用各种Controlnet 预处理器模型(Annotators)。

  • 位置 :安装后会在 ComfyUI/custom_nodes/comfyui_controlnet_aux/ 下生成目录,其中的 ckpts/ 文件夹专门用来存放预处理器模型。

ckpts= checkpoints

  • 预处理器模型:包括 Canny、OpenPose、Depth Anything、MiDaS、Zoe、Lineart、HED 等,它们负责把输入图像转化为条件图。这些预处理器模型是通用的,不依赖具体的生成模型(SD1.5、SDXL、Flux 都能用)。真正和生成模型绑定的是 ControlNet 主模型。

1.预处理器模型 vs ControlNet 主模型

在 ComfyUI 的 ControlNet 工作流里,常常会遇到两个概念:预处理器模型 和 ControlNet 主模型。它们的区别如下:


预处理器模型(Annotators)

  • 作用:把输入图像(照片、草图等)转换成条件图(如边缘图、深度图、姿势关键点图)。

  • 常见类型:Canny、OpenPose、Depth Anything、MiDaS、Zoe、Lineart、HED 等。

  • 特点 :

    • 独立的计算机视觉模型,不依赖具体的生成模型。
    • 通用性强:无论你用的是 SD1.5、SDXL,还是 Flux,都可以用同一套预处理器。
  • 存放路径 :

    复制代码
    ComfyUI/custom_nodes/comfyui_controlnet_aux/ckpts/

ControlNet 主模型

  • 作用:把预处理器生成的条件图,转化为能约束扩散模型的条件(Condition)输入。

  • 常见类型 :control_v11p_sd15_canny.safetensors、controlnet-openpose-sdxl-1.0.safetensors 等。

  • 特点 :

    • 与具体的扩散模型版本绑定(SD1.5、SDXL、Flux 各有专用版本)。
    • 不同主模型对应不同的条件图类型(canny、depth、openpose、scribble 等)。
  • 存放路径 :

    复制代码
    ComfyUI/models/controlnet/

总结对比

项目 预处理器模型 ControlNet 主模型
功能 生成条件图 将条件图应用到扩散模型
通用性 通用,跨 SD/SDXL/Flux 专属,必须匹配版本
例子 Depth Anything、MiDaS、Zoe control_v11p_sd15_canny、controlnet-depth-sdxl-1.0
路径 custom_nodes/comfyui_controlnet_aux/ckpts/ models/controlnet/

👉 简单来说:预处理器模型负责"分析图像",ControlNet 主模型负责"约束生成"。

预处理器是通用的,而主模型必须和你用的扩散模型版本匹配。

2. Depth、Canny 和 OpenPose 的区别与用途

在 ControlNet 工作流里,这三类主模型是最常见、最实用的,它们分别依赖不同的 预处理器 来生成条件图,再通过 ControlNet 主模型约束扩散生成。

Depth(深度图)

  • 输入条件:由 MiDaS、Zoe、Depth Anything 等预处理器生成的深度图。
  • 作用:保留图像的空间层次和前后关系,让生成结果符合透视和场景结构。
  • 适用场景:建筑、风景、人物场景,尤其需要保持空间感时。

Canny(边缘检测)

  • 输入条件:由 Canny 算法生成的边缘图。
  • 作用:保留图像的轮廓和结构,让生成结果贴合原始图的形状。
  • 适用场景:草图转精细图、照片结构保持、快速约束生成。

OpenPose(姿势关键点)

  • 输入条件:由 OpenPose 预处理器生成的人体关键点图(骨架)。
  • 作用:控制人物的姿势和动作,让生成结果符合指定的骨架结构。
  • 适用场景:人物插画、舞蹈动作、角色设计,尤其需要精确控制姿势时。

✅ 总结:

  • Depth → 控制空间层次。
  • Canny → 控制轮廓结构。
  • OpenPose → 控制人物姿势。

这三类模型覆盖了最常见的生成约束需求,是 ControlNet 工作流里最常用的基础工具。

👉 总结:预处理器模型是 通用的,不绑定 SD/Flux,只负责生成条件图。

3. ControlNet 主模型的区别

不同的 ControlNet 主模型对应不同的输入条件图:

模型 输入条件 用途
scribble 草图线条 涂鸦转精细图
lineart / lineart_anime 线稿 保持线条结构
seg 语义分割图 按区域生成内容
normalbae 法线贴图 控制光照和几何结构
depth 深度图 保持空间层次
mlsd 直线检测图 建筑透视控制
canny 边缘检测图 保持轮廓结构
openpose 姿势关键点 控制人物姿势

👉 总结:ControlNet 主模型必须和 SD 版本匹配(SD1.5 用 sd15 模型,SDXL 用 sdxl 模型,Flux 未来需要专用版本)。

4.ControlNet主模型加载器区别 Load vs DiffLoad ControlNet

  • Load ControlNet Model:加载单个 ControlNet 模型。

  • DiffLoad ControlNet Model:支持多模型或动态切换,适合复杂工作流。

5. 下载与命名

Hugging Face 上的Controlnet主模型的文件通常叫 diffusion_pytorch_model.safetensors。

比如https://huggingface.co/lllyasviel/control_v11f1p_sd15_depth/tree/main

圈出的两个分别是Stable Diffusion对应Controlnet主模型的半精度版本和全精度版本。下载后放到ComfyUI目录的 models/controlnet/。

模型不改名也能用,但建议改成对应仓库名(如 control_v11p_sd15_depth.safetensors),方便在UI显示辨认和管理。

SDXL 的 ControlNet 模型(如 controlnet-openpose-sdxl-1.0)同样只需下载 .safetensors 文件,放到 models/controlnet/。

下载地址:

https://huggingface.co/diffusers/controlnet-depth-sdxl-1.0/tree/main

https://huggingface.co/xinsir/controlnet-openpose-sdxl-1.0/tree/main

相关推荐
Eric.461 天前
Wan‑Animate+MiniMax-H3 本地部署 AI 漫剧流水线:8G 显存动作迁移与动态分镜工程实战
前端·人工智能·comfyui·ai漫剧
每天死循环2 天前
ComfyUI MiniMax H3文生视频(t2v)提示词教程:四段式写法+5秒768p实测(附模板和参数)
音视频·文生视频·comfyui·ai视频·minimax
AIGC小尼2 天前
8G 显存零基础本地部署 AI 漫剧全流程|ComfyUI+Wan2.2+FFmpeg 离线成片完整方案(含代码 / 指令 / 排坑)
人工智能·ffmpeg·php·comfyui·ai漫剧
山岚的运维笔记3 天前
ComfyUI NVIDIA安装教程:官方便携版下载+run_nvidia_gpu.bat启动,8G显存Windows实操
运维·服务器·windows·笔记·prompt·aigc·comfyui
云樱梦海6 天前
Qwen-Image-2.1-viggle-turbo便携包 在 ComfyUI 上跑通,3060显卡40 秒出1080P图
comfyui·qwen image 2.1
浪淘沙jkp7 天前
ComfyUI全方位指南(5)LTX-2.5 ComfyUI图生视频,文生视频可以你也可以的
音视频·comfyui
AIGC小尼7 天前
MiniMax-H3 8G 显存 AI 漫剧进阶实战|ComfyUI 命令行调参、角色锁定与 FFmpeg 批量脚本全解析
人工智能·ffmpeg·comfyui·ai漫剧
AIGC小尼7 天前
ACE-Step-1.5 本地 AI 音乐模型实战|text2music 歌词转人声,部署脚本、参数调优与排坑全记录
人工智能·算法·comfyui·ai漫剧
GPU实战笔记15 天前
ComfyUI 镜像首跑:先验证自启动与端口入口,再处理外部服务集成
comfyui·故障排查·镜像部署·云端gpu·端口访问