困难与ORB-SLAM2算法在MATLAB获得好的结果。

51视图(30天)
你好,
我感兴趣运行ORB-SLAM2算法提出了这个例子:
但有一组不同的图像和相机参数作为输入。我已经成功地建立了模拟和让它工作,但优化轨迹似乎远比一个来自GPS数据。我跑多个测试在不同的场景中,最相关的是下面:
  1. 从上面的链接,按预期运行;
  2. 在美国城市街区虚拟环境与虚幻引擎,我拍摄的视频帧这个例子:https://it.mathworks.com/help/vision/ug/stereo-visual-slam-for-uav-navigation-in-3d-simulation.html,,用它们作为输入。设置参数后,在第二个示例中,获得的结果是好的;
  3. KITTI数据集。脚本但结果并不令人满意的工作;
  4. 在美国城市街区虚拟环境与虚幻引擎,一个轨迹由我使用虚幻引擎模拟选择锚点(https://it.mathworks.com/help/driving/ug/select-waypoints-for-3d-simulation.html)。我设法获得好的结果即使改变相机intrinsic这样KITTI使用的相同;
  5. 另一个户外,城市从虚幻引擎市场下载的虚拟环境,相同的相机参数与前面的情况,但没有好的结果。
一些有用的信息测试:
  • 我创建了一个新的包为每个环境的特性,所述的例子;
  • 最初的姿势已经更新正确的值;
  • 相机intrinsic、基线和所有固有的参数立体声的配置应该是正确地更新;
  • 循环关闭了;
  • 脚本的一些参数被修改以使它能够在新的图像和摄像机:numSkipFrames减少由于KITTI数据集是在只有10赫兹和收购吗numPoints增加由于分辨率高于一个例子的图像;
  • 路径的长度是类似在所有情况下,-800年大约是700米。
我不明白我做错了什么,为什么在两个情况下,而在其它公司没有办法得到一个好的轨迹。
下图显示了我从KITTI获得序列。
我跑过很多,现在看来,即使很小的一些参数的变化结果有很大的差别。例如, numSkipFrames = 3 可能工作得很好,但是 = 2 = 4 有害的后果。这是应该发生吗?在任何情况下,我得到的结果是没有比这里显示是什么(从地图上点同样清楚的是,优化轨迹是倾斜的XY平面)。
我相当新的大满贯的世界里,我希望我已经正确地指出我的问题。我将非常感激,谁能给我一些建议得到好的结果即使KITTI或其他图像集。当然,我可以提供任何额外的信息可能是有益的。
谢谢你!

接受的答案

曹曲
曹曲 2022年12月9日
谢谢你发帖的问题。
一般来说,调优的hyperparameters视觉大满贯系统很难,需要耗费大量的启发式。你已经确定了关键hyperparameters,等 numSkipFrames numPoints, 并朝着正确的方向前进。
你看到在不同的行为 numSkipFrames 值可能归因于一些特定的帧的数据集,导致疲软的跟踪(匹配点的数量太小)。当您设置 numSkipFrames = 3, 框架的系统跳过事故。这是我的猜测,我完全同意你视觉大满贯系统更健壮,结果应该更容易预测。我们正在积极努力,你应该能够看到进步很快。
关于大满贯系统调优技巧,你会发现这一点 帖子 有帮助的。有一个脚本与上述KITTI我能找到的最好的参数数据。
1评论
大卫。S。
大卫。S。 2022年12月11日
瞿感谢您的回答。
我很高兴听到,我可能不会犯重大的错误。经过很多考验和hyperparameters改变我设法获得错误有点类似与这个例子中,所以现在我满意的结果。特别是,似乎做了一个重要的区别是什么增加迭代的数量 bundleAdjustement 完善当地的关键帧和映射点和分离 minNumMatches 在两个不同的参数:一个 helperCreateNewMapPointsStereo 和其他 optimizePoses ,增加第二 One hundred.
行为与numSkipFrames完美意义现在你点出来。谢谢你的解释。
我希望你继续你的工作,节日快乐!
大卫。

登录置评。

更多的答案(0)

类别

找到更多的在图像处理和计算机视觉帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的