余胤翔, 黃胤政, 李 寧, 徐 威, 儲茂祥
(1 遼寧科技大學電子與信息工程學院, 遼寧鞍山 114051; 2 西南科技大學經濟管理學院, 四川綿陽 621010)
智慧社區是新形勢下社會管理創新的一種新模式,隨著物聯網、云計算、人工智能等新一代信息技術的快速發展,居民的生活環境變得越來越安全和便利[1]。 社會對公共安全重視程度的逐漸加深,使基于視頻監控的智能感知技術成為安全監控發展的重要方向[2]。 由于傳統視頻監控系統僅具備拍攝和存儲功能,一旦發現盜竊、搶劫、打架等暴力事件,公安部門在后期收集證據和案件審查過程中會消耗大量的人力、物力和時間。 隨著國內監控范圍基本實現全覆蓋,其海量的視頻數據所帶來的工作量及人工甄別的方式已不能適應居民對社區安全的需求。 利用人工智能的高計算能力和高效能特點,通過對視頻監控數據進行實時處理分析,及時發現異常行為和意外事件,做到提前預警,從而減少意外導致的經濟損失和居民人身危害。
針對異常行為基于時空信息進行定義可將其分為3 類:
(1)在某一場景中不尋常位置發送的動作;
(2)在某一場景中不尋常時刻發生的動作;
(3)在某一場景中正常位置、正常時刻發生的不尋常動作[3]。
由于異常行為的種類很多,在社區中行為自由度較高的地方,不合規的動作很難窮舉。 因此,異常行為檢測存在以下技術難點:
(1)相比于正常行為,社區內一般異常行為發生的幾率很低,因此很難獲取到足夠的數據,由于正負樣本不均衡,計算機很難學習到足夠多的異常行為特征[4]。
(2)通過社區監控獲取到的畫面質量參差不齊,外界陽光和室內燈光的變化導致視頻畫面亮度值不同;監控攝像頭拍攝的角度和遠近不同。
(3)視頻畫面中人員運動速度較快,視頻畫面會產生一定的模糊,且人員通過周圍環境或者衣物進行遮擋,也會影響到動作判定的精確度。
(4)視頻流處理數據非常耗時,如果將視頻中每個幀數的數據都提取出來處理,任務量非常龐大,使整個系統運行的實時性效果變差。 因此需要對視頻數據抽取部分關鍵幀,從而減少無效數據量,提升運行速率。
早期對人體異常行為的檢測研究多利用手工特征描述符來表示行人的外觀和運動特征[5],其中包括軌跡[6]、梯度方向直方圖(HOG)[7]和光流直方圖(HOF)[8]等等。 但是,這類視覺特征提取方法在捕獲行為特征時性能較低。 因此,本文結合目前主流的目標檢測算法,提出一種基于Faster-RCNN +SlowFast 的異常行為識別方法,提升識別的精度,對社區公共場所內人員的異常行為進行監測預警。
SlowFast 網絡[9]分為兩個分支,慢速通道(Slow pathway)和快速通道(Fast pathway)。 Slow pathway分支運行低幀率,在低時序分辨率下,提取空間中的有效信息。 Fast pathway 負責運行高幀率,在高時序分辨率下,精準提取有效的時間運動信息,同時減少通道數量,使其變得輕量化,更能夠適應一些邊緣AI 的應用場景。 盡管Fast pathway 能在高速的環境下做出反應,刺激反應快,但是對空間信息不敏感,而Slow pathway 則能夠提供空間中的詳細信息,但是刺激反應速度較慢,因此需要對兩條通路進行橫向連接進行互補融合。 通過改變兩條通道的時間維度,使得網絡在快慢通道的每個階段進行匹配。 最后,分別獲取Fast pathway 和Slow pathway 兩條通道的特征向量。 將兩個的特征向量串聯起來作為全連通分類器層的輸入[10]。 SlowFast 網絡結構如圖1 所示。

圖1 SlowFast 網絡結構Fig. 1 SlowFast network structure
首先需要建立時空動作識別模型,視頻通過密集抽幀獲取時空信息。 由于相鄰幀之間信息冗余較大,所以只獲取關鍵幀,之后對其進行數據處理,使關鍵幀匹配其上下文的數據,最后加載檢測該模型。
整個運行過程中,系統在關鍵幀中利用檢測模型檢測圖像中的人,獲得人的位置、置信度等信息,將提前加載好的模型輸入,構建的時空動作識別模型,之后進行時空動作識別模型推理,得到動作識別結果。 最后將整個過程進行可視化操作輸出視頻,用來觀測動作識別結果。 模型應用流程如圖2 所示。

圖2 模型應用流程Fig. 2 Specific flow chart of model application
如圖3 所示,SlowFast+FasterRCNN 的實現分為兩個階段檢測。 在準備完數據集后,先利用SlowFast模型提取時序特征,作為整個網絡的主干網絡Backbone;其次通過FasterRCNN 中的Roi_head 獲得目標檢測中框的特征,并將該操作擴展到3 維,最后將檢測結果輸入分類器,判別人體動作并輸出當前人的動作。 總結來講,系統先定位到視頻幀的每個人動作,提取其位置等特征,得到每個人的特征檢測框,再放到分類模型中,對每個人的動作進行分類。

圖3 SlowFast_FasterRCNN 實現過程Fig. 3 SlowFast_ FasterRCNN implementation
本文實驗針對社區環境進行人員識別,視頻數據主要來源于監控畫面,數據集主要來源于谷歌開源的AVA 數據集。 考慮到部分異常行為的發生頻率較高,數據集相對較少,因此自建數據集進行補充。 如:打架的數據集中又加入了fight-detectionsurv-dataset、A-Dataset-for-Automatic-Violence-Detection-in-Videos 和UBI_FIGHTS 等開源數據集。最后,基于AVA 公開數據集[11]格式,建立異常行為檢測數據庫。
建立數據集后,需要對數據集進行幀標注,在電腦上導入已經標注好的數據集進行本地模型訓練。
首先從所有視頻數據中提取視頻幀,以每幀3s的幀率(fast 分支幀率)進行視頻抽幀采樣,之后進行幀標注。 幀數標注使用的標簽數據(CSV)格式為:視頻ID、視頻幀時間戳、識別的框圖位置(x1,y1,x2,y2)、動作ID、人的ID。
通過PaddleDetection 提供的FasterRCNN 模型得到檢測結果后, 將檢測結果轉成SlowFast _FasterRCNN 模型需要的輸入格式,制作標簽數據list 文件,ID 從1 開始,見表1。

表1 標簽IDTab. 1 Label ID
在slow 分支幀的數據集的基礎上重復上述操作,以較大幀率(實驗使用為40 fps)抽取視頻幀,制作fast 分支數據集。
實驗在Windows10 Version 21H2 操作系統下進行,采用飛槳AI Studio 社區提供的PaddleDetection 2.0 框架,軟件環境為CUDA 11.2,Python3.7。 訓練時的初始學習率為0.003。
3.2.1 調節學習率
在訓練模型的過程中,需要對模型進行優化。如果一開始模型精度設置過大,可能導致訓練時跳過最優解,隨著訓練次數越多,模型精度就會越低。因此,采用學習率預熱(Warmup)和分段常數衰減(Piecewise_constant)的方法,分別設置兩個常數值:開始的學習率warmup_start_lr和基礎學習率step_base_lr。 初始訓練時,選擇較小的學習率訓練,再將學習率調節為設置好的學習率繼續訓練,從而提高模型精度。 實驗最后確定的warmup_start_lr參數為0.002、step_base_lr為0.04。
3.2.2alpha超參數優化
alpha參數是slow和fast兩個分支幀的比例。如公式(1):
通過調小backbone 和數據處理的PackOutput中alpha參數,再結合學習率參數的變化趨勢進行修改,從而進一步提升模型的識別精度。
3.2.3 數據集優化
數據集的質量會對系統異常行為檢測精度產生影響,為此進行了對比實驗。 訓練選擇兩組數據集,第一組只用AVA 數據集,第二組使用自建數據集。觀察模型部署后,系統對異常行為的平均正確率(AP)。
考慮到不同異常行為的數據量不同,訓練出的識別精度也不同,因此需要挑選出識別精度相對較高的異常行為,選擇以官方的AVA 數據進行集中測試。 實驗結果見表2。

表2 AVA 數據測試結果Tab. 2 AVA data test results
從表2 中數據可知,由于踢腿動作的數據集較少,AP值極低,不具備參考價值。 因此,選用打架、吸煙兩個識別精度較高的動作作為實驗對照選取的動作進行實驗,結果見表3、表4。

表3 吸煙數據集對比Tab. 3 Comparison of smoking data sets

表4 打架數據集對比Tab. 4 Comparison of fighting datasets
根據數據得出,在相同動作下,自建數據質量低于AVA 數據集,即便在數據量大于AVA 的情況下,自建數據集的AP值依舊低于AVA 的AP值。 由此可見,數據質量對模型精度存在一定的影響,因此可以通過進一步優化數據集樣本,提高模型的識別精度。
使用Faster-RCNN+SlowFast 網絡對異常行為識別數據集的測試集中視頻進行測試,通過可視化操作輸出視頻,用來觀測動作識別結果。 這里導入了兩段打架視頻進行測試。
識別效果如圖4 所示,兩組圖片都進行了輸入圖像和輸出圖像的對照,系統對打架雙方的打架動作進行目標檢測后在視頻圖像上進行了框選,并在方框上自動顯示檢測動作的名稱fight。 由實驗結果可以看出,該檢測方法可讓用戶直接根據視頻的框選標記,判斷社區中是否發生異常行為及其種類,能夠有效實現異常行為的檢測,具有較好的實用性。

圖4 實驗效果Fig. 4 Experimental effect
本文提出了一種基于Faster-RCNN +SlowFast網絡的社區安防異常行為識別方法,系統通過訓練和部署檢測模型和時空動作識別模型,可以實時檢測視頻監控中出現的異常行為。 本文對該網絡的框架和原理進行了簡單闡述,提出了數據集的優化和參數的調節方法,并通過實驗進行驗證,給出了相關實驗數據進行分析,一定程度上提高了模型的識別精度。 人體異常行為識別的研究,對于未來社區安防事業的發展具有重要意義。