李明益,賀敬良,2,陳 勇,2,趙 理,2,龍震海
(1.北京信息科技大學(xué)機(jī)電工程學(xué)院,北京100192;2.北京電動車輛協(xié)同創(chuàng)新中心,北京100192;3.北京理工大學(xué)機(jī)械與車輛學(xué)院,北京 100081)
隨著智能化交通系統(tǒng)的逐漸發(fā)展,交通出行更加人性化。但是行人在復(fù)雜的交通場景中仍然存在著較多的安全隱患,近年來非機(jī)動外賣車輛、行人在交通高鋒路口由于行人與車輛之間存在遮擋、視野盲區(qū)情況不能及時相互避讓,導(dǎo)致交通事故時有發(fā)生。夜晚交通場景下對人流密集交匯路段的行人識別感知逐漸成為交通安全關(guān)注的重點(diǎn),針對上述問題,本文提出基于幀間長程范圍特征融合的行人目標(biāo)檢測方法,將不同區(qū)域特征進(jìn)行融合,實(shí)現(xiàn)夜間交通場景下遮擋行人的準(zhǔn)確檢測。
基于深度學(xué)習(xí)的行人檢測算法逐漸應(yīng)用在交通等安全領(lǐng)域,文獻(xiàn)[1]系統(tǒng)分析了交通行人檢測對不同網(wǎng)絡(luò)模型性能比較,其中Fater R-cnn Resnet50在處理速度和準(zhǔn)確性的總體性能上更適應(yīng)場景檢測需求,通過跳躍連接可有效避免了梯度消失等問題,為工業(yè)應(yīng)用提供了參考模型。文獻(xiàn)[2]提出一種夜間多任務(wù)行人檢測和距離估計的Faster R-cnn模型通過NIR相機(jī)與激光雷達(dá)配合檢測以滿足夜間真實(shí)場景下PD精度80 %,平均絕對距離誤差小于5 %的精度需求,但模型推理時間有一定損耗。
文獻(xiàn)[3]對紅外圖像進(jìn)一步處理,使用強(qiáng)顯著圖提取紅外圖像中的行人特征,作為行人檢測器的注意力機(jī)制,并使用PiCA-Net和R3-Net方法驗證顯著圖網(wǎng)絡(luò)比基準(zhǔn)原圖提升了7.7 %,但是在復(fù)雜重疊場景中存在漏檢情況。
綜上所述,夜間紅外交通場景下的行人檢測存在目標(biāo)區(qū)域識別劃分、復(fù)雜場景下人物形狀與運(yùn)動特征無法精確檢測等問題,相較于已有研究,本文主要創(chuàng)新如下:
1)針對紅外行人檢測場景中存在行人形狀輪廓與行人實(shí)時運(yùn)動檢測特點(diǎn),針對行人在馬路中的步態(tài),使用non-local模塊和EPS模塊,可以有效提取圖像前后幀周期性信息來判定行人目標(biāo),以提高了模型在行人密集場景檢測的魯棒性,并加快了模型推理速度。
2)針對紅外真實(shí)交通路口中行人、自行車燈密集交錯的穿行場景,其行人穿行中紋理信息與特征輪廓不穩(wěn)定的情況,側(cè)重對行人運(yùn)動形狀特征檢測,增加YOLOv5中的Head檢測頭,將上采樣特取的特征與淺層特征進(jìn)一步融合,提高行人檢測特征輪廓,并使用160×160檢測層和自適應(yīng)Anchor對遠(yuǎn)距離行人目標(biāo)進(jìn)行預(yù)判,增強(qiáng)遠(yuǎn)距離行人檢測的判別精度。
3)本文使用FLIR、Daimler紅外圖像數(shù)據(jù)集,針對交通道路場景中的行人穿行場景進(jìn)行紅外圖像行人紋理信息、輪廓特征進(jìn)行數(shù)據(jù)預(yù)處理和標(biāo)簽預(yù)處理,并使用Mosaic數(shù)據(jù)增強(qiáng)提高模型檢測的泛化性。
YOLOv5算法相比較YOLO系列算法[4-7],主要對主干網(wǎng)絡(luò)及Anthor進(jìn)行了進(jìn)一步修改。YOLOv5在Backbone中添加改進(jìn)了Focus模塊和BottlenneckCSP模塊。根據(jù)模型卷積個數(shù)及BottleneckCSP模塊堆疊,實(shí)現(xiàn)不同場景檢測需求。以YOLOv5l 3.0版本為例,具體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。CBL、SPP、Concat和Upsample模塊是YOLO v3和YOLO v4中的原始模塊,而YOLO v5s網(wǎng)絡(luò)模型中增添了Focus特征圖切片操作、自適應(yīng)Anchor、兩種不同功能的bottleneckCSP模塊和GIOU Loss損失函數(shù),以增強(qiáng)基礎(chǔ)層網(wǎng)絡(luò)特征融合,自適應(yīng)匹配和模型多樣性進(jìn)一步提升基于回歸問題的快速檢測能力。
受到Focus的啟發(fā),在Concat拼接成在集中下采樣的通道空間,如何高效的提取通道空間中不同尺度的特征圖信息,并建立跨通道長范圍的特征依賴關(guān)系,我們引入PSA模塊。
YOLOv5參考CSPNet的模型思想[8],設(shè)計兩種不同的BottleneckCSP結(jié)構(gòu),分別記作CSP1_X和CSP2_X,其區(qū)別在于是否在Bottleneck中添加shortcut連接,添加后即為 ResNet殘差組模塊。圖2(a)為BottleneckCSP結(jié)構(gòu),YOLOv5代碼中將BottleneckCSP看成由標(biāo)準(zhǔn)bottleneck塊與標(biāo)準(zhǔn)卷積層的疊加而成,其中CSP1_X用于快速卷積提取特征,CSP2_X用于不同層次特征融合,X為Bottleneck中X個殘差組件。圖2(b)為Bottleneck瓶頸層的殘差卷積模塊,虛線為shortcut操作執(zhí)行恒等映射,保證卷積層與輸入通道數(shù)映射一致,通過element-wise疊加,得到最終的輸出特征,將X個ResNet模塊串聯(lián)成更深層模型,可有效解決錯誤率退化問題。
(a)
通過上述對YOLOv5的分析,引入ResNet殘差可獲得更有效學(xué)習(xí),并在Head中多尺度信息進(jìn)行有效傳遞融合,保證特征的豐富性。盡管YOLOv5有著快速識別和自適應(yīng)錨框等優(yōu)點(diǎn),但是其對小目標(biāo)特征提取,遮擋物體之間的聯(lián)系仍有不足,并且特征融合網(wǎng)絡(luò)更加關(guān)注高層語義信息。因此,在此基礎(chǔ)上提出改進(jìn)方法,增加模型對夜間交通道路場景行人的檢測能力。
針對夜間交通場景中紋理信息和特征輪廓不明顯,道路中穿行的行人存遮擋檢測效果不理想的情況,其網(wǎng)絡(luò)在提取特征時存在特征遮擋,對夜間行人識別正確率上存在缺陷。基于上述情況為保證多尺度目標(biāo)檢測精度及提取細(xì)粒度特征不失真的情況下,能夠精確的檢測到夜間不同尺寸的行人,設(shè)計增添特征層的上采樣,在上采樣的過程中再添加一組提取特征模塊,并與淺層Backbone網(wǎng)絡(luò)的特征進(jìn)行融合,獲得輸出為160×160×256小目標(biāo)檢測層。并采用Non-local和PSA模塊,通過實(shí)驗發(fā)現(xiàn)增加提取特征模塊,一方面可對長程遠(yuǎn)距離特征產(chǎn)生更好的關(guān)聯(lián)性,另一方面在夜間情況下能夠改善夜間遠(yuǎn)距離行人目標(biāo)的特征映射以及存在遮擋的檢測情況,在模型參數(shù)得到優(yōu)化壓縮的情況下,驗證提升夜間遠(yuǎn)距離行人檢測精度的可行性。改進(jìn)后的YOLOv5l網(wǎng)絡(luò)結(jié)構(gòu)如3所示。
圖3 改進(jìn)的YOLOv5l網(wǎng)絡(luò)結(jié)構(gòu)
針對夜間交通道路上遠(yuǎn)近不同尺度的特征信息不易識別存在遮擋的情況,如何通過豐富訓(xùn)練的特征空間進(jìn)行高效捕獲,同時目前的空間或通道注意力機(jī)制只能捕獲局部信息,沒有建立有效的長范圍通道依賴。針對如何建立長程范圍通道依賴關(guān)系,我們借助EPSANet[9]思想使用一種高性能,有效的金字塔式PSA注意力模塊,嵌入到CSPbottleneck模型中在不增加模型參數(shù)量的情況下豐富模型表征。
通過將預(yù)輸入通道數(shù)為C的特征圖X,使用SPC壓縮合并模塊,壓縮輸出張量通道維數(shù),對每個通道的的特征圖信息進(jìn)行分組卷積提取不同尺度的有效空間信息,通過信道的多尺度權(quán)重建立跨維度交互,從而建立長程信道依賴性。如圖4所示為PSA模塊結(jié)構(gòu)。
圖4 PSA 模塊結(jié)構(gòu)
圖5 SPC 算子結(jié)構(gòu)圖
提出一種根據(jù)Kernel Size自適應(yīng)選取分組數(shù)的策略,第i個卷積核尺寸Ki與組數(shù)G之間關(guān)系如下:
(1)
Ki=2×(i+1)+1
(2)
根據(jù)不同卷積尺寸大小與組數(shù),可以得出多尺度特征圖組函數(shù)Fi和整體拼接后多尺度通道特征圖F:
Fi=Conv(ki×ki,Gi)(X)i=0,1,2,…,S
(3)
F=Cat([F0,F1,…,FS-1]
(4)
其次為提高提取特征效率,使用SE Weightmodule對多尺度通道特征圖提取通道注意力權(quán)重向量信息用Zi表示,其中Zi∈RC′×1×1,有:
Zi=SEWeight(Fi),i=0,1,2,…,S-1
(5)
為了融合通道間不同尺度的特征信息,建立長范圍通道依賴關(guān)系,可以在通道向量不變的情況下,串聯(lián)concat算子用⊕表示,以融合拼接跨維向量。
Z=Z0⊕Z1⊕…⊕ZS-1
(6)
(7)
att=att0⊕att1⊕…⊕attS-1
(8)
最后通過Softmax歸一化重新校準(zhǔn)通道的向量,獲得校準(zhǔn)權(quán)重att與相應(yīng)尺度特征圖Fi的乘積得到豐富細(xì)化的特征圖輸出Yi:
Yi=Fi⊙a(bǔ)ttii=1,2,3,…S-1
(9)
如圖6所示,PSA模塊可以將多尺度空間信息和跨通道注意力整合到每個特征組的塊中,更好的實(shí)現(xiàn)局部通道注意力和全局通道注意力之間的信息交互,我們將PSA模塊添加到Y(jié)OLOv5的Bottleneck CSP中將3×3卷積替換為 PSA模塊減少參數(shù)量并自適應(yīng)校準(zhǔn)跨緯度通道權(quán)重,能夠細(xì)化提取多尺度空間信息,形成長程范圍通道依賴。
圖6 改進(jìn)后的PSA-Bottleneck結(jié)構(gòu)
本文借鑒non-local的核心思想[10],為增加在卷積操作過程中局部領(lǐng)域構(gòu)造塊的操作,在PSA長程范圍通道依賴的基礎(chǔ)上,通過非局部域操作對兩個位置之間的交互信息建立起空間、時間依賴關(guān)系,并通過前饋方式捕捉位置依賴信息。
Non-local采用逐步圖片所有位置的每個像素點(diǎn)計算前后幀像素的位置相關(guān)性,而不只針對鄰域計算局部特征區(qū)域。計算每個像素點(diǎn)生成的block與周圍位置block計算相關(guān)聯(lián)性,針對相似位置給予更大權(quán)重,記錄特征區(qū)域。針對前后幀圖片特征信息,對嵌入的空間中對位置區(qū)域取加權(quán)平均值計算特征序列,關(guān)聯(lián)響應(yīng)前后幀圖片相似位置特征,通過圖像特征區(qū)域平移,對穿行的行人遮擋有對比判定,從而通道長程范圍的特征信息依賴關(guān)系得到加強(qiáng),捕捉豐富像素的圖片中更有效地細(xì)節(jié)。將non-local模塊化,嵌入關(guān)注位置的響應(yīng)空間中取加權(quán)平均值計算自適應(yīng)相關(guān)矩陣,得到圖片在空間位置信息上的相互聯(lián)系。結(jié)合SPP層收斂特征,運(yùn)用到Y(jié)OLOv5的Bottleneck網(wǎng)絡(luò)模型中,進(jìn)行非局部運(yùn)算。如圖7所示。
圖7 Non-local流程結(jié)構(gòu)圖
其中,針對non-local模塊表達(dá)形式定義為:
(10)
式中,f(xi,xj)是位置關(guān)系的高斯函數(shù),通過Xi輸入特征包含空間、序列計算第i位置上的信息索引與預(yù)測j位置相關(guān)索引之間的標(biāo)量關(guān)系,得到x,j位置相關(guān)度。使用g(xj)一元線性函數(shù),計算j處像素變換矩陣,使用響應(yīng)因子C(x)歸一化,定義像素個數(shù)為N為X中的位數(shù),對全局信息進(jìn)行歸一化處理,簡化梯度計算,保證圖像特征信息一致。
g(xj)=Wgxj
(11)
函數(shù)g(xj)采用1×1卷積或使用1×1×1空間卷積,用于初步提取線性特征,在不改變特征圖尺寸情況下,實(shí)現(xiàn)通道間的線性組合,跨通道信息交互,并為f(xi,xj)構(gòu)造的relu激活函數(shù)增加非線性特性。Wg是訓(xùn)練學(xué)習(xí)的權(quán)重矩陣。f(xi,xj)使用高斯函數(shù)中計算權(quán)值的方法,計算像素點(diǎn)間的指數(shù)映射,相似度與高斯權(quán)值關(guān)系,在此基礎(chǔ)上計算非局部域位置標(biāo)量關(guān)系:
f(xi,xj)=eθ(xi)Tφ(xj)
(11)
其中,θ(xi)=Wθxi,φ(xj)=Wφxj。這里Wθ,Wφ是權(quán)值,根據(jù)xi,xj像素點(diǎn)之間相似程度計算。像素點(diǎn)之間的相似度不能僅僅是求像素位置差值進(jìn)行匹配,而是度量以xi為中心點(diǎn)的block周圍xj鄰域塊之間的歐式距離,如果約束距離越小,其高斯權(quán)值越大,像素位特征越相似。添加ReLU激活函數(shù)非線性特征,可以有效串聯(lián)網(wǎng)絡(luò),進(jìn)行特征推理,f(xi,xj)可表示為:
(12)
將公式(10)的非局部操作封裝到non-localblock塊中,可以合并到Y(jié)OLOv5主干網(wǎng)絡(luò)結(jié)構(gòu)中,得到block塊定義:
zi=Wzyi+xi
(13)
將整個block模塊運(yùn)算轉(zhuǎn)化成矩陣乘法與卷積運(yùn)算的組合,其中yi為公式10中的non-local 輸出特征,通過殘差拼接求和,得到最終的輸出模型。其好處是在不改變前向模型結(jié)構(gòu)下,可以將非局部域block塊遷移到Bottleneck的Conv層中,元素輸出位置的值就是其他位置的加權(quán)平均值,以提高計算效率。
使用FLIR熱紅外成像數(shù)據(jù)集,通過行車采集不同時段交通道路中行人、車輛視頻幀信息。FLIR數(shù)據(jù)圖像一共14452張,針對路口街道場景需求,選擇出7600張包含交通行人數(shù)據(jù)的圖片,并對圖片標(biāo)簽進(jìn)行清洗篩選。
Daimler行人檢測數(shù)據(jù)集[11],其中訓(xùn)練集包含15560個行人樣本和6744個負(fù)樣本,包含56492個標(biāo)注有完全可見與部分遮擋的行人標(biāo)簽。
本文篩選Flir與Daimler交通場景下紅外行人數(shù)據(jù)集共13000張,daimler數(shù)據(jù)集標(biāo)簽已經(jīng)為txt格式,對Flir數(shù)據(jù)集進(jìn)行格式轉(zhuǎn)換,將json文件轉(zhuǎn)成xml格式,對json文件中的annotation的bbox和category進(jìn)行解析,針對People行人類別標(biāo)簽,提取候選框坐標(biāo),并按照VOC數(shù)據(jù)集格式解析為(xmin,ymin,xmax,ymax)的寫入xml文件,然后再按照COCO數(shù)據(jù)集格式(x,y,w,h),將對角線坐標(biāo)轉(zhuǎn)換為相應(yīng)位置寬高,生成txt文件。
使用Mosaic數(shù)據(jù)增強(qiáng),其主要思想是將訓(xùn)練集中四張圖片進(jìn)行圖像縮放、旋轉(zhuǎn)、色域變換后裁剪拼接成為一張圖像使每張圖片特征更加豐富,正負(fù)樣本更加均衡,在訓(xùn)練階段可有效調(diào)整每個epoch抓取數(shù)據(jù)的樣本數(shù)量,緩解并行訓(xùn)練GPU顯存的壓力。正負(fù)樣本關(guān)系如表1所示。如圖8所示,使用Mosaic數(shù)據(jù)增強(qiáng)進(jìn)行訓(xùn)練。
表1 正負(fù)樣本關(guān)系
圖8 Mosaic數(shù)據(jù)增強(qiáng)的數(shù)據(jù)集
在檢測目標(biāo)有存在行人間遮擋情況,一般按照標(biāo)簽取點(diǎn),會導(dǎo)致選取的特征點(diǎn)被多次訓(xùn)練到重復(fù)取點(diǎn),所以針對密集小目標(biāo)需要根據(jù)獲得的160×160檢測層選取更合適的anchor。通過寬高標(biāo)準(zhǔn)差函數(shù),使用k-means重新計算anchor,驗證自適應(yīng)選取更切合的anchor為[4,5,8,15,17,11],以完善遠(yuǎn)距離行人的每個GT都有對應(yīng)的Anthor。
本文基于Flir數(shù)據(jù)集和Daimler紅外交通行人數(shù)據(jù)集的數(shù)據(jù)篩選標(biāo)簽預(yù)處理,并將數(shù)據(jù)集按照8∶2的比例分為訓(xùn)練集與測試集。通過對比實(shí)驗對改進(jìn)的YOLOv5算法進(jìn)行驗證。采用mAP_0.5,mAP_0.5:0.95,LOSS,Precision,Recall作為評估模型性能的指標(biāo),通過計算模型的Precision和Recall,其中TP是準(zhǔn)確預(yù)測標(biāo)簽的個數(shù);FP是不存在目標(biāo)的誤檢測,或已存在目標(biāo)的誤檢測;FN是目標(biāo)的漏檢測,公式如下:
(14)
(15)
使用上述預(yù)處理紅外數(shù)據(jù)集在服務(wù)器上進(jìn)行迭代實(shí)驗,本文使用的服務(wù)器采用Intel XeonGold 5218 CPU,配備顯存11G 4塊NVIDIA Geforce RTX 2080Ti圖像顯卡,選用兼容性GPU環(huán)境版本CUDA10.2,cudnn7.6.5,Pytorch1.7,疊加數(shù)據(jù)集進(jìn)行500次迭代并行訓(xùn)練。如圖9、10所示為通過訓(xùn)練改進(jìn)的lmproved YOLOv5l算法和原有YOLOv5l算法在相同框架下的網(wǎng)絡(luò)模型。在實(shí)驗中可以發(fā)現(xiàn)改進(jìn)后的lmproved YOLOv5l模型參數(shù)得到壓縮,召回率進(jìn)一步提升,mAP_0.5精度提升14.2 %,mAP_0.5:0.95精度提升12.7 %。模型試驗對比如表2所示,隨著訓(xùn)練迭代,觀察模型精度及召回率可以發(fā)現(xiàn),改進(jìn)后的網(wǎng)絡(luò)模型收斂效果更好。
圖9 YOLOv5 mAP_0.5精度結(jié)果對比
圖10 YOLOv5 mAP_0.5精度結(jié)果對比
表2 YOLOl模型實(shí)驗對比
訓(xùn)練后的模型載入測試集進(jìn)行行人檢測對比實(shí)驗,如圖11所示,圖11(a)為原YOLOv5l測試情況,圖11(b)為改進(jìn)后lmproved YOLOv5l的測試情況,通過驗證發(fā)現(xiàn)在相同測試場景中改進(jìn)后的YOLOv5模型在行人交通穿行場景能夠更準(zhǔn)確的識別不同運(yùn)動形狀的行人同時在遠(yuǎn)距離檢測下的精度更好,模型具有更好的推理速度,說明在夜間行人檢測場景下模型具有較好的泛化性。
(a) (b)
對改進(jìn)后的YOLOv5模型定量評估測試,所有測試模型均在相同紅外行人數(shù)據(jù)集上進(jìn)行訓(xùn)練測試,訓(xùn)練設(shè)置參數(shù)為每批次處理32張圖像,初始學(xué)習(xí)率為0.01,epoch設(shè)置為800,使用4塊RTX2080Ti并行訓(xùn)練,得到表3實(shí)驗結(jié)果。
表3 不同算法的mAP值比較
通過實(shí)驗可以進(jìn)一步驗證在不同網(wǎng)絡(luò)模型訓(xùn)練下。針對夜間交通場景檢測發(fā)現(xiàn),改進(jìn)后的YOLOv5網(wǎng)絡(luò)模型的檢測精度更高,對夜間遮擋場景下檢測性能更好。
本文針對夜間交通路口人流穿行場景,設(shè)計并實(shí)現(xiàn)lmproved YOLOv5l行人目標(biāo)檢測網(wǎng)絡(luò)模型,該模型改善了針對夜間行人運(yùn)動和形狀的特征檢測,能夠提升夜間行人遮擋,視野盲區(qū)的行人檢測情況,相比原YOLOv5l檢測模型在夜間行人檢測效果更好。在不同算法間的對比結(jié)果表明:本文的行人檢測算法模型平均準(zhǔn)確率精度高,行人漏檢率小,驗證的網(wǎng)絡(luò)模型具有較強(qiáng)的魯棒性。