目錄
3 Future Frame Prediction Based Anomaly Detection Method
3.2. The Constraints on Intensity and Gradient
3.6. Anomaly Detection on Testing Data
論文鏈接:https://arxiv.org/pdf/1712.09867.pdf
代碼鏈接:https://github.com/stevenLiuWen/ano_pred_cvpr2018
Abstract
視頻中的異常檢測是指識別與預期行爲不相符的事件。然而,現有方法都通過最小化訓練數據的重構誤差來解決問題,這在異常事件檢測中並不適用。
本文是第一個利用預測幀和ground truth之間的差別來完成異常事件檢測的任務。
爲了解決上述問題,除了在intensity和gradient上使用appearance (spatial) 約束,作者在視頻預測時,還引入了motion (temporal)約束,即通過光流來約束預測幀和ground truth。
圖1.正常和異常事件中的預測幀和ground truth。對於步行區,如果人正常走動,則預測幀會非常清晰;如果是自行車闖入或兩人打架,預測幀會模糊不清且帶有失真。
Introduction
已有的特徵構建方法分類兩類:1)基於手工特徵。首先,每個視頻利用手工特徵進行表示,包括外觀和運動特徵。然後,通過最小重構誤差實現正常事件的字典學習。預測幀與異常事件的特徵具有較大的重構誤差。但是由於字典學習過程中沒有使用異常事件訓練集,且異常事件過於完整,因此,必不能保證最終的期望。2)基於深度特徵。通常使用自編碼方法學習深度網絡,並通過最小化重構誤差來構建正常事件。但是,深度神經網絡的容量很高,且不一定會發生針對異常事件的較大重構誤差。因此,基於訓練集數據重建的方法都不能保證發現異常事件。
論文貢獻:1)提出基於預測未來幀的異常事件檢測框架。解決思路與異常事件檢測的概念一致,即正常事件是可預測的,異常事件是不可預測的。2)對於視頻幀預測框架,除了強制預測幀與ground truth在spatial空間一致外,還強制預測幀的光流與ground truth的光流盡量接近。
3 Future Frame Prediction Based Anomaly Detection Method
圖2. 視頻幀預測網絡的流程圖。生成器採用U-Net來預測下一幀。爲了生成高質量圖片,作者採用外觀(強度和梯度損失)和運動(光流損失)約束。對於光流的計算,作者採用了預訓練網絡Flownet。同時,作者使用對抗訓練來判別預測的真假。
數學表示:利用給定的連續t幀,來預測第t+1幀,爲了使預測的第t+1幀和真實的第t+1幀接近,最小化intensity和gradient的距離。爲了保留相鄰幀的時序一致性,作者增加了光流約束,即和之間的光流應該與和之間的光流接近。
3.1. Future Frame Prediction
已有的frame生成或image生成網絡通常包含兩個模塊:1)編碼器通過逐漸降低空間分辨率來提取特徵;2)解碼器通過逐漸增加空間分辨率來恢復幀。然而,這樣會導致每層的梯度消失和信息不平衡問題。
爲了解決上述問題,U-Net在相同分辨率下的高層和底層增加了shortcut。而作者基於U-Net,並作了簡單修改,完成了幀預測任務。
具體來說,在兩個卷積層間,保持輸出分辨率不變。因此,當增加shortcut時,並不需要crop和resize操作。
3.2. The Constraints on Intensity and Gradient
爲了使預測和ground truth接近,借鑑【25】,使用intensity和gradient距離。Intensity損失保證了RGB空間所有像素的相似性,Gradient損失可以使生成的圖像更加清晰。
具體來說,在intensity空間中,最小化預測幀和基準圖像的距離,定義如下:
借鑑【25】,gradient的損失定義如下:
式中,i和j代表視頻幀中的空間索引。
3.3. The Constraint on Motion
已有工作【25】只考慮生成的未來幀的intensity和gradient的不同,並不能保證預測幀具有正確的運動。主要原因在於,即便在預測幀中所有像素的intensity發生小的變化,都可能導致光流的很大不同,而光流是運動的一個很好估計指標。尤其對於異常事件而言,運動的一致性對於正常事件的評估是一個非常重要的因素。然而,光流的計算並不容易。作者採用Flownet【8】進行光流的估計。f代表Flownet,光流的損失可以表示爲:
f是在合成數據集【8】上預訓練的模型,且f的所有參數固定。
3.4. Adversarial Training
基於已有工作【25】的想法,作者使用GAN的變體((Least Square GAN [24])來生成真實幀。對於生成器,預測網絡使用U-Net作爲預測網絡。對於判別器,作者基於【15】,並使用patch判別器,這就意味着判別器的每一個輸出標量對應着輸入圖像的一個patch。具體訓練策略如下:
Training D:判別器的目的是將分類爲1,將分類爲0,其中0和1分別代表僞造標籤和真實標籤。當訓練時,固定的權重。且Mean Square Error(MSE)損失定義如下:
其中,i和j代表空間塊的索引,是MSE函數,且定義如下:
其中,取值爲{0,1},。
:訓練的目標是生成幀,且將其分類爲1.當訓練時,固定的權重。MSE函數定義如下:
3.5. Objective Function
作者將appearance,motion和adversarial training損失結合,且定義如下:
當訓練時,損失函數定義如下:
3.6. Anomaly Detection on Testing Data
基於已有工作【25】,使用Peak Signal to Noise Ratio (PSNR)評估生成的圖像質量,定義如下:
第t幀的PSNR值越高,也就意味着越像normal幀。
在測試視頻中,計算完每一幀的PSNR,基於已有工作【25】,對測試視頻中所有幀的PSNR值歸一化到【0,1】,並使用如下公式計算每幀的歸一化值:
因此,基於s(t)來預測幀是正常還是異常,可以通過設置一個閾值來區別regular和irregular frame。