黃 濤,鄔開俊,王迪聰,2,白晨帥,陶小苗
(1.蘭州交通大學 電子與信息工程學院,蘭州 730070;2.天津大學 智能與計算學部,天津 300350)
目前,大量的監(jiān)控攝像頭部署在公共場所的各個角落,攝像機每時每刻都在產(chǎn)生海量的視頻數(shù)據(jù),利用這些視頻數(shù)據(jù)來分析解決現(xiàn)實生活中的問題是計算機視覺領域的研究熱點。但是,僅通過人眼去識別龐大視頻數(shù)據(jù)中的異常行為將耗時耗力且效果不佳,因此,需要通過機器來識別異常行為。
視頻異常檢測通常面臨如下挑戰(zhàn):對異常行為定義模糊,在不同場景下很難區(qū)分行為是否異常;異常事件很少發(fā)生,正常和異常樣本數(shù)據(jù)量極不均衡,可用的異常檢測數(shù)據(jù)集很少;不同的異常行為之間存在較大差異,訓練模型很難學到有規(guī)律的特征;監(jiān)控視頻包含很大的環(huán)境噪聲,如復雜光線條件、攝像機抖動等。在實際場景中,如果很多人聚集在一條通常情況下人流量很少的街道上,可能會發(fā)生斗毆等異常情況。但是對于機器,它們沒有自我思考的能力,僅通過分析所捕捉到的視覺信息數(shù)據(jù)來判斷是否異常。一般而言,視覺特征越強,異常檢測性能越高。
異常檢測可以通過提取視頻數(shù)據(jù)中的外觀特征或運動特征來判別行為是否異常。文獻[1]設計2 個處理模塊,第一個處理模塊通過自動編碼器學習正常事件的外觀特征,第二個模塊通過提取視頻中的光流信息來學習外觀特征和運動特征之間的對應關系。然而,光流估計具有很高的計算成本[2],很難應用在真實場景中。無論網(wǎng)絡深度和維度如何變化,基于運動信息的特征都比基于圖像的外觀特征表現(xiàn)得更好,因為大多數(shù)異常行為都是不規(guī)則的突然運動,所以運動特征更適合視頻異常檢測任務。
本文從原始視頻幀中盡可能多地獲取時空信息,以學習更有效的視覺特征,同時構建一個融合RGB 幀差圖[3]和RGB 圖像特征的殘差網(wǎng)絡來學習視頻中的運動信息,融合視覺和運動2 種特征的數(shù)據(jù)來提高檢測性能。另外,本文引入卷積注意力機制模塊,該模塊沿著通道和空間2 個不同的維度學習注意力圖,通過學習的注意力權重與輸入特征圖相乘實現(xiàn)特征自適應優(yōu)化。為了解決視頻異常檢測中正負樣本比例不平衡的問題,本文引入焦點損失(Focal Loss,F(xiàn)L)函數(shù)減少訓練中大量簡單正常樣本的權重,使得模型將更多注意力分配到分類難度較高的樣本上。
視頻由很多獨立的圖像幀組成,且視頻幀之間存在時間關系。在傳統(tǒng)方法中,改進的密集軌跡(Improved Dense Trajectory,IDT)算法[4]利用前后兩幀視頻之間的光流信息估計相機運動,減弱相機運動帶來的影響;采用概率密度估計的方法[5]分析視頻中事件的分布狀況,從而判斷事件是否異常。近年來,深度卷積神經(jīng)網(wǎng)絡[6-8]被提出,如時間結構挖掘[9]、時間卷積網(wǎng)絡[10]、三維卷積網(wǎng)絡[11-12]、時間分段網(wǎng)絡[13]、雙流網(wǎng)絡[14]等。為了整合視頻數(shù)據(jù)的時空信息,文獻[14]提出一種雙流網(wǎng)絡,即一個單獨的RGB 流和一個光流,2 個流通過后期融合進行動作分類。文獻[15]提出用于異常檢測的雙流架構,將光流表示的靜態(tài)圖像和動態(tài)運動作為2 個獨立網(wǎng)絡的輸入,分別捕獲外觀和運動特征,最后通過融合這2 個流的異常分數(shù)得到判斷結果。文獻[16]利用2 個生成器網(wǎng)絡來學習正常的人群行為,其中,一個生成器網(wǎng)絡將入幀圖像生成光流場圖像,另一個生成器網(wǎng)絡利用光流圖像重建幀。在大多數(shù)實驗測試中,使用光流的雙流方法都表現(xiàn)得較好,但是,光流估計的時間成本很高。
本文主要關注視頻的時間建模,通過學習視頻片段的時間規(guī)律性來提取高效的特征信息。為了模擬視頻圖像的光流,本文將RGB 幀差圖作為輸入,以提取更多的運動特征數(shù)據(jù)。此外,還將卷積注意力機制模塊加入到模型中,將更多注意力放在重要的目標區(qū)域,從而獲取重點目標更多的細節(jié)信息。文獻[17]提出FL 函數(shù)以減少訓練中大量簡單正常樣本的權重,受此啟發(fā),本文將FL 函數(shù)應用于模型中,以解決正常與異常樣本數(shù)量不均的問題。
在實際場景中,很難檢測到長視頻中是否包含異常事件以及事件發(fā)生的位置,要獲得精確的幀級注釋非常具有挑戰(zhàn)性且成本很高。大多數(shù)視頻異常檢測數(shù)據(jù)集[18-19]只提供視頻級的標簽,制作弱標簽的數(shù)據(jù)集更加容易。本文提出一種弱監(jiān)督的方法,只給訓練樣本提供視頻級的標簽(正?;虍惓#?。在訓練時,只知道視頻中是否包含異常行為,不知道具體的異常行為類別和異常發(fā)生的時間,在測試時給出視頻是否異常的判斷。本文通過改進的時間分段網(wǎng)絡學習運動特征,然后預測視頻片段的正異常分數(shù),并整合得到最終的視頻級預測結果。
圖1 所示為本文視頻異常檢測網(wǎng)絡的整體結構,主要分為3 個部分:
圖1 改進型時間分段網(wǎng)絡框架Fig.1 Improved time segmentation network framework
1)將輸入視頻分段,從每個視頻段中隨機選擇RGB 圖像幀,從2 個連續(xù)圖像幀之間得到RGB 幀差圖,用以描述運動外觀的變化,并將RGB 圖和RGB幀差圖作為網(wǎng)絡的輸入。
2)融合2 種特征數(shù)據(jù),以預訓練的殘差網(wǎng)絡ResNet101(Residual Network 101)作為主干網(wǎng)絡,結合卷積注意力模塊(Convolutional BlockAttention Module,CBAM)提取視頻段的運動特征,利用視頻特征得到視頻片段的分類預測結果。
3)不同視頻段的正常、異常類得分通過片段共識函數(shù)得到視頻級的預測結果,然后將RGB 圖和RGB 幀差圖2 種模式所得的預測結果進行融合,從而得到最終的預測結果。
時間分段網(wǎng)絡應用于視頻異常檢測領域時能取得較好的檢測效率和性能,本文在改進型時間分段網(wǎng)絡(TSN)上進行一系列實驗,這些實驗數(shù)據(jù)也直接應用于改進型時間分段網(wǎng)絡的學習過程。
網(wǎng)絡架構是神經(jīng)網(wǎng)絡設計中的一個重要因素。研究表明,更深的網(wǎng)絡結構可以提高目標識別的性能[20-21]。本文選擇ResNet101 作為主干網(wǎng)絡,將單個RGB 圖作為空間卷積網(wǎng)絡的輸入,時間卷積網(wǎng)絡的輸入為多幀圖像間的RGB 幀差圖。2 個網(wǎng)絡經(jīng)過一系列卷積層和全連接層后,通過一個預測函數(shù)得出概率分布值。最后,融合這2 個網(wǎng)絡的預測值,得到整段視頻的類別概率。本文將卷積注意力模塊加入到主干網(wǎng)絡中,學習到的注意力權重可以更好地被分配到重點關注的目標區(qū)域。
大多數(shù)基于雙流的卷積網(wǎng)絡將光流作為運動建模的輸入來源,雖然光流作為輸入時性能表現(xiàn)較好,但是光流估計需要消耗很高的計算成本。受文獻[3]的啟發(fā),本文不使用光流表示運動特征,而是構建連續(xù)RGB幀差圖以表示運動特征,如圖2 所示。通常單個RGB圖像只能編碼特定時間點的靜態(tài)外觀,缺少關于前一幀和下一幀圖像的上下文信息。2個連續(xù)幀之間的RGB幀差圖能夠描述運動的變化,對應于運動的凸起區(qū)域,運動表示可以從RGB 幀差圖中學習。因此,本文通過學習時間規(guī)律性和運動一致性,將RGB 圖和RGB 幀差圖融合作為時間分段網(wǎng)絡的輸入,從而提取視頻幀中的基本運動信息。
圖2 RGB 圖、RGB 幀差圖示例Fig.2 Examples of RGB image and RGB frame difference image
目前,視頻異常檢測領域面臨的一個很大的挑戰(zhàn)就是訓練的網(wǎng)絡無法對長時間監(jiān)控視頻進行建模,這主要是因為這些網(wǎng)絡很難提取視頻中相鄰幀的關系信息,大多數(shù)網(wǎng)絡只能對短視頻片段中的單個幀進行操作,當面對持續(xù)時間很長的異常情況(如爆炸、斗毆等異常行為)時,就會損失監(jiān)控視頻中一些很重要的運動信息。為了解決這一問題,本文使用改進型時間分段網(wǎng)絡學習監(jiān)控視頻中的運動特征,從而對整個視頻進行動態(tài)建模。
本文改進型時間分段網(wǎng)絡框架利用整個視頻的運動信息進行視頻級預測。時間分段網(wǎng)絡不是處理單幀,而是處理整個視頻中稀疏采樣的短片段,視頻采樣的每個短片段都將產(chǎn)生正異常預測分數(shù),對這些片段產(chǎn)生的預測分數(shù)進行整合,最后得出視頻級的預測結果。對于一個視頻V,本文將其分割為持續(xù)時間相同的N段,即{V1,V2,…,VN},對稀疏采樣的短片段進行建模,如下:
其中:(C1,C2,…,CN)是一系列片段,每個片段CN從其相應的段VN中隨機采樣;F(CN;W)表示具有參數(shù)W的卷積神經(jīng)網(wǎng)絡的函數(shù),函數(shù)將得出視頻片段CN的正異常分數(shù);分段共識函數(shù)G整合多個短片段的結果,將其平均用作視頻級別分數(shù)預測,得到一致性的假設;預測函數(shù)H預測得到視頻正異常的概率。
在視頻異常檢測研究中,因為監(jiān)控視頻中的異常行為發(fā)生的概率很小,大多數(shù)行為都是正常的,所以訓練數(shù)據(jù)集中正常、異常樣本嚴重不均衡。此外,正常樣本數(shù)量占比太大,且其中很多是容易分類的樣本。為了解決樣本類別不均衡的問題,本文選擇焦點損失函數(shù),該函數(shù)可以降低大量易分類樣本所占的比重,使得模型將更多注意力分配給難分類的樣本。焦點損失函數(shù)表示為:
其中:C表示視頻的類別數(shù)目(正常和異常類)。為了解決類別不均衡的問題,本文引入權重因子α。為了降低簡單樣本的權重,添加調(diào)制參數(shù)Gi=g(Fi(T1),F(xiàn)i(T2),…,F(xiàn)i(TN))。使用一個聚合函數(shù)g將所有片段上的同一類分數(shù)聚合為一個類分數(shù)Gi,使用平均聚合函數(shù)g得出視頻級的異常分數(shù)。
本文時間分段網(wǎng)絡是可微的,利用多個片段和反向傳播算法聯(lián)合優(yōu)化模型參數(shù)W。在反向傳播的過程中,模型參數(shù)W的梯度可以通過損失值Lfl來推導:
其中:N是時間分段網(wǎng)絡使用的分段數(shù)量。
本文使用隨機梯度下降(SGD)的優(yōu)化方法來學習模型參數(shù),式(3)保證了參數(shù)更新,通過這種方式進行優(yōu)化,時間分段網(wǎng)絡可以從整個視頻中學習模型參數(shù),而不是視頻中的一個小片段。同時,本文使用稀疏時間采樣策略,采樣片段只包含幀的一小部分,與使用密集采樣幀的方法相比,能夠大幅降低在幀上進行評估時的計算成本。
在監(jiān)控視頻中,大部分物體都是靜止不動的,異常行為會有較大的運動變化,因此,本節(jié)的目標是為監(jiān)控視頻中的運動物體分配更多的權重?;谶@一特性,本文使用卷積注意力模塊CBAM,該模塊被廣泛應用于前饋卷積神經(jīng)網(wǎng)絡中。給定一個中間特征圖,卷積注意力機制會從通道和空間2 個不同維度按照順序?qū)W習注意力,并對特征圖進行自適應特征優(yōu)化。相比于使用單一通道注意力機制的SeNet,CBAM 能取得更好的效果。
通道注意力機制先從空間維度上壓縮特征圖,然后輸出一維矢量。為了將特征映射的空間信息整合在一起,空間維度壓縮特征圖需要同時考慮平均值池化和最大值池化,然后輸入到MLP 共享網(wǎng)絡中,壓縮輸入特征圖的空間維數(shù),再逐個元素求和合并,最后得到通道注意力圖。對于一張圖片來說,通道注意力更在意的是圖上有價值的內(nèi)容。平均值池化會對特征圖上所有像素點進行反饋,最大值池化則在梯度反向傳播時對特征圖響應最大處進行反饋。通道注意力機制可以表示為:
其中:Mc是通道注意力權重系數(shù),通道注意力機制的輸入是一個H×W×C的特征F;MLP 是共享的全連接層網(wǎng)絡分別是最大池化和平均池化不同的空間背景描述;在W0后使用ReLU 作為激活函數(shù)。
空間注意力機制對通道進行壓縮,在通道維度上提取平均值池化和最大值池化特征圖,提取通道上的平均值和最大值,提取的次數(shù)都是高乘以寬,然后將所提取的特征圖進行整合得到兩通道的特征圖:
其中:Ms是空間注意力權重系數(shù),空間注意力機制的輸入是一個H×W×C的特征F;f7×7表 示7×7 的 卷積層。
卷積層得到的結果首先通過通道注意力機制計算加權結果,然后通過空間注意力機制再加權得出結果,整個過程如下:
其中:?表示逐元素乘法;F為輸入特征;Mc表示通道注意力提取操作;Ms表示空間注意力提取操作;F'由輸入特征F和通道注意力相乘得到;F″由通道注意力特征F'和空間注意力相乘得到,為最終的輸出。
目前,視頻異常檢測數(shù)據(jù)集相對較少,可能出現(xiàn)數(shù)據(jù)過擬合現(xiàn)象。為了緩解這一問題,本文提出如下3 種時間分段網(wǎng)絡訓練策略:
1)跨模態(tài)初始化。對卷積神經(jīng)網(wǎng)絡參數(shù)進行預訓練可以彌補訓練數(shù)據(jù)較少所帶來的影響,時間分段網(wǎng)絡以RGB 圖像作為輸入,因此,用ImageNet 上預訓練的模型進行初始化。以RGB 幀差圖作為另一種輸入,可以捕捉到視頻不同的視覺特征,其分布與RGB 圖像不同,采用一種跨模態(tài)初始化策略,即利用RGB 模型初始化時間分段網(wǎng)絡。RGB 幀差圖作為輸入,需要修改RGB 初始網(wǎng)絡的第一個卷積層,以得到RGB 通道權重的平均值,然后依據(jù)實際通道數(shù)量復制平均值,從而減少時間分段網(wǎng)絡中的過擬合現(xiàn)象。
2)正則化。在用預訓練的模型進行初始化后,凍結除第一層之外的全部批量標準化層的平均值和方差參數(shù)。RGB 圖和RGB 幀差圖的分布不同,第一個卷積層的激活值也不同,因此,要重新計算對應的方差和平均值。另外,在全局池化層后加一個Dropout 層,也能減少過擬合的影響。
3)數(shù)據(jù)增強。數(shù)據(jù)增強可以產(chǎn)生不同的訓練樣本,而且可以防止嚴重的過擬合現(xiàn)象。本文加入角裁剪、尺度抖動這2 個有效的數(shù)據(jù)增強方法。角裁剪只裁剪圖像的邊角或中心區(qū)域,從而更全面地關注圖像信息。尺度抖動將輸入圖像的寬和高限定為256×340,裁剪區(qū)域的寬、高從{168,192,224,256}中隨機選擇,最后,為了便于網(wǎng)絡訓練,裁剪區(qū)域?qū)⒅匦抡{(diào)整為224×224。
現(xiàn)有的視頻異常檢測數(shù)據(jù)集[22-23]存在視頻樣本數(shù)量少以及異常類別有限的問題。本文目標是提取視頻中的多個特征信息,因此,需要一個樣本大、異常類別全面的數(shù)據(jù)集。本文使用大規(guī)?,F(xiàn)實世界犯罪數(shù)據(jù)集UCF-Crime[19]和CUHK Avenue 數(shù)據(jù)集來驗證算法的有效性。UCF-Crime 數(shù)據(jù)集共有1 900 個視頻,訓練集包含810 個異常視頻和800 個正常視頻,測試集有150 個正常視頻和140 個異常視頻,異常行為包括道路交通事故、商店盜竊、打架等13 種不同的類別。CUHK Avenue 數(shù)據(jù)集包含16 個正常視頻和21 個異常視頻,視頻幀的分辨率為640×360 像素,視頻共包含30 652 幀,異常行為主要包括奔跑、拋擲物體等。
實驗過程中使用的GPU型號為CirrusLogicGD5446,在PyTorch 框架下實現(xiàn)。在使用時間分段網(wǎng)絡進行訓練時,觀察Loss 值的下降速度,將迭代次數(shù)設置為50 次。
本文使用SGD 方法來學習網(wǎng)絡參數(shù),動量設置為0.8。將視頻中每幀大小調(diào)整為224×224,在實驗中設置一個較小的學習率,設置初始學習率為0.005,Dropout 為0.6,學習率衰減為0.001。為了解決樣本少的問題,本文使用位置抖動、水平翻轉(zhuǎn)、角裁剪和比例抖動的數(shù)據(jù)增強技術。另外,為了去除視頻連續(xù)幀之間存在的冗余信息并降低計算量,本文對視頻進行稀疏采樣,將整個視頻分割成無重復的16 個小片段。
本文通過計算接收者操作特征(Receiver Operating Characteristic,ROC)曲線下的面積(Area Under Curve,AUC),以評估模型的檢測性能。給定具有不同閾值的模型,ROC 能夠說明該模型的性能,ROC的AUC 值越高,說明該模型性能越好。為了確保不同方法之間的可比性,本文計算幀級的AUC 結果[24]。
在UCF-Crime 和CUHK Avenue 數(shù)據(jù)集上,將本文改進的時間分段網(wǎng)絡與主流檢測方法進行實驗對比。圖3 所示為UCF-Crime 數(shù)據(jù)集上的ROC 曲線,可以看出,本文融合RGB 圖和RGB 幀差圖輸入的改進時間分段網(wǎng)絡在幀級的召回率上表現(xiàn)更優(yōu)。
圖3 在UCF-Crime 數(shù)據(jù)集上的ROC 曲線Fig.3 ROC curves on UCF-Crime dataset
表1 和表2 顯示不同方法在UCF-Crime 和CUHK Avenue 數(shù)據(jù)集上得到的幀級AUC 結果。一般情況下,無監(jiān)督異常檢測方法只利用正常樣本進行訓練,對視頻中的噪聲很敏感,檢測效果相比監(jiān)督和弱監(jiān)督方法較差,如文獻[23,25]方法計算的AUC 值較低;文獻[19]方法利用C3D 提取視頻的特征信息,采用弱監(jiān)督方法,在UCF-Crime 數(shù)據(jù)集上AUC 值達到了75.41%,但是該方法忽略了視頻中很重要的運動信息;本文改進型時間分段網(wǎng)絡學習視頻中的外觀和運動信息,使得AUC 值得到較大提升,高于文獻[19]方法2.19 個百分點,高于基準方法TSN(RGB 流)[3]6.6 個百分點。
表1 UCF-Crime 數(shù)據(jù)集上的實驗結果對比Table 1 Comparison of experimental results on UCF-Crime dataset %
表2 CUHK Avenue 數(shù)據(jù)集上的實驗結果對比Table 2 Comparison of experimental results on CUHK Avenue dataset %
本文方法在CUHK Avenue 數(shù)據(jù)集上的AUC 結果略低于Future Frame[29]。CUHK Avenue 數(shù)據(jù)集是在校園內(nèi)拍攝的,拍攝的背景光線較差,目標離攝像頭距離較遠,且從視頻幀中提取的幀差圖具有較多噪聲,對動作特征提取產(chǎn)生了較大影響。S-Temporal dissociation[30]與本文方法相似,將視頻特征信息分離為空間和時間信息,采用RGB 幀差圖模擬光流的運動。S-Temporal dissociation[30]聯(lián)合聚類判別與重構判別,提出深度k-means 聚類算法使得空間編碼器和運動編碼器提取的特征更緊湊,采用時空卷積自動編碼器重構視頻特征信息,異常行為相較于正常行為會導致較大的重構誤差。而本文基于時間分段網(wǎng)絡的預測方法的AUC 值相對于S-Temporal dissociation[30]略低,原因是本文方法沒有充分利用外觀特征的分布信息。
本文方法在UCF-Crime 數(shù)據(jù)集上的異常事件檢測結果如圖4 所示,從中可以看出,本文異常事件檢測方法可以有效地判斷出視頻是否異常,并給出正常異常分數(shù)。
圖4 異常事件檢測結果Fig.4 Abnormal event detection results
本次實驗將研究卷積注意力機制、RGB 圖和RGB 幀差圖的組合輸入對算法性能的影響,結合不同組件在UCF-Crime 數(shù)據(jù)集上進行實驗,結果如表3 所示。從表3 可以看出,利用單個RGB 圖提取運動特征存在局限性,結合RGB 幀差圖可以提取更多的運動特征信息。另外,本文添加的時空卷積注意力模塊可以更好地分配注意力權重,提高異常檢測性能。當TSN(RGB 流)引入時空卷積注意力模塊時,可以提高AUC 值4.9 個百分點,將RGB 幀差圖與RGB 圖相結合,AUC 值進一步提高1.7 個百分點。
表3 UCF-Crime 數(shù)據(jù)集上的消融實驗結果Table 3 Ablation experimental results on UCF-Crime dataset %
為了更深入地理解卷積注意力模塊的影響,本文對卷積注意力模塊的特征圖進行可視化,為了進行比較,本次實驗結果還顯示了輸入幀和殘差網(wǎng)絡輸出幀的特征圖。圖5 所示為UCF-Crime 數(shù)據(jù)集上示例幀的熱力圖(彩色效果見《計算機工程》官網(wǎng)HTML 版),第一行是輸入的視頻幀,第二行顯示空間卷積網(wǎng)絡輸出幀特征的可視化圖,第三行顯示空間卷積網(wǎng)絡加上注意力機制加權后特征的可視化圖,較高的注意力權重區(qū)域顯示更深的紅色,而注意力權重較低的區(qū)域更接近藍色。
圖5 特征的可視化效果Fig.5 Visualization of features
本文提出一種基于改進型時間分段網(wǎng)絡的弱監(jiān)督視頻異常檢測方法,該方法以殘差網(wǎng)絡作為主干網(wǎng)絡,充分學習時間特征的規(guī)律性。為了提取視頻中的關鍵運動信息,將RGB 幀差圖和RGB 圖相融合作為網(wǎng)絡輸入。為了解決視頻異常檢測中正負樣本比例不平衡的問題,引入焦點損失函數(shù)降低訓練中大量簡單正常樣本的權重,使得模型更專注于難分類的樣本。另外,引入卷積注意力模塊,該模塊沿著通道和空間2 個不同的維度學習注意力圖,使得模型將更多的注意力分配到異常行為發(fā)生的區(qū)域。在UCF-Crime 和CUHK Avenue 數(shù)據(jù)集上的實驗結果驗證了該方法的有效性。本文對從視頻中提取的空間和時間特征進行優(yōu)化,但未充分提取到視頻樣本中的空間特征數(shù)據(jù),而且網(wǎng)絡容易受到背景噪聲的影響,解決上述問題從而提高網(wǎng)絡異常行為檢測的準確性,將是下一步的研究方向。