微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

视觉测距法后,应进行三角测量以进行束调整

如何解决视觉测距法后,应进行三角测量以进行束调整

我正在逐步从单眼视觉测距管道建立束调整。使用2D-2D功能对应关系(例如ORB功能),已编写了简单的VO管道。最重要的是,在通常10帧的窗口中,每个帧中的公共点都存储在数组中。因此,如果总共有10帧,则这是10帧末尾可用的不同输出

  1. 9个相似度转换(4x4),即i的帧i+1i=0:9间的一次转换
  2. 10xN个关键点值,其中在所有10个帧中跟踪N个公共关键点。 N通常是25。每个关键点的格式为(x,y)

现在,要在此窗口中执行任何类型的束调整,必须找到公共点的3D位置。我的问题是,如何获得3D点。我知道3D点是通过使用它们之间的帧变换对相应2D点进行三角剖分而获得的。 (使用cv2.triangulatePoints)但是,必须选择哪些框架进行三角剖分?假设3D点相对于框架0的参考,有很多选择可以进行三角剖分。即一个人可以选择框架1并进行三角剖分以获得3D点,或者甚至可以选择框架9并通过应用框架09间的变换进行训练(仅通过链接帧间翻译),或类似地介于两者之间的任何帧。

从理论上讲,如果所有帧间姿态估计都是正确的(具有正确的比例),则使用帧0和任何其他帧进行三角剖分的3D点应相同。但是,束调整的重点是细化稍微不正确的姿势估计。我的理解是,所有姿势的准确性在很大程度上取决于初始三角剖分3D点的准确性。因此,为了获得最佳性能,最佳的框架选择是什么。如何做到这一点?

还是有一种无需显式三角剖分即可执行束调整的方法

注意:请不要建议将视觉里程计流水线(使用2D-2D对应关系)更改为PNP算法,因为我想知道如何针对纯2D-2D情况(使用基本矩阵)来做到这一点。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。