王怡雯 王學(xué)軍 穆應(yīng)晨
(石家莊鐵道大學(xué) 信息科學(xué)與技術(shù)學(xué)院,河北 石家莊 050043)
城市道路交通在人們的出行方式中占據(jù)極大的比重,雖然一定程度上便利了人們的生活,但是很多時段交通擁堵,行人與車輛之間不能很好地相互避讓,導(dǎo)致事故頻發(fā),夜間環(huán)境尤其應(yīng)該成為交通狀況的關(guān)注重點,但夜間成像效果差導(dǎo)致目標檢測研究難度較大?;谝陨蠁栴},亟需一個夜間交通狀態(tài)智能感知系統(tǒng)來統(tǒng)計感知交通路況,而這一技術(shù)的核心即為道路車輛行人檢測跟蹤[1]。
近些年基于深度學(xué)習(xí)的目標檢測算法因其強大的泛化能力和學(xué)習(xí)能力而被廣泛應(yīng)用[2],但大多數(shù)研究是基于可見光采集的數(shù)據(jù)集,而本文重點針對的是基于紅外光下圖像的目標檢測研究,將研究重點著眼于受光照強度影響小且在夜晚同樣可達到較好成像效果的紅外圖像,一定程度上彌補了夜間道路交通監(jiān)控的短板。
本文針對紅外道路場景的目標檢測實驗中小目標特征缺失以及網(wǎng)絡(luò)參數(shù)量龐大等問題,使用YOLO v4 為基礎(chǔ)的目標檢測模型進行實驗,使用k-means 聚類算法獲得針對本文紅外數(shù)據(jù)集的先驗框值,加入SENet 模塊為特征通道施加注意力機制提升網(wǎng)絡(luò)的特征描述能力,在PANet 中使用深度可分離卷積代替普通卷積結(jié)構(gòu)進一步減少網(wǎng)絡(luò)參數(shù)量。
YOLO v4 算法是在YOLO 系列先前版本的目標檢測算法的基礎(chǔ)上優(yōu)化而來[3],網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。YOLO v4 采用CSPDarknet53 作為主干特征提取網(wǎng)絡(luò),該網(wǎng)絡(luò)在Darknet53 的基礎(chǔ)上加入CSP 結(jié)構(gòu),將原來殘差塊的堆疊拆分成一條主干路徑與殘差路徑,該結(jié)構(gòu)實現(xiàn)了跨階段的特征融合,在達到減少計算量的目的的同時仍可以保持較好的檢測準確率。激活函數(shù)由LeakyReLU 修改成了Mish 函數(shù),計算公式如式(1)。
圖1 YOLO v4 網(wǎng)絡(luò)結(jié)構(gòu)圖
SPP 和PANet 特征預(yù)測網(wǎng)絡(luò)在FPN 基礎(chǔ)上加深了多尺度優(yōu)化,將高層特征的信息與低層特征融合形成新的特征層,提高小目標的檢測效果,最后通過不同尺度的特征層進行特征預(yù)測。
本文的研究對象為行人與車輛,存在目標較小或遮擋等情況,可能會存在一些誤檢漏檢的可能。同時紅外圖像與可見光圖像相比具有分辨率差、對比度低、信噪比低、視覺效果模糊等特點[4],且數(shù)據(jù)集數(shù)量較少,這些都是針對實際應(yīng)用需要考慮的具體問題。
由于YOLOv4 算法初始先驗框的大小是根據(jù)coco 數(shù)據(jù)集得到的,因此本文利用k-means 聚類算法進行計算與統(tǒng)計,重新得到針對本文FLIR 紅外數(shù)據(jù)集的先驗框數(shù)值,這樣的預(yù)先處理可以使得模型參數(shù)更加貼近本實驗數(shù)據(jù)集,降低損失同時提高檢測準確率,如表1 所示為處理結(jié)果。
表1 coco 數(shù)據(jù)集與本文數(shù)據(jù)集先驗框值對比
SENet[5]主要通過學(xué)習(xí)的方式來自動獲取每個特征通道的重要程度,即為特征通道分配不同的權(quán)重,重點突出對當前檢測任務(wù)有用的特征并抑制無效特征,從而提升特征處理的效率。SEblock 不是一個完整的網(wǎng)絡(luò),而是一個可以靈活嵌入到其他分類或檢測網(wǎng)絡(luò)模型中的結(jié)構(gòu),圖2 為其嵌入到殘差網(wǎng)絡(luò)中的結(jié)構(gòu)示意圖。
圖2 SENet 嵌入殘差網(wǎng)絡(luò)示意圖
首先利用全局平均池化(Global pooling)對輸入特征圖進行處理,再經(jīng)過兩個Fully Connected(FC)層先降低特征圖的維度再升高維度,最后經(jīng)過sigmoid 激活函數(shù)處理后可以得到相應(yīng)的權(quán)重,利用權(quán)重在對應(yīng)位置與原輸入特征圖相乘得到輸出,即此處可以對不同重要程度的特征圖進行相應(yīng)的處理。本文設(shè)計將SENet 嵌入到CSPDarknet53 的殘差網(wǎng)絡(luò)中。
在以上改進的基礎(chǔ)上為了進一步使網(wǎng)絡(luò)輕量化,實驗借鑒MobileNet 的思路,采用深度可分離卷積結(jié)構(gòu)塊代替PANet 中普通3×3 卷積結(jié)構(gòu),得到的參數(shù)量對比如表2 所示。
表2 算法參數(shù)量對比
深度可分離卷積的處理步驟(以輸入7 x 7 x 3、輸出5 x 5 x 128 為例)如圖3 所示。
圖3 深度可分離卷積示意圖(輸入7x7x3、輸出5x5x128)
(1)利用3 個大小為3 x 3 x 1 的卷積核在輸入為7 x 7 x 3 的圖像上進行卷積操作,每個卷積核僅對輸入層的1 個通道做卷積,因此卷積處理后得到的映射數(shù)量為3 個,大小為5 x 5 x 1,將這些映射進行堆疊得到一個5 x 5 x 3 的圖像,因此第一步最終得出的輸出圖像大小為5 x 5 x 3。
(2)擴大深度,將5 x 5 x 3 的圖像作為輸入圖像。當使用一個大小為1x1x3 的卷積核對5 x 5 x 3 的輸入圖像進行1x1卷積處理時會得到一個大小為5 x 5 x 1 的映射,將該操作重復(fù)128 次后將所有得到的映射進行堆疊即可得到期望輸出的5 x 5 x 128 的層。
本文實驗硬件環(huán)境為Ubuntu16.04 系統(tǒng),GPU 為NVIDIA TESLA K40m,軟件環(huán)境為CUDA10.0、CUDNN7.4.1、Anaconda3,使用深度學(xué)習(xí)框架Pytorch1.2.0。
為盡量還原夜間道路的真實場景,實驗數(shù)據(jù)集選取真實道路的紅外圖像作為訓(xùn)練和測試的樣本。本文采用的紅外數(shù)據(jù)集為FLIR 紅外數(shù)據(jù)集,運用LabelImg 可視化圖像標注工具對數(shù)據(jù)集中的行人和車輛進行標注,共標記2000 張道路紅外圖像,其中90%的圖像作為訓(xùn)練樣本,10%的圖像用于測試。在實驗中本文還對數(shù)據(jù)集采用隨機角度的旋轉(zhuǎn)、裁剪、鏡像等方式擴增數(shù)據(jù)集容量,并采用了Mosic 數(shù)據(jù)增強,提升模型的泛化能力,見圖4。
圖4 數(shù)據(jù)集樣圖
針對改進算法,本文設(shè)計實驗與YOLO 系列其他算法進行對比,選擇準確率與召回率作為模型評價指標,計算公式如式(2)(3)所示,其中TP 代表模型將目標正確檢測并分類為對應(yīng)類別的數(shù)目,F(xiàn)P 代表模型誤檢的目標數(shù),F(xiàn)N 代表模型漏檢的目標數(shù)。道路檢測效果如圖5。
圖5 道路車輛行人檢測結(jié)果
在FLIR 數(shù)據(jù)集上分別使用YOLOv3、YOLOv4 以及本文算法SE-YOLOv4-lite 進行實驗,得到的測試結(jié)果對比如表3 所示。改進后的算法在召回率、準確率以及map 指標上均有一定的提升,損失函數(shù)如圖6。同時經(jīng)過測試,SE-YOLOv4-lite 算法在本實驗環(huán)境中FPS 可達12.67,比原始YOLOv4 算法提升約27.5%。
表3 算法測試結(jié)果對比
圖6 loss 曲線
本文基于 YOLOv4 的算法提出一種改進算法SE-YOLOv4-lite,旨在解決紅外場景下的車輛行人的檢測與識別問題。SE-YOLOv4-lite 設(shè)計在主干網(wǎng)絡(luò)的殘差結(jié)構(gòu)中加入SENet 模塊,提升網(wǎng)絡(luò)的特征描述能力,使用深度可分離卷積結(jié)構(gòu)塊代替PANet 中的普通3×3 卷積減少網(wǎng)絡(luò)參數(shù)。實驗結(jié)果表明,本文模型較YOLO v4 在準確率等方面都有了一定的提升。同時本文中SE-YOLOv4-lite 算法仍有改進的空間,在現(xiàn)有實驗結(jié)果的基礎(chǔ)上如何進一步提升檢測精度并適用于更豐富的場景是接下來亟待解決的問題。