论文部分内容阅读
同时定位与建图(SLAM,simultaneous localization and mapping)技术在智能设备自主定位与导航领域内扮演着极为重要的角色。SLAM解决的是在构建未知环境的地图的同时跟踪定位机器人自身位置的问题。现有的SLAM技术被广泛应用于自驱动汽车、无人飞行器、自主水下飞行器、行星漫游器、新出现的家用机器人甚至人体内部。其中,由于视觉传感器具有成本低,质量轻便于搭载到移动智能设备上,且图像含有丰富的信息等优势,使得VSLAM(visual simultaneous localization and mapping)成为目前该领域内的热点研究分支。然而在当前主流VSLAM算法的关键技术之一即数据关联采用的都是基于图像外观的方法。其中,直接法论由于基于亮度恒定假设(brightness constancy assumption)很难适应简单的光照变化,特征法由于只提取图像局部区域内的特征如像素值梯度变化分布情况等,虽然对光照变化有更强的适应性,但是一般只能应对光照充足下的光照均匀变化的情形。如何使VSALM算法能适应现实中各种动态光照是限制其推广应用的重要技术难题。因此,针对现有VSLAM中存在的上述问题,考虑到在动态光照环境下,虽然图像灰度值会随着光照变化而剧烈变化,进而严重影响基于图像外观的方法的效果,而将图像中像素点转换到对应的三维现实空间时,同名点所对应的三维点的位置信息理论上是不变的。当然由于光照变化,两点云间会存在重合区域内点分布、密度的不一致及点云的缺失等问题。但这些问题可通过结合不同的点云特征的提取与匹配来解决。本文在得到VSLAM中不同成像时刻下的点云后,通过一种集成点云局部特征与半全局特征的多级特征的提取与匹配,来判断任意两幅图像间是否存在足够多的关联部分,进而利用这些关联信息来计算两个成像时刻相机位姿间的相似变化矩阵,来克服现实中复杂的光照变化对VSLAM的数据关联的正确性及相机间相对定位的精确性的影响。本文的主要研究成果包括:1.针对复杂光照变化造成的图像特征难以准确匹配难题,提出了一种将局部特征与半全局特征相结合的场景多级特征提取与匹配方法,从而可更好地适用于现实中各种动态光照环境下VSLAM的回环检测及重定位等环节中的相机位姿跟踪。此方法对基于图像点特征的方法进行拓展,结合多级点云特征进行数据关联。其中,点云特征采用的是一种对半全局特征CVFH描述子进行改进后的特征(本文将其命名为CCVFH,Compact Clustered Viewpoint Feature Histogram)及一种借鉴全局特征ESF(Ensemble Shape Function)描述子的思想后提出了一种新的描述对象间关系的描述子(本文将其命名为IOESF,Inter-object Ensemble Shape Function)。CCVFH描述的是低级的点云中对象内的特征,IOESF描述的是高级的对象间的特征。使用这种多级特征代替单一特征,并对使用的特征进行相应的改进,使其能有效减弱光照变化对由图像得到的点云的影响。2.针对基于高级特征匹配难以同时满足高匹配度与位姿计算精度的难题,提出了一种基于多级特征匹配及点云细分后的位姿跟踪法,从而在保证了数据关联的正确性的同时仍能获得较为精确的相机间相对定位结果。此方法在经过多级特征匹配后可确保匹配上的对象是正确的匹配,之后通过对对象基于八叉树进行细分并逐对象筛选细分后的点(体素),再使用基于SVD-ICP进行两点云间的转换矩阵计算,相比常用的直接采用SVD-ICP暴力搜索,可得到准确且更精确的相对定位结果。针对本文提出的方法,设计搭建了室内不同光照方向、光照强度、全局光照及局部光照下的实验环境,使用PCL点云库基于C++实现了算法,证明了该算法对多种不同光照的良好的适应性,特别是在光照较暗、非全局均匀光照的情形下仍能实现稳定的数据关联。