异常检测中常用的光流法对比(Horn-Schunck / Lucas–Kanade / Farneback)

三种光流法的OpenCV-API

(一) Horn-Schunck光流法

CalcOpticalFlowHS

Horn–Schunck光流算法用一种全局方法估计图像的稠密光流场(即对图像中的每个像素计算光流)

算法原理参考论文:Determining Optical Flow

(二) Lucas-Kanade光流法

calcOpticalFlowPyrLK

Lucas-Kanada最初于1981年提出,该算法假设在一个小的空间邻域内运动矢量保持恒定,使用加权最小二乘法估计光流。由于该算法应用于输入图像的一组点上时比较方便,因此被广泛应用于稀疏光流场。

算法原理参考论文:Pyramidal Implementation of the Lucas Kanade Feature TrackerDescription of the algorithm

(三) Farneback光流法

calcOpticalFlowFarneback

Farneback是一种基于梯度的方法,假设图像梯度恒定且假设局部光流恒定,计算出图像上所有像素点的光流。

算法原理参考论文:Polynomial Expansion for Orientation and Motion Estimation

三种光流法的实验效果对比

实验引自论文:Comparative Performance Analysis of Optical Flow Algorithms for Anomaly Detection

上图为实验流程图,可以具体分为以下6个步骤:

1)从视频片段中提取出图像/帧;

2)把RGB图形转换为灰度图,降低复杂度;

3)应用Horn-Schunk、Lukas-Kanade和Farneback三种光流法;

4)计算出对应的variance manitude和variance orientation;

5)计算出平均值用在做异常检测;

6)训练出异常检测分类器。

(一) 在 UCF web数据集上做实验

数据集名称:UCF web dataset

上图从左到右:正常的原图,分别采用Farneback、H-S和L-K的光流图。

上图从左到右:异常的原图,分别采用Farneback、H-S和L-K的光流图。

针对Farneback光流法,左图是正常情况下的光流图,右图是异常情况下的光流图。

上图从左到右:异常的另一张原图,分别采用Farneback、H-S和L-K的光流图。

这里引入两个异常检测相关的参数:Manitude(模值)和 Orientation(方向)。原文解释:Anomaly detection with dynamic threshold in changing light conditions. Graphs showing the difference for abnormal/normal behaviour for videos (on y-axis) are considered with respect to resolution pixels on x-axis。大意是X轴表示分辨率,Y轴表示参数变化(对比正常和异常两种情况)。下面分别展示Farneback、H-S和L-K算法对应的结果图:

由上图可以得知,Farneback光流法在Variance Manitude参数上对某些异常场景敏感,且优于另外两种算法。

由上图可以看到,在MSE指标上Farneback优于另外两种算法。

(二) 在UMN数据集上做实验、

数据集名称:The University of Minnesota (UMN) database

上面左图为正常场景,右图为异常场景。

由上图可以得知,Farneback光流法在Variance Manitude参数上同样对异常场景敏感,且优于另外两种算法。

(三) 在UCSD异常数据集上做实验

数据集名称:UCSD Anomaly dataset

上面左图为异常场景(有白色卡车开入步行区),右图为正常场景。

由上图可以得知,Farneback光流法在Variance Manitude参数上同样对异常场景敏感,且优于另外两种算法。

实验结论

基于论文的实验结果,相比Horn-Schunck光流法和Lucas–Kanade光流法,明显可以看到Farneback光流法在人群异常的检测方面存在较大的优势。后续会从这些光流算法的原理层面剖析更深层次的原因,为后面的人群异常领域研究建立扎实的理论基础。

参考资料

1. 本文的内容主要引自 ICCIP-2019 的一篇文献:

    Comparative Performance Analysis of Optical Flow Algorithms for Anomaly Detection

2. 光流法的代码部分主要引自OpenCV官方文档:https://docs.opencv.org/4.1.0/

发布了3 篇原创文章 · 获赞 13 · 访问量 688

猜你喜欢

转载自blog.csdn.net/Carson1145/article/details/105029891