Direct Line Guidance Odometry简介

tech2024-06-04  70

Direct Line Guidance Odometry简介

AbstractIntroductionRelated WorkMethodTrackingMappingExperiment 本文主要的创新点是结合直接法为关键点的匹配、跟踪加入线性的几何约束,使得在后续的一些列操作中提高恶劣关键点的精度进而鲁棒性,使得系统的位姿估计精度也有所提高。

Abstract

视觉里程计的传统方法主要分成基于特征信息以及基于像素亮度信息的直接法,在特征信息的方法中特征点的方法由于较低的计算量而被广泛运用,但最近的研究发现线性特征信息可以明显的提升视觉里程计位姿信息的估计精度。本文中所提出的方法是一种基于直接法求解点信息的视觉里程计方案,与其他传统的点方法所不同的是本文通过线性特征引导特征点信息,而非直接使用线性特征信息参与估算,使得视觉里程计精度更高、鲁棒性更好。

Introduction

针对当前视觉里程计的俩种主流的方法,直接法和基于特征信息的方法相关的成功案例进行介绍,其中基于特征信息的方法主流的是特征点的方法,然而基于特征线的方法可以有效的提高视觉里程计精度和鲁棒性,当增加了系统的计算量,因此本文提出的方案不以线性特征为主,而是通过线性特征引导特征点,这样相比于以往自由随机的获取点分布而言本文提出的方案中直接法的点之间具有一些的位姿信息相关性,即通过对一条线上的等距分布的点进行终身的位姿校准使得特征点更加精确,为后续的位姿信息估计提供了更加精确的匹配、跟踪关系,使得系统精度变高、稳定性提升。

Related Work

该部分介绍了当前比较主流的一些视觉SLAM或里程计方案的优缺点。

Indirect Point-Based methods: 快速有效、但在语义不丰富的场景下容易丢失。Direct Point-Based methods: 精度更高、当容易受到光照变换的影响。Indirect Point-Line-Based methods: 提升系统的鲁棒性,但会增加整个系统的计算量。Direct Point-Line-Based methods: 使得系统精度更高,但增加了系统的计算量,使得系统效率降低。

Method

这部分主要对本文中提出的系统框架进行整体的介绍,系统框架如下: A.System pipeline 整个系统是基于直接法的位姿信息求解,为了避免关照变化对系统造成的影响,文中根据之前一些相关的直接法处理方案提升了系统对光照的鲁棒性能。 整个系统主要分为tracking和mapping俩部分进行介绍,在tracking中对新加入的图像帧进行跟踪,同时对IP和IL的位姿进行校准。在mapping中,首先创建一个关键帧,之后通过滑动窗口进行局部优化,最后在新的关键帧中创建IL和IP。 B.Point-Line Management 文中的跟踪点信息通过周围的像素梯度信息进行描述,线通过在其上面的点进行描述,通过线上的来个端点对线进行描述。整个系统的点和线可以分为俩部分,一部分是Immature另一部分是参与局部优化的Active,相关的定义有IP(Immature Point)、IL (Immature Line)、ILEP (Immature Line End Point) 、ILCP (Immature Line Common Point) 、AP (Active Point)、AL (Active Line)、ALEP (Active Line End Point)、ALCP (Active Line Common Point)。 C.Photometric Error Model 构建点信息的误差函数模型公式: E p j = ∑ p ∈ N p w p ∣ ∣ ( I j [ p ′ ] − b j ) − t j e a j t i e a i ( I i [ p ] − b i ) ∣ ∣ γ E_{pj}=\sum_{p\in N_p}w_p||(I_j[p']-b_j)-\frac{t_je^{aj}}{t_ie^{ai}}(I_i[p]-b_i)||_\gamma Epj=pNpwp(Ij[p]bj)tieaitjeaj(Ii[p]bi)γ该误差公式表示参考帧 I i I_i Ii中的像素点在目标关键帧 I j I_j Ij中对应的投影信息误差。其中 N p N_p Np表示模块匹配中的所有像素点, t i , t j t_i,t_j ti,tj分别表示俩帧图像 I i , I j I_i,I_j Ii,Ij的曝光时间, ∣ ∣ ∗ ∣ ∣ γ ||*||\gamma γ表示核函数,梯度权重参数 w p = c 2 c 2 + ∣ ∣ ∇ I i ( p ) ∣ ∣ 2 2 w_p=\frac{c_2}{c_2+||\nabla I_i(p)||_2^2} wp=c2+Ii(p)22c2其中 c c c表示一个固定常数, p ′ p' p表示点 p p p的投影点信息,对应的深度为 d p d_p dp p ′ = π C ( R π C − 1 ( p , d p ) + t ) p'=\pi_C(R\pi_C^{-1}(p,d_p)+t) p=πC(RπC1(p,dp)+t)这里的 R , t R,t R,t分别表示从图像帧 I i I_i Ii I j I_j Ij之间的旋转矩阵信息和平移向量, C C C表示相机参数, π C \pi_C πC表示将相机坐标系下的空间点坐标投影到图像平面坐标上的函数,对应的 π C − 1 \pi_C^{-1} πC1表示反变换,公式中的 a i , a j , b i , b j a_i,a_j,b_i,b_j ai,aj,bi,bj是文献[22]中的提到的相机参数。 针对线性的误差函数则可以表示为 E l j = ∑ e ∈ E E e j + ∑ p ∈ P E p j E_{lj}=\sum_{e\in E}E_{ej}+\sum_{p\in P}E_{pj} Elj=eEEej+pPEpj其中, e , p e,p e,p分别表示线的端点和线上的采样点。

Tracking

该部分主要对Tracking线程进行介绍:

对每一帧的输入帧进行与上一帧的跟踪操作;然后对在Active中的所有IL和LP的位姿信息进行调整;最后具有足够视差信息的图像信息进行关键帧判别和添加

A.Initial Frame Tracking 对新传入的图像帧进行初始化操作,首先通过不同尺度的图像金字塔操作和运动模型将当前帧与上一帧图像对齐,如果对齐失败就在不同的方向初始化27个不同的旋转信息。 B.Line Guidance Refinement 在Active中的IL和IP都要进行位姿信息的校准。 1) IP Refinement: 如果一个AP沿着当前帧中的极线进行搜索,通过获取在当前帧中的对应位置更新该点在Active中的深度,如果该点所在的IL不在视野范围内或深度不确定性太大就标志该点失败。 2) IL Adjustment: 对于线性信息,对其上的ILCP和ILEP进行和IP一样的操作,但ILCP校准失败直接去除,当ILEP失败对该线上的所有点都进行重新校准,将所有剩下的点组成线。当某个线上的点少于3个时直接将剩余的点转换为IP类型。这一步是为了实现对视野范围内的线性信息进行必要的校准。 C.IL Refinement 通过上一步对IL的调整,这一步对IL上的所有点的位置结合线性几何信息进行校准,首先将IL上的ILCP和ILEP投影到空间坐标中,然后更具这些点的投影拟合一条空间线,之后将该线重投影到帧的图像平面中,通过根据线性先验信息将新帧中的ILCP和ILEP投影到图形帧中。 与传统的自由的特征点信息不同的是,本文中的点结合梯度信息和线性的几何先验信息更加稳定、可靠,可以提高系统的精度和鲁棒性。

D.New Keyframe Decision 新关键帧的确定需要结合帧的可视信息变换、相机平移量变换以及曝光时间等权重参数判定。

Mapping

对于每次传入的新的关键帧而言,将Active中的所有帧中的AP和AL投影到当前关键帧并构建半稠密的点、线图,之后会对所有的AP和AL以及相机参数进行优化,在新的关键帧中生成IL和IP。 A.Sliding Window Optimization 滑动窗口优化定义一个窗口对窗口中包含的所有AP和AL进行位姿信息优化,定义误差函数 E p = ∑ i ∈ k ∑ p ∈ P ∑ i ∈ o b s ( p ) E p j E l = ∑ i ∈ k ∑ l ∈ L ∑ i ∈ o b s ( l ) E l j E_p=\sum_{i\in k}\sum_{p\in P}\sum_{i\in obs(p)}E_{pj}\\E_l=\sum_{i\in k}\sum_{l\in L}\sum_{i\in obs(l)}E_{lj} Ep=ikpPiobs(p)EpjEl=iklLiobs(l)Elj k k k表示窗口中的关键帧数量, P , L P,L P,L表示某一关键帧中的所有待优化的点和线, o b s ( ∗ ) obs(*) obs()表示所有其他Active关键帧中可以观测到的点、线信息。 B.AL Refinement 对AL的位姿进行调整,通过AP对AL的位姿信息进行调整,类似IP和IL之间进行的位姿调整, C.IL and IP Generation 1) IP Generation: 新的点的生成过程为,将图像构建3层金字塔模型,每一层模型分层多个栅格,将每个栅格中对应的梯度值最高的点作为信息点。 2) IL Generation: 对于线信息的获取需要文中通过LSD方法实现,首先将图像信息进行高斯模糊处理,然后将距离太进或者角度太近的线进行融合,对线信息之间距离的定义如下 D ( I 1 , I 2 ) = m i n ( d 1 + d 2 , d 3 + d 4 ) D(I_1,I_2)=min(d_1+d_2,d_3+d_4) D(I1,I2)=min(d1+d2,d3+d4) 一旦获取了IL那对应的ILEP和随机采样的ILCP都已知。

Experiment

最新回复(0)