ComfyUI 从安装入门到精通,Depth 深挖 + 高清放大(清晰度再提一档)

ComfyUI 从安装入门到精通,Depth 深挖 + 高清放大(清晰度再提一档)

第 10 篇 ComfyUI 从安装入门到精通,ControlNet 三大场景(画面听你指挥)你学会了 ControlNet 三兄弟(OpenPose / Depth / Canny),也知道 strength 怎么拧了。但当时我留了个坑没填:这三个到底什么时候用哪个?

我自己踩过的真实经历:有回想把一张真人照片改成赛博朋克风格,顺手用了 Canny(第 10 篇说它控轮廓嘛)。结果新衣服的褶皱、边缘全被原图”焊死”了,改风格改得极其生硬,像给照片贴了层滤镜。后来才知道,要”换皮不换骨”,得用 Depth(深度)——它认的是前后空间层次,不是边缘线。这篇就把 Depth 单独讲透。

一、Depth 是啥(大白话)

一句话:Depth 控制的是画面里”谁在前、谁在后、体块怎么摆”,而不是边缘线条。ControlNet 家族里它和 Canny 最容易搞混,区别一张表说清:

对比
Canny(边缘)
Depth(深度)
认什么
轮廓线、衣服褶皱、所有硬边
前后空间、体块远近、肩颈立体结构
换风格时
边线锁死,新衣服褶皱也动不了
只保空间,服装边线放开,换装更自然
适合
线稿上色、保产品轮廓
人像换装、风格迁移、改场景不丢姿态

一句话记住:Canny 管”线”,Depth 管”空间”。想换皮不换骨,用 Depth。

二、文件 / 环境准备(放错直接报模型不存在)

Depth 比 OpenPose 多一层依赖,掉坑概率最高。要准备两个东西:

① ControlNet 模型权重(和 Canny/OpenPose 同一类,放这):

ComfyUI/models/controlnet/

SD1.5 底模用 control_v11f1p_sd15_depth_fp16;SDXL 底模用 diffusers_xl_depth_full。

② DepthAnythingV2 预处理权重(这个最容易被漏,节点代码装了 ≠ 权重有了):

ComfyUI/custom_nodes/comfyui_controlnet_aux/ckpts/depth-anything/depth_anything_v2_vitl.pth

踩坑经历:我头一回用 Depth,只装了 ControlNet 节点、下了 ControlNet 模型,跑到一半报”model not found”。折腾半天发现是 DepthAnythingV2 那个 .pth预处理权重没下——节点在画布上能加,一运行就缺料。文件名必须一字不差 depth_anything_v2_vitl.pth,放错文件夹(比如直接丢进 controlnet/)它也找不到。

三、手把手接节点(照着连)

和第 10 篇的基础链比,Depth 就是多了一个”预处理”环节:先把参考图变成一张深度图,再喂给 ControlNet。

参考图 Load Image → DepthAnythingV2Preprocessor → 深度图

ControlNet Loader(选 depth 模型) + 深度图 + 正负提示词 → ControlNet Apply Advanced

KSampler → VAE Decode → Save Image

1. 加节点:右键搜 DepthAnythingV2Preprocessor、ControlNet Loader、ControlNet Apply (Advanced)。
2. 接线:Load Image 的 IMAGE → Preprocessor 的 image;Preprocessor 的 IMAGE → Apply 的 control_net;Loader 的 CONTROL_NET → Apply 的 control_net;Apply 的 positive / negative 接正负提示词;Apply 的 MODEL 接 KSampler。
3. 选模型:Loader 里选 control_v11f1p_sd15_depth_fp16(SD1.5)或 diffusers_xl_depth_full(SDXL)。
4. 设范围:Apply 里 strength 设 0.65,start_percent 设 0、end_percent 设 1。

一句话记接法:参考图先过 Depth 预处理出深度图,再和 ControlNet 模型一起进 Apply Advanced,接进主链。

实操闭环:10 分钟,用 Depth 给照片换一套风格(现在就做)

前面讲原理,这段真做一遍。做完你手里多一张”空间结构跟原图一致、但换了风格”的图,还能确认 Depth 真生效了。

前提:你已有第 10 篇的 ControlNet 基础链(Load Image → Preprocessor → ControlNet Apply Advanced → KSampler → VAE Decode → Save)。丢了就按这 5 类节点重搭。
目标:拿一张你的真人照片,用 Depth 控制空间,把风格改成”水彩 / 赛博朋克 / 任意”,原图的姿态、肩颈、半身轮廓都保住,但衣服细节随风格走。

步骤(照着点,别跳):
1. 下模型:按你底模下 Depth ControlNet(SD1.5 用 control_v11f1p_sd15_depth_fp16),丢进 models/controlnet/。
2. 下预处理权重:下 depth_anything_v2_vitl.pth,放 comfyui_controlnet_aux/ckpts/depth-anything/,文件名一字不差。
3. 加节点:画布加 DepthAnythingV2Preprocessor + ControlNet Loader + ControlNet Apply (Advanced),按第三节接好线。
4. 喂参考图:Load Image 选你的照片;Loader 选 depth 模型;Preprocessor 的 resolution 设 768(平衡档)。
5. 设参数(最关键):Apply 里 strength 填 0.65,start_percent 0、end_percent 1。
6. 写提示词:正向写”换成的风格”(如 watercolor painting)+ 原图主体描述;固定种子(如 12345)。
7. 出图:点 Queue Prompt。

检查点(你跑完应该看到):① 生成图姿态/轮廓和原图一致,但画风变了 = Depth 生效;② 报”model not found” = 模型或 .pth 路径错(回第二节);③ 生成图和原图完全无关 = Apply 没接进 positive 链(回第三节第 2 步)。

作业(选做):把 strength 从 0.65 调到 0.4 再跑一张——你会发现姿态变”松”了,原图影响变弱;调到 0.85 则几乎原样复刻空间。这就是旋钮的手感。

四、核心旋钮:strength 与预处理分辨率

strength(控制强度)——Depth 最该搞懂的旋钮,多源实测区间:

区间
效果
适合
0.35~0.5
弱控制,只借个大概姿态
想自由发挥、只参考构图
0.55~0.7(典型 0.65)
平衡,空间保住又不死板
人像换装/风格迁移起手
0.7~0.85
强控制,高一致性重绘
要精确复刻原图空间

预处理分辨率(resolution)——影响细节和显存:
512:显存紧时用,速度快但深度图粗糙
768:平衡档,大多数情况够用
1024:高细节,但吃显存,4060 慎选

五、常见坑(一次说全)

1. .pth 预处理权重漏下——节点能加、一跑报模型不存在(头号坑,回第二节)。
2. 文件名不对——depth_anything_v2_vitl.pth 一个字母都不能错,放错文件夹也找不到。
3. strength 设 0——等于没控,生成图和参考图毫无关系。
4. 用 Canny 去换装——边线焊死,风格改得生硬;换皮不换骨请改 Depth。
5. 叠多个 ControlNet 不看显存——Depth + OpenPose 同时上,4060 建议分辨率降到 768 以下。

六、参数速查表(照着抄)

场景
底模
strength
预处理分辨率
人像换装/风格迁移
SDXL
0.65
768
高一致性重绘
SD1.5
0.8
1024
借姿态弱控制
任意
0.45
512
Depth + OpenPose 双控
SDXL
各 0.6
512

七、4060 / 8G 专项 & 我踩的坑

技巧:Depth 预处理本身吃一点显存,4060 上 resolution 用 768 最稳;如果同时叠 OpenPose,两个 ControlNet 的分辨率都降到 512,显存占用能压住。模型选 fp16 版(_fp16 后缀),比 fp32 省一半。启动加 –medvram 更稳。

五个坑一次说全:① .pth 漏下(头号);② 文件名/路径错;③ strength 设 0 没反应;④ 拿 Canny 去换装导致边线焊死;⑤ 叠多个 ControlNet 不降分辨率直接 OOM。

声明:内容来源公开的各类媒体平台,若收录的内容侵犯了您的权益,请联系邮箱,本站将第一时间处理。
教程百科

AI数字人本地部署,0成本的数字人口播教程

2026-8-19 10:09:40

百科

AI Agent学习资料大全:从入门到实战的完整指南

2026-8-20 15:30:31

搜索