左應祥 倪建輝 楊圓鑒 韓光譜 彭 聰
(1. 中國石油西南油氣田分公司 重慶氣礦, 重慶 400021; 2. 重慶科技學院 安全工程學院(應急管理學院), 重慶 401331)
當前,人工監(jiān)控預警模式效率低下、實時性較差的問題日漸突出,智能化監(jiān)控模式成為新的應用研究方向。采用智能化監(jiān)控模式,可以實時檢測并識別入侵目標,提取其外觀特征,跟蹤其運動軌跡,并及時預警。入侵目標檢測是智能化監(jiān)控的核心技術,經過多年發(fā)展其算法也在不斷成熟,傳統(tǒng)的算法有光流法、粒子濾波和均值漂移等。Lucas 等人對光流法進行了改進[1],通過對比相鄰幀的特征點得到運動目標的光流矢量,進而獲取該目標在當前幀下的位置坐標。粒子濾波算法是通過粒子集來表示概率,Andrew等人將該算法應用于目標跟蹤領域[2-3]。他們提取了目標特征,根據(jù)高斯分布規(guī)律進行粒子采樣,將采集到的樣本與提取到的目標特征進行匹配,從中選取相似度最高者作為預測結果。均值漂移法最早由Fukunaga 等人應用于 Hosterler數(shù)據(jù)分類上[4],之后在目標跟蹤領域也有所表現(xiàn)[5]。該算法是以概率分布理論為基礎,利用顏色直方圖進行識別,經過多次迭代后獲得目標位置的概率分布,目標位置的概率最大。
隨著入侵目標檢測應用的普及,傳統(tǒng)算法的不足逐漸顯現(xiàn)出來。其中,光流法的計算耗時較長,無法滿足運動目標檢測中的實時性需求[6]。粒子濾波算法僅利用顏色直方圖進行圖像識別,當圖像背景與檢測目標本身顏色相似時,則極有可能跟蹤失敗[7]。均值漂移法雖具有識別速度快、魯棒性好等優(yōu)點,但其空間信息描述不足,同樣會面臨目標與背景顏色相似等問題,存在一定的局限性[8]。
當前常用的一種入侵檢測思路是,通過卷積神經網絡實現(xiàn)入侵目標的外觀特征提取[9],基于濾波算法實現(xiàn)入侵目標的運動特征提取[10]。基于相關濾波算法提取運動特征,提取效果和魯棒性較出色,但無法描述入侵目標的外觀特征,因此需要配合卷積神經網絡進行外觀特征提取[11]。而在多種卷積神經網絡中,YOLO網絡因其較高的精度和較快的檢測速度而得以廣泛應用[12]。
本次研究將針對當前氣田無人值守場站的監(jiān)控問題,討論基于YOLOv5網絡的入侵目標檢測方法[13],采用Deep SORT算法對檢測到的入侵目標進行跟蹤[14]。為解決卷積神經網絡對于顯存資源消耗較大而無法滿足多路攝像頭同時檢測的問題,在此采用拼接畫面的方式進行檢測,使用單一攝像頭資源進行多路攝像頭并行檢測。
入侵檢測的基本流程包括:采用拼接畫面的方式實現(xiàn)多個攝像頭同時檢測;通過YOLOv5網絡實現(xiàn)人體檢測;應用Deep SORT算法對檢測到的人體進行跟蹤,判斷目標是否進入危險區(qū)域。入侵檢測整體設計流程如圖1所示。
進行入侵檢測,首先需要實現(xiàn)對入侵目標的識別。在此,采用卷積神經網絡中的YOLOv5模型。經過多次版本迭代,該模型比一些經典的神經網絡模型(如AlexNet、SSD等)在精度上有了巨大提升;而且,可同時對多個區(qū)域進行檢測,相比其他采用滑動檢測框的單一檢測方法其檢測速度也更具優(yōu)勢。
圖1 入侵檢測整體設計流程
YOLOv5網絡架構如圖2所示[15]。其中,在圖像特征提取部分,邊緣提取方法及紋理、顏色等潛層特征與其他網絡相類似,因此這一部分借鑒了VGG網絡、深度殘差網絡等模型。在特征增強部分,參考了FPN、PANet等模型。在檢測頭部分,通過反卷積層對其進行反卷積操作從而得到檢測框,實現(xiàn)結果輸出。
在入侵檢測中,既要實現(xiàn)對入侵目標的識別,也要實現(xiàn)對檢測目標的實時跟蹤。采用傳統(tǒng)算法,跟蹤效果易受光線強弱、背景顏色變化等因素的影響,效果不佳。在此采取濾波與深度學習相結合的方法,用Deep SORT算法實現(xiàn)多目標跟蹤。在當前幀檢測到目標時,隨即在下一幀根據(jù)當前目標所在位置對其進行預測,并按照合適的匹配策略對預測框的歸屬進行分配,從而實現(xiàn)目標跟蹤。
對于通過卡爾曼濾波得到的預測狀態(tài)與當前檢測到的狀態(tài)評價匹配問題,引入馬氏距離進行評價[9]:
(1)
式中:d(1)(i,j) —— 第j個檢測框和第i個軌跡間的匹配度;
Si—— 由卡爾曼濾波預測得到的空間協(xié)方差矩陣;
yi—— 當前預測狀態(tài);
dj—— 第j個檢測框的狀態(tài)。
馬氏距離應用于簡單場景的檢測效果較好。但現(xiàn)實場景中目標運動的不確定性較高,因此又引入最小余弦距離進行評價[9]:
(2)
式中:rj、rk—— 表面特征描述量;
Ri—— 第i個軌跡中特征描述的集合。
圖2 YOLOv5網絡架構
在實際生產當中,某些特定區(qū)域具有一定的危險性,嚴格禁止無關人員進入。如在實地考察中發(fā)現(xiàn),重慶氣礦張家站某些區(qū)域硫化物含量極高,禁止非工作人員進入。經溝通后,最終由氣礦安全部門通過監(jiān)控畫面標定危險區(qū)域。當目標進入上述危險區(qū)域時,監(jiān)控系統(tǒng)隨即發(fā)出警報。
深度學習的優(yōu)勢在于能夠獲得極高的精度。但在一般情況下,準確有效的特征提取結果才能保證獲取高精度的圖像。本次研究中所用的攝像頭為螢石云C6,顯卡為nVidia公司的RTX 3070,單個攝像頭會占用1.5~2 GiB的顯存。該顯卡的顯存容量為8 GiB,即使采用多線程并行檢測的方式實現(xiàn)多路攝像頭監(jiān)控,最多也只能滿足4個攝像頭的實時運行需求,這與硬件投入的成本不相匹配。因此,需要尋求一種新的方法,在節(jié)約顯存資源的情況下采用多個攝像頭實現(xiàn)實時入侵檢測。
我們采用圖像拼接的方式,僅利用單一攝像頭的顯存資源實現(xiàn)多個攝像頭實時檢測,在YOLOv5網絡中檢測模型會自動將圖像調整為適合檢測的尺寸。因此,通過OpenCV技術獲取每一個攝像頭當前時刻下的畫面時,可以將所有圖像調整尺寸后以矩陣相加的形式拼接成一張圖像,然后送入模型中完成檢測,以節(jié)約顯存資源。
采用OTB100及氣礦監(jiān)控視頻集成的自建數(shù)據(jù)集,樣本數(shù)共計500個,詳情見表1。圖3所示為自建數(shù)據(jù)集部分圖像。
表1 數(shù)據(jù)集樣本來源及數(shù)量
從自建數(shù)據(jù)中選取75%組成訓練集,將剩余的25%組成測試集,在訓練過程中應用自適應學習率進行訓練。YOLOv5網絡本身的預訓練權重用于人體檢測效果較好,因此選擇在預訓練權重的基礎上進行遷移學習,使用此次構建的數(shù)據(jù)集對網絡進行訓練。其間,共進行300輪次訓練,達到了較為出色的訓練效果。圖4所示為訓練效果曲線。
圖3 自建數(shù)據(jù)集部分圖像
圖4 訓練效果曲線
從訓練效果圖可以看出,在第50輪次左右精度開始上升,在200輪次精度趨于穩(wěn)定,最終精度達到95%。
應用本次研究的入侵目標檢測方法,以重慶氣礦大竹采輸氣作業(yè)區(qū)實際監(jiān)控為例進行了測試。圖5所示為部分測試圖像的效果。
可以看出,入侵目標識別的實際訓練效果達到了預期要求。在針對人體的目標識別結果中,沒有出現(xiàn)誤報、漏報的情況,達到mAP值95%的訓練要求。同時,在識別光線明暗層次變化比較明顯的場景時,也具有極強的魯棒性,能夠滿足實際需求。
本次研究基于YOLOv5網絡構建模型,預訓練權重,增添自建數(shù)據(jù)集,并從該數(shù)據(jù)集中提取數(shù)據(jù)用作遷移學習的訓練樣本。應用此模型在氣田作業(yè)區(qū)場景下進行樣本訓練,獲取了良好的訓練效果。通過多個攝像頭獲取圖像,經拼接后對其進行檢測,并對網絡模型進行資源分配;最后,僅利用單一攝像頭的顯存資源,實現(xiàn)多路攝像頭入侵檢測。訓練結果表明,該模型在氣田作業(yè)區(qū)的誤報率和漏報率均符合使用標準,且在復雜環(huán)境下具有良好的魯棒性。