Colmap学习四:后端resection部分(后方交会,PnP、P3P、EPnp、Nakano P3P)

PnP、P3P算法已经相对比较成熟,影响最后结果的主要是点的分布是否均匀,需要寻找Best view selection。

1 后方交会(resection)

模块:位于初始化之后,三角化之前
目的:恢复相机相对于世界坐标系的位姿
算法:PnP (Perspective-n-Point) ,是3D到2D
计算前提:有位姿的6个未知参数,需要至少3对点才能求出唯一解

2 Best view selection

view的选择

  • 不但会影响pose估计的质量
  • 还会影响后续的三角化的精度和完整性

SFM以往的选择方案:

  • 只按照可视点的数量
  • 按照三角化点数与可视点数比值的大小

colmap提出了一种打分机制筛选:

  • 宗旨:view视图中的可视点越多、分布越均匀,打分越高。
  • 方法:打分金字塔,分三级网格,打分基数为2、22、23
    • e.g.图score=66 = 2 * 1 + 22 * 4+23 * 6,即
      • 一级网格中所有点只在1个格中
      • 二级网格所有点分布在4个网格
      • 三级网格中分布在6个网格

Colmap学习四:后端resection部分(后方交会,PnP、P3P、EPnp、Nakano P3P)_第1张图片论文实验三种方法的对比,可以看到这个打分机制还是行之有效的:
Colmap学习四:后端resection部分(后方交会,PnP、P3P、EPnp、Nakano P3P)_第2张图片

3 PnP

很多博客和讲解都忽略了一些符号定义的解释,让人看起来云里雾里的。

这里找到了一篇语言严谨、逻辑清晰的PnP讲解,作为参考

Reference:大纲参考网课

你可能感兴趣的:(自动驾驶与三维重建,Colmap,学习)