基于自己写的论文笔记与网上资料
我的文章(不推荐看,没有必要…)
https://download.csdn.net/download/qq_44570642/43651479
(这里的位姿指的是相机的参数矩阵,即旋转矩阵R和平移矩阵t,而在https://blog.csdn.net/yuyangyg/article/details/72794172这篇博客中指出可以得到相应的相机世界坐标系下的位置(参照你选择的对应点坐标))
Epnp算法的核心思想
1. 通过PCA的方式获取世界坐标系的4个控制点(vitual control points),用于通过加权求和的方式表示所有的n个3D空间点在世界坐标系下的坐标信息。
2. 已知空间点Pi在世界坐标系下的坐标信息以及上述人为选取的控制点坐标信息,因此可以获得4个对应的加权参数aij的值。
3. 根据欧式变换的不变特性,加权参数在相机坐标系下同样适用,因此可以通过相机内参和加权参数将像素坐标信息和在世界坐标系的的控制点信息构建联系,对每一个3D点都可以获取来个线性方程。
4. 我们的目的是获取4个控制点在相机坐标系下的位姿信息(x,y,z),通过构建ICP问题可以求解相机相对世界坐标系下的旋转R和平移t信息。
在效率上更是以O(n)秒杀其他解决办法
通过选择的n个点来:
计算完
β
\beta
β矩阵后使用牛顿-高斯优化
(我看不懂,但我大受震撼😥)
之后便是进行一系列的测试、对比等…
阅读完后通过这篇文章读到一些实现的细节和算法的使用
https://zhuanlan.zhihu.com/p/59070440
如何选择控制点:
如何求解相机投影模型:
比较可惜的是并未找到完整的实验教程参考。
有一篇看起来比较合适,但是他选取的控制点是自拟的,而且是测试三维的目标点坐标。
https://www.cnblogs.com/singlex/p/pose_estimation_3.html
后面打算继续查找阅读此方面文献、资料等。
尝试对EPnP算法进行复现测试。(opencv实现了此函数,但具体的操作和判优方法还待实验)