第三章 环境感知传感器:单目、双目、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在匀速运动时无法感知方向。多传感器融合,就是让它们互相兜底。

融合动机总结:

  1. 互补性:不同传感器在不同场景下表现不同
  2. 鲁棒性:一个传感器失效,其他传感器还能工作
  3. 精度提升:融合后位姿估计更平滑、更准确
  4. 尺度恢复:IMU+单目可以解决尺度模糊问题

3.6 本章知识体系

下面我用一张SVG图来梳理本章的核心逻辑。你可以看到,不同传感器在精度、鲁棒性、成本、适用场景上各有优劣,而多传感器融合正是为了取长补短。

环境感知传感器知识体系 环境感知传感器 单目相机 轻量、尺度模糊 双目相机 直接深度、计算量大 RGB-D相机 室内神器、室外受限 激光雷达 高精度、全天候、昂贵 IMU 高频、有漂移 多传感器融合动机 互补性 · 鲁棒性 · 精度提升 · 尺度恢复

3.7 小结

这一章我们聊了五种主流传感器。我的建议是:

  • 室内、低成本:单目+IMU 或 RGB-D
  • 室内、高精度:RGB-D + 激光雷达
  • 室外、全天候:激光雷达 + IMU,视觉作为辅助
  • 移动端/无人机:单目+IMU,轻量是关键

记住,传感器选型没有标准答案。你得根据实际场景、预算、算力来权衡。下一章我们会深入视觉SLAM的核心——特征提取与匹配,到时候你会看到,传感器选对了,后面的算法才能发挥最大威力。


专注资料整理