【问题标题】:Lucas Kanade Optical Flow, Direction VectorLucas Kanade 光流,方向矢量
【发布时间】:2011-11-28 13:08:20
【问题描述】:

我正在研究光流,并基于the lecture notes here 和互联网上的一些示例I wrote this Python code

所有代码和示例图像也都在那里。对于大约 4-5 像素的小位移,计算的矢量方向似乎很好,但矢量的幅度太小(这就是为什么我必须在绘制它们之前将 u,v 乘以 3)。

这是因为算法的限制,还是代码的错误?上面分享的讲义还说运动需要很小“u,v小于1像素”,也许这就是原因。这种限制的原因是什么?

【问题讨论】:

  • LK 使用一阶近似值,因此 (u,v) 理想情况下应该

标签: matlab image-processing numpy computer-vision opticalflow


【解决方案1】:

@belisarius 说“LK 使用一阶近似值,因此 (u,v) 理想情况下应该是

【讨论】:

    【解决方案2】:

    光流约束方程的标准结论(OFCE,您参考的幻灯片 5)是“您的运动应该小于一个像素,更少的高阶项会杀死您”。虽然在技术上是正确的,但您可以在实践中使用更大的平均窗口来克服这个问题。这要求您进行理智的统计,即不是纯最小二乘均值,如幻灯片中所建议的那样。通过 Tikhonov 正则化可以实现同样快速的计算和非常出色的结果。这需要设置一个调谐值(Tikhonov 常数)。这可以作为一个全局常数来完成,或者让它适应图像中的局部信息(例如 Shi-Tomasi 置信度,又名结构张量行列式)。

    请注意,这并不能取代多尺度方法来处理更大运动的需要。它可能会稍微扩展任何单个刻度可以处理的范围。

    实现、可视化和代码以教程格式here, albeit in Matlab 而非 Python 提供。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-22
      • 2016-07-23
      • 2014-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多