[关闭]
@snuffles 2019-04-16T18:01:03.000000Z 字数 2272 阅读 4443

EPNP原理总结

SLAM


@jiayao last update4-16

什么是PNP

根据3D参考点和对应2D的点,估计相机姿态
(the estimation of the pose of a calibrated camera from n 3D-to-2D point correspondences )

原理

用四个控制点的权重和来表示参考点
(express the n 3D points as a weighted sum of four virtual control points

控制点
步骤

推导

选取控制点

世界坐标系下3D参考点


四个控制点

每个参考点都可以用控制点来表示,为均一重心坐标系(homogeneous barycentric coordinates)

相机坐标系下的3D参考点同理也可以这样表示

选择参考点们的重心作为第一个控制点,剩下三个选择和主轴方向一致的点,可以增加解的稳定程度。

计算权重和的特征向量

3D参考点在像素平面的投影为,为相机内参矩阵,是尺度系数


上式中,3D控制点用来表示,控制点在像素平面上投影用来表示,来表示,则有

上式可以消去,化为两个线性的方程组

这两个方程组只关于,
可以统一为

x属于M的右零空间,令为矩阵M的右奇异向量,可以通过求解的零空间特征值得到。

选择合适的线性组合

特征值的个数不是固定的,EPNP计算四种情况1-4,选择重投影误差最小的那种情况,其中dist是像素平面上点,和重投影点齐次坐标的2D距离。


在相机坐标系,和世界坐标系下,控制点之间的距离应该是相同的


四个控制点,可以有6组这样的方程,

高斯牛顿优化

求相机姿态

  1. 控制点在相机参考系下坐标
  2. 参考点在相机坐标系下坐标
  3. 计算世界坐标系下参考点重心
  4. 计算相机坐标系下参考点重心
  5. 计算H
  6. 对于H的SVD分解
  7. 计算位姿中旋转
  8. 计算位姿中平移
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注