趙世吉 張金釗 林立飛 燕偉杰
(山東科技大學交通學院,山東 青島 266590)
為了提高霧天天氣下行車安全感知的識別精度,保障無人駕駛的安全性。國內(nèi)外在圖像去霧算法、目標檢測算法等方面進行了相關研究。
He等(2011)提出了一種利用暗通道先驗知識進行去霧的方法,但該方法容易過度去霧,去霧后會造成大量信息丟失[1];基于Retinex理論,Jobson等(1997)提出了一種多尺度去霧算法,可以將失真圖像的色彩恢復,但復雜度較高[2];Li等(2017)提出了AOD-Net算法,使用卷積神經(jīng)網(wǎng)絡聯(lián)合估計全局大氣光值和透射率來恢復無霧圖像,使重建誤差進一步縮小[3]。綜上所述,大多數(shù)圖像去霧算法在去霧時,去霧網(wǎng)絡平等地處理圖像像素和通道特征,不能區(qū)別處理霧濃度不同和通道加權的圖像,所以本文選用FFA-Net(Feature Fusion Attention Network)算法[4],它可以具體對待不同的特征和像素,并基于注意力融合不同層次的特征,從而直接恢復無霧圖像。
在目標檢測方面,Girshick等(2015)提出了Fast-RCNN算法,大大地提高了訓練和檢測的速度,但存在候選區(qū)域建議速度較慢的問題[5];隨后,Ren等(2017)提出了Faster-RCNN算法,具有較高的檢測精度,但容易漏檢小目標物體[6];2020年,Wu等提出YOLOv4算法,提出了CSPDarknet53特征提取結構,大大提高了檢測精度和速度[7]。隨后,在YOLOv4的基礎上人們又提出了YOLOv5,在保證檢測效率的同時進一步提升了檢測精度。因此,本文選用YOLOv5網(wǎng)絡模型作為行車障礙檢測的基本模型,將YOLOv5與FFA-Net去霧算法相結合來對霧天障礙物進行檢測。
如圖1所示,F(xiàn)FA-Net由3個群結構(G-X)、通道注意力機制(CA)、像素注意力機制(PA)、卷積塊四部分構成,每個群結構由19個基本塊結構組成,每個基本塊又包含卷積層、激活函數(shù)ReLU層、通道注意力機制(CA)和像素注意力機制(PA)四部分。
圖1 FFA-Net網(wǎng)絡結構
FFA-Net的去霧過程就是給定一幅霧天圖像,然后經(jīng)過一個卷積層進行淺層特征提取,接著被輸入到3個具有多跳連接的群結構中,之后通過特征注意模塊(CA和PA)融合3個群結構輸出的特征。最后,融合后的特征會被傳遞到重構部分和全局殘差學習結構,從而實現(xiàn)去霧。
本文選用YOLOv5s網(wǎng)絡作為行車障礙檢測的基本框架,其模型架構如圖2所示,整體結構主要包括Backbone、Neck和Head三部分。首先,Backbone是整個YOLOv5框架結構的主體,主要包括Focus、Conv、C3、SPP等基本模塊。Focus模塊可以對輸入的圖像進行切片。Conv模塊是YOLOv5基本的卷積操作單元,負責對輸入的圖像進行卷積、正則化、激活等一系列操作。C3模塊由一種經(jīng)典的殘差結構Bottleneck組成,輸入數(shù)據(jù)經(jīng)過兩個卷積層提取特征后,再與原始特征進行Add操作,在維持原有輸出深度的基礎上,對殘差特征進行傳遞。SPP模塊負責對特征圖進行最大池化操作,特征圖利用Concat進行特征拼接,保持輸出深度與原始輸入深度相同。
圖2 YOLOv5網(wǎng)絡結構
如圖3所示,霧天行車障礙檢測模型主要包括FFANet去霧和YOLOv5模型訓練兩部分,本文首先利用已有訓練權重直接使用FFA-Net進行去霧,去霧后輸入到利用KITTI圖像數(shù)據(jù)訓練好的YOLOv5模型進行檢測。本文設置了基于YOLOv5s檢測框架分別檢測FFA-Net去霧后的圖像和帶霧交通圖像來進來行橫向對比實驗,從而驗證本文霧天行車障礙檢測方法的有效性。
圖3 霧天行車障礙檢測模型構建
霧天行車障礙檢測實驗檢測的障礙物主要有“Car”“Pedestrian”和“Cyclist”三個類別,實驗的訓練集選用KITTI [31]圖像數(shù)據(jù)集進行模型訓練,其中包括5 985張晴天交通圖片用于訓練,749張晴天交通圖片用于驗證。實驗中霧天測試集由749張無霧圖像基于Koschmieder定律依據(jù)大氣散射模型添加不同程度的人工噪聲所獲得。
實驗利用GPU進行訓練,顯卡為NVDIA RTX 2060s,顯存8 G,訓練中batch size設置為16,共300個epoch,初始學習率為0.01,最終學習率為1,訓練圖像尺寸為[640,640]?;谏鲜龇桨?,通過PyTorch完成對網(wǎng)絡的搭建。
3.3.1 損失函數(shù)收斂性分析
如圖4所示,從損失函數(shù)的收斂特性可以看到,隨著epoch的增加,網(wǎng)絡中的各項損失在訓練過程及交叉驗證集中基本實現(xiàn)了收斂,可以證明研究中的YOLOv5訓練模型是有效的。
圖4 損失函數(shù)收斂性
3.3.2 檢測結果分析
為了證實FFA-Net去霧算法與YOLOv5結合檢測方法的有效性,分別采用YOLOv5常規(guī)訓練、FFA-Net+YOLOv5常規(guī)訓練兩種方法對霧天障礙物進行檢測,對兩種方法用于行車障礙物檢測與分類性能進行對比,結果如表1所示。
對于霧天障礙物的檢測任務,由表1可知,使用YOLOv5常規(guī)訓練模型直接檢測霧天圖片,Precision值、Recall值和mAP值均較低,分別為62.5%、48.3%、47.4%,由此可見,霧天天氣因素會直接影響行車障礙物的檢測精度。與YOLOv5常規(guī)訓練模型相比,利用FFA-Net+YOLOv5常規(guī)訓練模型對目標檢測性能有了較大的提升,Precision值提升了30.2%,Recall值提升了34.4%,mAP值提升了41.8%。綜上所述,F(xiàn)FA-Net+YOLOv5常規(guī)訓練模型在霧天行車障礙檢測實驗中具有較好的魯棒性。
表1 兩種檢測方法在霧天圖像測試集中障礙物檢測性能對比
分別采用兩種檢測方法對霧天圖像測試集進行檢測,部分結果可視化如圖5所示。直接使用YOLOv5常規(guī)訓練模型進行檢測,檢測精度較低,大部分障礙物不能被識別出。相反,使用FFA-Net對大霧圖像進行去霧后,再通過YOLOv5常規(guī)訓練模型進行檢測,行車障礙檢測精度有了較大的提升。
圖5 檢測結果可視化
本文將FFA-Net去霧算法和YOLOv5目標檢測算法進行結合,針對霧天天氣下交通場景中的車輛、行人和非機動車等障礙物進行檢測。與直接使用YOLOv5算法進行檢測相比,該方法在霧天行車障礙檢測中,Precision提高了30.2%,Recall值提升了34.4%,mAP值提高了41.8%。FFA-Net的特征注意機制,使得圖像中的霧濃度分布不均時,仍然能很好地對車輛和行人進行檢測,具有較好的魯棒性。由于本文的行車障礙檢測方法包括去霧和障礙檢測兩部分,所以在實時性上仍需提高,在后續(xù)的研究中會對FFA-Net進行改進以縮短單幅圖像去霧時間,從而提升霧天障礙物檢測的實時性,進一步提高無人駕駛環(huán)境下的感知性能。