视觉SLAM的特征点三角化

视觉SLAM的特征点三角化

特征点三角化(Triangulation)是VSLAM中一个非常基础的问题,它是根据特征点在多个相机下的投影恢复出特征点的3D坐标。

特征点在某个相机中被观测到,根据相机位姿和观测向量可以得到3D空间中的一条从相机中心出发的观测“射线”,多个相机位姿观测会产生多条观测射线,理想情况下这些观测射线相交于空间中一点,求所有观测射线的交点就是特征点在3D空间的位置,这就是三角化最朴素的思想。

实际中由于噪声的存在,这些观测射线不可能刚好相交于一点,那如何求特征点坐标呢?有几种思路:

  1. 最直觉的思路是:找一个3D点与所有观测射线的距离都很近,以此作为特征点。

  2. 另一种思路觉得:误差来源于2D图像观测,所以把特征点投影到每个2D相机平面,最小化所有2D投影点到对应观测点之间的距离(重投影误差)。

  3. 第三种思路是:很多时候三角化是在线(Online)运行的,并不是全部观测都拿到以后再进行求解,而是一边获取观测一边估计特征点,所以用一个滤波器来估计特征点的概率分布(通常是Gaussian),旧的观测信息被隐式的存放在概率分布中,来了新的观测后,用新的观测来更新特征点的概率分布,这样能够节省很大的计算量,这就是滤波方法的朴素思想。

image

附赠自动驾驶学习资料和量产经验:链接

0. 问题定义

image

1. 闭式求解

1.1 最小化3D距离

Shen Shaojie. Vision-Based State Estimation and Trajectory Control Towards High-Speed Flight with a Quadrotor​pdfs.semanticscholar.org/7b9e/7b5c372692f6dedad0bfba4771e9e278e2a5.pdf

最小化3D距离的目标是:在世界坐标系下求一个3D点离所有观测射线的3D距离最近。

image

优化问题等价于求线性方程组的最小二乘解:

image

1.2 Direct Linear Transform

《Multiple-View Geometry》第12章​all-med.net/pdf/multiple-view-geometry-in-computer-vision/

image

image

DLT的目标函数到底优化的是什么?

image

2. 优化方法

优化方法基本都是最小化重投影误差(图像平面或Normalize平面),当然你也可以优化特征点到观测射线的3D距离,但这个有闭式解,没必要做优化迭代,而优化重投影误差是个非线性优化问题。

先思考一个问题:既然已经有了闭式解法,为什么还要做优化迭代呢?闭式求解它不香吗?

实践证明,闭式求解确实不香,至少没有优化方法香。其实很好理解,我们把最小二乘解理解为将误差项建模为高斯分布情况下的最大似然估计,闭式方法将高斯误差加在特征点到观测射线的距离上,而实际误差来源于图像观测,所以将高斯误差加在图像平面的距离上更符合实际。因此一般做三角化都是先用闭式解得到初始值,然后在此基础上优化重投影误差,以获得比闭式解更高的精度。

优化方法的目标函数为:

image

image

优化对象不一定是特征点的xyz坐标,也可以优化逆深度等其他特征表示。

得到Jacobian之后,就是常规的非线性最小二乘求解了,常用的方法有高斯牛顿法、LM法、Dogleg法,参见

《Methods For Nonlinear Least Squares Problem》​www.ltu.se/cms_fs/1.51590!/nonlinear_least_squares.pdf

3. 滤波方法

3.1 EKF-SLAM

image

3.2 Depth Filter

SVO: Fast Semi-Direct Monocular Visual Odometry​www.researchgate.net/profile/Davide_Scaramuzza2/publication/262378002_SVO_Fast_Semi-Direct_Monocular_Visual_Odometry/links/02e7e5378a3f0ba50a000000/SVO-Fast-Semi-Direct-Monocular-Visual-Odometry.pdf?origin=publication_detail

image

image

image

  • 20
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值