【问题标题】:Lucas Kanade dense optical flowLucas Kanade 密集光流
【发布时间】:2013-05-23 15:39:14
【问题描述】:

OpenCV 可以用 Lucas Kanade 方法计算密集光流吗?我知道 gpu/ocl 模块中可以做到这一点的功能(gpu::PyrLKOpticalFlow::dense),但是是否有非 gpu 等效于该功能?

我也知道 Farneback 和 TV L1,但我的研究需要 LK / 金字塔形 LK。

【问题讨论】:

    标签: opencv


    【解决方案1】:

    没有。实际上没有好的密集光流提取方法。我面临同样的问题(光流上的粒子平流,对吧?)

    有一个使用 Farneback 方法 [1] 评估光流的函数,但它给了我不好的结果。它不使用ocl,也不使用gpu。

    您可以尝试使用phaseCorrelate 使用基于移位的算法来提取它。我用过这个方法。当我将它上传到github时,我会给你链接。

    [编辑]

    这里是代码。我决定将相位相关算法与整个项目分开,以使其更易于理解: https://github.com/MatteoRagni/OpticalFlow 如果您打算使用它,请加注星标。

    【讨论】:

    • 我实际上最终使用了 TV-L1 方法来计算密集光流。 OpenCV 有一个很好的实现。它提供了比 Farneback 更好的结果,但性能成本很高。
    • @巴拉克。我会在月底之前完成,我会在这里发布项目的链接。如果您喜欢并考虑使用它,可以给它加星标吗?
    • @Srđan 我提到的方法也有相当可观的性能成本
    • 嘿,我只是好奇,但恕我直言,你应该已经因为发表了任何尝试而得到了明星!
    【解决方案2】:

    可以找到OpenCV非gpu视频分析功能文档here

    有一个带有金字塔的稀疏迭代 Lucas-Kanade 方法的实现(特别是来自this paper)。该函数称为calcOpticalFlowPyrLK,您可以通过buildOpticalFlowPyramid 构建相关的金字塔。但是请注意,它确实指定它用于稀疏特征集,所以我不知道如果您需要密集的光流,这会对您产生多大的影响。

    【讨论】:

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