[具身智能-1154]:什么是深度图(Depth Map)
什么是深度图(Depth Map)
一句话:
深度图是一张和彩色图同样大小的 "距离地图",
每个像素存的不是颜色,而是 "这个位置对应的物体离相机有多远"。
一、通俗理解
普通彩色图:每个像素存 (R, G, B) 三个值,记录 "这个位置是什么颜色"。
深度图:每个像素存 1 个距离值,记录 "这个位置的物体离相机有多远"。
plaintext
彩色图像素 (200, 150) = (255, 0, 0) → 这个位置是红色
深度图像素 (200, 150) = 1500 → 这个位置的物体离相机1500mm = 1.5米
你可以把深度图想象成一张 "地形图":越亮的地方越近,越暗的地方越远(或者反过来,取决于可视化方式)。
二、深度图的数据格式
最常用:uint16(16 位无符号整数),单位毫米
表格
| 像素值 | 含义 |
|---|---|
| 0 | 无效深度(匹配失败 / 超出量程 / 被遮挡) |
| 500 | 距离 500mm = 0.5 米 |
| 1500 | 距离 1500mm = 1.5 米 |
| 10000 | 距离 10000mm = 10 米 |
| 65535 | uint16 最大值,约 65 米(通常用不到这么远) |
- OpenCV 中格式:
CV_16UC1(16 位无符号,单通道); - 这是 Realsense、OpenNI、ROS 等绝大多数框架的默认格式。
另一种:float32(32 位浮点数),单位米
表格
| 像素值 | 含义 |
|---|---|
| 0.0 或 NaN | 无效深度 |
| 0.5 | 0.5 米 |
| 1.5 | 1.5 米 |
- PCL 点云库、部分研究代码常用;
- 精度更高,但占用内存是 uint16 的两倍。
三、深度图长什么样
原始深度图(直接显示)
- 因为值通常是 0~10000,而显示范围是 0~255,所以直接看几乎全黑;
- 只有非常近的物体(<255mm)能看到一点灰度。
伪彩色可视化(常用)
把深度值映射成彩虹色:
- 近处 → 红 / 黄 / 暖色;
- 远处 → 蓝 / 紫 / 冷色;
- 无效值 → 黑色。
plaintext
近处的桌子 → 红色/黄色
远处的墙 → 蓝色/紫色
天空/失效 → 黑色
你在 Realsense Viewer、ROS Rviz 里看到的彩色深度图,都是伪彩色映射后的效果,不是深度图的原始数据。
四、深度图从哪来
表格
| 来源 | 原理 |
|---|---|
| 双目立体匹配 | 左右图像匹配→视差→Z=f×B/d |
| 结构光 | 投射编码图案→图案变形解码→三角测距 |
| ToF | 发射调制光→测相位差 / 飞行时间→距离 |
| 激光雷达投影 | 3D 点云按角度投影到 2D 平面→深度图 |
| 单目深度估计 | AI 模型从彩色图回归深度(估计值,非物理测量) |
前三种是物理测量,有绝对尺度;最后一种是AI 估计,精度低、可能无尺度。
五、深度图和点云的关系
深度图可以直接转成 3D 点云,公式:
plaintext
对深度图每个像素 (u, v),深度值 Z:
X = (u - cx) × Z / fx
Y = (v - cy) × Z / fy
Z = Z
其中 (fx, fy) 是焦距,(cx, cy) 是主点(相机内参)。
plaintext
深度图 (H×W 个距离值) → 点云 (H×W 个三维点)
反过来,点云也可以投影回深度图(按视角渲染)。
深度图是2D 组织的 3D 数据—— 既有图像的规则网格结构(方便用 CNN 处理),又有 3D 距离信息(方便做几何计算)。这是它最大的价值。
六、深度图的用途
表格
| 用途 | 说明 |
|---|---|
| 障碍物检测 | 深度值小于阈值 = 近处有障碍物 |
| 3D 重建 | 深度图 + 彩色图→带纹理的 3D 模型 |
| 视觉伺服 / 抓取 | 知道物体 3D 位置,引导机械臂 |
| 背景分割 | 按深度抠图(近处 = 前景,远处 = 背景) |
| SLAM / 导航 | 深度图转点云,做建图定位 |
| 人机交互 | 手势识别、人体姿态(知道手的 3D 位置) |
| AR/VR | 把虚拟物体放在真实空间的正确深度位置 |
七、深度图 vs 彩色图 vs 视差图
表格
| 图类型 | 每个像素存什么 | 有没有颜色 | 有没有距离 |
|---|---|---|---|
| 彩色图 | R, G, B | ✅ | ❌ |
| 深度图 | 距离值 (mm/m) | ❌ | ✅ |
| 视差图 | 视差值 (像素) | ❌ | 间接(可转深度) |
| RGBD 图 | R, G, B, Depth | ✅ | ✅ |
RGBD 就是 "彩色图 + 深度图" 的组合,每个像素既有颜色又有距离,是深度相机最常用的输出形式。
八、一句话总结
深度图就是一张 "距离地图",和彩色图同样大小,每个像素存的是该位置物体到相机的距离(通常 uint16 毫米,0 = 无效)。它来自双目 / 结构光 / ToF 等物理测量,可以直接转成 3D 点云,是连接 2D 图像和 3D 世界的桥梁 —— 既有图像的规则结构,又有 3D 的几何信息。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)