如何解决视觉测距法后,应进行三角测量以进行束调整
我正在逐步从单眼视觉测距管道建立束调整。使用2D-2D功能对应关系(例如ORB功能),已编写了简单的VO管道。最重要的是,在通常10帧的窗口中,每个帧中的公共点都存储在数组中。因此,如果总共有10帧,则这是10帧末尾可用的不同输出。
- 9个相似度转换(4x4),即
i
的帧i+1
和i=0:9
之间的一次转换 -
10xN
个关键点值,其中在所有10个帧中跟踪N
个公共关键点。N
通常是25
。每个关键点的格式为(x,y)
现在,要在此窗口中执行任何类型的束调整,必须找到公共点的3D位置。我的问题是,如何获得3D点。我知道3D点是通过使用它们之间的帧变换对相应2D点进行三角剖分而获得的。 (使用cv2.triangulatePoints
)但是,必须选择哪些框架进行三角剖分?假设3D点相对于框架0
的参考,有很多选择可以进行三角剖分。即一个人可以选择框架1
并进行三角剖分以获得3D点,或者甚至可以选择框架9
并通过应用框架0
和9
之间的变换进行训练(仅通过链接帧间翻译),或类似地介于两者之间的任何帧。
从理论上讲,如果所有帧间姿态估计都是正确的(具有正确的比例),则使用帧0
和任何其他帧进行三角剖分的3D点应相同。但是,束调整的重点是细化稍微不正确的姿势估计。我的理解是,所有姿势的准确性在很大程度上取决于初始三角剖分3D点的准确性。因此,为了获得最佳性能,最佳的框架选择是什么。如何做到这一点?
还是有一种无需显式三角剖分即可执行束调整的方法?
注意:请不要建议将视觉里程计流水线(使用2D-2D对应关系)更改为PNP算法,因为我想知道如何针对纯2D-2D情况(使用基本矩阵)来做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。