胡培帥,王維強(qiáng)
(430065 湖北省 武漢市 武漢科技大學(xué) 汽車與交通工程學(xué)院)
隨著社會的發(fā)展,人們對于智能汽車的需求日益提升。高級駕駛輔助系統(tǒng)(ADAS)是智能汽車的重要組成部分,其中行人車輛檢測是關(guān)鍵環(huán)節(jié),它通過傳感器檢測車輛行駛過程中遇到的行人和車輛,幫助駕駛員發(fā)現(xiàn)危險,提高駕駛的安全性。ADAS 對行人和車輛的檢測一般分為2 個步驟,首先傳感器采集實時圖像,然后通過算法對圖像進(jìn)行識別和分類[1]。
隨著深度學(xué)習(xí)的飛速發(fā)展,目標(biāo)檢測技術(shù)取得一定的進(jìn)步。Li 等[2]通過對Fast R-CNN 的改進(jìn),采用多尺度方法進(jìn)行行人檢測;Nguyen 等[3]通過在Fast R-CNN 上使用感知池化,有效提高了車輛檢測的精度。但是,以上方法在霧天、雪天、雨天或者夜間等惡劣環(huán)境時,會出現(xiàn)誤檢、漏檢等問題。
紅外光可以將景物、行人、車輛的紅外輻射溫度差異轉(zhuǎn)換為灰度值,進(jìn)而轉(zhuǎn)換為紅外圖像[4],可以應(yīng)對各種惡劣環(huán)境天氣。圖1 為在惡劣天氣下,可見光攝像機(jī)和紅外攝像機(jī)在夜間拍攝的圖像,很明顯紅外圖像更利于識別。

圖1 可見光攝像機(jī)與紅外攝像機(jī)在夜間拍攝圖像對比Fig.1 Comparison of images taken at night by visible camera and infrared camera
紅外道路場景下的行人車輛目標(biāo)檢測對ADAS在復(fù)雜多變環(huán)境下的目標(biāo)識別有一定的補(bǔ)充效果,但仍然存在諸多問題,如:目標(biāo)尺寸小時,由于像素比較小,難以識別;目標(biāo)的尺度變化大時,相同目標(biāo)的識別尺度可能不同;目標(biāo)之間有遮擋時,存在誤檢、漏檢現(xiàn)象等。此外,紅外道路場景的圖像噪點多、對比度差、邊緣較模糊、缺少顏色特征等,目標(biāo)檢測效果也不十分理想。
本文針對當(dāng)前紅外道路場景檢測及算法存在的行人、機(jī)動車漏檢和誤檢等問題,提出一種改進(jìn)算法。針對紅外道路場景的特性,使用算法對采集的圖像進(jìn)行預(yù)處理,充分挖掘行人、機(jī)動車輛和非機(jī)動車輛在紅外場景下的關(guān)鍵特征點;針對紅外道路場景的特性,對YOLOv5 網(wǎng)絡(luò)的激活函數(shù)、損失函數(shù)進(jìn)行相應(yīng)的改進(jìn),在主干網(wǎng)絡(luò)的末端采用Transformer 模塊,并增加了一層160×160 的檢測層,加強(qiáng)紅外場景下的車輛、行人等特征的提取能力,提高模型的魯棒性。
首先對圖像采用CLAHE 圖像增強(qiáng)算法,然后對輸出的圖像采用BM3D 算法進(jìn)行降噪處理,所得的圖像具有更高的圖像對比度,如圖2 所示。

圖2 CLAHE 算法增強(qiáng)圖像對比Fig.2 Image contrast after CLAHE algorithm enhancement
紅外圖像經(jīng)過CLAHE 增強(qiáng)算法后,其目標(biāo)檢測特征對比度明顯提升,但其增強(qiáng)后的圖像仍具有一些噪點,因此需對增強(qiáng)后的圖像采用BM3D 算法進(jìn)行降噪處理。BM3D 算法是將空間域和變換域相結(jié)合的一種降噪算法,通過相似判定找到與參考塊相近的塊,然后將相似塊組合為三維群組,并對其進(jìn)行濾波處理。降噪處理后的圖像如圖3 所示,相較于原圖,其特征對比更為明顯,更利于目標(biāo)檢測。

圖3 紅外圖像算法增強(qiáng)后圖像對比Fig.3 Image contrast after infrared image algorithm enhancement
YOLOv5s 算法是基于深度學(xué)習(xí)的目標(biāo)檢測,是繼He 等[5]提出SPPNet,Girshick[6]提出 Fast RCNN 之后,由Redmon 等[7]提出的單階段目標(biāo)檢測算法。YOLOv5 具有4 個主要組件:Input、Backbone、Neck、Head。其中Input 表示輸入的圖像,將被轉(zhuǎn)換為張量;Backbone 是YOLOv5s 網(wǎng)絡(luò)中的骨干網(wǎng)絡(luò),可以有效地提取圖像的特征;Neck網(wǎng)絡(luò)是檢測層,采用多尺度檢測;Head 是輸出層,主要通過提取到的特征進(jìn)行預(yù)測。
YOLOv5s 算法針對不同檢測尺寸的目標(biāo)設(shè)置不同尺寸的預(yù)置檢測框進(jìn)行訓(xùn)練,提高了各尺寸目標(biāo)檢測的準(zhǔn)確度。但是,在紅外道路場景下,由于小目標(biāo)之間存在遮擋,容易出現(xiàn)漏檢、誤檢等問題。
本文針對YOLOv5s在紅外場景下檢測的缺陷,對其激活函數(shù)和損失函數(shù)進(jìn)行優(yōu)化,在主干網(wǎng)絡(luò)末采用Transformer 模塊,并在檢測層上將原3 層檢測增加為4 層,增強(qiáng)了YOLOv5s 算法在紅外圖像上的特征提取,提高了檢測準(zhǔn)確度。改進(jìn)后網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示。

圖4 改進(jìn)后的YOLOv5s 網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 The improved YOLOv5s network structure
1.2.1 激活函數(shù)
在YOLOv5s 算法的激活函數(shù)中,Conv 卷積結(jié)構(gòu)由卷積層、批標(biāo)準(zhǔn)化層(batch normalization,BN)和激活函數(shù)層組成。激活函數(shù)可以增加神經(jīng)網(wǎng)絡(luò)模型的非線性變化,抑制非必要的特征輸出,增強(qiáng)特征信息的表達(dá)。YOLOv5s 使用的原始的激活函數(shù)為SiLU,也被稱為Swish,其函數(shù)表達(dá)式為
SiLU 函數(shù)具有無上界、有下界、平滑、非單調(diào)的特性。但對于紅外圖像上的行人車輛檢測,還需要激活函數(shù)具備更高的準(zhǔn)確率,因此需要對YOLOv5s 的Conv 層的激活函數(shù)進(jìn)行改進(jìn),使用Mish 激活函數(shù),其函數(shù)表達(dá)式為
Mish 函數(shù)及其導(dǎo)數(shù)的圖像如圖5 所示,從圖5 可以清晰地看出,Mish 激活函數(shù)是一種自正則化的非單調(diào)激活函數(shù),具有更加平滑的特性,與SiLU 激活函數(shù)相比,其信息輸入進(jìn)網(wǎng)絡(luò)中的梯度更深,準(zhǔn)確性更高,泛化性更好。

圖5 Mish 函數(shù)及導(dǎo)數(shù)Fig.5 Mish functions and derivatives
1.2.2 損失函數(shù)改進(jìn)
在YOLOv5s 網(wǎng)絡(luò)的損失函數(shù)中,邊框損失函數(shù)尤為重要,采用CIoU_Loss(Complete Intersection over Union Loss)形式[8]。CIoU 損失函數(shù)考慮了預(yù)測框和目標(biāo)框之間的重疊度、中心距、縱橫比等因素,但是未考慮預(yù)測框與目標(biāo)框之間方向的匹配性。針對此問題,本文采用了SIoU_Loss,從所需回歸之間的向量角度,重新定義距離損失,加快網(wǎng)絡(luò)的收斂速度。SIoU Loss 由4 個cost 函數(shù)組成:Angle cost、Distance cost、Shape cost 和IoU cost。
Angle cost 函數(shù)計算了角度成本對損失函數(shù)的貢獻(xiàn),如圖6 所示,當(dāng)時,α將最小化,否則最小化。Angle cost 函數(shù)表達(dá)式為

圖6 計算角度成本對損失函數(shù)貢獻(xiàn)Fig.6 Scheme for calculation of angle cost contribution to loss function
Distance cost 函數(shù)表達(dá)式為
Shape cost 函數(shù)表達(dá)式為
IoU cost 函數(shù)表達(dá)式為
最后的SIoU_Loss 總體回歸損失函數(shù)為
1.2.3 Transformer 模塊
在正常行駛過程中,行人與車輛會相互遮擋,在YOLOv5s 模型中借鑒使用Transformer 模塊,可以有效地提高遮擋條件下行人、車輛檢測的精準(zhǔn)度。Transformer 特征提取結(jié)構(gòu)分為2 部分,分別為編碼器和解碼器。對于圖像目標(biāo)識別而言,并不需要解碼器。Transformer 編碼器具有2 個主要模塊:多頭注意力機(jī)制模塊(multi-head attention)和前饋神經(jīng)網(wǎng)絡(luò)(MLP)。在Transformer 編碼器中,多頭注意力機(jī)制模塊后使用了LN(LayerForm)層,前饋神經(jīng)網(wǎng)絡(luò)后使用了DP(Dropout)層,可以有效防止網(wǎng)絡(luò)出現(xiàn)過擬合的現(xiàn)象并提高了網(wǎng)絡(luò)的特征融合能力。Transformer 模塊如圖7 所示。
Transformer 網(wǎng)絡(luò)中的多頭注意力機(jī)制可以更好地處理大批量輸入的信息,其表達(dá)式為
式中:Q——查詢向量;K——鍵向量;V——值向量;dk——輸入數(shù)據(jù)維度。
與其他注意力機(jī)制相比,多頭注意力機(jī)制運算能力更高,適用性更廣,表達(dá)式為
1.2.4 增加檢測層
原有YOLOv5s 算法的檢測層只有3 個,尺度為20×20、40×40、80×80,在ADAS 中檢測紅外圖像下的行人車輛時,會出現(xiàn)圖像中小目標(biāo)特征丟失的漏檢現(xiàn)象。為解決此問題,本文在YOLOv5s 網(wǎng)絡(luò)檢測層基礎(chǔ)上,增加一層160×160 的檢測層,對主干網(wǎng)絡(luò)輸入的小目標(biāo)特征信息的特征層進(jìn)行上采樣和下采樣,提高其對小目標(biāo)特征的敏感性。
本文使用云平臺,其計算機(jī)CPU 為AMD EPYC 7302,64 G 運行內(nèi)存,顯卡GPU 為NVIDIA GeForce RTX 3090,24 GB 顯存。操作系統(tǒng)為Ubuntu 20.04。此次實驗使用的深度學(xué)習(xí)框架PyTorch 1.10.0,實驗環(huán)境 為Python 3.9,GPU 加速為CUDA 11.3 和CUDNN 8.2.1。
為實現(xiàn)在真實的紅外圖像下夜間道路場景的行人車輛檢測,采用了FLIR 熱紅外數(shù)據(jù)集。FLIR熱紅外數(shù)據(jù)集由FLIR 公司推出,包含了14 000 張圖像,其中10 000 張來自于短視頻片段,4 000 張來自于一段140 s 視頻。運用LabelImg 圖像標(biāo)注工具對FLIR 數(shù)據(jù)集的行人和車輛進(jìn)行標(biāo)注,隨機(jī)采取70%的圖像樣本作為訓(xùn)練集,20%的圖像樣本作為測試集,10%的圖像樣本作為驗證集。FLIR數(shù)據(jù)集圖像如圖8 所示。
為驗證本文算法的精準(zhǔn)度,對算法進(jìn)行模型訓(xùn)練,模型訓(xùn)練參數(shù)配置如表1 所示。

表1 模型訓(xùn)練參數(shù)配置Tab.1 Model training parameter configuration
本實驗的性能評價指標(biāo)采用準(zhǔn)確率(Precision)、召回率(Recall)、平均精度均值(mAP)衡量。準(zhǔn)確率和召回率計算公式為
式中:TP——模型檢測正確的目標(biāo)并分類為對應(yīng)類別的數(shù)目;FN——模型漏檢的目標(biāo)數(shù)。
原YOLOv5s 算法與改進(jìn)后YOLOv5s 算法道路檢測對比如圖9 所示。由圖9 可見,改進(jìn)后的算法檢測精度更高,可以檢測出漏檢的車輛。

圖9 道路行人車輛檢測結(jié)果Fig.9 Road pedestrian vehicle detection results
在FLIR 數(shù)據(jù)集上分別使用常用的圖像處理算法YOLOv3、YOLOv4、YOLOv5s、本文改進(jìn)后YOLOv5s 算法進(jìn)行實驗,得到測試結(jié)果如表2 所示。

表2 算法測試結(jié)果對比Tab.2 Comparison of algorithm test results
由表2 可見,本文改進(jìn)算法相較于YOLOv5s算法mAP提高6.16%,相較于常用的YOLOv3、YOLOv4 在召回率、準(zhǔn)確率和mAP指標(biāo)均有較大的提升,損失函數(shù)圖像如圖10 所示。

圖10 Loss 曲線Fig.10 Loss curve
本文針對ADAS 系統(tǒng)在夜間等惡劣天氣下目標(biāo)檢測中存在的缺陷,提出使用紅外傳感器來進(jìn)行目標(biāo)檢測。主要結(jié)論如下:
(1)對紅外圖像采用CLAHE 圖像增強(qiáng)算法,并對輸出的圖像采用BM3D 算法進(jìn)行降噪處理,所得的圖像具有較好的檢測目標(biāo)的對比度;
(2)對YOLOv5 的激活函數(shù)和損失函數(shù)進(jìn)行了優(yōu)化,并在主干網(wǎng)絡(luò)末采用了Transformer 模塊,有效地減少了漏檢、誤檢等問題;
(3)通過模型訓(xùn)練和實驗對比,本文改進(jìn)的新型算法相較于原YOLOv5 算法在平均精度均值(mAP)上提升了6.16%。