我正在研究移动单目相机 3d 检测问题。到目前为止,它有两个主要组件:
- 使用卷积网络(F-RCNN、SSD、YOLO)检测图像平面(2d)中的对象。我能够在移动相机上的至少两帧中检测到相同的物体
- 通过三角测量找到检测到的物体的 3d 位置。为此,我正在构建类似于此处的本地捆绑调整过程的(简化)版本。我的步骤是:
- 初始化。从前两帧中提取特征(ORB,SWIFT),匹配它们(FLANN),找到 EssentialMatrix,找到第二帧相机矩阵(R|t)并将匹配三角化为 3d。
- 对于每个连续的帧:提取特征,与前一个匹配,找到已经有相应 3d 点的匹配,找到帧相机矩阵(通过 PnP),然后对没有 3d 点的匹配进行三角剖分以创建新的 3d 点。之后,我运行本地捆绑优化(在谷神星上)来调整最后 n 个摄像机(帧)的姿势和 3d 点。
- 我得到的结果:
有人可以验证我正在做的事情是否有意义?我跳过了一些重要的事情吗?这可以做得更简单吗?有没有类似的例子?谢谢!