P3P位姿估计推导

之前博客已经讲过P3P算法了《学习笔记之——P3P与ICP位姿估计算法及实验》本博文是具体推导的整理

接下来的过程就是如何通过上述两个式子求解ABC在当前相机坐标系下的坐标。首先需要明确的是哪些量是已知量,输入的是3D-2D的坐标,也即

 

https://i-blog.csdnimg.cn/blog_migrate/a4c17adf0f938ae9dbf53e65a22a382a.png

都是已知的。因为首先ABBCAC的距离都是可以根据输入的3D点求得,而输入的2D点可以求解三个余弦值(如何求解,像素坐标根据相机内参矩阵和畸变参数可以求得在归一化图像平面上的3D坐标,此时 z=1,故余弦值可求)。此时未知数仅xy两个,所以理论上两个未知数两个方程,是可求的。(从xyOAOBOC也可求)

  具体的求解过程:

  首先是根据2D坐标求解余弦值得过程,首先是由像素坐标到归一化图像坐标的转变,根据就是相机模型

https://i-blog.csdnimg.cn/blog_migrate/ef781bac695b96d5a8c7fd5d82ba9615.png

https://i-blog.csdnimg.cn/blog_migrate/7027c00c2d8a43652315cd111ab869c2.png

https://i-blog.csdnimg.cn/blog_migrate/6bcf764c0e9c2ce8d2bdb5444775374a.png

然后是L2归一化的过程,我们知道求解角度的时候用的是归一化坐标(此归一化非彼归一化,上面是归一化到z值等于1的平面上,这里讲的是数学上的归一化)

https://i-blog.csdnimg.cn/blog_migrate/958f2373650c569280f7379e541dacee.png

有了上述值就可以求解余弦值了

https://i-blog.csdnimg.cn/blog_migrate/0370d9f3111072ef1ce9656211b4fe1f.png

https://i-blog.csdnimg.cn/blog_migrate/a00add31db10c2007490404b3231c3fb.png同理可求。

  根据3D坐标求解ABACBC的值,以AB为例

https://i-blog.csdnimg.cn/blog_migrate/b26a4873c971d97d8edd4fceb10ff834.png

ACBC同理可求,所以vw也可以求解。

   接下来就是一个二元二次方程的求解,比较难求,但是这在数学上是可以求解的,需要用到Wu Ritt的零点分解方法,它可以将原方程等效成一组特征列(Characteristic Serial, CS),凡是原方程组的解都会是CS的解,但是CS的解不一定是原方程的解,所以需要验证,这里的等效方程为:

https://i-blog.csdnimg.cn/blog_migrate/76a9b34bea55cd4b184277ab809ccf0b.png

其中的未知数a1~a4都是已知的,因为原方程的系数是已知的,后文有系数附录,因此我们可以求得xy的值,4次方程组理论上有4组解,但其实只有一组是合适的。

  求得了xy的值,就可以求取PAPBPC的值,根据下面的公式,AB已知,可以先求PC,然后分别求解PBPA

https://i-blog.csdnimg.cn/blog_migrate/16f5115000916716b8afc8134a6b9c09.png

 但是我们需要的是ABC在相机坐标系下的坐标,而不是PAPBPC的长度,所以还需根据长度求取点的坐标,求解方法是用向量公式:

https://i-blog.csdnimg.cn/blog_migrate/4b21e31460ce0368013bf7adcd0091ef.png

其中a是单位向量,||PA||是模值,所得即A在相机坐标系下的坐标。

最后求得了ABC的坐标就可以通过世界坐标系到当前相机坐标的变换求解相机位姿

https://i-blog.csdnimg.cn/blog_migrate/46fe1721f31858269f8cedc16767f696.png

 

其中下标c表示Camera,w表示World。 

https://i-blog.csdnimg.cn/blog_migrate/62d054404a6e06ad9002d591c763fb48.png

https://i-blog.csdnimg.cn/blog_migrate/0bb30164d2502a1abc1ec9e3fd3dd4e8.png

如上图所示,当合作标志特征点个数为3时,且3点不共线时,记

https://i-blog.csdnimg.cn/blog_migrate/02b6d53983e247668431c89a4408d1f7.png

https://i-blog.csdnimg.cn/blog_migrate/c2a2aa88d69f65bbcc976c64f08b37be.png

​参考资料

https://www.cnblogs.com/mafuqiang/p/8302663.html

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值