作为视觉slam中4大步骤的最前端,视觉里程计(VO)是视觉前端,它根据相邻图像的信息估计出粗略的相机运动,给后端提供较好的初始值。而其主要实现方法,分为特征点法,直接法。其中特征点法目前是主流,它运动稳定,对光照,动态物体不敏感,是目前比较成熟的解决方案。
1. 特征点
图像本是一个由亮度和色彩组成的矩阵,从矩阵层面考虑运动估计比较困难。我们可以选取有代表性的点,相机视角发生变化,我们根据各个图像中相同的点,讨论相机位姿估计问题,及定位问题。在视觉slam中,这些点指图像特征( Feature )
这些角点事实上不满足我们的很多需求。例如,从远处看上去是角点的地方,当相机走近后,可能就无法识别出来。或者相机转动,角点的外观会发生变化,相机再次无法识别。目前为了解决这些问题,研究出了更加稳定的局部图像特征,如:SIFT,SURF,ORB等等。
a. 可重复性:相同的“区域”可以在不同的图像中找到。
b. 可区别性:不同的”区域“有不同的表达。
c. 高效率:同一图像中,特征点的数量应远小于像素的数量。
SIFT算法: 充分考虑了在图像变换过程中出现的光照,尺度,旋转等变化,故计算量极大。目前普通PC的CPU还无法实时地计算SIFT特征,进行定位与建图。
ORB算法: 适当的降低精度和健壮性,以提高计算的速度。采用速度极快的二进制描述子BRIEF,使整个图像特征提