1

我已经使用 KLT 从一系列图像中提取了光流。摄像机位于捕捉交通场景的移动车辆上。现在,我可以得到没有错配点的匹配结果。

我只是使用 OpenCV 函数 (C++) 来提取特征和跟踪。不过,我对编程没有任何问题。

cvGoodFeaturesToTrack(), cvFindCornerSubPix(), cvCalcOpticalFlowPyrLK()

谁能建议我应该研究什么主题/论文来区分我所拥有的匹配点是否是移动物体的一部分?我不想恢复相机运动。仅检查该点是否来自移动物体。

我没有测距仪或其他传感器之类的外部资源,但我知道汽车的速度(安装了摄像头)以及摄像头在车辆上上下倾斜时固定在车辆上的角度。(虽然我不知道偏航率)

检查光流的方向和距离是不够的。例如,在对面站点上移动的车辆的光流通常类似于静止特征,或者车辆以与相机相同的速度移动。

我应该研究哪个主题来处理这个问题?如果我必须在 FOE 或卡尔曼滤波器之间进行选择,或者其他?我想知道 RANSAC 是否会有所帮助。(我读过几篇学术论文,但似乎运气不好。我浏览了卡尔曼滤波器,但不确定这有什么帮助。我还发现关于 FOE 的资源非常有限,尤其是在教科书中)

我感谢每一个答案。非常感谢(真诚)

4

1 回答 1

0

不确定这是否认为不适合回答我自己的问题。但是,由于没有人回答这个问题,而且我做了一些研究工作,虽然不是一个成功的故事,我想我最好分享一些。它可能对那些有同样问题的人有所帮助。

我有一系列捕捉城市交通场景的图像。每 0.5 秒使用智能手机在移动的汽车上捕获图像。

出于测试目的,我只使用几对图像而不是整个序列进行测试。我使用 KLT 获得了许多匹配点,并执行了两步异常值去除。匹配的结果很好,没有或很少数量的不匹配。

为了拒绝移动物体上的点,我遵循了以下论文中介绍的工作:

Jung, B. 和 Sukhatme, GS, 2004。“在室外环境中使用移动机器人上的单个摄像头检测移动物体”(期刊中的修订版标题为“移动机器人的实时运动跟踪” ")

总而言之,在他们的部分工作中,他们通过计算图像对之间的转换模型来拒绝异常值(移动对象)。这项工作使用了双线性模型。过程是他们计算转换模型参数 T 并拒绝匹配 if |x2 - T(x1)| < 阈值。这里,x2 和 x1 表示图像上在时间 t2 和 t1 的一对对应点。

我尝试过 T 作为仿射模型、双线性模型和伪透视模型。我的实验结果表明,如果移动物体的数量不小,这个过程总是会失败,因为它们依赖于匹配的点。就我而言,这些图像是在具有大量移动物体的城市交通场景中捕获的。因此,我不能通过这种技术丢弃异常值。所以,我相信 RANSAC 也无济于事。这就是为什么很多论文假设少量移动物体的原因。在这三个模型中,我发现仿射显示的结果最差,但不能说其他两个模型中哪个更好。

我希望这可能会有所帮助。

于 2012-11-09T14:40:33.927 回答