论文部分内容阅读
同时定位与地图构建(Simultaneous Localization And Mapping,SLAM)是一种优秀的空间信息分析处理技术,为移动机器人实现自主规划运动助益良多。近年来,其中的分支—视觉SLAM技术因其相对低廉的传感器造价以及便捷的安装条件成为了该研究领域的热点。目前视觉SLAM算法的发展仍存在普通相机视场有限、计算成本高昂等缺陷。针对以上问题,选择拥有360°环形视野的折反射式相机作为视觉传感器并获取其内参,最大程度地增加了相机获取的信息量。并选择运算成本低的半直接单目视觉里程计(Semi-direct Monocular Visual Odometry,SVO)算法作为系统的基本框架。SVO的开源版本并不完善,本文分析了其算法流程后提出了三种改进方法:1)针对获取数据中的异常值剔除问题,应用一种基于图割法改进的随机抽样一致性(Graph-Cut Random Sample Consensus,GC-RANSAC)算法改进。此算法通过引入局部优化(Local Optimization,LO)步骤,将标准RANSAC视为能量最小化问题,引入最大似然估计,并把空间相干性加入能量项中,使用图割算法优化内外点划分,据此完成对数据异常值的剔除。2)针对单目相机存在的尺度不确定性,应用一种基于几何约束的尺度恢复方法改进。首先对输入图像进行特征点匹配,再对匹配的特征点进行德劳内(Delaunay)三角划分,将三角区域的几何模型与道路几何模型进行对比,以此判断三角区域是否为道路区域并以之更新道路几何模型,根据最终的道路几何模型完成SLAM系统的尺度恢复。3)针对地图点存在深度不确定度的缺陷,提出应用一种基于卷积神经网络(Convolutional Neural Network,CNN)的无监督单目深度估计方法改进。首先用输入的两组图片模拟双目图像的左右序列相互重构,然后将重构出的视差图与对应图像对比得到损失函数,再反重构出原始图像,以此训练卷积神经网络,最后实现只用输入单张图像即可估算深度值。通过估算的深度值作为先验深度信息替代原算法采用的场景关键帧平均深度值,实现对地图点的深度不确定性有效减少。本文设计了一种基于全景视觉的视觉SLAM系统,通过利用全景相机全视角的优势以及三种改进算法,提高了实时相机姿态估计的精度与定位建图质量。通过在室内公开数据集以及室内实际环境的实验,实现了82.68%的内点率,得到的平均平移误差低至1.18%,平均旋转误差低至0.0027deg/m,定位精度相比其他算法平均提升了63.23%,验证了此算法的有效性和相比其他算法的优势。