问题描述
已知n个空间点在世界坐标系下的坐标及其图像坐标系下的坐标,所要求解的问题是如何根据空间点和图像点之间的对应关系求解旋转矩阵R和平移向量t。
EPnP基本思路
-EPnP算法将世界坐标系中的3D坐标表示为一组虚拟的控制点的加权和。对于一般情形,EPnP算法要求控制点的数目为4,且这4个控制点不能共面。通过求解4个控制点在相机坐标系下的坐标,就可以进一步求解出相机位姿
求解虚拟控制点图像坐标
-
在世界坐标系中设定4个非共面虚拟控制点,齐次坐标记为
注意这里是在世界坐标系中设定控制点
四个点通常选为:
image
-
空间点的世界坐标和控制点有如下关系
向量可以看作空间点在以控制点为基的欧氏空间的坐标。
同样的由于线性关系在欧式变换下的不变形有:
-
空间点和图像点的投影成像关系为:
设控制点相机坐标系下,则
把上面两个式子结合可得:
令,,所以Z是1*12的向量
n个空间点可以得到线性方程组:
其中,每个元素是控制点在摄像头坐标系下的坐标。
可以计算的特征向量得到 ,但还需要求出
对于第i个控制点:
是特征向量的第i个3×1 sub-vector
- 高斯牛顿优化:
摄像头的外参描述的只是坐标变换,不会改变控制点之间的距离
优化目标函数:
计算相机位姿
- 控制点在相机坐标系下的坐标
- 计算3D参考点在摄像头参考坐标系下的坐标:
- 计算的重心和矩阵A:
- 计算的重心和矩阵B:
- 计算H:
- 计算H的SVD分解:
- 计算旋转R
如果,那么 - 计算平移t:
网友评论