Advertisement

DMO:使用点线特征的单目直接视觉里程计

阅读量:

跟踪:

跟踪过程中深度图与参考帧假设不变。当前帧的位姿由光度观测模型和edge位置观测进行对齐,利用光度误差和线的重投影误差构造最小二乘:

其中线重投影误差的不确定度为:

方程可用高斯牛顿法解算,扰动量设置为:

线方程可以用两个端点表示:

Mapping:

Mapping过程中位姿假设不变。通过代价函数优化深度:

对于没有匹配边缘的像素或边缘上没有匹配边缘的像素,通过最小化SSD误差对立体匹配像素进行彻底搜索。对已匹配的edge,在另一帧上,重投影点应该在在匹配的线以及epipolar线上。之后用三角化计算所有像素点的深度值。

如果两帧间的旋转和平移矩阵已知,则3D线可以由两个重投影面的交线表示:

由于epipolar线和投影线都有位置误差,这会导致重投影的点具有不一致性误差:

不一致性误差的方差为:

利用反深度d与视差成正比的近似,我们可以用方程计算d的观测方差,然后用标准的EKF滤波来更新像素的深度方差。

由于三维点是从同一2d边向后投影的,它们应该位于射影几何的同一平面g上,我们可以创建另一个坐标系f,它的x;Y轴位于平面G上。新坐标系上的变换点表示为p0。我们首先使用RANSAC选择一组Inlier2d点。RANSAC的度量是Mahalanobis距离,它是一个加权像素到线的欧氏距离,考虑到不确定性:

RANSAC后,我们可以找到最大的一致点集。这成为一个2d加权线拟合问题,我们想找到最佳线L:

将所有的点坐标堆到一起成为矩阵[X,Y],线模型可以表示为:

可以到的高斯噪声下优化后的线:

然后,我们可以将坐标帧f中的最优线l转换回原来的摄像机光学帧,并确定线上的像素深度。

全部评论 (0)

还没有任何评论哟~