吳 澤,張忠民
(哈爾濱工程大學 信息與通信工程學院, 哈爾濱 150010)
近年來,隨著人工智能技術的飛速發展,行人檢測技術被廣泛應用于安全監控,自動駕駛,人群計數以及智能交通等諸多領域[1].目前,通用場景下的行人檢測已經取得較好的檢測效果,但在密集行人檢測中,行人嚴重遮擋、小尺度行人檢測難等問題還有較大的提升空間.
行人檢測主要分為傳統的行人檢測算法和基于深度學習行人檢測算法兩個階段.傳統的行人檢測算法首先通過人工進行特征提取,然后再設計和訓練分類器對其進行分類.Papageorgiou等人[2]在2000年提出Harr特征并結合支持向量機(Support Vector Machine, SVM)實現了行人檢測;Dalal等人[3]在2005年提出梯度方向直方圖(Histogram of Oriented Gradient, HOG)特征描述算子提取行人特征;Felzenszwalb等人[4]在2010年提出可形變部件模型(deformable part model, DPM)改善卷積核大小加強行人信息特征提取.但是傳統的行人檢測算法特征提取能力有限且魯棒性和泛化能力較差,存在精度低和漏檢率高的問題,已基本不再使用.
目前,隨著深度學習技術的飛速發展,基于深度學習的行人檢測算法成為主流.Lei等人[5]在2018年提出基于行人區域信息設計多流區域提案網絡模型,充分利用未遮擋信息進行特征提取,通過兩級網絡實現可見部分特征信息的提取和確定,最后使增強森林算法對所提取候選區域進行分類和預測;Liu等人[6]在2019年設計CSP檢測模型,該模型放棄滑動窗口檢測的方式,通過全卷積結構對行人中心坐標和尺度進行預測;馮婷婷等人[7]在2021年提出通過加入濾波器響應歸一化 (Filter Response Normalization, FRN)和加強候選框聚類的方法對SSD[8]進行了改進,通過強化預處理的方式提高了網絡特征提取的能力.然而上述行人檢測模型仍存在一定的局限性:1)行人尺度大小不統一,在同一檢測場景下大尺度行人檢測效果良好,小尺度行人漏檢嚴重; 2)行人相互遮擋嚴重導致損失函數優化性能較差,候選框尺寸回歸不準確; 3)行人檢測模型后處理算法未充分考慮行人重疊遮擋問題嚴重,丟棄機制過于嚴格.
為了解決上述問題, 以YOLOv5為基礎模型進行改進,主要改進如下:1)網絡特征融合階段采用改進雙向加權特征金字塔網絡(Bidirectional Feature Pyramid Network,BIFPN)[9]結構替換原有的路徑聚合網絡(Path Aggregation Network,PANet)[10]結構; 2)采用EIOULoss[11]替換原回歸損失函數CIOULoss[12];3)提出模型后處理算法兩閾值非極大值抑制算法(Two threshold non-maximum suppression algorithm,T-NMS)替換原NMS[13]算法.改進后的Improved-YOLOv5算法在不同程度遮擋下都取得了較好的檢測效果,極大降低了行人檢測中的漏檢率.
YOLOv5是Ultralytics團隊在2020年提出來的單階段(One-stage)目標檢測模型,該模型識別精度高,推理速度快,避免了兩級序列中候選區域的重新計算.根據網絡深度和寬度不同,分為V5-X、V5-L、V5-M、V5-S、共4個不同模型,其復雜度依次降低,用戶可以根據不同的需求選擇所需的網絡結構來滿足不同的檢測任務.YOLOv5的網絡結構主要由輸入端input、特征提取層Backbone、特征融合層Neck和檢測層Head共4部分構成,其中YOLOv5網絡結構見圖1.

圖1 YOLOv5網絡結構Figure 1 YOLOv5 network structure
輸入端input首先對圖像進行預處理和數據增強,將處理好的圖像輸入到特征提取骨干網絡Backbone中,經過Conv和C3模塊多次進行下采樣以及SPPF的池化操作,實現網絡的特征提取.特征融合層Neck采用PANet網絡,相比于特征金字塔網絡(Feature Pyramid Net,FPN)[14],充分利用了高層語義信息和底層定位信息,實現了特征信息的充分融合.檢測層Head通過20×20、40×40、80×80三組不同尺寸的預測框對目標進行預測和分類,最后再通過NMS消除多余預測框,生成最終預測結果.
FPN是目前主流的特征融合網絡,見圖2(A).FPN結構僅僅融合了高層語義特征信息,沒有充分利用低層的位置信息,只關注了全局而沒有注意到局部.圖2(B)PANet不僅擁有從上到下的融合路徑,還添加了一條從下到上低層位置信息融合,使得網絡具有更好的特征信息利用能力,但采用此種連接方式以后,網絡開銷較大,面對多尺度目標場景,小目標較多時,模型對小尺度目標關注度不夠,帶來檢測效果的下降.基于這些問題,谷歌在2020推出的一種特征融合網絡BiFPN,見圖2(C),與PANet不同的是,BiFPN采用的雙向特征融合不是簡單的相加,引入了權重,不再平等地對待不同尺度的特征,可以更好平衡不同特征尺度的特征信息.在簡單雙向融合基礎上,刪除了只有一條輸入邊的節點,添加了輸入特征層到輸出特征層的殘差連接,減少參數的情況下實現了更好的特征融合.

圖2 各種特征金字塔結構Figure 2 Pyramid structure of various features
BiFPN采用快速歸一化融合策略加權特征融合方式為每個特征添加一個額外的權重.快速歸一化融合策略實現權重訓練穩定,使權重大小保持在(0,1),充分發揮GPU的高速特性,如式(1)所示.
(1)
其中:i,j是輸入的特征層數;Ii是輸入的特征層矩陣;wi是網絡學習權重;ε是一個很小的常數,防止分母為0.
基于BIFPN思想對原特征融合網絡PANet進行改進,引入權重學習部分,考慮到網絡本身對于大中目標檢測效果較好,僅僅在原特征金字塔底層加入殘差連接,見圖3.增強對小目標的檢測效果,減少網絡開銷.

圖3 改進BIFPN模型Figure 3 Improved BIFPN model
損失函數(Loss)衡量模型預測值與真實值差距,是神經網絡模型訓練的重要依據.一個合適的Loss,有利于提高模型的精度.一般來講,Loss值越小則模型精度越高,魯棒性也越好.YOLOv5使用CIoULoss計算邊界框的回歸損失,如式(2)所示.
(2)
其中:IoU(intersection over union)為預測框與真實框的交并比;b和bgt分別為預測框和真實框;ρ2(b,bgt)為預測框和真實框對角線中心的歐氏距離的平方;c2為預測框與真實框的最小包圍框對角線距離的平方;wgt與w分別為真實框和預測框的寬;hgt與h分別為真實框和預測框的高;v為真實框和預測框的長寬比例一致性的參數;α為權重參數.
CIoULoss僅將預測框和真實框的寬高比例系數作為影響因子,沒有考慮到寬和高的真實值,當預測框寬和高的比值等于真實框寬和高的比值時,會出現v=0的情況,出現預測框回歸與真實框不符的情況.為了解決此問題,本文采用EIoULoss替代原有CIoULoss,EIoULoss提出采用預測框和真實框的寬高實際值來定義損失函數,其計算公式如式(3)所示.
(3)
在目標檢測中,通常采用NMS算法和Soft NMS[15]算法對網絡模型進行后處理和預測框的抑制,如式(4)、(5)所示.
(4)
(5)
其中:si為置信度分數;Nt為人工設定的閾值;M為遍歷所有預測框后置信度分數最高的候選框;bi為除M以外的候選框;iou(M,bi)為最大置信度候選框與其他候選框IoU大小的.
NMS算法在通用行人場景下能夠取得不錯的檢測效果,但在復雜場景下,往往因為行人之間距離過小導致出現很嚴重的漏檢問題.Soft NMS算法處理對于IoU較高預測框沒有選擇直接丟棄,而是采用了一種柔性降低置信度的方法,降低了網絡漏檢的問題,但過多的候選框帶來了運算資源幾何級的數量增長,往往導致同一個目標被重復檢測,在候選框過多的場景下檢測效果往往不盡人意.基于此問題,對兩種后處理算法進行改進,提出一種兩閾值T-NMS算法,如式(6)所示.
(6)
其中:Nt1為抑制候選框的閾值;Nt2為丟棄候選框的閾值.經多次實驗,Nt1選取0.4,Nt2選取0.85,該算法效果達到最佳.
相比于NMS算法和Soft NMS算法,T-NMS算法既能夠減少Soft NMS大量運算資源的開銷,又能降低由于NMS算法暴力丟棄帶來的漏檢情況,降低了網絡在密集行人檢測下的漏檢率.
本文實驗平臺為: Intel( R) Core( TM) i5-11600 kf CPU,16 G 內存;顯卡 RTX 3060;Windows 10,64 位 操作系統;學習框架為pytorch 1.10.1;Cuda 11.3.
數據集為Citypersons[16],其中2 975張圖片用于訓練,500張和1 575張圖片用于驗證和測試,像素大小為2 048×1 024.由于作者并未公開驗證集標注,本文選取500張驗證集作為測試集,將訓練集2 975按照0.85和0.15的比例劃分訓練集和驗證集.根據行人之間相互遮擋后可見區域比例,將行人劃分為幾乎無遮擋Bare子集、通用Reasonble子集、部分遮擋Partial子集和嚴重遮擋Heavy子集,考察檢測器在面對不同遮擋比例的性能,其劃分參數指標見表1.

表1 CityPersons數據集可見度狀況劃分Table 1 Visibility status division of CityPersons data set
為了更好地評價檢測器的性能,本文采用目前行人檢測算法主流的評價指標:漏檢率的對數平均值(Log-average Missing Rate,MR-2).MR-2指的是采用每幅圖誤檢數(False Positive Per Image,FPPI)為橫坐標,漏檢率(Missing Rate,MR)為縱坐標的曲線中,均勻選取[10-2,100]范圍內的9個FPPI, 得到他們對應的9個logMR值,并對這幾個縱坐標值進行平均計算,最后將其化成百分數的形式就得到MR-2.MR-2數值越低,則證明漏檢率越低,檢測器的性能越好,MR和MR-2的計算公式分別如式(7)、(8)所示.
(7)
(8)
其中:TP(True Positive)代表的是預測框中預測為真實際也是真的例子;FN(False Positive) 代表的是預測框預測為假實際為真的例子.
本文采用SGD作為模型的優化器訓練200個epoch;batch size設置為16;初始學習率設置為0.02,采用余弦退火算法,經過100個epoch后達到0.002;動量(momentum) 為0.937.
為了驗證改進各個模塊對原始YOLOv5模型提升有效性,在CityPersons數據集上設置了1組消融實驗.消融實驗包括三個改進模塊的對比:1)采用改進后的BIFPN替換原PANet;2)將原有CIoULoss替換為EIoULoss;3)對原有后處理算法進行改進.消融結果如表2所示,其中:BIFPN為采用改進BIFPN替換原有特征融合網絡;EIoU為替換原有CIOULoss;T-NMS為對替換原NMS算法.

表2 消融實驗結果/%Table 2 Ablation results/%
由表2可知,與原有YOLOv5算法相比,改進各個模塊后,在不同子集下MR-2均有下降,尤其是遮擋最嚴重可見比例最小的Heavy部分,MR-2下降了4.2%,體現了改進模型在遮擋場景下的有效性,其檢測效果對比見圖4.

圖4 檢測效果對比圖Figure 4 Comparison of detection results
為了驗證本文所提出的Improved-YOLOv5效果和性能,設置了1組對比試驗,將算法與其他主流的目標檢測算法進行比較,其結果見表3.

表3 對比實驗結果MR-2/% Table 3 Comparative experimental results
由表3可知,改進算法在Heavy子集部分取得MR-2為53.1%最優效果,在Reasonble和Partial取得了次優效果,表明算法在遮擋嚴重場景下性能較好,確實具有較好性能.
本文提出一種新的密集行人檢測算法Improved -YOLOv5,使用改進BIFPN替換原PANet網絡;采用回歸精度更優的EIOULoss替換原有CIOULoss;最后對后處理算法進行了雙閾值的改進.經實驗證明,在面對不同程度遮擋子集情況下,漏檢率均有顯著下降,尤其是Heavy子集部分降低了4.2%,達到了53.1%,證明了所改進模型的有效性.此外,研究發現,檢測器出現頭肩部與身體不適配的誤檢問題,對于行人可見部分的特征信息利用率還有待提高.未來將對行人可見信息和全身信息的利用方面進一步進行研究,繼續降低漏檢率和誤檢率.