宋 甜,李 穎,王 靜
(四川大學電子信息學院,成都 610065)
車載紅外熱成像系統具有紅外線探測能力,可感應人眼視覺之外的紅外線,能夠大幅度改善駕駛員夜間駕駛的環境感知能力,從而提高駕駛員的駕駛安全系數和駕車體驗,對夜間輔助駕駛具有重要意義。車載熱成像系統探測距離遠且不依賴光源,所以車載紅外圖像具有分辨率較低、目標小的特點,給夜間目標檢測帶來了一定的困難。且受限于車載嵌入式系統有限的負載能力和車載動態環境,要求檢測網絡具有輕量化和實時高效的特點。因此,希望針對車載熱成像系統的特點,提出一種目標檢測方法。
目標檢測(object detection)技術作為視覺智能領域系統的一個重要研究方向,廣泛應用于機器人導航、智能視頻監控、工業檢測等諸多領域,通過計算機視覺減少對人力資本的消耗,具有重要的現實意義。目前基于深度學習的目標檢測算法按照其功能主要可以分為基于區域提名的和基于端到端學習的目標檢測模型兩類。2014年R.Girshick等提出的基于候選區域加卷積神經網絡的R-CNN算法就屬于第一種目標檢測模型,該算法的提出開啟了基于 RCNN的研究熱潮。由于R-CNN系列的檢測過程中候選框的生成和邊框的回歸這兩個操作是分開進行的,從而使模型對于交通目標的檢測速度達不到實時性的要求。于是在2016—2018年,國內外的專家學者相繼提出基于深度學習的單階段目標檢測實時性算法YOLO系列和SDD系列,YOLO把物體分類和邊界框預測結合在一起,直接通過回歸得到預測的邊界框和對應的置信度和類別,SSD中采用特征金字塔,豐富了特征圖的尺寸,使得不同尺寸的特征圖擁有不同的感受野,對應檢測不同尺寸的目標,從而解決了YOLOv1在小目標上檢測困難,定位不準的問題。并且隨著后續學者的不斷改進,于2021年,Ultralytics公司推出了YOLOv5,YOLOv5是在原有的YOLOv4的架構基礎上從各個方面引入一些優化方法進行改進。相比于其它的目標檢測算法,YOLOv5以其速度快、精度高而受到廣泛關注。由于YOLOv5網絡具有推理速度快、檢測精度高、體積小等優點,適合部署到車載嵌入式系統中。所以本文以YOLOv5網絡群中深度和特征圖寬度最小的YOLOv5s為車載紅外圖像目標檢測的基本框架,對SPP模塊進行密集連接的特征融合并添加到40×40和80×80大小的特征層,在骨干網絡的最后一層添加為輕量化網絡設計的坐標注意力模塊(coordinate attention,CA),并 對 網 絡 的 邊 界 框 回 歸(bounding box regression,BBR)損失函數進行改進,實驗結果表明改進網絡能夠提升網絡的檢測效果。
YOLOv5s網 絡 由Input、Backbone、Neck、Prediction四個部分組成。其網絡模型結構如圖1所示。

圖1 YOLOv5s網絡模型結構
Input輸入端包括Mosaic數據增強、自適應錨框計算、自適應圖片縮放三部分。Mosaic數據增強采用四張圖片,通過隨機縮放、隨機裁剪、隨機排布的方式進行拼接。YOLOv5s初始設定了三種大小的錨框,每次訓練之前,自適應地計算不同訓練集中的最佳錨框點。
YOLOv5s的Backbone結構由Focus、CBS、C3和SPP(spatial pyramid pooling)4個模塊組成。Focus模塊分為兩個步驟:切片拼接和卷積。CBS模塊由Conv2d、BN(BatchNorm2d)和SiLU(sigmoid weighted linear unit)組成。C3模塊由卷積層和X個Bottleneck模塊Concate組成。BottleNeck結構本質上是一個殘差網絡,先通過一個1×1的卷積層,再通過一個3×3的卷積層,如果輸入和輸出的通道數相同且允許連接的時候,則把原始輸入和經過兩個卷積后的結果進行相加,作為最終的結果輸出。SPP模塊由四個并行的分支構成,分別是池化核為5×5,9×9,13×13的最大池化和一個跳躍連接。
YOLOv5s中采用FPN+PAN結構作為Neck。在Backbone中,通過卷積下采樣后,特征圖的尺寸被不斷減小,在得到高層級特征的同時,也伴隨著的信息的流失,越高級的特征圖包含的語義信息越豐富,而越淺層的特征圖包含位置信息更為豐富。特征金字塔網絡(Feature Pyramid Networks,FPN)通過上采樣將高層級的特征回流傳遞,與低層特征融合,增加淺層特征圖中的語義信息,提高小目標的檢測性能。
然而,隨著研究的不斷深入和目標檢測算法的不斷發展,人們發現,淺層的語義信息對于深層特征圖在檢測大尺寸物體時也有增強的效果,所以PANet(path aggregation network)被提出來,并在語義分割任務中取得了出色的結果。YOLOv5s借鑒了PANet的思想,在FPN的下采樣后,又添加了2個PANet結構,形成一個自底向上的特征金字塔。通過以3×3的卷積核以步幅為2對FPN后獲得的最大尺度的特征圖做卷積操作,在重新進行下采樣提取特征的同時,縮小圖片的尺寸,然后與FPN中相同尺寸的特征圖做橫向連接,實現較大尺寸特征圖中的位置信息回傳到高層較小尺寸的特征圖中,提升對于大尺寸物體的檢測精度。
通過FPN+PAN結構,實現了自上而下和自底向上的雙向融合。FPN+PAN結構如圖2所示。

圖2 FPN+PAN結構
Prediction部分包括邊界框回歸損失函數和非極大值抑(non-maximum suppression,NMS)。YOLOv5s中使用CIOU Loss作為損失函數,在目標檢測結構后處理階段,針對出現的眾多目標框的篩選,采用加權NMS操作,獲得最優目標框。
本文以YOLOv5s網絡結構為基礎,首先對SPP模塊進行改進,引入密集連接減少特征丟失,并將改進后的SPP模塊分別添加到40×40和80×80大小的特征層,從而提升檢測準確度。然后針對車載紅外圖像分辨率低,目標小且細節模糊的特點,在骨干網絡的最后一層后即第一個C3_2模塊后添加CA注意力模塊,使模型能夠更好地學習重要的特征和感興趣的區域,對非背景物體有所側重。最后對網絡的邊界框損失函數進行改進,采用EIOULoss代替網絡原本的CIOU Loss。
SPP模塊嵌在YOLOv5s骨干網絡最后一個CBS模塊之后,由四個并行的分支構成,分別是池化核為5×5,9×9,13×13的最大池化和一個跳躍連接。不同尺度的最大池化和跳躍連接,能夠讓圖片學習到不同尺度的特征,再將局部和全局特征融合,豐富了特征圖的表達能力。其中最大池化將圖像劃分為若干個矩形區域,對每個子區域輸出最大值。最大池化操作雖然能減少冗余信息,但是也容易造成特征信息的丟 失。本 文 受DenseNet的 啟 發,借 鑒DenseNet構造密集連接,加強特征復用的思想,對SPP模塊進行改進,提出了SPP+模塊,從而減少SPP模塊最大池化帶來的特征信息丟失。改進前后模塊結構如圖3所示。

圖3 改進前后模塊結構
與SPP模塊不同,改進后的SPP+模塊在將四個不同感受野的特征進行concat連接前首先對各感受野的特征之間進行密集連接,特征融合操作加強了特征的復用率,減少了三次最大池化操作帶來的特征信息丟失。
YOLOv5s中SPP模塊只嵌在特征圖尺度最小的特征層后,輸入圖片尺寸為640×640時對應20×20尺寸大小的特征圖,為了同時提高40×40和80×80大小的特征的表達能力和特征復用,本文將SPP+模塊插入網絡的第13層和第17層,即第一次和第二次concat操作后。添加SPP+模塊的網絡結構如圖4所示。

圖4 SPP+模塊添加位置示意圖
為了輔助駕駛員掌握遠處的交通情況以便提前做好應對準備,車載熱成像系統具有探測距離遠的特點,所以車載紅外圖像分辨率低,圖像中大多數的目標都比較小且細節模糊,網絡在進行特征提取時容易丟失特征。所以,我們在檢測網絡中添加注意力機制,幫助網絡從眾多的信息中選擇出對當前檢測任務目標更關鍵的信息,通過使用注意力機制能夠使模型更多地關注重要特征并抑制背景信息等不必要的特征,從而提高模型的表現力。
本文使用的是坐標注意力模塊(coordinate attention,CA),針對通道注意力通常會忽略對生成空間選擇性注意力圖非常重要的位置信息的問題,將位置信息嵌入到通道注意力中,使得網絡能夠在更大的區域上進行注意力,CA注意力模塊添加的位置如圖5所示。

圖5 CA模塊添加位置示意圖
不同于通道注意力將輸入通過2D全局池化轉化為單個特征向量,CA模塊將通道注意力分解為兩個沿著不同方向聚合特征的1D特征編碼過程。這樣的好處是可以沿著一個空間方向捕獲長程依賴,沿著另一個空間方向保留精確的位置信息。然后,將生成的特征圖分別編碼,形成一對方向感知和位置敏感的特征圖,它們可以互補地應用到輸入特征圖來增強感興趣的目標的表示。
CA模塊通過精確的位置信息對通道關系和長程依賴進行編碼,分為兩個步驟:坐標信息嵌入(coordinate information embedding)和坐標注意力生成(coordinate attention generation),結構如圖6所示。

圖6 CA注意力模塊結構
2.2.1 坐標信息嵌入
全局池化方法通常用于通道注意編碼空間信息的全局編碼,但由于它將全局空間信息壓縮到通道描述符中,導致難以保存位置信息。為了促使注意力模塊能夠捕捉具有精確位置信息的遠程空間交互,CA模塊按照以下公式將全局池化進行分解,轉化為一對一維特征編碼:

具體而言,對輸入X,先使用尺寸H×1和1×W的池化核沿著水平坐標方向和豎直坐標方向對每個通道進行編碼,因此,高度為h的第c個通道的輸出表示為:

2.2.2 坐標注意力生成
通過坐標信息嵌入可以很好的獲得全局感受野并編碼精確的位置信息。為了利用由此產生的表征,提出了坐標注意力生成。坐標注意力生成轉換首先級聯之前模塊生成的兩個特征圖,然后使用卷積變換函數對其進行變換操作:

然后沿著空間維數將f分解為2個單獨的張量f∈R和f∈R。再利用兩個1×1卷積F和F將特征圖f和f變換到和輸入X同樣的通道數,得到:

然后對g和g進行拓展,作為注意力權重。
最后,CA模塊的輸出表示為:

在目標檢測中,邊界框回歸是決定目標定位性能的關鍵步驟,邊界框回歸的三個重要幾何因素為:重疊面積、中心點距離、寬高比。CIOU Loss考慮了這三個重要的幾何因素,在DIOU Loss的基礎上,增加了寬高比影響因子,合并到懲罰項。

CIOU Loss與之前的損失函數相比,收斂速度和檢測精度都有明顯的提高。但是通過其公式中的v反映的寬高比的差異,而不是寬高分別與其置信度的真實差異,所以有時會阻礙模型有效的優化相似性。為了解決這個問題,本文采用EIOU Loss代替CIOU Loss,將寬高比的影響因子拆開分別計算目標框和錨框的寬和高,能夠對檢測效果有一定提升。EIOU Loss定義如下:
小麥成熟后應及時收割、晾曬、篩選,如遇陰雨天氣,應采取烘干措施,防止收獲和儲存過程中濕度過大,導致病菌再度大量繁殖,造成二次污染。

其中,c和c是覆蓋兩個Box的最小外接框的寬度和高度。
本文實驗使用深度學習框架Pytorch,訓練測試均在Pytorch 1.7.1環境下完成,編程語言為Python 3.8,基于Linux系統,操作平臺為ubuntu16.04。實驗的硬件條件為E5-2640V3 CPU,內存64 GB,GPU為Nvidia Geforce GTX1080,11 GB顯存。初始學習率lr設為0.01,weight decay設置為0.0005,網絡優化方法使用SGD,momentum為0.937,batchsize設置為16,訓練輪數為300輪。
本文使用2018年傳感器系統開發商FLIR公司發布的自動駕駛開源紅外熱成像數據集進行實驗,對數據集中的行人、自行車、汽車3類目標進行檢測。該數據集是由安裝在車上的熱成像相機獲取,駕駛環境為11月至5月期間日間(60%)和夜間(40%)晴到多云天氣行駛在加利福尼亞州圣巴巴拉市街道和公路上。數據集總共包含14452張紅外圖像,其中10228張來自多個短視頻,訓練集8862張,驗證集1366張,大多數圖片的采樣率為1秒兩幀,少數環境中目標較少時,采樣率為1秒1幀。測試集為長144 s的視頻中采樣的4224張圖片,采樣率為1秒30幀。訓練集、驗證集和測試集各類別的數量如圖7所示。

圖7 FLIR數據集數量統計
在目標檢測當中,通常使用精確率(Precision)、召回率(Recall)、PR曲線、平均精度(average precision,AP)和多個類平均精度(mean average precision,mAP)來作為評價指標。精確率和召回率定義如下:

其中,TP為預測為正樣本實際為正樣本的數量,FP為預測為負樣本實際為正樣本的數量,FN為預測為負樣本實際為正樣本的數量。Precision為預測正確的正樣本個數和預測為正樣本個數的比值,Recall表示被正確判定的正樣本的個數占總的正樣本個數的比重。
PR曲線反映的是精度和召回率之間的關系。如果模型精度越和召回率越高,則PR曲線與x,y軸所包圍的面積就越大,模型的總體性能也就越好。AP為PR曲線下方的面積,AP越大,則模型的準確度越高,反之,模型的性能越差。mAP為多個類別AP的平均值。本文采用AP和mAP作為對模型檢測效果的評價標準。
本文首先使用YOLOv5s網絡在FLIR數據集的訓練集和驗證集上進行訓練和驗證,保存訓練結果最好的模型,在測試集上測試該模型的泛化能力。然后對YOLOv5s進行改進,YOLOv5s模型和改進模型在測試集上的檢測效果如圖8所示。
圖8展示了基本網絡(左)和改進網絡(右)的檢測效果對比,由圖中可知,改進網絡后能夠檢測到基本網絡漏檢的一些目標,如兩圖第一列所示:其中圖一中漏檢了兩個自行車類目標,圖二中由于遮擋原因,少檢測了一個行人和一個自行車目標,圖三中由于目標較小,少檢測了一個行人,通過改進網絡后,能夠有效地減少漏檢情況。兩圖第二列中展示了對網絡錯檢情況的改進,基本網絡分別將背景錯檢為行人、自行車和汽車目標,而改進網絡能夠改善錯檢情況。

圖8 測試效果
從表1可以看出,對SPP改進并嵌入40×40和80×80大小的特征層后,檢測結果均有提升,對比原始YOLOv5s網絡mAP@0.5值提升了2.2%。表2表明添加CA模塊后mAP@0.5值提升了1.2%,更改邊框回歸損失函數后,mAP@0.5值提升了1.1%。由此可見,三種改進方法都在不同程度上提高了模型的檢測精度。采用本文的方法,行人類的AP值提升了3.1%,自行車類AP值提升了6.8%,汽車類AP值提升了0.4%,總的mAP@0.5值提升了3.4%。

表1 SPP改進實驗結果對比

表2 網絡改進對比
從表3兩種模型的平均推理速度和權重大小對比可以看出,改進網絡后,模型的推理速度幾乎沒有下降,權重大小僅增大了1.7 MB。由此得出,本文方法在提升檢測準確率的同時并沒有帶來很大的模型權重大小增加和推理時間的消耗,模型依舊能夠滿足實時檢測的需求并保持體積小的優點,適合部署在車載嵌入式系統中。

表3 兩種模型性能指標對比
本文設計了一種基于改進YOLOv5s網絡的車載紅外圖像目標檢測模型,適合部署在車載嵌入式系統中用于檢測交通目標,輔助夜間駕駛。首先提出YOLOv5s+3SPPs網絡,在SPP模塊中引入密集連接并增加模塊數量,然后針對車載紅外圖像分辨率低、目標小且細節模糊的特點,在YOLOv5s的骨干網絡的最后一層添加CA注意力模塊,讓網絡專注于圖像上重要的目標特征及感興趣區域。最后對網絡的邊界框回歸損失函數進行改進。本文實驗表明:三種改進方法在不同程度上都起到了提高網絡的檢測精度的作用。相比于YOLOv5s網絡,本文提出的網絡在FLIR數據集測試集上的mAP@0.5值提升了3.4%,且幾乎不影響檢測速度,模型權重大小只增加了1.7 MB,滿足車載嵌入式系統對模型體積小和實時高效檢測的需求。