多模态感知与融合
把RGB相机、深度传感器、力觉、触觉、语音整合成统一的机器人环境表征——VLA和具身智能的感知基石。
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 / Text | ASR、指令解析、任务约束抽取 | 任务规划、VLA动作生成 |
| Proprioception | 关节角、速度、力矩同步 | 闭环控制、状态估计、策略输入 |
融合方法谱系
- 时空标定:先解决外参、内参、时间同步;没有标定,深度和触觉再强也会互相“说谎”。
- 早期融合:把RGB-D、法线图、力觉序列在输入层拼接,适合模态稳定、数据量足够的任务。
- 中期融合:每个模态独立编码,再通过cross-attention、FiLM或token拼接融合,是VLA最常见范式。
- 晚期融合:每个模态独立输出置信度,再做投票或贝叶斯融合,适合安全关键和工程可解释场景。
- 不确定性融合:为每个模态估计置信度,让模型在遮挡、反光、接触丢失时自动降权。
实验任务
- RGB-D点云生成:用相机内参把深度图反投影为点云,并按颜色渲染桌面物体。
- 点云配准:用RANSAC+ICP对齐两个视角点云,报告fitness、RMSE和配准前后可视化。
- 力觉事件检测:对六维力传感器数据做去偏置和阈值检测,识别接触、滑移、卡滞三类事件。
- 多模态策略输入:构造vision、depth、proprio、force、text五类token,送入小型Transformer完成动作分类。
工程实践案例
插孔装配:RGB-D负责孔位粗定位,MoveIt2负责接近轨迹,力觉负责接触后的微调,触觉检测滑移,行为树负责失败重试。这个案例天然覆盖“感知-规划-控制-安全”闭环。
评估指标:位姿误差、配准RMSE、接触检测F1、任务成功率、平均完成时间、异常恢复次数。
能力清单与前置要求
- 能解释RGB、深度、点云、力觉、触觉、语音各自提供的信息和盲区。
- 能完成RGB-D相机标定、点云生成、坐标系变换和基础配准。
- 能为一个机器人任务选择早融合、中融合或晚融合,并说明取舍。
- 进入NLP/LLM与VLA前,应理解token、embedding、attention和多模态对齐的基本思想。
推荐论文与开源项目
建议阅读 CLIP、PointNet/PointNet++、DenseFusion、RT-1/RT-2、OpenVLA,并实践 Open3D、PCL、ROS2 message_filters、MoveIt Task Constructor 等工具。
教材式自测与学习进度
概念自测
- 解释RGB、Depth、Point Cloud之间的信息转换关系。
- 说明为什么点云需要滤波、下采样和坐标系变换。
- 比较早融合、中融合、晚融合的优缺点。
- 解释触觉为什么对灵巧操作不可替代。
- 说明语音指令进入机器人系统后通常会被转成什么中间表示。
- 解释多模态模型为什么需要时间同步。
- 说明模态缺失时系统应如何降级。
- 解释cross-attention在多模态融合中的作用。
操作练习
- 用一张深度图和相机内参生成点云。
- 把相机坐标系点转换到机器人base坐标系。
- 用Open3D完成点云体素下采样和离群点去除。
- 对两个点云运行ICP,并记录配准误差。
- 把力觉数据画成时间序列,标注接触开始和滑移时刻。
进度追踪
| 里程碑 | 验收标准 | 完成 |
|---|---|---|
| RGB-D理解 | 能从像素坐标恢复三维点 | □ |
| 点云处理 | 能完成滤波、配准和误差评估 | □ |
| 力触觉理解 | 能识别接触、滑移和卡滞信号 | □ |
| 融合架构 | 能设计一个多模态token输入结构 | □ |
| VLA准备 | 能说明语言、视觉和动作如何对齐 | □ |
扩展挑战
- 用双相机点云重建桌面场景。
- 为反光物体设计RGB-D失败时的备用感知方案。
- 把接触事件作为额外token输入到动作策略。
- 用置信度权重融合视觉位姿和触觉接触估计。
阶段复盘问题
- 如果RGB检测结果和深度点云位置冲突,你会优先检查哪三个环节?
- 如果触觉检测到滑移但视觉没有变化,控制系统应该如何响应?
- 如果语音指令含糊,例如“把那个放过去”,多模态系统还需要哪些上下文?
- 如果其中一个相机离线,系统如何降级而不是直接停机?
- 如何为多模态融合模型设计可解释的debug面板?
完成这些问题后,学习者应能把“传感器清单”转化为“可调试的感知系统”。
最低毕业作品
提交一个RGB-D+力觉融合小demo:画出系统结构图,展示点云、接触曲线、融合状态和失败案例。
报告中必须包含标定参数、同步方式、评估指标和至少一次排障记录。