多模态感知与融合

把RGB相机、深度传感器、力觉、触觉、语音整合成统一的机器人环境表征——VLA和具身智能的感知基石。

3-4周
9 个章节
代码示例
5 个实验

本阶段目录

  1. 多模态感知概览
  2. RGB与深度融合
  3. 点云处理与配准
  4. 力觉与触觉传感器
  5. 传感器融合基础理论
  6. 多模态融合架构

1. 多模态感知概览

感官传感器输出用途
视觉RGB相机480×640×3检测、语义
深度结构光/ToF深度图3D位置
触觉GelSight力分布图接触/材质
力觉六维力传感器(Fx,Fy,Fz,Mx,My,Mz)力控装配
听觉麦克风音频波形语音指令

2. RGB与深度融合

深度→3D点公式:$$X = \frac{(u - c_x) \cdot d}{f_x}, Y = \frac{(v - c_y) \cdot d}{f_y}, Z = d$$

策略方法优点
早融合输入层拼接RGB+Depth端到端
中融合各自特征提取后融合灵活
晚融合各自独立预测后融合鲁棒

3. 点云处理与配准

ICP(迭代最近点):CAD模型与场景点云对齐→物体6D位姿

全局配准:FPFH特征+RANSAC粗对齐→ICP精对齐

4. 力觉与触觉传感器

六维力传感器:手腕处测量(Fx,Fy,Fz,Mx,My,Mz),力控装配的核心反馈

触觉传感器(GelSight):接触面力分布图像,可用CNN做滑移检测和材质分类

混合力位控制:自由方向位置控制+约束方向力控制

5. 传感器融合理论

卡尔曼滤波融合:视觉(位置)+IMU(速度)→最优状态估计

粒子滤波融合:非线性/非高斯场景下的多传感器定位

6. 多模态融合架构

VLA编码器

def forward(vision, depth, proprio, force, text):
    # 所有模态→d_model统一空间
    v = vision_proj(vision)
    d = depth_proj(depth)
    p = proprio_proj(proprio)
    f = force_proj(force)
    t = text_proj(text)
    tokens = [t, v, d, p, f]
    return transformer(tokens)

阶段总结

多模态融合是具身智能的感知基石。RGB-D给2D检测赋予3D能力,力觉/触觉是精细操作的闭环保障,卡尔曼滤波和粒子滤波是融合的数学框架。

知识地图

感知-建模-决策闭环中的位置

多模态感知不是“把传感器越堆越多”,而是把不同模态转换到统一时空坐标和统一特征空间,让策略模型知道“看到了什么、在哪里、接触状态如何、语言目标是什么”。

模态核心预处理融合后服务对象
RGB检测、分割、视觉编码语义理解、VLA指令 grounding
Depth / Point Cloud相机内参反投影、滤波、配准6D位姿估计、抓取点生成、避障
Force / Tactile去偏置、低通滤波、接触事件检测插孔装配、滑移检测、灵巧操作
Speech / TextASR、指令解析、任务约束抽取任务规划、VLA动作生成
Proprioception关节角、速度、力矩同步闭环控制、状态估计、策略输入

融合方法谱系

  1. 时空标定:先解决外参、内参、时间同步;没有标定,深度和触觉再强也会互相“说谎”。
  2. 早期融合:把RGB-D、法线图、力觉序列在输入层拼接,适合模态稳定、数据量足够的任务。
  3. 中期融合:每个模态独立编码,再通过cross-attention、FiLM或token拼接融合,是VLA最常见范式。
  4. 晚期融合:每个模态独立输出置信度,再做投票或贝叶斯融合,适合安全关键和工程可解释场景。
  5. 不确定性融合:为每个模态估计置信度,让模型在遮挡、反光、接触丢失时自动降权。

实验任务

  1. RGB-D点云生成:用相机内参把深度图反投影为点云,并按颜色渲染桌面物体。
  2. 点云配准:用RANSAC+ICP对齐两个视角点云,报告fitness、RMSE和配准前后可视化。
  3. 力觉事件检测:对六维力传感器数据做去偏置和阈值检测,识别接触、滑移、卡滞三类事件。
  4. 多模态策略输入:构造vision、depth、proprio、force、text五类token,送入小型Transformer完成动作分类。

工程实践案例

插孔装配:RGB-D负责孔位粗定位,MoveIt2负责接近轨迹,力觉负责接触后的微调,触觉检测滑移,行为树负责失败重试。这个案例天然覆盖“感知-规划-控制-安全”闭环。

评估指标:位姿误差、配准RMSE、接触检测F1、任务成功率、平均完成时间、异常恢复次数。

能力清单与前置要求

推荐论文与开源项目

建议阅读 CLIP、PointNet/PointNet++、DenseFusion、RT-1/RT-2、OpenVLA,并实践 Open3D、PCL、ROS2 message_filters、MoveIt Task Constructor 等工具。

教材式自测与学习进度

概念自测

  1. 解释RGB、Depth、Point Cloud之间的信息转换关系。
  2. 说明为什么点云需要滤波、下采样和坐标系变换。
  3. 比较早融合、中融合、晚融合的优缺点。
  4. 解释触觉为什么对灵巧操作不可替代。
  5. 说明语音指令进入机器人系统后通常会被转成什么中间表示。
  6. 解释多模态模型为什么需要时间同步。
  7. 说明模态缺失时系统应如何降级。
  8. 解释cross-attention在多模态融合中的作用。

操作练习

  1. 用一张深度图和相机内参生成点云。
  2. 把相机坐标系点转换到机器人base坐标系。
  3. 用Open3D完成点云体素下采样和离群点去除。
  4. 对两个点云运行ICP,并记录配准误差。
  5. 把力觉数据画成时间序列,标注接触开始和滑移时刻。

进度追踪

里程碑验收标准完成
RGB-D理解能从像素坐标恢复三维点
点云处理能完成滤波、配准和误差评估
力触觉理解能识别接触、滑移和卡滞信号
融合架构能设计一个多模态token输入结构
VLA准备能说明语言、视觉和动作如何对齐

扩展挑战

  1. 用双相机点云重建桌面场景。
  2. 为反光物体设计RGB-D失败时的备用感知方案。
  3. 把接触事件作为额外token输入到动作策略。
  4. 用置信度权重融合视觉位姿和触觉接触估计。

阶段复盘问题

  1. 如果RGB检测结果和深度点云位置冲突,你会优先检查哪三个环节?
  2. 如果触觉检测到滑移但视觉没有变化,控制系统应该如何响应?
  3. 如果语音指令含糊,例如“把那个放过去”,多模态系统还需要哪些上下文?
  4. 如果其中一个相机离线,系统如何降级而不是直接停机?
  5. 如何为多模态融合模型设计可解释的debug面板?

完成这些问题后,学习者应能把“传感器清单”转化为“可调试的感知系统”。

最低毕业作品

提交一个RGB-D+力觉融合小demo:画出系统结构图,展示点云、接触曲线、融合状态和失败案例。

报告中必须包含标定参数、同步方式、评估指标和至少一次排障记录。