27

很多资源说有两种类型的光流算法。而Lucas-Kanade是一种稀疏技术,但我找不到稀疏和密集的含义?有人能告诉我密集光流和稀疏光流有什么区别吗?

4

6 回答 6

38

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

要了解流量质量,请查看基准页面,例如KITTIMiddleburry数据集

于 2012-06-15T09:33:20.177 回答
13

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

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

于 2012-06-15T13:04:11.810 回答
5

首先,Lucas-Kanade 不是稀疏光流技术。之所以这么多人相信,是因为广泛存在的误解。自从在 OpenCV 中 Lucas-Kanade 的第一个实现被标记为 SPARSE 以来,这种误解成为了公认的事实,并且直到今天仍然如此。为什么 Lucas-Kanade 应该被称为稀疏的论点适用于任何密集流算法。如果你坚持 Lucas-Kanade 是稀疏的,那么所有的流算法都是稀疏的,区分它们是没有意义的。

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

您可以在我编写的本教程中阅读有关所有这些的更多信息,其中我还展示了 Lucas-Kanade 如何与其他任何算法一样密集(尽管不那么准确)。

于 2016-12-10T06:40:09.320 回答
4

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

的示例实现可以在此处的 opencv 文档中找到

于 2017-06-26T06:47:06.210 回答
3

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

于 2016-01-27T15:41:29.847 回答
2

稀疏光流为您提供一些有趣(角)点的速度矢量,这些点是使用 Shi-Tomashi、Harris 等算法预先提取的。提取的点与当前图像和下一个图像一起传递到您的 [光流函数]图片。任何良好的光流功能都应使用上述角点检查正向的光流,并使用回溯来交叉检查它是否遵循相同的点。

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

于 2015-05-29T10:03:43.957 回答