场景拆解 · 适用 v1.8.7 及以上 · Windows 本地运行

深度图有什么用:
六个真正能落地的应用场景

「深度图」这个词在教程里出现得太频繁,但很少有人讲清它到底解决什么问题。 这篇文章不谈原理,只讲六件事:每个场景在做什么、需要什么样的深度图、以及具体怎么做。 如果你正拿着一段视频不知道能拿它干什么,从下面挑一个最接近的看。

  • 阅读约 8 分钟
  • 六个场景 · 每个都给可落地做法
  • 不需要命令行,不需要配环境

一、先说清楚:深度图到底记录了什么

一句话:深度图把「每个像素离摄像机多远」写成了亮度值,越亮越近,越暗越远。 它和普通黑白照片的区别在于 —— 黑白照片保留的是物体本身的明暗,深度图丢弃材质和光线, 只留下空间结构。

这个差别决定了很多事。比如一面白墙和一盏白灯在照片里都接近纯白,深度完全不同; 一件黑色衣服和远处的夜空在照片里都接近纯黑,深度也完全不同。 当你的任务关心「东西在哪、前后关系如何」而不关心「东西是什么颜色」时,深度图就是最干净的表达。

图像类型每个像素表示什么典型用途
原视频帧 颜色与明暗 最终画面、观看与剪辑
灰度深度图 该点到摄像机的距离(相对值) 空间控制、3D 参考、遮挡关系判断
人体姿态骨架 17 个关节点的坐标与连接 动作分析、姿态驱动、教学演示
面部 478 点云 人脸表面 478 个三维特征点 表情分析、面部驱动、细节演示
一个重要限制:单目视频估出来的深度是相对深度,没有真实物理尺度 —— 它能告诉你「A 比 B 近」,但不能告诉你「A 距镜头 3.2 米」。所以凡是需要精确量测的场合, 深度图都不适用。需要绝对尺寸时得靠激光雷达、双目或多视角标定。

二、场景一:AI 绘画的 ControlNet 深度控制

这是目前搜索量最大、也是最多人真正在干的一件事。

用 Stable Diffusion 或同类模型出图时,最头疼的是「画面不受控」—— 想要保持某张照片的构图和透视,只换材质、换背景、换风格,纯靠提示词几乎做不到。 ControlNet 就是干这个的:给它一张控制图,它就约束生成结果的结构。

三种常用控制方式的分工很清楚:Canny 管边缘线条,OpenPose 管人体骨架位置, Depth 管空间远近。差别在「你想让新画面忠于原图的哪一部分」。

控制方式约束住什么适合的活
Canny 边缘 物体轮廓线 描边风格化、线稿上色 —— 但纹理细节多时线条会糊成一团
OpenPose 姿态 人体 18 个关节点位置 换人换装、姿势迁移,只关心人物动作时最有效
Depth 深度 每个像素的前后距离 保持构图与透视、换背景换材质、把实拍转成插画或 3D 渲染风

为什么深度控制在「换风格但保构图」这类需求上更稳:它不关心原图长什么样, 只关心「哪里近哪里远」。所以哪怕你把原图的人物换成完全不同的东西, 只要深度关系对上,画面的空间感就还是原来的 —— 这正好是边缘控制做不到的 (一旦物体形态变了,边缘就对不上了)。

实操要点:给 ControlNet 用的深度图,建议用灰度样式、不要用伪彩色 —— 模型是在灰度深度图上训练的,喂进去彩色热力图反而会干扰。 另外注意深度方向:多数模型期望「近处亮、远处暗」,输出前用 「与原图并排对比」的样式扫一眼确认人物比背景亮。 具体操作见完整教程里的显示样式一节。

三、场景二:视频转 3D 参考与视差特效

很多人第一次接触深度图的目的是「能不能把视频变成 3D」。 严格说,单张深度图给不出完整的三维模型 —— 它只有「看到的那一面」的信息, 被遮挡的部分无从得知。但配上相机运动,逐帧深度序列可以做出相当好看的效果。

🧊 点云预演

把深度图按亮度映射到 Z 轴,逐帧生成点云。虽然不是完整模型,但能直观看出场景的空间结构,用来给后续建模或置景当参考非常够用。

🎞️ 视差特效(2.5D)

把原画面贴在深度图上,用深度值决定不同区域的位移速度 —— 相机一动,近处的东西走得快、远处走得慢,就产生了真实的空间视差感。短视频里的「照片立体化」就是这个原理。

🎯 景深与雾效

按深度值做高斯模糊半径或加雾,比手动抠图做景深准确得多,尤其适合前景有头发、树叶这类难抠的细节。

🏗️ 场景重建的前置步骤

做 NeRF、3D Gaussian Splatting 这类重建时,深度先验能显著加快收敛、减少多视角歧义,是很常见的预处理环节。

为什么强调「视频」而不是「单张图」:深度视频转换器输出的深度序列带时序一致性 —— 同一物体的深度值在相邻帧之间是连贯的,不会一帧亮一帧暗地闪烁。 做视差和点云动画时这一点非常关键,抖动闪烁会让成品立刻显得廉价。 这一点是官方 Video-Depth-Anything 相比早期逐帧深度模型的核心改进。

四、场景三:人体动作分析与教学素材

「深度动作捕捉」听起来很重,实际上用视频 + 骨架提取就能覆盖很多需求, 而且不需要穿动捕服、不需要专门的动捕棚,一段手机拍的视频就够了。

具体需求怎么用骨架实现
舞蹈 / 体育教学 把骨架叠在原视频上,关节轨迹一目了然。学员能直接看到「手臂该抬到哪个角度」,比纯看画面更容易模仿
动作规范性比对 同一套动作录两次,分别提取骨架,逐帧对比关节点位置差 —— 教练复盘时不用凭记忆描述
动画参考(Rotoscope) 真人视频提骨架当动画参考,比逐帧手绘高效得多,也方便对齐节奏
康复与体能评估 记录关节活动范围随时间的变化,用于训练进度跟踪(不替代医学诊断)
内容创作用素材 「骨架 + 原片」的画面本身就有科技感,适合科技类短视频和演示

需要注意模型的能力边界:这里是 COCO 17 关键点的二维检测, 给出的是画面坐标系里的位置,不是三维空间坐标。做三维动作重建还需要另行解算。 另外它对「人物在画面里的占比」比较敏感 —— 远景小人物的检测率会明显下降, 这也是教程页排错一节里提到的主要问题。

想要三维骨架怎么办:先用这套流程把二维骨架序列提出来,再配合深度图一起解算, 就能得到带空间信息的关节位置。这比单纯二维骨架更适合做动作迁移。

五、场景四:AI 训练数据集的批量制作

训练视频生成模型、深度估计模型、或者做条件控制类模型,都需要成对数据 —— 原图配深度图,或者原图配骨架。这类数据要么靠人工标注(成本极高), 要么靠工具批量生成(就是你正在读的这个用途)。

用视频做数据源有一个单张图片比不了的优势:一段视频能同时拆出三套序列 —— 原始帧、逐帧深度图、逐帧骨架。三者天然时间对齐,标注成本几乎为零。

📦 导出中间帧

输出设置里可以选把每一帧存成 PNG 或 JPG。PNG 无损适合当训练标签,JPG 省空间适合当输入。可按需选。

✂️ 分段处理长素材

用「分段时长」把长视频切成规整片段,避免单次处理出问题就要从头再来,也方便按片段管理数据集。

🔁 中间结果缓存

深度、姿态按「视频指纹 + 分辨率」缓存 —— 同一段素材想同时导深度数据集和骨架数据集,第二次不用重新推理。

🎨 多样式产出

灰度、伪彩、肤色渐变、并排对比四种样式。训练用灰度,人眼校对和展示用伪彩,同一份深度两次呈现。

数据质量提醒:自动生成的深度图会继承模型的偏差 —— 玻璃、水面、镜面反射、大面积纯色天空这几类画面普遍不准。 做数据集时建议先小批量跑一遍人工过筛,别整批直接喂进去, 否则错误标签会被模型学走。另见下面的「哪些情况不适合用深度图」。

六、场景五:视频特效与动态壁纸

这一类和内容创作者的关系最直接。深度图在这里的角色是「让平面画面有纵深」。

🌫️ 分层雾与空气感

按深度值加雾量,远处浓、近处淡。比用渐变遮罩手工涂要自然得多,而且能跟着画面动。

🔍 转场与聚焦

靠深度做「焦点从近拉到远」的转场,或者让某层单独运动。深度图让这些效果无需逐帧抠像。

🖼️ 动态壁纸

把一张静态图或一段视频做出视差位移,做成会随鼠标或陀螺仪轻微移动的壁纸,深度图是核心输入。

✨ 发光与描边

按深度阈值给特定距离范围的物体加发光、描边或错位色散,做出赛博感。深度做遮罩比颜色抠像稳定。

一个实操技巧:先用「转换时长」只转 10 秒试效果。 特效这类工作改参数的频率极高,每次都转完整片会浪费大量时间 —— 确认为什么要改、改完再全片跑一遍,是效率最高的做法。

七、场景六:机器人视觉与算法仿真

这一类和普通用户距离远一些,但在工程和科研场景里是实打实的刚需。

开发和调试机器人的视觉算法,最难的是拿到带真值的测试数据。 真实深度传感器(双目、ToF、激光雷达)贵、部署麻烦,而且换一个场景就要重采一遍。 用视频估深度是个低成本的替代路径:

用途说明
算法管线联调 先用视频估的深度跑通障碍物检测、可通行区域分割这类流程,验证代码逻辑,再上真实传感器调优
仿真环境素材 给仿真器提供带深度信息的实景纹理,让仿真画面更接近真实分布
教学与实验 让学生直观看到「深度图长什么样、有哪些失效情况」,比只看论文插图有效
数据集扩充 补足某些场景类别(如夜间、雨天)的样本,缓解真实数据稀缺
必须说明的边界:这类数据不能用来标定或验证精度指标。 单目估计出来的深度没有绝对尺度,也没有传感器噪声模型, 只能用于算法流程验证,不能替代真实传感器的性能评估。

八、哪些情况其实不适合用深度图

知道什么时候不该用,比知道什么时候该用更重要。以下场景请谨慎:

📏 需要精确物理尺寸

单目估计是相对深度,没有真实尺度。做不了量测、标定、尺寸比对这类任务。

🪟 玻璃、水面、镜面

反射和折射会彻底打乱深度线索,模型对这类表面的判断普遍不可靠,常见把镜子里的"房间"当成真实纵深。

💨 快速运动与运动模糊

模糊帧缺少可靠特征,深度图容易整体平滑或错位。高速运动素材建议先降帧率或做稳像。

🌫️ 大面积无纹理区域

纯色墙面、浓雾、雪地缺少纹理线索,深度会大块趋同,看不出层次。

🌃 极暗或过曝画面

曝光极端时细节丢失,模型拿不到足够的结构信息。这类素材建议先做画面修复再处理。

🔬 需要绝对精度的科研测量

任何要写进论文作为定量结论的场合,都应该用有标定的传感器,而不是估出来的深度。

通用建议:先用 10 秒试跑,用「与原图并排对比」的样式肉眼扫一遍。 如果深度图在关键区域明显不对(比如主体被背景吞掉、前后关系反了), 换素材比调参数更有效。

九、常见问题

深度图和普通黑白滤镜有什么区别?
黑白滤镜只是把彩色的亮度取出来,画面的明暗关系完全不变。深度图记录的是每个像素到摄像机的距离,越近越亮 —— 所以一件黑色的衣服在灰度图里是暗的,在深度图里如果离镜头最近反而最亮。两者表达的是完全不同的信息。
深度图能反过来还原成 3D 模型吗?
单张深度图只能给出「看到的那一面」的深度,无法还原被遮挡的部分,所以严格意义上不能直接生成完整 3D 模型。但把视频逐帧的深度图配合相机轨迹(也就是常见的视频深度估计重建流程)可以做出带视差的点云或 2.5D 效果,用作参考、预演和后续修模的底子非常有效。
用深度图做 ControlNet 控制,和用 Canny、OpenPose 有什么区别?
Canny 控的是边缘线条,OpenPose 控的是人体骨骼位置,Depth 控的是空间远近关系。想让 AI 生成的新画面保持原图的透视和前后遮挡关系(比如换背景、换材质但构图不变),深度控制通常比边缘控制更稳,尤其在你希望画面「长成另一个样子」而不是「描一遍轮廓」时。
做 AI 训练数据集,一定要用视频转深度图吗?
不一定,但用视频比用一堆散图高效得多。视频天然提供了连续的、视角稳定的深度序列,能直接喂给视频生成模型做时序训练;同时逐帧导出的深度图也可以当作图像模型的成对数据。关键是同一段素材能同时产出原帧、深度图、骨架三套数据,标注成本几乎为零。
深度图能直接拿去做印刷或大屏输出吗?
要看用途。深度图本身是数据,分辨率受模型输入尺寸影响,直接放大到大幅面会有插值痕迹。如果只是做视觉设计素材,建议提高处理分辨率并导出 PNG 无损中间帧;如果要配合印刷,通常还需要在图像软件里做层次调整和锐化。
哪些场景其实不适合用深度图?
需要精确物理尺寸的场景不适合 —— 单目深度估计出来的是相对深度,没有真实尺度,做不了量测。快速运动、严重运动模糊、大面积透明或镜面反射的画面也容易出错,模型对玻璃、水面、镜子的深度判断普遍不可靠。这类素材建议先做人工筛选。
你的场景不在上面?直接邮件描述一下素材和目的,一般 24 小时内回复: lu-ying-zhi@foxmail.com
下一步

挑一个场景,用你自己的素材跑一遍

安装包约 2.6 GB,模型权重已内置,装完即可离线使用,视频不上传。 试用版全部功能都能用,只是单段最长 10 秒 —— 正好够验证上面任意一个场景。