吳燕菊,胡峰源,徐嶄,董岱豪
(陸軍工程大學指揮控制工程學院,江蘇南京 210001)
近年來,為加強涉密場所如值班室、實驗室等的安全管理,各級管理部門不僅出臺了一系列管理制度,還通過加裝監控設備如攝像頭等進行實時監管。然而,在對視頻中違規行為進行識別時,目前仍多采用安全泄密事件發生后的人工鑒別方式。
在監控視頻中檢測違規行為,一方面需要耗費大量人力和精力。另一方面,依靠人工檢測的方式容易出現誤報和漏檢,同時也無法實現實時處置和預報。因此,如何從海量監控視頻中提取有用信息并提高對違規行為的識別能力,對于加強涉密場所的安全管控具有重要的應用價值。
目標檢測提供了識別涉密場所敏感行為的一種方法。本文結合監控設備中敏感行為的目標特征,梳理了該領域存在的技術難點,并總結了傳統目標檢測方法和深度學習檢測方法的基本流程。同時,提出了一種基于YOLOv5 的涉密場所敏感行為檢測方法,分析了采用的數據集及檢測結果,這些研究成果對未來涉密場所敏感行為檢測方面的研究具有重要參考價值和推動作用。
所謂涉密場所[1],即保密要害部位,是指集中制作、存放、保管國家涉密載體、涉密信息的專門場所。
敏感行為,是指有可能引發泄密或者危及涉密人員人身安全的行為。本文主要側重泄密行為,設定在涉密場所攜帶手機和滯留手機為敏感行為。
1)實際數據與訓練數據差異性較大
訓練數據上大部分來自網絡,目標多位于中央,光照條件好。實際涉密場所內較昏暗,監控攝像頭在采集視頻時畫質較差,分辨率和像素低,不易從視頻中更好地提取特征,如若天氣糟糕時會進一步惡化,影響著目標檢測的質量。
2)目標尺度復雜多變
目標處于移動狀態,容易隨著角度和距離等參數發生相對變化。監控攝像頭位置較高時,容易產生模糊目標和小目標,二者較近時,容易產生目標不全,或者大的目標出現;另外,不同的拍攝角度也會產生不同的效果,從而加大了檢測難度。
目標檢測算法根據是否運用了深度神經網絡,將其分為傳統的目標檢測算法和基于深度學習的目標檢測算法。
2.1.1 傳統目標檢測算法
傳統目標檢測算法流程如圖1所示。

圖1 傳統目標檢測算法流程
首先,在目標圖像上利用滑動窗口依次選取以下候選區域,而后對這部分區域利用SIFT,HOG 等進行特征提取,最后使用預先訓練好的分類器,例如SVM進行分類。就傳統目標算法而言,存在兩大缺陷[2]:
1)滑動窗口選擇區域,選擇時針對性不強,時間復雜度高。
2)人工選擇設計的目標多樣,魯棒性不足。
2.1.2 深度學習目標檢測
深度學習目標檢測算法是人工神經網絡的改進,并且是一種常用的AI技術圖像目標檢測算法,相比傳統目標檢測算法在檢測性能和效果上獲得了明顯改善。文獻[3]中提到針對人群中檢測異常行為時存在的高算法復雜度和低精確度的問題,提出了基于改進的SSD算法,該算法將特征提取網絡替換成了輕量級別網絡,減少了模型內參數,加快了模型運行速度,從而能夠更加精確地檢測異常行為。文獻[4]提出了傳統目標檢測算法在特征提取上存在不足,因此在YOLOv3 網絡中采取了合并歸一化到卷積層、修改損失參數、添加池化等方式以提升網絡的性能和檢測精度。然而該算法仍然存在運行速度慢、使用范圍小、靈活性差等問題。為提高涉密場所的安全性能,本文利用YOLOv5 模型來檢測敏感行為,該模型具有小尺度、低成本部署和高靈活性等優點,檢測速度快[5]。
YOLOv5 是一種基于深度學習的目標檢測算法,它是YOLO[6](You Only Look Once) 家族的代表算法。根據使用深度和寬度兩種參數控制4種結構,主要包括的結構有YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x,深度上依次加深,寬度亦然,精度上雖在不斷提高,但是速度上不能互相匹配,在不斷降低。考慮到YOLOv5s 是4 者中最輕量化且深度與寬度最小,因此本文采用YOLOv5s網絡結構進行模型訓練,其網絡主要可以分為4 部分:輸入端、骨干網絡、頭部網絡和輸出端[6]。
訓練的具體流程如圖2所示。

圖2 目標檢測算法處理流程圖
由于涉密場所的保密性,且存在實際數據與訓練數據差異性較大的問題,所以本文通過自建數據集訓練模型,主要來源于在模擬涉密場所環境以及各種天氣下拍攝的敏感行為視頻,并將視頻進行分幀,如圖3所示。

圖3 部分數據集展示
針對存在的目標尺度復雜多變的問題,本文采用數據增強技術對樣本進行隨機裁剪、縮放和旋轉,以增加訓練樣本的多樣性和豐富性,最終得到12 000張圖片,如圖4所示。
使用標注軟件Labelimg[7]對原始數據進行標注,所有數據集采用YOLO 格式進行標注。圖片標注過程如圖5所示,標注結果以XML格式存儲,XML文件中包括圖像信息、目標名稱、目標所在位置等信息。

圖5 標注圖片
將XML 文件轉換成YOLO v5s訓練所需要的TXT文件,如圖6所示,并將數據集劃分為訓練集和驗證集,其比例為4:1,如表1所示。

表1 數據集分類

圖6 部分TXT文檔展示
3.3.1 環境配置
本文采用深度學習框架PyTorch進行YOLOv5s模型的訓練,其余軟件環境和版本如表2所示。

表2 實驗環境配置
其中操作系統為Windows11,處理器為11th Gen Intel(R) Core(TM) i7-11370H,主頻為3.30Hz,使用本地GPU,輸入圖像大小為640 mm×640 mm;輸入通道數為2,選代次數設置為300 次,在Anaconda3 創建的虛擬環境中進行訓練其屬于一個開源的Python 發行版本,可以利用conda進行package和environment的配置且包含Python 相關的配套工具,同時在CUDA 和CUDNN解決GPU在運行時的復雜問題。
3.3.2 數據集評價
在YOLOv5學習中,會使用精確度(Precision)和召回率(Recall)作為評估參數。精確度描述的是實際預測正確的數據在正樣本數據中的比例;召回率描述在數據集合中正類別被確切檢測出來的比值。兩者公式分別為式(1)和式(2)。
其中,NTP為預測正確的數據樣本數目,NFP為預測錯誤的數據樣本數目,NFN其中為出現錯漏的樣本數目。
平均精度均值(mean Average Precision,mAP)是精確度和召回率的綜合平均精度(average、precision)的平均值,如式(3)和式(4)所示:
其中,P、r分別為精確度和召回率,k表示種類,K表示實驗的種數總和。
3.3.3 算法訓練
如圖7所示將搭建好的YOLOv5s的環境,根據硬件配置及逆行參數的設置,如圖7所示。

圖7 參數調試
如圖8所示,模型訓練到200次時開始收斂,其中訓練集的BOX是bounding box(邊界框)定位損失,可以看出模型預測框與真實框差值逐漸變小,準確度越來越高;Objectness 為置信度損失,可以看出其損失越來越小,對于目標的檢測準確度越高;Classification 是分類損失,可以看出損失基本為0,分類上的準確度越高。另外看出訓練集中的損失函數變化總體已經降到最低水平。Prection 和Recall 都處于逐步上升的趨勢,符合本實驗預期結果,對于兩者形成的面積,即為所求的測試集mAp_0.5值,其最大值可以達到95.2%。

圖8 訓練結果
訓練后的YOLOv5s最佳模型如圖9所示。

圖9 訓練后的最佳模型
直接檢測圖片,完成一張640×384 mm 的目標圖片,檢測大概需要0.1s,檢測速度較快,如圖10所示。

圖10 檢測識別過程
然后對攜帶手機和滯留手機的視頻進行檢測識別,最終效果如圖11所示。

圖11 系統檢測效果圖
結合YOLOv5s 訓練模型,將其運用到檢測系統中,具體流程如圖12所示。

圖12 系統檢測流程圖
將訓練后所得的模型文件放于源代碼中,進行系統的測試與實現,本系統由羅技4K 高清攝像頭負責進行實時拍攝,并自動上傳到軟件中進行檢測,同時也支持由于特殊情況下的人工手動上傳。檢測效果如圖13所示。

圖13 系統檢測效果圖
從結果中可以看出。界面可劃分為以下5 個區域:
1)敏感行為留存區:存在違規攜帶手機和使用手機進行拍攝的行為會被捕獲出來。
2)風險等級預警提示區:發現敏感行為后會立即發出預警以及對應風險等級。
3)敏感行為次數統計區:統計一天內敏感行為的次數。
4)人員類別、相關地點、所屬單位等信息的歷史記錄區,以便后期進行相關的提醒教育處理。
5)視頻顯示區:將實時視頻在界面中展示。
該系統能夠動態檢測敏感行為,識別出攜帶手機、拍照等行為,并提供實時報警和歷史記錄,為管理人員提供決策支持,從而提高了涉密場所的安全系數。
基于YOLOv5 的涉密場所敏感行為檢測系統,通過自建數據集對YOLOv5s模型進行訓練,得到訓練權重文件,對所需架構進行搭建,完成涉密場所敏感行為的檢測。提高對于涉密場所視頻監控下的安全系數,對后續涉密場所敏感行為檢測研究具有一定參考價值和推動作用。