2

假设我有一台行车记录仪的视频。我想用运动技术构造记录场景的点云。首先我需要追踪一些观点。运动与光流的结构

哪种算法可以产生更好的结果?通过使用稀疏光流(Kanade-Lucas-Tomasi跟踪器)或密集光流(Farneback)?我已经尝试了一下,但不能真正做出决定。他们每个人都有自己的长处和短处。

最终目标是获得场景中已录制汽车的点云。通过使用稀疏光流,我可以跟踪汽车的有趣点。但这是相当不可预测的。一种解决方案是在图像中制作某种网格,并强制跟踪器跟踪每个网格中的一个有趣点。但我认为这会很艰难。

通过使用密集的流动,我可以得到每个像素的运动,但问题是,它不能真正检测到只有很少运动的汽车的运动。另外,我怀疑算法产生的每个像素的流动都是准确的。此外,我相信我只能得到两帧之间的像素移动(不同于通过使用稀疏光流,我可以获得沿着时间的相同有趣点的多个坐标)

+0

您是否尝试过使用SIFT功能的SfM的常用方法? – Sunreef

+0

使用两者的情况如何? – Micka

+0

@Sunreef我刚刚尝试过'追踪(gftt)'的好功能。 SIFT怎么能比'gftt'更有用? – Hilman

回答

1

您的标题表示SFM其中包括姿态估计

跟踪只是第一步(匹配),如果你想从视频(非常艰巨的任务),点云我想的第一件事,就是束调整这也适用于MVE ,

尽管如此,对于视频我们可以做更多,因为帧ar È太靠近彼此,我们可以使用更快的算法像(光流),/比匹配SIFT /并从中提取˚F矩阵,则:

E = 1/K * F * K

QR你可以找到R,T,

你也应该初始化为单位矩阵第一图像[R和零为牛逼

你如何能实现这一切,我建议使用OpenCV的或其他图书馆,

回到你原来的问题,什么是更好的:

1)高密度光流,或

2)稀疏的一个。

显然你离线工作,所以没有速度的重要性,但我会建议稀疏的,因为它会使工作更容易估计后来的姿势,(更少的点==>更高的准确性),并且由于角落是重构/不是图像中每个像素的事情/,你可以改变它的参数以适合你,并且你可以初始化(goodFeaturesToTrack)你想要的每一帧数。

多数民众赞成说,我想看看你的工作,如果你能共享代码和视频与我们合作,/它的实际匹配我当前的工作领域,现在/

P.S。

我会继续编辑这个答案,因为我自己取得了更多进展。 :)