【问题标题】:Motion-detector for moving camera on OpenCVOpenCV上移动相机的运动检测器
【发布时间】:2015-04-03 04:31:39
【问题描述】:

当相机静止时,只需使用光流减去当前帧的前一帧,就很容易检测到运动:

但是如何在我们自己的运动中检测运动的物体呢?当相机移动时,前一帧和当前帧之间的任何差异(减去)都会给我们背景的移动。

此外,前景(杆、树)的移动速度将比背景(天空)快。如果我们查看偏离运动平均值的所有内容,我们会发现这些杆和树,但它们实际上是静止的。

当我们的相机在移动时,如何检测其他物体的任何运动?

【问题讨论】:

  • 在心理学研究中有描述不同“相机”运动的光流模式。从理论上讲,所有不遵循该模式的事物(您必须首先找到正确的模式)本身就是一个移动的对象。谷歌“从视觉流中感知自我运动”
  • 这更像是一个计算机视觉问题而不是编程问题。

标签: opencv camera motion motion-detection opencv3.0


【解决方案1】:

为了能够区分相机运动和场景运动,您需要同时估计相机在两帧之间的位姿变化以及这些帧中的场景几何。

有一些方法可以做到这一点,您应该研究运动结构 (SfM) 和基本矩阵估计。这些都是复杂的方法,每个都有自己的问题(例如,在小的平移情况下,场景深度的估计可能不准确)。但是,您需要这种方法,因为当您在世界坐标而不是图像坐标中查看它们的运动时,您的移动对象只会将自己与场景区分开来。

【讨论】:

    猜你喜欢
    • 2012-10-10
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多