本文提出了一种基于循环匹配特征点的双目视觉里程计方法,同时在每一次双目帧之间通过 I N S A D INSAD INSAD和极线几何知识进行特征点之间的匹配,在帧与帧之间通过 K L T KLT KLT的方法实现特征点的跟踪,这样使得以特征点为主的视觉里程计能够实现更加鲁棒性的位姿信息获取,整个系统没有使用BA优化算法。
视觉里程计的方案主要可以分为直接法和特征法,直接法可以提供更精确的位姿匹配信息但会带来更多的计算,基于特征的视觉里程计依靠共视关系通过特征之间的匹配实现位姿信息的估计,但位姿信息的估计是增量式的累加,于是会不可避免的引入累积误差信息。通过提高特征信息的提取和匹配精度可以提高位姿信息估计的精度。本文主要的关注点就是在特征点的选择上,同时借助成像之间的极线几何知识提高位姿估计的精度。
相关的工作中介绍了依靠回环检测全局BA优化进行位姿优化的方法以及为了在BA的基础 上实现实时性而进行的局部 BA算法。以及一些通过特征信息分级等方法实现高精度位姿估算和提升处理速度的视觉里程计的方法。本文中提出的方法通过极线几何知识能够在小范围区域内对匹配的特征信息进行搜索,避免了一些图像特征信息的获取步骤,节省运行时间。
这一部分是对文中整个SLAM系统的综合介绍,整个系统是通过增量式的位姿信息实现整体系统的位姿估计的,即: T K , K − 1 = [ R K , K − 1 , t K , K − 1 ] T_{K,K-1}=[R_{K,K-1},t_{K,K-1}] TK,K−1=[RK,K−1,tK,K−1]初始时 T 0 = [ I , 0 ] T_0=[I,0] T0=[I,0]。 A.Feature extraction 在特征点提取过程中,第一帧中的双目左右视图都进行特征点的提取操作,本文在特征点的提取部分使用FAST的方法,为了保证特征点的菊韵分布将图像分为栅格,同时在每个栅格中的保证有至少有5个特征点的存在,通过对栅格中的特征点评分进行排序使得具有较高评分的特征点参与到后续的工作中。 B.Stereo Matching 这一部分主要是对同一双目图像帧中的左右视图信息中对对应的特征信息进行匹配,为了提升系统的运行速度和特征信息的匹配精度,除了在初始状态时对每一帧的左右视图都进行特征提取外,在后续的每一帧图像中只对左侧视图进行特征提取,结合极线几何知识 ( v = v l = v r ) (v=v_l=v_r) (v=vl=vr),通过 I N S A D INSAD INSAD算法获取右侧对应的特征点。当正确的找到了左右视图中匹配的特征信息之后通过三角化匹配获取对应的空间点坐标信息。 I N S A D = ∑ w ∣ I l − μ l σ l − I r − μ r σ r ∣ INSAD=\sum_w|\frac{I_l-\mu_l}{\sigma_l}-\frac{I_r-\mu_r}{\sigma_r}| INSAD=w∑∣σlIl−μl−σrIr−μr∣其中, I , μ I,\mu I,μ分别代表像素亮度信息和图像块的平均亮度值, σ \sigma σ表示图像块的标准差。 C.Robust Feature Tracking 在帧与帧之间需要进行特征信息的跟踪操作,文中通过 K L T KLT KLT方法实现帧之间的特征信息跟踪。 为了对不合适的匹配、跟踪进行踢除操作,需要用到基础矩阵信息的知识,求解基础矩阵用传统的8点法进行求解,其中点的选择利用 R A N S A C RANSAC RANSAC获取,迭代计算次数为 N = l o g ( 1 − p ) l o g ( 1 − ( 1 − ϵ ) s ) ) N=\frac{log(1-p)}{log(1-(1-\epsilon)^s))} N=log(1−(1−ϵ)s))log(1−p)其中, s , p , ϵ s,p,\epsilon s,p,ϵ分别表示特征点的总体数量、每次迭代成功求解模型的概率、不合理点概率。通过上述的操作通过 d = x ′ T F x ( F x ) 1 2 + ( F x ) 2 2 + ( F T x ′ ) 1 2 + ( F T x ′ ) 1 2 d=\frac{x'^TFx}{(Fx)_1^2+(Fx)_2^2+(F^Tx')_1^2+(F^Tx')_1^2} d=(Fx)12+(Fx)22+(FTx′)12+(FTx′)12x′TFx对对特征信息的跟踪进行验证。 D.Circular Matching 这一部分是整个文章最大的创新点,为了确保特征点匹配和跟踪操作足够精确,使用循环匹配的操作对相近的四张图像对应的特征点进行匹配、跟踪。如下图所示: 在每一帧左右视图之间进行特征信息的匹配,在帧与帧之间进行特征信息跟踪,只有在四幅图像中对应的特征信息匹配成功采认定该特征信息有效。 E.Robust Relative Pose Estimation 在位姿信息估计的部和其他比较传统的方法一致,通过前面对上一帧中匹配的特征信息恢复的空间坐标信息投影到当前帧中,以当前帧对应的特征点之间构建重投影误差,通过高斯牛顿的方法求解误差函数最小化的情况下对应的位姿信息,为了保证系统的鲁棒性,需要在高斯牛顿的基础上通过 R A N S A C RANSAC RANSAC方法实现模型验证确保结果的正确性。其中对应的函数为 a r g m i n T k , k − 1 ∑ i ∣ ∣ x i l − x ^ i l ∣ ∣ + ∣ ∣ x i r − x ^ i r ∣ ∣ argmin_{T_{k,k-1}}\sum_i||x_i^{l}-\hat x_i^{l}||+||x_i^{r}-\hat x_i^{r}|| argminTk,k−1i∑∣∣xil−x^il∣∣+∣∣xir−x^ir∣∣
文中通过对应的SSLAM发法和已有的其他视觉SLAM方案进行的对比验证。
文章是一种基于特征点的视觉里程计算法,通过INSAD和KLT实现特征信息的匹配和跟踪,通过循环匹配操作提高特征匹配、跟踪之间的精度,结合极线的几何信息避免了一部分的特征信息的获取,为整个系统的运行节省时间。整个系统不需要BA优化算法以及回环检测,比其他的方案更能适应一般的场景。未来的工作是提出相应的基于关键帧的视觉SLAM,这样能够避免冗余的信息和位姿信息之间不必要的误差。