吳 澤,張忠民
(哈爾濱工程大學(xué) 信息與通信工程學(xué)院, 哈爾濱 150010)
近年來,隨著人工智能技術(shù)的飛速發(fā)展,行人檢測(cè)技術(shù)被廣泛應(yīng)用于安全監(jiān)控,自動(dòng)駕駛,人群計(jì)數(shù)以及智能交通等諸多領(lǐng)域[1].目前,通用場(chǎng)景下的行人檢測(cè)已經(jīng)取得較好的檢測(cè)效果,但在密集行人檢測(cè)中,行人嚴(yán)重遮擋、小尺度行人檢測(cè)難等問題還有較大的提升空間.
行人檢測(cè)主要分為傳統(tǒng)的行人檢測(cè)算法和基于深度學(xué)習(xí)行人檢測(cè)算法兩個(gè)階段.傳統(tǒng)的行人檢測(cè)算法首先通過人工進(jìn)行特征提取,然后再設(shè)計(jì)和訓(xùn)練分類器對(duì)其進(jìn)行分類.Papageorgiou等人[2]在2000年提出Harr特征并結(jié)合支持向量機(jī)(Support Vector Machine, SVM)實(shí)現(xiàn)了行人檢測(cè);Dalal等人[3]在2005年提出梯度方向直方圖(Histogram of Oriented Gradient, HOG)特征描述算子提取行人特征;Felzenszwalb等人[4]在2010年提出可形變部件模型(deformable part model, DPM)改善卷積核大小加強(qiáng)行人信息特征提取.但是傳統(tǒng)的行人檢測(cè)算法特征提取能力有限且魯棒性和泛化能力較差,存在精度低和漏檢率高的問題,已基本不再使用.
目前,隨著深度學(xué)習(xí)技術(shù)的飛速發(fā)展,基于深度學(xué)習(xí)的行人檢測(cè)算法成為主流.Lei等人[5]在2018年提出基于行人區(qū)域信息設(shè)計(jì)多流區(qū)域提案網(wǎng)絡(luò)模型,充分利用未遮擋信息進(jìn)行特征提取,通過兩級(jí)網(wǎng)絡(luò)實(shí)現(xiàn)可見部分特征信息的提取和確定,最后使增強(qiáng)森林算法對(duì)所提取候選區(qū)域進(jìn)行分類和預(yù)測(cè);Liu等人[6]在2019年設(shè)計(jì)CSP檢測(cè)模型,該模型放棄滑動(dòng)窗口檢測(cè)的方式,通過全卷積結(jié)構(gòu)對(duì)行人中心坐標(biāo)和尺度進(jìn)行預(yù)測(cè);馮婷婷等人[7]在2021年提出通過加入濾波器響應(yīng)歸一化 (Filter Response Normalization, FRN)和加強(qiáng)候選框聚類的方法對(duì)SSD[8]進(jìn)行了改進(jìn),通過強(qiáng)化預(yù)處理的方式提高了網(wǎng)絡(luò)特征提取的能力.然而上述行人檢測(cè)模型仍存在一定的局限性:1)行人尺度大小不統(tǒng)一,在同一檢測(cè)場(chǎng)景下大尺度行人檢測(cè)效果良好,小尺度行人漏檢嚴(yán)重; 2)行人相互遮擋嚴(yán)重導(dǎo)致?lián)p失函數(shù)優(yōu)化性能較差,候選框尺寸回歸不準(zhǔn)確; 3)行人檢測(cè)模型后處理算法未充分考慮行人重疊遮擋問題嚴(yán)重,丟棄機(jī)制過于嚴(yán)格.
為了解決上述問題, 以YOLOv5為基礎(chǔ)模型進(jìn)行改進(jìn),主要改進(jìn)如下:1)網(wǎng)絡(luò)特征融合階段采用改進(jìn)雙向加權(quán)特征金字塔網(wǎng)絡(luò)(Bidirectional Feature Pyramid Network,BIFPN)[9]結(jié)構(gòu)替換原有的路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PANet)[10]結(jié)構(gòu); 2)采用EIOULoss[11]替換原回歸損失函數(shù)CIOULoss[12];3)提出模型后處理算法兩閾值非極大值抑制算法(Two threshold non-maximum suppression algorithm,T-NMS)替換原NMS[13]算法.改進(jìn)后的Improved-YOLOv5算法在不同程度遮擋下都取得了較好的檢測(cè)效果,極大降低了行人檢測(cè)中的漏檢率.
YOLOv5是Ultralytics團(tuán)隊(duì)在2020年提出來的單階段(One-stage)目標(biāo)檢測(cè)模型,該模型識(shí)別精度高,推理速度快,避免了兩級(jí)序列中候選區(qū)域的重新計(jì)算.根據(jù)網(wǎng)絡(luò)深度和寬度不同,分為V5-X、V5-L、V5-M、V5-S、共4個(gè)不同模型,其復(fù)雜度依次降低,用戶可以根據(jù)不同的需求選擇所需的網(wǎng)絡(luò)結(jié)構(gòu)來滿足不同的檢測(cè)任務(wù).YOLOv5的網(wǎng)絡(luò)結(jié)構(gòu)主要由輸入端input、特征提取層Backbone、特征融合層Neck和檢測(cè)層Head共4部分構(gòu)成,其中YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)見圖1.
圖1 YOLOv5網(wǎng)絡(luò)結(jié)構(gòu)Figure 1 YOLOv5 network structure
輸入端input首先對(duì)圖像進(jìn)行預(yù)處理和數(shù)據(jù)增強(qiáng),將處理好的圖像輸入到特征提取骨干網(wǎng)絡(luò)Backbone中,經(jīng)過Conv和C3模塊多次進(jìn)行下采樣以及SPPF的池化操作,實(shí)現(xiàn)網(wǎng)絡(luò)的特征提取.特征融合層Neck采用PANet網(wǎng)絡(luò),相比于特征金字塔網(wǎng)絡(luò)(Feature Pyramid Net,FPN)[14],充分利用了高層語義信息和底層定位信息,實(shí)現(xiàn)了特征信息的充分融合.檢測(cè)層Head通過20×20、40×40、80×80三組不同尺寸的預(yù)測(cè)框?qū)δ繕?biāo)進(jìn)行預(yù)測(cè)和分類,最后再通過NMS消除多余預(yù)測(cè)框,生成最終預(yù)測(cè)結(jié)果.
FPN是目前主流的特征融合網(wǎng)絡(luò),見圖2(A).FPN結(jié)構(gòu)僅僅融合了高層語義特征信息,沒有充分利用低層的位置信息,只關(guān)注了全局而沒有注意到局部.圖2(B)PANet不僅擁有從上到下的融合路徑,還添加了一條從下到上低層位置信息融合,使得網(wǎng)絡(luò)具有更好的特征信息利用能力,但采用此種連接方式以后,網(wǎng)絡(luò)開銷較大,面對(duì)多尺度目標(biāo)場(chǎng)景,小目標(biāo)較多時(shí),模型對(duì)小尺度目標(biāo)關(guān)注度不夠,帶來檢測(cè)效果的下降.基于這些問題,谷歌在2020推出的一種特征融合網(wǎng)絡(luò)BiFPN,見圖2(C),與PANet不同的是,BiFPN采用的雙向特征融合不是簡(jiǎn)單的相加,引入了權(quán)重,不再平等地對(duì)待不同尺度的特征,可以更好平衡不同特征尺度的特征信息.在簡(jiǎn)單雙向融合基礎(chǔ)上,刪除了只有一條輸入邊的節(jié)點(diǎn),添加了輸入特征層到輸出特征層的殘差連接,減少參數(shù)的情況下實(shí)現(xiàn)了更好的特征融合.
圖2 各種特征金字塔結(jié)構(gòu)Figure 2 Pyramid structure of various features
BiFPN采用快速歸一化融合策略加權(quán)特征融合方式為每個(gè)特征添加一個(gè)額外的權(quán)重.快速歸一化融合策略實(shí)現(xiàn)權(quán)重訓(xùn)練穩(wěn)定,使權(quán)重大小保持在(0,1),充分發(fā)揮GPU的高速特性,如式(1)所示.
(1)
其中:i,j是輸入的特征層數(shù);Ii是輸入的特征層矩陣;wi是網(wǎng)絡(luò)學(xué)習(xí)權(quán)重;ε是一個(gè)很小的常數(shù),防止分母為0.
基于BIFPN思想對(duì)原特征融合網(wǎng)絡(luò)PANet進(jìn)行改進(jìn),引入權(quán)重學(xué)習(xí)部分,考慮到網(wǎng)絡(luò)本身對(duì)于大中目標(biāo)檢測(cè)效果較好,僅僅在原特征金字塔底層加入殘差連接,見圖3.增強(qiáng)對(duì)小目標(biāo)的檢測(cè)效果,減少網(wǎng)絡(luò)開銷.
圖3 改進(jìn)BIFPN模型Figure 3 Improved BIFPN model
損失函數(shù)(Loss)衡量模型預(yù)測(cè)值與真實(shí)值差距,是神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的重要依據(jù).一個(gè)合適的Loss,有利于提高模型的精度.一般來講,Loss值越小則模型精度越高,魯棒性也越好.YOLOv5使用CIoULoss計(jì)算邊界框的回歸損失,如式(2)所示.
(2)
其中:IoU(intersection over union)為預(yù)測(cè)框與真實(shí)框的交并比;b和bgt分別為預(yù)測(cè)框和真實(shí)框;ρ2(b,bgt)為預(yù)測(cè)框和真實(shí)框?qū)蔷€中心的歐氏距離的平方;c2為預(yù)測(cè)框與真實(shí)框的最小包圍框?qū)蔷€距離的平方;wgt與w分別為真實(shí)框和預(yù)測(cè)框的寬;hgt與h分別為真實(shí)框和預(yù)測(cè)框的高;v為真實(shí)框和預(yù)測(cè)框的長(zhǎng)寬比例一致性的參數(shù);α為權(quán)重參數(shù).
CIoULoss僅將預(yù)測(cè)框和真實(shí)框的寬高比例系數(shù)作為影響因子,沒有考慮到寬和高的真實(shí)值,當(dāng)預(yù)測(cè)框?qū)捄透叩谋戎档扔谡鎸?shí)框?qū)捄透叩谋戎禃r(shí),會(huì)出現(xiàn)v=0的情況,出現(xiàn)預(yù)測(cè)框回歸與真實(shí)框不符的情況.為了解決此問題,本文采用EIoULoss替代原有CIoULoss,EIoULoss提出采用預(yù)測(cè)框和真實(shí)框的寬高實(shí)際值來定義損失函數(shù),其計(jì)算公式如式(3)所示.
(3)
在目標(biāo)檢測(cè)中,通常采用NMS算法和Soft NMS[15]算法對(duì)網(wǎng)絡(luò)模型進(jìn)行后處理和預(yù)測(cè)框的抑制,如式(4)、(5)所示.
(4)
(5)
其中:si為置信度分?jǐn)?shù);Nt為人工設(shè)定的閾值;M為遍歷所有預(yù)測(cè)框后置信度分?jǐn)?shù)最高的候選框;bi為除M以外的候選框;iou(M,bi)為最大置信度候選框與其他候選框IoU大小的.
NMS算法在通用行人場(chǎng)景下能夠取得不錯(cuò)的檢測(cè)效果,但在復(fù)雜場(chǎng)景下,往往因?yàn)樾腥酥g距離過小導(dǎo)致出現(xiàn)很嚴(yán)重的漏檢問題.Soft NMS算法處理對(duì)于IoU較高預(yù)測(cè)框沒有選擇直接丟棄,而是采用了一種柔性降低置信度的方法,降低了網(wǎng)絡(luò)漏檢的問題,但過多的候選框帶來了運(yùn)算資源幾何級(jí)的數(shù)量增長(zhǎng),往往導(dǎo)致同一個(gè)目標(biāo)被重復(fù)檢測(cè),在候選框過多的場(chǎng)景下檢測(cè)效果往往不盡人意.基于此問題,對(duì)兩種后處理算法進(jìn)行改進(jìn),提出一種兩閾值T-NMS算法,如式(6)所示.
(6)
其中:Nt1為抑制候選框的閾值;Nt2為丟棄候選框的閾值.經(jīng)多次實(shí)驗(yàn),Nt1選取0.4,Nt2選取0.85,該算法效果達(dá)到最佳.
相比于NMS算法和Soft NMS算法,T-NMS算法既能夠減少Soft NMS大量運(yùn)算資源的開銷,又能降低由于NMS算法暴力丟棄帶來的漏檢情況,降低了網(wǎng)絡(luò)在密集行人檢測(cè)下的漏檢率.
本文實(shí)驗(yàn)平臺(tái)為: Intel( R) Core( TM) i5-11600 kf CPU,16 G 內(nèi)存;顯卡 RTX 3060;Windows 10,64 位 操作系統(tǒng);學(xué)習(xí)框架為pytorch 1.10.1;Cuda 11.3.
數(shù)據(jù)集為Citypersons[16],其中2 975張圖片用于訓(xùn)練,500張和1 575張圖片用于驗(yàn)證和測(cè)試,像素大小為2 048×1 024.由于作者并未公開驗(yàn)證集標(biāo)注,本文選取500張驗(yàn)證集作為測(cè)試集,將訓(xùn)練集2 975按照0.85和0.15的比例劃分訓(xùn)練集和驗(yàn)證集.根據(jù)行人之間相互遮擋后可見區(qū)域比例,將行人劃分為幾乎無遮擋Bare子集、通用Reasonble子集、部分遮擋Partial子集和嚴(yán)重遮擋Heavy子集,考察檢測(cè)器在面對(duì)不同遮擋比例的性能,其劃分參數(shù)指標(biāo)見表1.
表1 CityPersons數(shù)據(jù)集可見度狀況劃分Table 1 Visibility status division of CityPersons data set
為了更好地評(píng)價(jià)檢測(cè)器的性能,本文采用目前行人檢測(cè)算法主流的評(píng)價(jià)指標(biāo):漏檢率的對(duì)數(shù)平均值(Log-average Missing Rate,MR-2).MR-2指的是采用每幅圖誤檢數(shù)(False Positive Per Image,FPPI)為橫坐標(biāo),漏檢率(Missing Rate,MR)為縱坐標(biāo)的曲線中,均勻選取[10-2,100]范圍內(nèi)的9個(gè)FPPI, 得到他們對(duì)應(yīng)的9個(gè)logMR值,并對(duì)這幾個(gè)縱坐標(biāo)值進(jìn)行平均計(jì)算,最后將其化成百分?jǐn)?shù)的形式就得到MR-2.MR-2數(shù)值越低,則證明漏檢率越低,檢測(cè)器的性能越好,MR和MR-2的計(jì)算公式分別如式(7)、(8)所示.
(7)
(8)
其中:TP(True Positive)代表的是預(yù)測(cè)框中預(yù)測(cè)為真實(shí)際也是真的例子;FN(False Positive) 代表的是預(yù)測(cè)框預(yù)測(cè)為假實(shí)際為真的例子.
本文采用SGD作為模型的優(yōu)化器訓(xùn)練200個(gè)epoch;batch size設(shè)置為16;初始學(xué)習(xí)率設(shè)置為0.02,采用余弦退火算法,經(jīng)過100個(gè)epoch后達(dá)到0.002;動(dòng)量(momentum) 為0.937.
為了驗(yàn)證改進(jìn)各個(gè)模塊對(duì)原始YOLOv5模型提升有效性,在CityPersons數(shù)據(jù)集上設(shè)置了1組消融實(shí)驗(yàn).消融實(shí)驗(yàn)包括三個(gè)改進(jìn)模塊的對(duì)比:1)采用改進(jìn)后的BIFPN替換原PANet;2)將原有CIoULoss替換為EIoULoss;3)對(duì)原有后處理算法進(jìn)行改進(jìn).消融結(jié)果如表2所示,其中:BIFPN為采用改進(jìn)BIFPN替換原有特征融合網(wǎng)絡(luò);EIoU為替換原有CIOULoss;T-NMS為對(duì)替換原NMS算法.
表2 消融實(shí)驗(yàn)結(jié)果/%Table 2 Ablation results/%
由表2可知,與原有YOLOv5算法相比,改進(jìn)各個(gè)模塊后,在不同子集下MR-2均有下降,尤其是遮擋最嚴(yán)重可見比例最小的Heavy部分,MR-2下降了4.2%,體現(xiàn)了改進(jìn)模型在遮擋場(chǎng)景下的有效性,其檢測(cè)效果對(duì)比見圖4.
圖4 檢測(cè)效果對(duì)比圖Figure 4 Comparison of detection results
為了驗(yàn)證本文所提出的Improved-YOLOv5效果和性能,設(shè)置了1組對(duì)比試驗(yàn),將算法與其他主流的目標(biāo)檢測(cè)算法進(jìn)行比較,其結(jié)果見表3.
表3 對(duì)比實(shí)驗(yàn)結(jié)果MR-2/% Table 3 Comparative experimental results
由表3可知,改進(jìn)算法在Heavy子集部分取得MR-2為53.1%最優(yōu)效果,在Reasonble和Partial取得了次優(yōu)效果,表明算法在遮擋嚴(yán)重場(chǎng)景下性能較好,確實(shí)具有較好性能.
本文提出一種新的密集行人檢測(cè)算法Improved -YOLOv5,使用改進(jìn)BIFPN替換原PANet網(wǎng)絡(luò);采用回歸精度更優(yōu)的EIOULoss替換原有CIOULoss;最后對(duì)后處理算法進(jìn)行了雙閾值的改進(jìn).經(jīng)實(shí)驗(yàn)證明,在面對(duì)不同程度遮擋子集情況下,漏檢率均有顯著下降,尤其是Heavy子集部分降低了4.2%,達(dá)到了53.1%,證明了所改進(jìn)模型的有效性.此外,研究發(fā)現(xiàn),檢測(cè)器出現(xiàn)頭肩部與身體不適配的誤檢問題,對(duì)于行人可見部分的特征信息利用率還有待提高.未來將對(duì)行人可見信息和全身信息的利用方面進(jìn)一步進(jìn)行研究,繼續(xù)降低漏檢率和誤檢率.