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