论文部分内容阅读
单目视觉SLAM系统是通过相机采集图像信息进行定位与地图构建的计算机视觉系统,SLAM技术广泛应用于三维重建、视觉避障与路径规划等场景,对提高无人自主系统的自主化、智能化等具有重要意义。SLAM技术是计算机视觉领域中的一个研究热点,发展十分迅速。但是现有的视觉SLAM系统主要以特征点法为基础,在实际应用中往往存在大量的复杂场景,比如光照变化、纹理缺失、快速旋转和运动目标等。在这些复杂环境中,传统的单目视觉SLAM算法无法充分感知环境信息,同时还存在运动退化的现象,在算法的精度和鲁棒性方法都有着较大的提升空间。因此,本文针对现有SLAM算法中存在的一些问题进行了深入研究。本文的主要贡献如下:(1)针对单目视觉SLAM系统的初始化过程复杂,条件严格,以及单目视觉系统的尺度不确定问题。近年来,随着深度学习理论的发展和GPU等硬件计算能力的提升,本文引入了基于CNN的深度预测网络。通过深度预测网络获取初始图像帧中关键像素点的深度值,给系统估计出一个尺度,一定程度上缓解了单目视觉SLAM系统的尺度不确定性问题,同时还降低单目视觉SLAM系统的初始化门槛,即不需要平移就能够进行初始化,同时在快速旋转等情况下仍然能够快速初始化成功。为了提高后续帧中关键像素点的深度值的精度,本文设计了像素点的亮度值编码序列模式,增加了像素点间的结构稳定性和关联性,提高了像素点的匹配度。在数据集TUM提供了光度模型参数与曝光时长等信息的情况下,实验结果表明本文算法相比目前领先的算法DSO在精度上有一定提升。(2)由于单目视觉SLAM系统往往在室外非结构化的大动态场景中工作,但是单目视觉SLAM算法依赖于静态的空间路标点,为了使单目视觉SLAM系统能够适应动态的工作环境,本文引入Mask R-CNN对关键帧中特定的目标进行识别和分割。将单个目标分割区域的像素值针对不同的目标类别乘以数值叠加到同一个掩膜,像素大小对应到原图中像素点的目标类别归属。由于网络无法感知环境中的目标在时间与空间上的运动关联,所以本文将场景中不同的类别的目标定义为静态目标或者潜在的动态目标,例如车、人等为潜在的动态目标,将关键像素点的坐标位置对应到掩膜中像素,对标记为潜在动态点的像素点进行运动一致性检测来判定这类像素点的真实状态。在CityScapes数据集上进行验证,实验结果表明在动态环境中本文算法的精度相比DSO得到了提升。(3)在前面的论述中,在单目视觉SLAM系统的初始化时利用基于CNN的深度预测网络预测初始图像帧的深度值,能够快速完成单目视觉SLAM系统的初始化。但是在缺少光度模型参数与曝光时长等信息的情况下单目视觉SLAM系统存在尺度漂移的问题,严重影响了系统的精度。本文采用单目相机和IMU融合的方式有效地解决了尺度漂移问题。在数据集EUROC上进行实验验证,实验结果表明在缺少光度模型参数与曝光时长等信息的情况下本文算法相比DSO能够获得更好的精度与鲁棒性。综上所述,本文针对单目视觉SLAM方法中存在的问题进行了深入的研究。针对单目视觉SLAM系统的初始化问题,提出了基于CNN的深度预测网络对系统的初始帧预测深度值,在快速旋转等情况下仍然能够快速初始化成功,同时设计了像素点的亮度值编码序列,增加了点的结构特性。针对单目视觉SLAM系统在动态环境中精度差的问题,本文通过深度预测网络预测关键图像帧的深度值,引入了图像分割网络来识别图像帧中影响系统精度的潜在动态目标。针对单目视觉SLAM系统的尺度在缺乏光度模型参数与曝光时长等信息时发生漂移,本文提出了联合CNN与IMU来提高系统的定位精度。本文在数据集上进行验证,实验结果表明本文的算法能够提高单目视觉SLAM系统的精度与鲁棒性。