稀疏和密集光流之间的区别?

时间:2012-06-14 16:12:55

标签: image-processing computer-vision opticalflow

很多资源都说光流算法有两种类型。卢卡斯 - 卡纳德是一种稀疏的技术,但我找不到稀疏和密集的含义?有人可以告诉我密集和稀疏光流之间的区别是什么?

6 个答案:

答案 0 :(得分:30)

简短的解释是,稀疏技术只需要处理整个图像中的一些像素,密集技术处理所有像素。密集技术较慢但可以更准确,但根据我的经验,Lucas-Kanade的准确性可能足以用于实时应用程序。密集光流算法(最受欢迎)的一个例子是Gunner Farneback的光流。

要了解基准页面的流量质量概述,例如KITTIMiddleburry数据集

答案 1 :(得分:8)

稀疏光流为您提供图像中某些“有趣特征”的流向量。

密集光流试图为您提供整个图像的流量 - 每个像素的流向量。

答案 2 :(得分:3)

稀疏光流 - Lucas-Kanade方法计算稀疏特征集的光流(例如,使用Shi-Tomasi算法检测的角)。 密集的光流 - Gunner Farneback的算法计算帧中所有点的光流。这在"基于多项式展开的双帧运动估计"中进行了解释。作者:Gunner Farneback,2003年。

可以找到in opencv docmentation here

的示例实现

答案 3 :(得分:2)

稀疏光流在特征(边缘,角落等)上起作用。密集光流设计用于所有像素。第一个的优点是它通常更快,而第二个可以给出比第一个更多像素的估计。

答案 4 :(得分:2)

首先,Lucas-Kanade不是一种稀疏的光流技术。许多人相信它的原因,是由于广泛的误解。由于Lucas-Kanade在OpenCV中的首次实施被标记为SPARSE,并且至今仍然存在,因此误解成为公认的事实。为什么Lucas-Kanade应该被称为稀疏的论证适用于任何密集流算法。如果你坚持卢卡斯 - 卡纳德是稀疏的,那么所有流算法都是稀疏的,没有必要区分它们。

稀疏流与点跟踪相同,密集流由视频上的矢量组成,表示固定位置的运动估计。

你可以在this tutorial that I wrote中阅读更多关于这一切的内容,其中我还展示了Lucas-Kanade如何与其他任何算法一样密集(尽管不那么准确)。

答案 5 :(得分:1)

稀疏光流为您提供了一些有趣(角落)点的速度矢量,这些点是事先使用Shi-Tomashi,Harris等算法提取的。提取的点与现在一起传递到您的[光流函数]图像和下一个图像。任何良好的光学流动功能都应该使用上述角点检查正向的光学流动,并且还应该回溯以检查它是否跟随相同的点。

另一方面,密集的光流可以从这里引用:http://www.cs.toronto.edu/~fleet/courses/cifarSchool09/flowChapter05.pdf

相关问题