假设我有一个行车记录仪的视频。我想使用运动技术的结构来构建记录的场景的点云。首先,我需要跟踪一些观点。
哪种算法可以产生更好的结果?通过使用稀疏光流(Kanade-Lucas-Tomasi跟踪器)或密集光流(Farneback)?我做了一些实验,但无法真正决定。他们每个人都有自己的优点和缺点。
最终目标是获取场景中录制的汽车的点云。通过使用稀疏光流,我可以跟踪汽车的有趣点。但这将是非常难以预测的。一种解决方案是在图像中制作某种网格,并强制跟踪器跟踪每个网格中的一个有趣点。但我觉得这很难。
通过使用密集流,我可以得到每个像素的运动,但问题是,它无法真正检测到只有很少运动的汽车的运动。此外,我怀疑算法产生的每个像素的流量都是准确的。另外,有了这个,我相信我只能在两帧之间获得像素移动(不像使用稀疏光流,我可以在其中获得同一个有趣点的多个坐标t
)
答案 0 :(得分:1)
您的标题表示SFM包含姿势估计,
跟踪只是第一步(匹配),如果你想要视频中的点云(非常艰巨的任务),我会想到的第一件事就是捆绑调整,这也适用于MVE,
然而,对于视频我们可以做得更多,因为帧彼此太接近,我们可以使用更快的算法,如(光流),/比匹配SIFT /并从中提取 F 矩阵,然后:
E = 1 / K * F * K
回到原来的问题,更好的是:
1)密集光流,或
2)稀疏。
显然你正在离线工作,所以没有速度的重要性,但我会推荐稀疏的,<强>更新强>
对于3D重建,密集可能看起来更有吸引力,但正如你所说,它很少很强大,所以你可以使用稀疏但添加尽可能多的点半密集,
我不能说出一些可以做到这一点的方法,比如 mono-slam 或 orb-slam
最终更新
在我之前写的时候使用半密集,但SFM总是假设静态对象(没有移动)或者它永远不会工作。
实际上使用图像中的所有像素是从未用于三维重建的东西(不是直接方法),并且总是SIFT被称赞为特征检测和匹配的方式,最近所有像素都用于不同类型的校准,例如:直接稀疏测距和 LSD 称为直接方法