快速獲得最新乾貨
本文由博主VG-Lin授權發布,禁止二次轉載
三種光流法的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/
交流群
歡迎加入公眾號讀者群一起和同行交流,目前有SLAM、檢測分割識別、三維視覺、醫學影像、GAN、自動駕駛、計算攝影、算法競賽等微信群(以後會逐漸細分),請掃描下面微信號加群,備註:」暱稱+學校/公司+研究方向「,例如:」張三 + 上海交大 + 視覺SLAM「。請按照格式備註,否則不予通過。添加成功後會根據研究方向邀請進入相關微信群。請勿在群內發送廣告,否則會請出群,謝謝理解~