确定特征是否是稀疏光流(KLT)的移动物体的一部分

时间:2012-11-08 13:13:53

标签: computer-vision motion opticalflow

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

我只是使用OpenCV函数(C ++)来提取特征和跟踪。我编程没问题。

cvGoodFeaturesToTrack(), cvFindCornerSubPix(),cvCalcOpticalFlowPyrLK()

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

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

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

我应该研究哪个主题来处理这个问题?如果我必须在FOE或卡尔曼滤波器之间做出选择?我想知道RANSAC是否会有所帮助。 (我已经阅读了几篇学术论文,但似乎运气不好。我浏览过卡尔曼滤波器,但不知道这有什么用。我发现FOE上的资源非常有限,特别是在教科书中)

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

1 个答案:

答案 0 :(得分:0)

不确定这是否适合回答我自己的问题。但是,既然没有人回答这个问题,我已经做了一些研究工作,但不是一个成功的故事,我想我最好分享一些。对于那些有同样问题的人来说,这可能会有所帮助。

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

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

为了拒绝移动物体上的点,我遵循了下面文件中提到的工作:

Jung,B。和Sukhatme,G.S.,2004。“在室外环境中使用移动机器人上的单个相机检测移动物体” (在期刊中提出的修订版本标题为“来自移动机器人的实时运动跟踪”)

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

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

我希望这可能有所帮助。