根据是否进行特征提取,视觉SLAM主要分为直接法和基于特征的方法。直接法利用全部像素值进行定位和地图构建,在纹理稀疏或动态场景中表现更好。典型的直接法包括:稠密跟踪与建图(Dense Tracking and Mapping, DTAM)
[49]和大规模直接单目SLAM(Large-Scale Direct Monocular SLAM, LSD-SLAM)
[50]等。Barth等
[44]利用LSD-SLAM重建甜椒三维信息并定位,利用机械臂在温室内实现甜椒采摘。基于特征的方法通过提取和匹配图像中的特征点,估计相机运动和场景的几何结构。该方法速度快、实时性强,但只适用于纹理特征丰富的场景,例如单目SLAM(Monocular SLAM, Mono SLAM)
[51]、定向FAST和旋转BRIEF SLAM(Oriented FAST and Rotated BRIEF SLAM, ORB-SLAM)系列
[52-54]、实时基于外观建图(Real-Time Appearance-Based Mapping, RTAM)
[55]等。Matsuzaki等
[56]将基于RGB-D的RTAM算法与语义分割网络相结合,在玫瑰种植温室场景中建立了具有障碍物类型标签的语义地图。语义SLAM不仅考虑环境的几何结构,还关注物体的类别、功能和属性等信息。Krul等
[57]在奶牛场谷仓中使用搭载在小型无人机上的单目摄像头比较了LSD-SLAM和ORB-SLAM算法的绝对轨迹和相对姿态误差,结果表明ORB-SLAM的定位精度更高。总体来看,视觉SLAM在设施畜牧和设施渔业中的应用较为有限。在长走廊的禽畜养殖场景中,由于视觉特征的高度重复性和动物的移动性,视觉SLAM面临挑战
[58]。目前的改进方法包括开发位姿图优化算法和引入深度学习技术
[59-61]。
表4对比了不同视觉SLAM算法的特点。