趙春暉, 楊 瑩, 宿 南
(哈爾濱工程大學 信息與通信工程學院, 黑龍江 哈爾濱 150001)
監控視頻能夠反映各種現實的異常情況,在保障公共安全、社會治安方面發揮著重要的作用.運用計算機視覺處理方法對監控視頻中的異常行為(如交通事故、犯罪行為)進行分析、檢測成為目前研究的熱點.由于監控視頻數量龐大、異常行為發生的機率較低、視頻中人數眾多且存在著嚴重遮擋的問題,設計高效自動的異常行為檢測方法十分重要.針對監控視頻的異常行為時序動作檢測原理如圖1所示,在監控視頻的時間軸上存在多個異常行為片段,時序動作檢測的任務就是在該視頻中找出每個異常行為片段的起始及結束時間,同時確定每一個異常行為片段的類別.近年來國內外學者對時序動作檢測進行了大量研究分析,主要包括特征的提取與時序動作定位.
在特征提取方面,傳統方法的基本思路是利用光流場獲得視頻序列中的軌跡,再沿著軌跡提取特征,最后利用FV(fisher vector)方法對特征進行編碼.Oneata等[1]采用密集軌跡特征的FV編碼,將分類任務的分數與從視頻片段中提取的FV-DTF特征相結合.Yuan等[2]使用改進密集軌跡(IDT)的改進FV編碼提取運動特征,使用VGG-16網絡模型提取4096維的場景特征.Wang等[3]利用IDT特征和CNN特征的優勢并將其結合起來,用于對視頻進行動作識別和檢測.然而上述方法中采用的2D卷積網絡無法捕獲視頻的運動信息,考慮到3D卷積神經網絡提取到的特征包含豐富的時序信息和運動信息,可以增大不同視頻間的區分度,增強視頻的描述效果,因此本文以3D卷積神經網絡為基礎設計了特征提取方法[4].
在時序動作定位方面,根據訓練數據標簽的差異將時序邊界檢測方法分為兩類:一類是采用不含時間注釋的視頻級訓練數據標簽的方法.如Lai等[5]提出的基于視頻級標簽學習的實例級事件檢測模型,將實例標簽視為隱藏的變量,同時從視頻級標簽中推斷出實例標簽及實例級分類模型.Lai等[6]等通過實例相似性度量將靜態和動態實例嵌入到多實例學習框架中,進行證據選擇性排序(ESR),并采用交替方向乘法器(ADMM)算法求解優化問題.Sultani等[7]提出了MIL異常檢測方法,將包含正常行為或異常行為的監控視頻視為“包”,將視頻片段作為“包”中的實例,通過深度多實例排名框架學習異常行為.該方法在異常行為識別方面表現較好,但是邊界定位效果較差.另一類方法采用動作時間邊界注釋的數據標簽進行網絡訓練,在此基礎上,Simonyan等[8]提出了由空間和時間兩個維度的網絡構成雙流結構的CNN,使用多幀的密集光流場作為訓練輸入,以此提取動作信息.Xu等[9]提出了區域卷積3D網絡模型R-C3D,采用端到端的訓練方式,并通過聯合優化學習與任務相關的卷積特征.使用三維全卷積網絡對視頻流進行編碼,生成包含活動的候選時間區域并分類.Shou等[10]提出了利用3D卷積神經網絡進行多階段處理的方法SCNN,采用3個基于視頻片段的CNN網絡確定動作類別,并對動作發生的起止時間進行定位.
基于以上分析,為了同時兼顧異常行為的檢測性能及時間定位的精確程度,本文提出了一種基于行動片段補充生成器的異常行為檢測方法.首先采用基于行動片段補充器的候選段生成網絡實現對監控視頻片段是否包含異常行為的區分;再采用改進3D卷積神經網絡結構的分類網絡對包含異常行為的片段進行分類;最后利用基于篩選器的后處理方法對結果篩選過濾,并通過實驗驗證了方法的準確性.
圖2為本文的監控視頻異常行為時序動作檢測方法的結構框架圖.如圖2所示,本文的方法主要由包含異常行為的動作候選片段生成、異常行為片段分類及后處理3部分構成.
作為提案網絡的輸入,多尺度視頻片段采用滑動窗口的方法生成,即在整個視頻時間軸上滑動窗口,將視頻劃分為多個重疊段(重疊率為75%).因此視頻片段的起始幀號表示為fk=fk-1+0.25um,其中um為窗口大小.與傳統的2D卷積網絡相比,3D卷積網絡能夠通過3D卷積和3D池化操作更好地提取時間信息,因此通過3D卷積神經網絡提取多尺度視頻片段的時空特征,并將其作為提案網絡的輸入特征.將數據調整為適合3D卷積網絡的輸入,包括將幀的大小調整為171×128像素,窗口長度設置為um=16×2m.為了使窗口大小更全面的覆蓋測試集的異常行為片段,對訓練數據中的異常行為發生時長進行統計,從而確定窗口大小的范圍為U=[16,32,64,128,256,512,1 024,2 048].
為了得到更加精確的檢測結果,需要對視頻片段進行初步分析處理,即將視頻劃分為動作片段(包含異常行為)和背景片段(不包含異常行為).通過3D卷積神經網絡訓練的二元分類器提取由滑動窗口生成的多尺度視頻片段的時空特征,輸出每個片段的動作得分.雖然多尺度視頻片段能涵蓋視頻的所有內容,但是經過提案網絡的二元分類篩選后,行動得分低的視頻單元將被刪除,得分較高的單元作為分類網絡的輸入,然而被刪除的視頻單元可能實際包含異常行為,同時用于對得分進行篩選的閾值的選取也會對結果產生影響,閾值過高會導致召回率降低,閾值較低則會保留大量的背景片段.如何在不引入大量背景片段的同時提高召回率是本文要解決的問題.MIL異常檢測方法采用具有稀疏性和平滑性約束的MIL排名損失函數,其對異常行為的識別能力較強.基于以上分析,根據以上2種方法的互補特征,提出了一種新的時間行動片段補充生成器來補充被誤刪的異常行為片段.
為了提高候選段生成網絡的召回率,設計了時間行動片段補充生成器.MIL異常檢測方法使用多實例排名損失的方法對包含異常行為的視頻片段與正常視頻片段進行區分,用公式表示為

(1)

式中,W代表模型權重.包含異常行為的候選片段由2部分組成,一部分由候選段生成網絡的輸出結果得到,即對輸出的視頻片段得分根據閾值T1進行過濾(T1設置為0.7),將得分大于T1的片段保留;另一部分來源于MIL異常檢測網絡,根據MIL異常檢測方法得到的視頻幀的異常行為得分情況設定閾值T2為0.5,選取得分大于閾值的連續幀構成視頻片段,然而該視頻片段的時間邊界及長度并不滿足分類網絡的輸入要求,因此需要對此與多尺度視頻片段邊界進行重疊度計算,計算公式為

(3)
式中,A、B分別表示MIL異常檢測方法得到的時間區間和多尺度視頻片段的時間區間,對于每個區間,選取與之高度重疊的多尺度滑動窗口視頻片段作為異常行為候選片段的補充片段對提案網絡的結果進行補充,從而得到視頻中具有較高置信度的異常行為候選片段集合,提高了召回率及結果的可靠性.
本文采用分類及定位網絡實現對異常行為的進一步檢測.采用改進的3D卷積網絡對行為候選片段進行分類及篩選,使網絡在對包含異常行為的候選視頻片段進行分類的同時濾除與動作片段重疊度較低的背景片段.
由于訓練數據有限, 導致原始分類網絡的性能較差, 因此本文對3D卷積網絡架構進行調整, 將在Sports 1M預訓練的網絡作為特征提取器, 然后刪除全連接層中所有的dropout層, 使訓練的網絡作為線性分類器, 為了避免網絡仍然采用原始參數, 將全連接層全部重新命名, 全連接層的第2層的神經元個數設置為64, 最后一層的神經元個數設置為5, 全連接層的權值初始化采用xavier方法, 偏置項的初始化參數設置為0.2, 所有3D池化層都使用max-pooling, 所有3D卷積濾波器在3個維度上的卷積核大小均設置為3, 步長設置為1. 使用3D卷積層的符號conv(濾波器數量)、3D池化層的符號pool(時間內核大小, 時間跨度)和完全連接層的符號fc(濾波器數量)表示的3D卷積網絡結構如圖3所示, 虛線邊框的部分表示3D卷積網絡結構的修改部分.

圖3 修改的3D卷積網絡結構Fig.3 Structure of modified 3D convolution network
定位網絡在分類網絡的基礎上進行微調,采用損失函數來更好地確定異常行為片段的時間邊界,減少分類誤差的同時刪除與異常行為片段重疊度較小的片段,損失函數的計算公式為
L=Lsoftmax+Loverlap.
(4)
式中:Lsoftmax表示softmax損失;Loverlap表示重疊損失. 根據重疊程度調整置信度分數的目的是提高與真實數據具有高度重疊的片段的檢測分數, 降低重疊度低的片段的分數. 計算公式為

通過統計與訓練數據中動作片段時長相近的窗口長度的出現頻率計算窗口權重,實現對分類結果的篩選,使得異常行為的邊界檢測結果更加準確,結果如圖4所示.再根據權重對定位網絡的動作得分重新計算得到最終置信度Pu得分,計算公式為
Pu=wuP.
(7)
式中:wu是窗口長度為u時的權重;P為原始置信度得分.由于一個異常行為應該僅對應一個視頻片段,因此保留置信度得分較高的片段的同時刪除與之重疊的視頻片段.然而輸出結果仍存在冗余,需要對時間不重疊的視頻片段進行過濾.根據MIL異常檢測方法得到的得分分布情況,不僅可以判斷異常行為片段的發生區間,還可以粗略估計異常行為的發生次數,因此將MIL異常檢測方法得到的次數Hi作為結果篩選器,對置信度得分進行排序,并根據篩選器中的異常行為發生次數,自適應地篩選出置信度得分較高的片段作為最終檢測結果.

圖4窗口大小及其對應權重
Fig.4 Window size and its corresponding weight
實驗采用UCF_crimes數據集,該數據集是包括1 900個長而未經修剪的現實監控視頻的大型視頻異常檢測數據集,包含13種現實異常現象(如戰斗、交通事故、入室盜竊、搶劫等).選取該數據集中的射擊、交通事故、爆炸、打架4類異常行為視頻數據進行實驗,設置訓練集與測試集的比例為3∶1.評估指標遵循相關文獻中使用的常規度量,將時序動作檢測視為檢索問題,指標包括評估平均召回率(AR)、平均精度(AP)及均值平均精度mAP@α,其中α表示不同的IoU閾值.
實驗在搭載NVIDIA Titan GPU的電腦上進行,實驗所采用的幀率為30幀·s-1,在Sports 1M上預訓練的3D卷積神經網絡上進行微調得到候選段生成網絡和分類網絡的模型,而定位網絡的模型是在訓練好的分類網絡上進行微調得到的,參數設置包括:將初始學習率設置為0.000 01,上一次梯度更新的權重設置為0.9,權重衰減因子設置為0.000 5,并且每經過5 000次迭代,學習率下降為原來的1/10.總迭代次數設置為20 000.同時為了比較算法的性能,在相同訓練測試數據集上對SCNN、R-C3D算法進行訓練.本文算法及其他算法的總體評價結果對比情況如表1所示.由表1結果可以看出,本文的算法有效地提升了檢測性能,得到了0.886的召回率及0.414的均值平均精度,與SCNN和R-C3D的方法相比,召回率及準確率均有提升.由于數據集為監控視頻,分辨率較低,無法與THUMOS等數據集相比,并且存在行人擁擠遮擋等情況,因此檢測結果無法與其他的已有的邊界檢測算法評價結果進行比較.

表1 不同方法在UCF_crimes數據集上的總體評價結果
每種方法在不同IoU閾值下的比較結果如表2所示,與SCNN和R-C3D的方法相比,本論文的算法在不同IoU閾值下的平均精度均有提升.閾值為0.1時每種方法對應于每種異常行為的平均精度評價結果如圖5所示.從圖5中可以看出,SCNN和R-C3D方法對于不同異常行為的檢測結果差別較大,而本論文的算法對每一種類的異常行為均有穩定且較好的檢測效果.

表2 不同方法在不同Io U下的均值平均精度值Table 2 Average mean accuracy of different methods under different Io Us
綜合對比以上實驗結果可以發現, 本文算法由于構造了異常行為片段補充生成器, 并修改了3D卷積分類網絡結構, 提升了分類網絡的性能, 所以在檢測效果上略微領先于已有算法. 實際檢測效果如圖6所示, 圖6中從上到下的類別依次為射擊、交通事故、爆炸、打架. 針對每一類異常行為分別展示了等間隔采樣的原始測試視頻幀、與該原始視頻對應的檢測結果的等間隔采樣幀. 從圖中可以看出, 本文算法對于監控視頻異常行為的時序邊界檢測具有良好的檢測效果.

圖5不同方法在每一類別實驗數據上的平均精度評價結果
Fig.5 Average accuracy evaluation results on each category of experimental data by different methods

圖6 部分檢測結果的原始視頻幀及檢測結果幀Fig.6 Original video frames and detection result frames of partial detection result
本文為解決已有方法中時間邊界與行為檢測質量不平衡的問題,提出了一種基于行動片段補充生成器的異常行為檢測方法.使用包含豐富時空信息的3D卷積神經網絡特征,利用MIL異常檢測方法與滑窗法的互補特性,在保證準確性的前提下為分類網絡提供了盡量多的高質量的補充特征輸入,從而提高了召回率,改進了3D卷積神經網絡結構,提高了分類網絡的性能.針對邊界檢測結果冗余較多的問題設計了篩選器,自適應地對檢測結果片段進行篩選,在UCF_crimes數據集的驗證下表明本文的算法取得了更好的檢測結果.在后續的研究工作中,將探索更加有效的異常行為邊界檢測方法,同時將提出的邊界檢測方法應用在視頻檢索方面,進一步提高視頻檢索的性能.