第三章 环境感知传感器:单目、双目、RGB-D相机原理与对比、激光雷达(2D/3D)简介、IMU与多传感器融合动机
各位同学,欢迎来到第三讲。上一章我们聊了SLAM问题的数学建模,这一章咱们落地到硬件——传感器。
做SLAM的人常说一句话:“算法决定上限,传感器决定下限”。这话我深有体会。早些年我做过一个项目,在室内跑得飞快的视觉SLAM,一到户外强光下直接崩了。后来换了传感器方案,问题迎刃而解。所以,理解每种传感器的脾气,是咱们做环境理解的第一步。
核心观点:没有最好的传感器,只有最合适的传感器。选型时,你得考虑场景、成本、计算资源、鲁棒性四个维度。
3.1 单目相机:最轻量,但缺一把“尺子”
单目相机,说白了就是一个普通摄像头。它拍出来的图像是2D的,丢失了深度信息。
原理:单目SLAM通过连续帧之间的特征点匹配,利用三角化来估计深度。但这里有个坑——尺度不确定性。你无法知道一个物体是离得近的小物体,还是离得远的大物体。我刚开始做单目SLAM时,跑出来的轨迹形状是对的,但地图尺寸完全不对,像个“缩微模型”。
- 优点:成本低、体积小、功耗低、部署方便
- 缺点:尺度模糊、对纹理敏感、初始化需要平移运动
- 典型应用:手机AR、无人机、低成本机器人
避坑指南:我曾经在弱纹理场景(白墙、光滑地面)跑单目ORB-SLAM,结果特征点数量不够,直接初始化失败。后来我加了个IMU辅助初始化,才解决了这个问题。
3.2 双目相机:自带“尺子”,但计算量大
双目相机模拟人眼,用两个摄像头同时拍摄。通过左右图像的视差,可以直接计算出深度。
原理:核心是立体匹配——找到左右图中对应的像素点。视差越大,物体越近。深度计算公式:Z = f * B / d,其中B是基线长度,d是视差。
嗯,这里要注意:基线越长,测距范围越大,但相机体积也越大。我见过一个项目为了测距精度,把基线拉到1米,结果整个设备像个“螃蟹”。
| 对比项 | 单目 | 双目 |
|---|---|---|
| 深度获取 | 需运动估计 | 直接计算 |
| 尺度 | 模糊 | 确定 |
| 计算量 | 低 | 高(立体匹配) |
| 弱纹理 | 差 | 更差(匹配失败) |
| 硬件成本 | 低 | 中等 |
注意:双目相机的立体匹配非常消耗计算资源。我建议在嵌入式平台上使用SGBM算法,精度和速度的平衡比较好。如果算力充足,可以上深度学习匹配方法。
3.3 RGB-D相机:直接给你深度图,但受限于室内
RGB-D相机,比如Kinect、RealSense、Intel D435,可以直接输出RGB图像和深度图。深度获取方式主要有两种:
- 结构光:投射红外点阵,通过变形计算深度。代表:Kinect v1、RealSense R200
- ToF(飞行时间):发射红外光,测量反射时间。代表:Kinect v2、RealSense D435
我个人习惯在室内场景优先用RGB-D。它省去了立体匹配的计算,深度精度也高。但有个致命弱点——室外基本不能用。太阳光中的红外成分会严重干扰深度传感器。我试过在下午3点的户外用D435,深度图全是噪点,根本没法用。
一句话总结:RGB-D是室内SLAM的“作弊器”,但出了门就变“瞎子”。
3.4 激光雷达:SLAM界的“老大哥”
激光雷达(LiDAR)通过发射激光束,测量反射时间或相位差来获取距离信息。它分为2D和3D两种。
3.4.1 2D激光雷达
单线激光,扫描一个平面。常用于室内扫地机器人、AGV导航。数据量小,处理快,但只能感知一个平面。
3.4.2 3D激光雷达
多线激光(16线、32线、64线、128线),扫描三维空间。代表:Velodyne、Ouster、禾赛。精度高、范围远、不受光照影响。但价格昂贵,体积大。
你想想看,为什么自动驾驶车都用激光雷达?因为它能在黑夜、雨雾中稳定工作。视觉SLAM在夜间基本歇菜,但激光雷达可以。我参与过一个矿区无人驾驶项目,矿区灰尘大、光照差,视觉方案完全不行,最后全靠激光雷达。
个人经验:如果你做室外SLAM,预算允许的话,强烈建议上激光雷达。哪怕只有16线,也比纯视觉方案鲁棒得多。
3.5 IMU与多传感器融合动机
IMU(惯性测量单元)包含加速度计和陀螺仪。它测量的是加速度和角速度,积分后得到位姿。
IMU的优点:
- 高频(100-1000Hz),能填补视觉/激光的低频间隙
- 短时间精度高,适合快速运动
- 不受光照、纹理影响
IMU的缺点:
- 有漂移(积分误差累积)
- 长时间精度差
- 需要初始化(估计重力方向、零偏)
说白了,IMU和视觉/激光是互补关系。视觉在纹理丰富时准,但运动太快会模糊;IMU在快速运动时准,但长时间会漂。两者融合,取长补短。
为什么会这样?因为单一传感器总有“盲区”。比如视觉在纯旋转时无法估计深度,激光在镜面反射时数据会丢失,IMU在匀速运动时无法感知方向。多传感器融合,就是让它们互相兜底。
融合动机总结:
- 互补性:不同传感器在不同场景下表现不同
- 鲁棒性:一个传感器失效,其他传感器还能工作
- 精度提升:融合后位姿估计更平滑、更准确
- 尺度恢复:IMU+单目可以解决尺度模糊问题
3.6 本章知识体系
下面我用一张SVG图来梳理本章的核心逻辑。你可以看到,不同传感器在精度、鲁棒性、成本、适用场景上各有优劣,而多传感器融合正是为了取长补短。
3.7 小结
这一章我们聊了五种主流传感器。我的建议是:
- 室内、低成本:单目+IMU 或 RGB-D
- 室内、高精度:RGB-D + 激光雷达
- 室外、全天候:激光雷达 + IMU,视觉作为辅助
- 移动端/无人机:单目+IMU,轻量是关键
记住,传感器选型没有标准答案。你得根据实际场景、预算、算力来权衡。下一章我们会深入视觉SLAM的核心——特征提取与匹配,到时候你会看到,传感器选对了,后面的算法才能发挥最大威力。