[关闭]
@snuffles 2019-04-18T01:44:09.000000Z 字数 2759 阅读 1135

EPNP README

SLAM


@last update: 4.16

HomeWork 4.13-4.20

  1. EPNP
    According to the paper:EPNP,complete the EPNP functions.

    Lepetit V, Moreno-Noguer F, Fua P. Epnp: An accurate o (n) solution to the pnp problem[J]. International journal of computer vision, 2009, 81(2): 155.

  2. Including

    • Compiling with Cmake tool chain.
    • Available Libray: Eigen , openCV
    • Unit Testing: google-test
  3. to be Submitted

✅ 环境配置 cmake,opencv343,eigen
✅ feature extraction, matching
✅ opencv solver,eigen solver
✅ 原理总结,画图
todo: gtest,
img

result: 从打印结果R,T看,两种解法求出的相机姿态基本相同
r,t


EPNP原理总结

什么是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

步骤
控制点
PNP问题
参考点
求解beta

推导

选取控制点

世界坐标系下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. 计算位姿中平移
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注