4. 传感器选型与标定:单目、双目、RGB-D相机的鲁棒性对比。IMU与视觉融合的初步概念。相机-IMU外参标定对鲁棒性的影响。
做SLAM这么多年,我越来越觉得一个道理:算法决定上限,传感器决定下限。你想想看,再牛的算法,拿到的数据本身就是烂的,那基本没戏。所以这一章,咱们聊聊传感器选型和标定这件事。
说白了,选相机就像选队友。单目、双目、RGB-D,各有各的脾气。我刚开始做项目时,总觉得单目便宜又轻便,结果在弱纹理场景下直接崩了。后来换了双目,鲁棒性确实上来了,但标定和同步又成了新坑。嗯,这里面的门道,咱们一个一个说。
4.1 单目、双目、RGB-D的鲁棒性对比
先看一张我整理的对比表,帮你快速建立直觉:
| 传感器类型 | 优势 | 鲁棒性短板 | 典型场景 |
|---|---|---|---|
| 单目 | 成本低、体积小、标定简单 | 尺度模糊、纯旋转退化、弱纹理易跟丢 | 室内结构化环境、有先验尺度的场景 |
| 双目 | 可直接恢复尺度、对旋转鲁棒 | 基线限制近距离、标定复杂、计算量大 | 室外大场景、无人机、自动驾驶 |
| RGB-D | 直接获取深度、建图直观 | 受环境光干扰、室外失效、量程有限 | 室内小范围、桌面级、人机交互 |
我个人习惯,在项目初期会先问自己三个问题:场景是室内还是室外?运动速度快还是慢?有没有光照变化?这三个问题基本能帮你筛掉一半的选项。
单目的坑
单目SLAM最大的问题就是尺度不确定性。你想想看,一个点在图像上移动了10个像素,它到底是物体离你近了1米,还是物体本身移动了1米?单目自己没法区分。我在项目中遇到过,单目在纯旋转运动时,特征点匹配全乱套,直接导致初始化失败。
双目的优势与代价
双目相机通过基线长度直接恢复深度,说白了就是模仿人眼。它的鲁棒性比单目好很多,因为尺度是确定的。但代价也很明显:标定复杂。左右两个相机的内参、外参(相对位姿)必须精确,否则深度误差会随着距离平方增长。
我记得有一次,双目标定后忘了检查重投影误差,结果跑出来的地图全是扭曲的。后来花了整整两天重新标定,才把问题解决。所以,双目标定不是一次性的活,每次拆装后都要重新做。
RGB-D的局限性
RGB-D相机(比如Kinect、RealSense)直接给你深度图,看起来很美。但它的原理是结构光或ToF,在室外强光下基本报废。我试过在下午三点的户外用RealSense,深度图全是噪点,根本没法用。另外,它的量程通常只有3-5米,远了就测不准。
4.2 IMU与视觉融合的初步概念
视觉SLAM有个天生的弱点:运动太快就糊。相机帧率一般30fps,如果运动剧烈,帧间位移太大,特征匹配就崩了。这时候IMU就派上用场了。
IMU(惯性测量单元)测量的是加速度和角速度,频率可以到200Hz以上。它不依赖外部环境,所以在纯旋转、快速运动、弱纹理场景下,IMU能提供短时间内的可靠位姿估计。但IMU也有自己的问题——漂移。加速度积分两次得到位移,误差会随时间累积。所以,IMU和视觉是互补的:视觉提供长期稳定的位姿,IMU提供短期高频的位姿。
说白了,视觉+IMU = 鲁棒性翻倍。我做过一个手持设备项目,纯视觉在走廊里跑几步就丢了,加了IMU后,哪怕快速转弯也能稳稳跟住。
松耦合 vs 紧耦合
视觉和IMU融合有两种主流方式:
- 松耦合:视觉和IMU各自独立估计位姿,然后融合。简单,但精度一般。
- 紧耦合:把IMU的测量值直接塞进视觉的优化方程里,一起优化。精度高,但计算量大。
我个人习惯,移动端或嵌入式设备用松耦合,因为算力有限;PC端或高精度需求用紧耦合,比如VINS-Mono这类方案。
4.3 相机-IMU外参标定对鲁棒性的影响
这里我要重点强调一下:外参标定是视觉-惯性SLAM的基石。外参指的是相机坐标系和IMU坐标系之间的旋转和平移关系。如果这个关系不准,那融合出来的位姿就是错的。
为什么会这样?你想想看,视觉估计的是相机位姿,IMU估计的是IMU位姿。如果不知道它们之间的相对关系,你怎么把两个数据对齐?外参标定不准,相当于你拿着两把尺子量同一个东西,但尺子的零点没对齐。
我在项目中遇到过最典型的问题:外参标定误差导致轨迹漂移。有一次,我用Kalibr标定工具标定了一组相机-IMU外参,结果跑VINS-Mono时,轨迹在转弯处总是偏。后来重新标定,发现旋转矩阵差了2度,平移向量差了5毫米。修正后,轨迹误差从10%降到了2%。
标定流程简述
如果你用的是ROS,标定流程大致如下:
- 固定相机和IMU,确保它们刚性连接。
- 录制一个包含充分激励的数据包(旋转、平移、加速、减速)。
- 使用Kalibr工具进行标定,得到外参矩阵。
- 检查重投影误差和IMU预积分残差,确保标定质量。
4.4 本章知识体系图
下面这张SVG图,帮你梳理本章的核心逻辑:
从这张图可以看得很清楚:传感器选型决定了基础鲁棒性,IMU融合提升了动态鲁棒性,而外参标定则是这一切的前提。三者缺一不可。
4.5 小结
这一章咱们聊了三个核心点:
- 传感器选型:单目便宜但脆弱,双目稳健但复杂,RGB-D方便但受限。选型要结合场景。
- IMU融合:视觉+IMU是提升鲁棒性的利器,松耦合和紧耦合各有适用场景。
- 外参标定:这是融合的基础,标定不准,一切白搭。建议用专业工具,定期重标。
嗯,这些内容看起来多,但真正上手做一遍,你会发现其实没那么复杂。下一章咱们会深入讲特征提取与匹配的鲁棒性技巧,到时候再聊。
公众号:蓝海资料掘金营,微信deep3321