点击上方“计算机视觉life”,选择“星标”
快速获得最新干货
同步定位与建图在移动机器人自主导航中起着重要的作用.大多数视觉SLAM方法使用关键点进行跟踪,但由于光线条件不确定和视点频繁变化,其性能受到任务中不稳定地标的影响.对于低纹理环境中的视觉SLAM,尤其是在室内建筑中,这种情况变得更糟,在室内建筑中,辅助人工标记可以用于在更大范围的环境下提高鲁棒性检测.受这一思想的启发,本文开发了一个集成关键点和人工标记的视觉SLAM系统.构建了一个图形优化问题,通过考虑关键点的重投影误差和标记的影响来优化轨迹.在SPM数据集上的实验结果表明,与最先进的ORB-SLAM2相比,该图优化算法具有更高的精度.
MonoSLAM是第一个基于Andrew Davison提出的扩展卡尔曼滤波器(EKF)的单目摄像机视觉SLAM, 其主要思想是利用状态向量存储摄像机姿态和地标的三维坐标[1]. 进一步用概率密度函数表示不确定性, 通过观测模型和递推计算最终得到更新状态向量的均值和方差.然而随着姿态和界标的增加,这种基于滤波的方法受到高计算复杂度的极大影响,表明其对于大场景的不足,从而逐渐被基于图优化的方法所取代[2] [3].图形优化算法需要建立一个姿态图,通过边缘化的方法将环境中的地标观测转化为机器人不同姿态之间的约束,从而可以估计机器人的姿态序列和环境中地标的位置序列,简化优化过程.姿态图中的顶点对应机器人的姿态和每个时刻地标的位置,边表示顶点之间的相对约束.通过不断调整顶点的姿态以满足约束,最终得到机器人的轨迹和观察到的环境图.PTAM是第一个在后端使用非线性优化的解决方案[4].通过使用关键帧机制,优化了轨迹和地图,提高了计算速度和定位精度.许多视觉SLAM方法都是基于关键点的,本质上是提取特征点进行匹配和估计,如PTAM,ORB-SLAM2 [5,6].然而,这些自然标志对快速运动或视点的大变化不稳定[7].伊翁·林和年轻的萨姆提出了一种方法,利用EKF估计机器人的姿态和人工地标的位置[8].SPMSLAM的提出为SLAM的解决方案提供了方形平面标记,显示出更鲁棒、精确和快速.
本文提出了一种融合关键点和标记的视觉SLAM来处理低特征环境.受文献[2]的启发,构造了一个图优化问题来优化地标的轨迹和位置.在SPM数据集上的实验结果表明,与ORB-SLAM2算法相比,该算法具有更高的精度.
该部分基于包含30 Hz帧频的单目彩色图像和摄像机的地面真实度的SPM数据集验证了所提出的算法.这些数据集是在室内场景中手工收集的,那里的墙上有许多ArUco [10] [11]标记.正方形标记的边长为0.165米,标记检测采用ArUco库,通过AruCo库可以得到标记中心相对于摄像机的旋转和平移.标记的四个角点的空间坐标可以如图2所示计算,便于我们的测试
图2: ArUco标记, 边长2s. 标记中心的旋转和平移可以通过ArUco库获得
该算法是用g2o语言用C++开发的.实验是在一台配备英特尔i57200U处理器和12GB内存的笔记本电脑上进行的. 为了评估的目的, 将所提出的算法与ORB-SLAM2进行了比较. 由这两种算法优化的全部轨迹等如图3所示.
图3:轨迹曲线. 蓝色曲线、绿色曲线和虚线分别对应于ORB-SLAM2、我们的方法和地面真相的轨迹
从图3的轨迹曲线可以看出,ORBSLAM2算法和我们的算法都可以跟踪摄像机的运动.摄像机在室内环境中不停地运动不止一圈,包括旋转和平移.整个过程持续了112.6秒. x轴、y轴和z轴轨迹上的相应误差如图4所示,从中可以直观地观察到,我们的轨迹比对应的轨迹更接近地面真实.
图4:各轴的轨迹.蓝色曲线、绿色曲线和虚线分别对应于ORB-SLAM2、我们的方法和地面真实的轨迹.
图5:绝对位姿误差(APE), 直接由地面真值与SLAM系统估计值之差计算得到.
为了更准确地反映轨迹误差,从地面真实值和每个SLAM系统的估计值之间的差异进一步计算绝对姿态误差(APE).每个SLAM系统的时间戳首先与groundtruth对齐,然后计算每对姿态之间的差异.APE曲线如图5所示.总体趋势表明,该方法优于ORBSLAM2, ORBSLAM2系统的平均绝对位姿误差为0.1392 m, 位姿误差降至0.0721 m. 此外与ORB-SLAMM 2系统相比,所提出的视觉算法能够提供更小的标准偏差和均方根误差在图6,实验结果表明,融合关键点和标记的视觉SLAM能够提供更准确的位置估计.
图6:具体指标,包括APE的标准差、均方根误差、最小误差、中值误差、平均误差、最大误差.
本文提出了一种基于图形优化的融合关键点和标记的视觉SLAM系统. 原始SLAM系统的cost函数只有重投影误差,因此在快速运动或低纹理环境中定位精度较差.利用比自然标志更稳定的人工标志,在姿态图中构造标志的代价函数和添加标志顶点,使得这些具有关键点重投影误差的顶点可以一起优化, 提高了系统的精度.
在SPM数据集上的实验结果表明,与ORB-SLAM2相比,该方法具有更高的准确率.然而这种方法本质上是基于关键点的.因此,可以在未来的工作中考虑对象级的SLAM,从而可以识别特定的对象,例如椅子或桌子,并且通过将目标顶点添加到姿态图中来构造对象的成本函数.这种方法可以帮助进一步提高系统的定位精度,因为对象比关键点更稳定,并且不需要在环境中手动实现放置标记.
从0到1学习SLAM,戳↓
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
投稿、合作也欢迎联系:simiter@126.com
扫描关注视频号,看最新技术落地及开源方案视频秀 ↓