对极几何,PnP,ICP 和BA之间的关系

时间:2024-03-22 18:00:15

一.基本概念

注意这里的BA 指的就是目标函数中的f函数为普通相机的观测方程的非线性优化解算方法,所以本文中BA与非线性优化同概念.

对极几何,PnP,ICP 一般都只用于前端,为BA提供初值(这里的BA可能是前端也可能是后端),但是PnP和ICP都可能会用到BA的方法.

BA在前端后端都会用到,前后端也就是所谓的范围的问题,前端可能只在相邻几帧进行BA操作,后端的范围就要大的多

二.对极几何+三角测量

一般使用八点法计算本质矩阵E.然后通过SVD分解出相机的运动R和t.

获得了相机运动,之后再求解三维点的坐标(三角测量).注意和BA的边缘化是不同的啊.

对极几何,PnP,ICP 和BA之间的关系

对极几何,PnP,ICP 和BA之间的关系

和ransac的关系:要计算基础矩阵至少需要8 个点(使用8 点算法)。点越多越好,可以使用RANSAC 算法得到更加稳定的结果。

ransac(百度百科):RANSAC为Random Sample Consensus的缩写,它是根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。

三.PnP

3D-2D,最少只需要四个点,三个点解算,一个点验证.

双目和RGB-D相机可以从一开始就使用PnP进行解算(虽然不知道为什么RGBD不直接用ICP,却要用PnP),但是单目相机必须一开始用对极几何然后才可以用PnP.

对极几何,PnP,ICP 和BA之间的关系

PnP可以用线性方法求解,往往是先求相机位姿,再求空间点位置,而非线性优化则是把它们都看成优化变量,放在一起优化。这是一种非常通用的求解方式,我们可以用它对 PnP 或 ICP 给出的结果进行优化。在 PnP 中,这个 Bundle Adjustment 问题,是一个最小化重投影误差(Reprojection error)的问题。

四.ICP

对极几何,PnP,ICP 和BA之间的关系