李璦嘉, 彭新茗, 馬廣焜, 陳展鵬, 于 洋
(沈陽工業(yè)大學 軟件學院, 沈陽 110870)
人體異常行為識別與檢測技術(shù)涵蓋對人體行為的識別、檢測和異常行為的分析,被越來越多地應用在智能監(jiān)控、醫(yī)療看護和交通監(jiān)管等領(lǐng)域,其市場前景可觀,具有高可用性。 如,在智能監(jiān)控領(lǐng)域,通過該檢測技術(shù),判斷公共場所人員是否發(fā)生擾亂公共秩序等違規(guī)行為。 在醫(yī)療看護領(lǐng)域,可對家人進行24 h 監(jiān)護,避免家中老人或小孩突發(fā)意外狀況。 在交通監(jiān)管領(lǐng)域,對車內(nèi)外、以及車內(nèi)駕駛員的異常行為進行監(jiān)控,進一步降低交通事故發(fā)生的風險。
當前,國內(nèi)外在異常行為檢測技術(shù)方面也有了較大的突破—從早期基于人工設(shè)計特征的方向梯度直方圖、光流直方圖、混合動態(tài)紋理等異常行為檢測技術(shù)[1],到現(xiàn)如今的基于深度學習的異常行為檢測算法。 隨著網(wǎng)絡層數(shù)的增加,特征也越來越抽象,這就直接導致了基于人工設(shè)計特征的檢測技術(shù)在應用中會受到諸多限制;而基于深度學習的異常行為檢測算法是通過對原始圖像的學習來分析其復雜的非線性行為特征。 因此在較多網(wǎng)絡層數(shù)的情況下,就能夠更好地描述行為特征,且檢測準確率更高,計算復雜性較低。 基于深度學習的異常行為檢測算法主要可分為單階段和雙階段兩種。 前者無候選區(qū)域,能夠直接產(chǎn)生物體的類別概率和位置坐標值,以SSD 和YOLO 系列為例;而后者在檢測過程中,分為2 個階段。 第一階段:生成包含目標位置信息的候選區(qū)域;第二階段:劃分候選區(qū)域,并精確求得目標位置信息,以R-CNN、Fast R-CNN、Faster R-CNN為例[2]。 其中,R-CNN 及其延伸的算法,使用一個管道在多個步驟中執(zhí)行這個任務,存在運行速度慢、需要單獨訓練每一個組件和優(yōu)化效果不強等問題。而YOLO 只用一個神經(jīng)網(wǎng)絡就能完成,因此項目擬采用YOLOv5 輕量化網(wǎng)絡模型作為行人異常行為檢測系統(tǒng)的網(wǎng)絡模型。
本文以校園封閉管理為例,選用在速度上有優(yōu)勢的YOLOv5 目標檢測算法。 將大量真實的圍欄場景下的行人樣本載入訓練模塊,進行訓練,結(jié)合訓練好的檢測系統(tǒng)對監(jiān)控探頭拍攝的視頻圖像進行智能識別并根據(jù)置信度、IoU的數(shù)值輸出不同檢測結(jié)果,當被拍攝人員存在疑似翻越圍欄、偷取外賣等異常行為且達到額定百分比時,對其進行自動識別和抓拍,并發(fā)出報警信號達到警示的效果。
然而,在實際應用過程中,基于圍欄場景的異常行為檢測面臨著諸多挑戰(zhàn),如背景復雜度、光線、拍攝角度等非受控條件導致提取特征性能受限;在線分析大量實時數(shù)據(jù)時,存在異常行為檢測的高延遲等問題。
整個異常行為檢測系統(tǒng)由圍欄場景下的監(jiān)控攝像頭、監(jiān)控室內(nèi)交換機、管理服務器、顯示屏幕和警報器組成。 學校相關(guān)管理部門可根據(jù)實際情況,如事件高發(fā)時段和高發(fā)地點,選擇開啟檢測系統(tǒng)。 系統(tǒng)開啟后,通過網(wǎng)絡將圍欄場景下人員的疑似翻越、偷取外賣等異常行為情況上傳給服務端,并將檢測與分析的結(jié)果存入日志文件。
系統(tǒng)整體采用流式開發(fā)模型,系統(tǒng)流程如圖1所示。 首先對視頻流提取關(guān)鍵幀(本文可通過對幀率的更改,自定義提取關(guān)鍵幀),對圖像進行預處理,而后提取其特征,得到與之相對應的特征圖,并以此為參照對物體類別和邊框進行預測,所得數(shù)據(jù)寫入日志。 該過程實現(xiàn)了真正的端到端的處理。
圖1 系統(tǒng)流程圖Fig. 1 Flowchart of the system
系統(tǒng)使用客戶端/服務器(C/S)模式作為系統(tǒng)的整體架構(gòu)。 其中,服務器端提供基于YOLOv5 的目標檢測方法的識別服務,其主要工作流程為處理視頻數(shù)據(jù)流,提取關(guān)鍵幀作為原始圖像,處理后將標定好的圖像傳輸給客戶端。 客戶端向服務器端發(fā)送請求,服務器端接收、處理請求,并將結(jié)果返回。 系統(tǒng)的整體功能架構(gòu)如圖2 所示,該系統(tǒng)共分為2 部分:離線的網(wǎng)絡訓練和在線的目標檢測。 由圖2 可知,對該行為檢測系統(tǒng)中各研發(fā)模塊的功能設(shè)計可做闡釋分述如下。
圖2 系統(tǒng)功能架構(gòu)圖Fig. 2 System functional architecture diagram
(1)圖像采集模塊。 對視頻流進行截取操作,截取關(guān)鍵幀,形成圖像數(shù)據(jù)集。
(2)圖像預處理模塊。 在本模塊中,由于圖像存在無關(guān)的信息,影響檢測效率,因此對圖像進行了灰度化、幾何化和圖像增強處理,突出顯示需要檢測的目標,這樣可以簡化數(shù)據(jù),提高檢測效率。
(3)圖像檢測模塊。 在該模塊中,采用單階段的目標檢測算法—YOLOv5 目標檢測網(wǎng)絡作為行人異常行為檢測的基礎(chǔ)網(wǎng)絡模型,涵蓋訓練模塊和預測模塊兩部分,分別對訓練集和測試集進行處理,訓練模塊根據(jù)采集到的圖像對網(wǎng)絡的參數(shù)進行學習,提取特征圖;預測模塊再依據(jù)提取到的特征圖進行目標分類和邊框回歸。
(4)日志模塊。 該模塊不僅記錄檢測過程中產(chǎn)生的識別信息,還可以記錄檢測過程中系統(tǒng)的工作狀態(tài)、客戶端的請求、執(zhí)行的操作以及檢測出異常行為后的報警情況,形成日志文件,利于后續(xù)查看。
(5)報警模塊。 此模塊通過調(diào)用服務器接口來實現(xiàn)這部分的操作處理。 當人員存在疑似翻越圍欄、偷取外賣等異常行為時,對其進行自動識別和抓拍,并上傳信息到客戶端。
本實驗對采集到的圖像依次進行灰度化、幾何變換,這在一定程度上豐富了數(shù)據(jù)集、防止過擬合訓練并有效提高了網(wǎng)絡模型的魯棒性。 首先,對原始圖像進行灰度化處理,使每一個像素的顏色、即RGB 值相同;然后,通過平移、轉(zhuǎn)置、旋轉(zhuǎn)、縮放的幾何變換,來降低系統(tǒng)誤差和儀器擺放位置誤差帶來的影響。 而在此過程中,針對出現(xiàn)的采集圖像過多、不清晰、不可用的問題,進行圖像增強操作,即增強圖像中的有用信息,也就是針對給定圖像的不同應用查找,有目的地增強圖像的整體特征或局部特征。該操作不但能使原圖像變得清晰,還能模糊不重要的特征,同時突出不同物體之前的區(qū)別。 通過圖像預處理機制可以增強畫質(zhì),顯著提升對圖像的識別效果,進一步滿足人體異常行為分析的需求。
本系統(tǒng)采用YOLOv5 框架。 共包括:輸入端(Head)、主 干網(wǎng) 絡(Backbone)、Neck 和 輸 出 端(Prediction)四大部分[3]。 對此研究內(nèi)容,擬展開解析表述如下。
(1)輸入端(Head)
①Mosaic 數(shù)據(jù)增強如圖3 所示。 對輸入的4張圖片,通過隨機縮放、隨機裁剪以及隨機排布的方式將圖像拼接起來。
圖3 Mosaic 數(shù)據(jù)增強示意圖Fig. 3 Mosaic data enhancement diagram
②自適應錨框計算。 對每個設(shè)定不同長寬錨框的數(shù)據(jù)集進行訓練,在其初始的錨框架上輸出預測框,并計算與真實框的差距,進行反向更新,反復迭代參數(shù)。
③自適應圖片縮放。 由于圖片可能存在尺寸不同,因此對原始圖像進行自適應圖片縮放,添加最少的黑邊來統(tǒng)一其尺寸,再進入網(wǎng)絡檢測[4]。
(2)主干網(wǎng)絡(Backbone)
①Focus 結(jié)構(gòu)。 輸入原始圖像,進行切片操作,改變特征圖的大小。
②CSP 結(jié)構(gòu)。 以該系統(tǒng)中的YOLOv5s 網(wǎng)絡為例,整個網(wǎng)絡模型中含2 種CSP 結(jié)構(gòu)。 一種存在于主干網(wǎng)絡(Backbone),另一種存在于Neck 中。
輸入圖像尺寸為608?608,特征圖變化如下:608?304?152?76?38?19,該結(jié)構(gòu)起到下采樣的作用,增強CNN 的學習能力,在輕量化的同時也確保了系統(tǒng)的準確性[5],并降低了內(nèi)存的計算開銷。
(3)Neck。 采用FPN+PAN 的結(jié)構(gòu)。 其中,F(xiàn)PN是由高維度向低維度傳遞語義信息的過程,使大目標更加明確,而PAN 是由低維度向高維度再傳遞一次語義信息,從而在明確大目標的同時也能夠清晰小目標。
Neck 部分如圖4 所示。 在該部分中,將自頂向下傳達強語義特征與特征金字塔自底向上傳達強定位特征相結(jié)合,進而能夠從任意主干層對任意檢測層進行參數(shù)聚合。
圖4 Neck 部分示意圖Fig. 4 Schematic diagram of the Neck part
(4)輸出端(Prediction)
①CIoU_Loss。CIoU_Loss考慮邊界框?qū)捀弑鹊某叨?,能夠達到預測框回歸的速度要求和精度更高的效果。
②非極大值抑制(NMS)。 會在局部區(qū)域選取極大值窗口,而后刪除低分窗口,并一直重復此操作,來抑制分數(shù)較低的窗口。
通過調(diào)用軟件接口連接傳統(tǒng)監(jiān)控系統(tǒng),在測試其性能良好后,使用訓練后的模型檢測校園圍欄場景下視頻中的異常行為。 根據(jù)攝像頭讀取到的視頻流,檢測系統(tǒng)進行逐幀檢測,當檢測到標注的存在異常行為的人員時,系統(tǒng)會將對應幀進行保存,存儲到日志文件中,并標注好對應時間,方便用戶后續(xù)的翻閱查看。
本實驗的訓練集和測試集由Pascal VOC、MS Coco 公共數(shù)據(jù)集提供和自采集圖像組成。 其中,自采集圖像取材于沈陽工業(yè)大學校園圍欄場景下的多角度、各時段的多個監(jiān)控視頻,使用光流法對視頻進行關(guān)鍵幀提取,采用Labellmg 軟件對關(guān)鍵幀進行標注,設(shè)置異常行為的標簽為:攀爬(climbing)、穿越(crossing)、偷取外賣(takeout),通過數(shù)據(jù)增強方法對樣本進行擴充。 從而在不同數(shù)據(jù)集來源上形成橫向?qū)Ρ鹊耐瑫r,能夠區(qū)別于監(jiān)控攝像的一致俯拍角度對實況進行左、右側(cè)的各角度抓拍。
本實驗處理器為:Intel(R) Core(TM) i7-6700X CPU@3.70 Ghz,32 G 運行內(nèi)存;顯卡Nvidia Geforce GTX 1650Ti;操作系統(tǒng)為Windows10。
該實驗基于深度學習框架pytorch 1.9;實驗環(huán)境python 3.8;GPU 加速軟件CUDA10.0。
系統(tǒng)檢測結(jié)果如圖5、圖6 所示。 其中,圖5 為原始圖像和檢測圖像,圖6 為測試數(shù)據(jù)檢測結(jié)果。
圖5 圍欄翻越行為檢測示意圖Fig. 5 Schematic diagram of fence overfetch behavior detection
圖6 測試數(shù)據(jù)檢測結(jié)果示意圖Fig. 6 Schematic diagram of test data detection results
綜上所述,應校園封閉管理之需,本文提出了一種基于YOLOv5 的圍欄場景下行人異常行為檢測系統(tǒng)。 首先,綜合考慮模型的檢測速度和精度等因素,選擇適當?shù)哪繕藱z測模型,這里選擇了YOLOv5 輕量網(wǎng)絡模型。 其次,給出系統(tǒng)總體功能框架,并詳細描述該系統(tǒng)涉及的識別檢測模塊,共包括圖像采集、圖像預處理、圖像檢測、日志處理和報警五大模塊[6]。 該系統(tǒng)采用離線的網(wǎng)絡訓練和在線的目標檢測,能夠滿足真實圍欄場景下的異常行為實時檢測的需求,具有易于跨平臺搭建、運行速度快、檢測效率高等特點,具有較高實用性。
但是,在實驗中,系統(tǒng)的識別效果會受到監(jiān)控探頭拍攝角度和距離的影響,這就要求了在實際應用中,要求監(jiān)控探頭的拍攝角度能夠確保在檢測范圍內(nèi)人員與圍欄之間無遮蓋。 今后的項目開發(fā)中,通過對網(wǎng)絡模型參數(shù)的不斷修改,提高網(wǎng)絡的兼容性以及圍欄翻越檢測系統(tǒng)的識別效果。