← 返回知识体系
09 RGB / RGB-D 点云 多模态融合 机器人感知

RGB, RGB-D & Multimodal Pipelines

不只是多一个
Depth 通道

RGB 观测外观和透视,Depth 测量可见表面几何;二者互补,却来自不同光学中心、时间与噪声机制。可靠的多模态系统先保留每种传感器的独立契约,再决定在哪一层融合,并为错位、空洞和整路失效设计可验证的降级路径。

Information Boundary

先列出直接观测,再讨论网络能推断什么

传感器测量、任务先验和学习推断是三层不同来源。单幅 RGB 可以凭训练先验预测深度,但这不等于增加了一次独立 metric 测量;Depth 可以给表面点,却不自动给实例身份、完整物体或背面形状。

输入直接观测metric scale常见 pose 路线首要失败
RGB-only颜色、纹理、轮廓、语义、遮挡顺序与透视 bearing单幅图本身无 metric depth;已知 CAD / 尺寸可通过 PnP 提供尺度2D keypoint / coordinate、template、render-and-compare、直接 pose低照度、模糊、无纹理、域偏移与单视图歧义
Depth-only可见表面的 z / range、metric point、局部法向与遮挡边界depth scale、K 与传感器标定正确时有 metric scale3D voting、PPF / feature、SVD / RANSAC、ICP / render depth透明、镜面、黑色/吸收材质、飞点、孔洞与无颜色身份
RGB-D对齐后的外观与可见表面几何由有效 depth 提供;RGB 本身不“增强”尺度pixel–point fusion、3D keypoint voting、RGB proposal + depth refine外参/时间错位、遮挡边界重影、无效 depth 被当真
Point cloud only离散 3D 表面、密度、法向和邻域几何取决于来源;RGB-D / LiDAR 通常 metric,单目预测云不一定全局配准、局部 ICP、point network、geometric voting部分重叠、稀疏/非均匀密度、法向噪声、对称和身份弱
Stereo / multi-view跨视角对应、视差、可见性变化与时序结构已标定 stereo baseline 有尺度;纯单目序列仍为 Sim(3)E / PnP / BA、MVS、TSDF / surfel / neural fusion对应退化、pose drift、动态物体与遮挡引起的跨帧冲突
MEASUREMENT

传感器直接输出

RGB intensity、raw depth、disparity、event、force;应携带 frame、timestamp、单位、validity。

CALIBRATION

把数值变成几何

K/D、depth scale、baseline、extrinsic 和 time offset 将 raster 数值连接到射线与米制三维。

INFERENCE

模型与任务先验

语义、完整 shape、object identity、单目 depth 和抓取可行性来自学习或资产,不应伪装成原始测量。

“RGB-D 输入”仍然不是完整 task contract。 还需声明 depth 的来源、值域、尺度、frame、分辨率、对齐方向、同步策略、invalid code、滤波与补全 provenance。相同四通道 tensor 可以代表完全不同的物理数据。

Depth Sensor Physics

不同 Depth 设备的“坏点”不是同一种噪声

被动/主动双目先估视差,结构光解释投影图案,ToF 测量光程,LiDAR 扫描稀疏量程。它们共享标定与遮挡问题,却在阳光、材质、距离、运动和多设备干扰下表现不同;统一滤波器无法替代来源建模。

传感器测量机制优势典型噪声 / 空洞
Passive stereo左右图像 disparity d户外可用;由已知 baseline 获得 metric depth深度误差随 Z² 放大;弱/重复纹理和遮挡区无对应
Active stereoIR pattern 辅助左右匹配室内弱纹理区域更容易获得 disparity强日光可能淹没投影;多个主动设备会互扰
Structured light投影编码图案的形变 / 对应近距离静态物体可获得稠密几何量程、环境光、材质和相机—投影仪遮挡限制明显
Time of Flight调制光相位 / 飞行时间直接量程、低纹理也可工作,常有较高帧率multipath、flying pixel、相位 wrap、环境光和反射率依赖
LiDAR / laser profile激光飞行时间或三角测距样本量程与尺度稳定,可覆盖更远距离点稀疏、扫描时间、运动畸变、材质与 RGB 外参同步
Predicted monocular depth网络从 RGB 推断的相对或度量深度无需硬件 depth,可补先验和排序不是独立传感器观测;尺度、细节和域偏移取决于训练
Stereo depth and first-order uncertainty
Z=fBd,σZ≈∣∂Z∂d∣σd=Z2fBσdZ=\frac{fB}{d},\qquad \sigma_Z\approx\left|\frac{\partial Z}{\partial d}\right|\sigma_d=\frac{Z^2}{fB}\sigma_d
f 以像素计、B 与 Z 使用同一长度单位、d 是 rectified disparity。误差随 Z² 放大;当 d 接近 0 时,远点深度极不稳定。主动 stereo 只是帮助匹配,不改变三角测量本质。

Depth Representation

Depth map、range image 与 point cloud 只差一个公式,也可能差一个定义

多数针孔 RGB-D 数据保存 optical z 方向深度;部分 ToF、LiDAR 或渲染器保存沿射线的欧氏 range。二者在主点相同、离轴处不同。反投影前必须读取数据说明,而不是根据文件名 depth.png 猜。

Z-depth deprojection · pinhole
z=drawsd,DP(u,v)=z KD−1 ⁣[uv1]=[(u−cx)z/fx(v−cy)z/fyz]z=d_{\rm raw}s_d,\qquad {}^{D}\mathbf P(u,v)=z\,\mathbf K_D^{-1}\!\begin{bmatrix}u\\v\\1\end{bmatrix}=\begin{bmatrix}(u-c_x)z/f_x\\(v-c_y)z/f_y\\z\end{bmatrix}
sd 是 depth_scale,单位例如 m/raw-unit。若输入仍有畸变,应先用匹配相机模型求射线;不能直接把畸变像素套进理想 K⁻¹。
Ray-range deprojection
DP(u,v)=r KD−1[u,v,1]T∥KD−1[u,v,1]T∥2{}^{D}\mathbf P(u,v)=r\,\frac{\mathbf K_D^{-1}[u,v,1]^\mathsf T}{\left\|\mathbf K_D^{-1}[u,v,1]^\mathsf T\right\|_2}
range r 是相机中心到表面点的欧氏距离。若把 range 错当 Z-depth,离主点越远,点云平面越弯;反之亦然。
DEPTH MAP

规则 raster

与图像网络和 projective lookup 兼容;邻近像素不保证属于同一表面。

POINT CLOUD

metric 3D samples

便于 Kabsch / ICP / point network;密度随距离与视角变化。

NORMAL

局部切面方向

由相邻 3D 差分或拟合得到,深度边缘必须做 discontinuity-aware 邻域。

TSDF / SURFEL

多帧表面状态

依赖相机 pose、visibility 和融合权重;融合可降噪,也会把系统偏差固化进地图。

Depth normal from local 3D tangents
n(u,v)∝(Pu+1,v−Pu−1,v)×(Pu,v+1−Pu,v−1)\mathbf n(u,v)\propto\left(\mathbf P_{u+1,v}-\mathbf P_{u-1,v}\right)\times\left(\mathbf P_{u,v+1}-\mathbf P_{u,v-1}\right)
实际应在有效且深度连续的邻域内稳健拟合,并统一法向朝向。跨越物体轮廓直接差分会得到连接前景和背景的虚假法向。

RGB–Depth Registration

同一个数组坐标,只有经过标定对齐才表示同一条表面观测

RGB 与 Depth 通常拥有不同光学中心、K、畸变、分辨率与曝光时间。正确流程从 Depth pixel 反投影为三维点,经 RGB-from-Depth 外参送到 RGB frame,再投影到 RGB raster;直接 resize 两张图不是几何对齐。

Depth pixel → RGB pixel
DP=πD−1(uD,zD),RP=RTD DP,uR=πR(KR,DR,RP){}^{D}\mathbf P=\pi_D^{-1}(\mathbf u_D,z_D),\qquad {}^{R}\mathbf P={}^{R}\mathbf T_D\,{}^{D}\mathbf P,\qquad \mathbf u_R=\pi_R(\mathbf K_R,\mathbf D_R,{}^{R}\mathbf P)
本文 R 表示 RGB camera、D 表示 Depth camera。若库保存的是 Depth-from-RGB,必须先求逆。每次 projection 还需检查 ZR>0、图像边界、畸变、z-buffer 和 timestamp。
01

raw depth

decode scale、invalid、confidence

→
02

Depth ray

KD / DD 反投影

→
03

3D transform

RTD 与单位一致

→
04

RGB raster

KR / DR 投影

→
05

visibility

z-buffer、孔洞与边界

MANY → ONE

多个 depth 点落到同一 RGB pixel

保留 RGB 相机中最近的正深度点;平均前景与背景会制造不存在的表面。

ONE → NONE

RGB pixel 没有 depth sample

分辨率、视差和遮挡会产生正常孔洞;validity 应保持 false。

TIME SHIFT

空间标定正确仍可能重影

相机或物体运动时,tRGB≠tD 会把旧几何投到新轮廓。

Interactive Multimodal Lab

从信息预算,到真实坐标,再到系统降级

第一个视图按模态和困难场景展示直接观测与缺口;第二个视图实际计算 Z-depth / ray range 反投影、Depth-to-RGB 外参与重投影;第三个视图让 RGB 质量、depth validity、alignment 与 sync 共同触发融合、单模态 fallback、延迟融合或拒绝。

Interactive · Sensor Information & Fusion

模态信息、RGB–Depth 对齐与可靠融合实验室

先判断每种模态真正观测了什么,再把一个深度像素经过反投影和外参送入 RGB 图像,最后用质量、配准与同步状态决定融合、降级或拒绝。
depth ≠ ground truth register before fuse missing is a state
直接或强观测 依赖条件 / 间接 不提供 能力等级是结构化教学判断,不是数据集准确率

Information contract

—

——

Metric scale

是否直接观测尺度

——

Current challenge

—

——

Pose route

优先几何接口

——
模态名称不能替代数据契约。 “RGB-D”至少还要记录两路内参、畸变、Depth-to-RGB 外参、时间戳、depth scale、Z-depth / range 语义、无效值、置信度与对齐后的遮挡策略。缺少这些字段时,第四通道并不等于几何真值。

Fusion Architecture

融合层级决定系统能利用什么,也决定坏数据怎样传播

Early、middle、late 与 cascade 没有脱离任务和传感器质量的绝对优劣。最重要的是:分支输入语义清楚、跨模态对应可追溯、质量能门控、单路失效有训练过的行为,最终 score 能与任务风险校准。

层级接口例子优势风险
Early fusion对齐 raster / voxel 输入层拼接RGB + depth + validity channels简单、高效,浅层即可使用互补信息最依赖逐像素配准、同分辨率和完整模态;卷积容易把 0 depth 当表面
Middle fusion独立 2D / 3D encoder 间投影、采样或 cross-attentionpixel feature ↔ point feature保留图像与点云各自归纳偏置,可多尺度交换局部/全局特征映射、显存、可见性、采样密度和调试复杂
Late fusionpose hypothesis、likelihood、score 或 covarianceRGB pose 与 depth alignment 独立验证故障隔离和缺失模态更清楚,可复用成熟单模态系统低层对应和细粒度互补利用不足;branch score 必须校准
Cascade一个模态 proposal,另一模态 verify / refineRGB detection → depth ICP / render compare工程责任清晰、可解释且易做 stage oracle前级漏检无法由后级修复;refiner 有有限吸引域
Depth completion 是推断,不是恢复原始测量。 补全结果可以帮助特征和 proposal,但必须保留 measured / completed provenance,并用独立几何检查约束它。透明物体处的背景 depth 被 completion 拉到前景,不会因为图像看起来平滑就变成真实前表面。

Pose Estimation Routes

同一份 RGB-D,可以形成至少四条不同几何路线

方法区别不只在 backbone。关键是中间表示最终交给哪个可验证求解器:像素 correspondence 进入 PnP,点级 keypoint / coordinate 进入 3D alignment,模板与渲染产生 image/depth residual,多帧观测进入 tracking、BA 或 surface fusion。

2D → 3D

RGB correspondence + PnP

颜色/纹理定位 2D 关键点或 object coordinates;已知 CAD 提供 metric 3D。Depth 可验证可见表面、初始化 tz 或精修。

pixel identity → PnP → render/depth check
3D → 3D

Depth point / keypoint alignment

在点云中预测 object center、keypoint 或 NOCS/metric coordinate,使用 Kabsch / Umeyama / RANSAC / ICP 恢复 pose。

point identity → rigid alignment
DENSE FUSION

逐点外观—几何联合特征

RGB pixel feature 通过 registration 采样到对应 3D point,预测 per-point pose / keypoint / confidence;需防止边界错位污染。

pixel ↔ point → vote / regress
RENDER & TRACK

RGB/depth 残差与多帧融合

给定 coarse pose,渲染 CAD color/silhouette/depth,与观测做可见性一致的精修;视频中还可累积 TSDF / surfel 并联合优化。

hypothesis → visibility → robust residual

Difficult Materials & Scenes

困难材质不是随机噪声更大,而是测量模型发生了变化

透明表面折射并透过背景,镜面反射改变光程,黑色材料削弱回波,薄边混合前景与背景。系统应识别这些结构化失效、降低权重或切换模态,而不是把所有 0 depth 用同一种插值填满。

场景观测现象可靠策略
透明物体RGB 能看到边界、折射与背景;active depth 常为空、测到背景或产生多路径保留 invalid mask;RGB / multi-view / polarization / tactile;不要用邻域插值伪造前表面
镜面金属高光随视角变化,RGB correspondence 与 active depth 均可能不稳定多曝光/偏振、视角规划、轮廓/边缘、触觉或经过验证的 CAD render
黑色 / 吸光材质RGB 欠曝,主动 IR 回波弱,ToF amplitude 低控制曝光与照明;读取传感器 confidence / amplitude;拒绝低回波
无纹理白色物体RGB 与 passive stereo 对应弱,但主动 depth 可能健康利用 silhouette、结构光 / ToF、几何 keypoint、point feature
细杆 / 薄边像素混合、量化和左右遮挡产生 flying points边缘置信度、z-buffer、保守腐蚀、不要让错误深度主导 ICP
重遮挡 / 紧密堆叠可见表面少,depth 只给前层,实例边界互相接触amodal / CAD prior、多假设、时序/多视角和任务主动感知
运动物体RGB 与 depth 不同步时几何落在旧轮廓,rolling shutter 又增加行间差异硬同步、短曝光、时间补偿、动态模型;记录各流独立 timestamp
多设备主动 IR投影 pattern 相互干扰,深度质量随设备相位和视角变化硬件同步/时分、随机 pattern、单机隔离测试和 confidence gating
MEASURED

真实有效深度

进入 metric geometry,权重来自传感器噪声与任务残差。

→
LOW CONFIDENCE

可疑但有数值

降低权重、邻域一致性检查,不与 invalid 混为一类。

→
INVALID

没有表面测量

保持 mask;可走 RGB / shape prior,但不构造零米点。

→
COMPLETED

模型补全

独立 provenance 和 uncertainty,只作先验或需验证证据。

Temporal & Additional Modalities

增加时间、事件、IMU 或触觉,改变的是可观性与失败互补

多帧能够从新视角恢复被遮挡区域、降低随机 depth 噪声并跟踪物体;同时也引入 pose drift、动态冲突与身份生命周期。事件改善高速时间响应,IMU 约束短时运动,触觉在接触后提供局部 metric 几何与力学,但都需要新的 frame、同步和噪声模型。

MULTI-VIEW RGB-D

覆盖与表面融合

TSDF / surfel / neural map 可整合多视角;相机 pose 和动态 mask 决定是否把点融到正确位置。

EVENT CAMERA

高速亮度变化

低延迟、宽动态范围,适合 motion edge;静止时无事件,单独不提供 metric depth。

IMU / PROPRIOCEPTION

短时运动与机器人状态

角速度、specific force、关节和轮速帮助 tracking 与尺度,但需 bias、外参、重力和时间建模。

TACTILE / FORCE

接触局部形状与约束

视觉被手遮挡时可更新 in-hand pose、法向与滑移;接触 frame、软体形变和机器人链标定是前提。

多模态不等于同时拼接所有流。 先问新增模态在哪个失败区提供独立信息,再决定采样频率、状态变量和融合因子。若它与现有模态共享同一系统偏差,增加通道只会让错误更自信。

Engineering & Validation

从单个像素的往返几何开始,再验证完整融合系统

最小测试应证明 Depth pixel 能反投影到预期三维点、经外参投到正确 RGB pixel,并能往返到原 frame。之后再加入遮挡、噪声、同步、滤波、补全和网络。只看最终 pose 很难区分传感器、配准与融合错误。

01 · frame

Depth 像素属于哪个 optical frame?对齐后 depth 数值仍表示哪个相机射线?

02 · units

raw integer 如何乘 depth_scale 变成 m/mm?0、NaN、max value 各表示什么?

03 · intrinsics

K 与分辨率、crop/resize、去畸变状态是否绑定?RGB 和 Depth 各自一套。

04 · extrinsics

保存的是 RGB-from-Depth 还是逆?平移单位、温漂与重标定时间是什么?

05 · timestamps

硬同步还是软件近邻?最大 offset、曝光中心和 latency 是否记录?

06 · validity

无效、饱和、低置信、补全值和真实测量是否分字段保存?

07 · visibility

正向 splat 的 z-buffer、孔洞、遮挡边界与越界怎样处理?

08 · provenance

原始 depth、滤波、对齐、completion、融合点云能否追溯版本?

  1. 01

    用主点与已知平面验证 depth 语义

    主点反投影应为 [0,0,z];已知平面若弯曲,优先检查 Z/range、K、畸变和 scale。

  2. 02

    做 RGB–Depth round trip

    选取带纹理且深度连续的角点,D pixel→3D→R pixel;再用独立标定靶验证边缘误差。

  3. 03

    静态场景测空间误差,运动场景测时间误差

    静态也错通常是 K / D / extrinsic;只在运动时重影通常是 timestamp、rolling shutter 或缓存。

  4. 04

    分别跑 RGB-only 与 depth-only oracle

    明确每个 branch 的独立上限、失败区域和正确解是否进入 top-K,再评估融合增益。

  5. 05

    注入缺失、旧帧与错位模态

    确认系统会 fallback / reject,而不是比健康双模态更自信;记录 decision reason。

  6. 06

    按材质、距离和有效率分层评测

    总体均值会隐藏 transparent、far range、edge pixels 与低 depth coverage 的灾难性子集。

官方传感器文档、数据契约与代表性 RGB-D 方法展开查看 RGB–Depth 对齐、数据格式、稠密融合与 6D pose 原始来源