1. 程式人生 > 其它 >閱讀筆記《A hybrid video anomaly detection framework via memory-argumented flow reconstruction and flow-guided frame prediction》

閱讀筆記《A hybrid video anomaly detection framework via memory-argumented flow reconstruction and flow-guided frame prediction》

1. 摘要

在本文中,提出了HF2VAD框架,一個集成了光流重建和框架預測的混合框架來處理視訊異常檢測。首先,設計了ML-MemAE-SC(具有跳過連線的自動編碼機中的多層次記憶模組)來記憶光流重建的正常模式,以便在光流重建誤差較大時敏感的識別異常事件。更重要的是,在重構流的條件下,我們使用條件變分自動編碼器(CVAE)來捕捉視訊幀和光流之間的高相關性,以預測給定前幾幀的下一幀。通過CVAE,流重建的質量本質是影響了幀預測的質量。因此,異常事件的光流重構差進一步惡化了最終預測的未來幀的質量。使得異常更容易檢測。實驗結果證明了該方法的有效性。

2. HF2VAE模型介紹

在本文中,我們提出了一種新穎的流重建和流導向預測框架相結合的混合框架

HF2VAE。如下圖所示,基於條件VAE(CVAE)的未來幀預測模型同時接受原始視訊幀和光流幀作為輸入。但是和原始幀不同的是,我們預先重建他們,而將重建後的流輸入到CVAE模型中。

我們設計了一種帶有跳過連線的多層記憶增強自動編碼機(ML-MemAE-SC),用於光流重建。採用多個記憶模組來記憶不同特徵級別的正常模式,同時在編碼器和解碼器之間新增跳過連線,以補償由於記憶而造成的強資訊壓縮。我們觀察到,這樣一個設計良好的流重構網路可以清晰地重構正常流,同時對異常輸入產生較大的重構誤差。

我們使用CVAE的模型來進行未來幀的預測。一方面,以ML-MemAE-SC的重構流作為條件,自然地將重構條件統一到預測管道

中。另一方面,CVAE模組通過最大化觀察視訊幀和重構光流幀變數誘導的證據下界(ELBO)量,對輸入幀和未來幀流的一致性進行編碼。

以上設計利用重建的正常流和異常流之間的質量差距,提高基於CVAE的預測模組的VAD精度。即重構的正常流通常具有較高的質量,通過預測模組可以成功地預測未來的幀,預測誤差較小。相比之下,重建的異常流通常質量較低,從而導致未來幀的預測誤差較大。我們使用流重建和幀預測誤差作為我們最終的異常檢測線索,論文和前人工作的區別:

  • 首先,在具有跳過連線編碼器-解碼器結構中使用多級記憶體模組,保證正常模式能很好地被記憶,從而敏感的識別異常事件或活動
  • 其次,我們設計了HF2-VAE混合結構,從之前的視訊幀和相應的光流幀中預測未來的幀,並預先進行重建,重建誤差增大了預測誤差,使異常更容易被檢測到。
  • 最後,我們在三個公共資料集上進行了廣泛的實驗,結果表明,我們提出的HF2-VAD比最先進的方法有更好的異常檢測效能。

3. 論文方法

如圖所示,HF2-VAD模型由兩個元件組成:

  (1) 用於跳過連線的多層記憶增強自動編碼機(ML-MemAE-SC)進行流重建

  (2) 用於幀預測的條件變分自動編碼器(CVAE)

整個框架都是在正常資料集上進行訓練的。在訓練時,同時採用重建誤差和預測誤差。下面分別對兩個元件進行介紹,最後展示如何使用模型進行異常檢測。

3.1 ML-MemAE-VAD(具有跳過連線的多級記憶體增強的自動編碼機)

  將記憶體模組置於自動編碼機中是異常檢測中的最新進展。下圖(a) 中顯示了這種記憶體增強的自動編碼器(MemAE)。然而,我們觀察到,只能只用一個記憶體模組並不能保證所有的正常模式都能被記住,而異常的輸入仍然有一定的機會被很好地重構。MemAE的自然擴充套件是放置更多記憶體模組到自動編碼機的其他層中(如圖(b)所示)。但是太多的記憶體模組可能導致過度的資訊過濾,使得網路無法記住最具代表性的正常模式,而不是所有需要的正常模式。為了解決這個問題,我們在編碼器和解碼器之間新增跳過連線以獲得具有跳過連線的多級記憶體增強自動編碼機(ML-MemAE-SC),如下圖中(c)所示。一方面,跳過連線直接將編碼器資訊傳輸到解碼器,為不同層的記憶體儲存模組提供更多的資訊,以發現正常模式。另一方面,該網路具有更高層次的編碼特性,雖然被記憶體過濾了,但他可以更容易地解碼輸入。在測試時,所提出的ML-MemAE-SC可以清晰地重構正常資料,而對異常資料表現不佳。為了讓讀者易於驗證這一點,我們進行了一個玩具示例來探索許多記憶增強的自動編碼機變體,並演示了所提出的ML-MemAE-SC的有效性,詳情見圖4。值得注意的是,不應該新增最外層的跳過連線,即圖3(c)中的黑色虛線連線。否則,重構可能由最高級別的編碼-解碼資訊完成,使得其他較低階的編碼、解碼和記憶體模組無法工作。

  我們設計了一個四級的ML-MemAE-SC,包括三層編碼/解碼層和一個bottleneck。在編碼器中的每一層,我們堆疊兩個卷積塊,緊接著為一個下采樣層。在解碼器的每一層中,我們首先從編碼器中複製特徵對映,然後將其與較低層的上取樣特徵對映連線起來。然後該連線依次通過兩個卷積塊,一個儲存器模組和一個上取樣層。在我們的實現中,一個卷積塊包含三層:一個卷積層,一個正則化層和一個ReLU啟用層。通過卷積和反捲積實現了下采樣層和上取樣層。

  對於記憶體模組,我們採用了類似[8]中的簡單實現,每個記憶體模組實際上是一個矩陣,矩陣的每一行被稱為一個slot mi(槽),其中i=1,2,3,...,N。記憶體模組的角色是表示由相似記憶體槽的加權和輸入他的特徵,因此在正常資料上訓練時具有記憶正常模式的能力

  為了訓練ML-MemAE-SC,我們可以將正常的視訊、影象或光流輸入其中,並嘗試重構輸入資料。設y為輸入資料,y'為重構結果,我們訓練目標為最小化輸入資料和重構資料之間的誤差l2.

  我們將每個記憶體模組的匹配概率wi'上的熵損失加權為:

  其中M為記憶體模組的數量,wi,k'為第k個記憶體模組中第k個插槽的匹配改了吧我們對上述兩個損失函式進行平衡,得到以下損失函式來訓練ML-MemAE-SC: