PnP(Perspective-n-Point),顾名思义,(相机中的投影-n个-空间点),用括号表示,说明前后是一个匹配对,需要n对。
图片中有很多的特征点,可以用opencv提取出来。对于每一个特征点而言,可知其像素坐标,它是个二维向量,记(u,v),其对应的空间点位置,在世界坐标系中是个三维向量,记(X,Y,Z),可以从深度图中获得。
有了这些,就可以用来求解相机的位姿。
怎么求?有两种典型方法。
- DLT(Direct Linear Transform)
- BA(Bundle Adjustment)
DLT,比较简单,就是用相机模型建立数学关系,最后求出相机位姿。
BA,是本文重点整理方法。我认为这是《SLAM十四讲》里的精华。因为BA联系了“李群李代数”、“相机与图像”、“非线性优化”的知识,是“集大成者”。整体思路是“通过求解优化问题,求解解相机位姿”。
三维空间点P及其投影p,
{\sigma}_{k}(n)=\sum_{d|n}^{}{d}^{k}