AI 生成任务

深度图存的是什么,生成管线怎么用它

又称 深度估计, 单目深度, depth map, z-depth

深度图(depth map)是一张灰度图,每个像素记录的不是颜色,而是这一点离相机有多远,惯例是近处亮、远处暗。生成管线把它当作结构控制信号:它携带了画面的空间布局和体积,却不携带风格,所以可以只换观感、不动位置。

怎么看一张深度图

打开它,像是照片的一个柔化灰度版本。但有两个性质比视觉观感重要得多。

它是相对的,不是绝对的。 单目估计告诉你椅子在墙前面、大概前面多少,而不是椅子离镜头 2.4 米。同一个镜头的两帧还可能被估到不同的尺度上,这正是视频逐帧算深度会「呼吸」的根源。

正负号约定没有统一。 有的管线认为亮 = 近,有的相反。反了的深度图不会报错,只会给你一个背景离得最近的场景。这大概是深度相关工作里最常见的一小时白费。

深度适合控制什么

深度是结构通道,所以当「必须保持不变的东西」是空间性的而不是视觉性的,它就是对的工具。

  • 锁构图换风格。 媒材、配色、光线可以整体换掉,而构图、姿态、物体位置留住。
  • 从静帧做 2.5D 运镜。 按深度位移像素就得到真实视差,一张照片可以被推近或横移。绝大多数「静图动起来」的效果都是这么做的。
  • 重打光与空气感。 有距离感的雾、霾、景深都需要知道什么在远处。
  • 合成。 把一个元素插到正确的遮挡层级里,前提是知道什么该在它前面。

深度估计会在哪里出错

  • 玻璃、水面、镜子。 模型报的是透过它或者反射出来的东西的深度,而不是这个面本身。
  • 细结构。 电线、栏杆、发丝、铁丝网,要么消失,要么被抹进背景。
  • 画面里的「平面深景」。 照片里的海报、电视屏幕、挂画,经常被赋予真实纵深。
  • 视频。 逐帧独立估计会带来帧间的尺度小幅变化,表现为视差在轻微起伏、画面像在呼吸。解法是做时序平滑,或者用原生支持视频的深度模型。

深度、边缘、分割:三种控制怎么选

这三个经常被混用,但它们保的不是同一样东西。

  • 深度 保空间和体积,允许轮廓变化。适合换风格、做运镜。
  • 边缘 控制(线稿、轮廓)严格保外形,包括你可能希望模型重新解读的细节。适合把草图变成成品图。
  • 分割 保区域归属,不保形状也不保距离。适合「这块是天、那块是楼」这类要求。

按「你绝对不能丢的是什么」来选。布局和剪影都重要时,深度叠一层轻量边缘控制是常见做法;但每加一个控制,模型能自行改进的空间就少一块。

这个效果的提示词

一条能稳定出效果的起点。主体和场景可以换,技术性的那几句留着。

Keep the exact composition and volumes of the supplied depth map, restyle as an ink-wash painting, cool grey palette, soft rim light from the left

试一下:深度图(Depth Map)

打开生成器,参数已经预填好。

常见问题

深度图里存的到底是什么?
每个像素的距离,用亮度写出来。多数模型给的是相对深度,也就是远近顺序和大致间距是对的,但数值不是米。这足够做构图控制和视差,不够用来测量。
近处是白还是黑?
两种约定都存在。单目估计模型通常输出「近处亮」的反深度,而三维渲染器常写成「近处暗」。把反了的图喂给期望另一种约定的管线不会报错,只会得到一个背景最近的场景,所以先检查正负号再排查别的。
深度图和法线图有什么区别?
深度说的是一个面有多远,法线说的是它朝哪个方向。深度控制布局和体积,法线控制光在表面上的走向,重打光时两者经常一起用。
一张普通照片怎么得到深度图?
靠单目深度估计模型预测,用的线索和人眼差不多:遮挡关系、透视线、虚化程度、熟悉物体的大小、纹理疏密。不需要第二个相机,也不需要场景数据。
为什么我的深度图是一片平的、或者一块一块的?
通常是低纹理表面、强反射或玻璃。估计模型拿不到线索,就猜成一个平面。画面里出现的海报、屏幕、画作也会造成同样的问题:它们物理上是平的,看起来却有纵深。

相关术语