李任斯, 石蘊(yùn)玉, 劉 翔, 湯 顯, 趙靜文
(上海工程技術(shù)大學(xué) 電子電氣工程學(xué)院, 上海 201620)
目標(biāo)檢測是計(jì)算機(jī)視覺中最基本、最重要的任務(wù)之一。搭配強(qiáng)大的主干網(wǎng)絡(luò),許多基于深度學(xué)習(xí)的目標(biāo)檢測算法在日常場景中都實(shí)現(xiàn)了較高的檢測精度,YOLO(You Only Look Once)[1]、SSD(Single Shot Detector)[2]和區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(Region Convolutional Neural Network, R-CNN)[3-5]均是目標(biāo)檢測的經(jīng)典算法。為了加強(qiáng)對不同特征尺度的利用,Lin 等提出的FPN(Feature Pyramid Network)[6]以及Liu 等人提出的PANet[7]均利用特征層的自下而上和自上而下的路徑級聯(lián)對不同特征圖提取到的信息進(jìn)行學(xué)習(xí)。Libra R-CNN[8]通過對低層次特征和高層次特征的融合增強(qiáng)和正負(fù)樣本的平衡處理使得網(wǎng)絡(luò)具有更高的目標(biāo)檢測精度。Li 等人[9]通過特征融合以及混合注意對SSD 算法進(jìn)行改進(jìn),提升檢測精度。然而在真實(shí)的霧天場景中,拍攝的圖像由于各種因素其圖像質(zhì)量顯著下降,模糊、光照不足、物體遮擋會造成圖像顏色失真、細(xì)節(jié)信息缺失等問題。普通的目標(biāo)檢測方法在霧天環(huán)境下無法準(zhǔn)確定位和識別出目標(biāo),其檢測性能大幅降低。因此,霧天環(huán)境下的目標(biāo)檢測方法研究顯得意義重大。
Li 等人[10]提出了去霧算法AODNet,并將其與檢測網(wǎng)絡(luò)Faster R-CNN 結(jié)合進(jìn)行訓(xùn)練,對去霧后的圖像進(jìn)行檢測。但是這種圖像預(yù)處理操作改變了圖像的內(nèi)部結(jié)構(gòu),且其模型的推理速度和訓(xùn)練速度非常慢,性能也沒有得到提高。Wang等提出了FPVDNet[11],在網(wǎng)絡(luò)中加入霧濃度判別模塊和注意力機(jī)制。Xie 等提出了基于知識引導(dǎo)的方法KODNet[12],通過對數(shù)據(jù)預(yù)處理和目標(biāo)分布問題分析實(shí)現(xiàn)有霧場景下的多目標(biāo)檢測。但是對于霧天圖像特征提取過程,上述方法存在語義信息和細(xì)節(jié)缺失問題,特別是在濃霧圖像中,對于一些模糊的目標(biāo),在網(wǎng)絡(luò)中的特征映射關(guān)系較弱,深層特征圖的目標(biāo)峰值很低。有關(guān)端到端的霧天圖像檢測算法研究較少。在圖像去霧算法暗通道先驗(yàn)法[13]中,作者發(fā)現(xiàn)統(tǒng)計(jì)的無霧彩色圖像的非天空區(qū)域里,RGB 3 個(gè)顏色通道中總有一個(gè)通道的像素值很低,趨向于0;而對于有霧圖像,其霧景區(qū)域的暗通道塊的像素值都遠(yuǎn)大于0,具體的識別方法見第二章理論基礎(chǔ)。受此啟發(fā),如果能借助霧天圖像自身特點(diǎn),獲得更加全面有效的圖像信息,提高檢測網(wǎng)絡(luò)對霧區(qū)域中目標(biāo)物體的信息處理能力,則對提升霧天圖像檢測性能具有重大作用。
本文在Double-Head 目標(biāo)檢測模型框架的基礎(chǔ)上,在特征增強(qiáng)方面,既融合了原始圖像經(jīng)過暗通道先驗(yàn)及處理后得到的先驗(yàn)權(quán)重矩陣,又加入了特征圖自身的通道自注意力機(jī)制以及結(jié)合改進(jìn)的解耦合預(yù)測頭(Efficient Decoupled Detection Head, EDH),提出了一種新的端到端的目標(biāo)檢測方法來提高霧天場景中的目標(biāo)檢測性能。
Double-Head 算法[14]是由Wu 等人提出的新的二階段檢測算法。作者在網(wǎng)絡(luò)預(yù)測頭部對全連接頭、全卷積頭和目標(biāo)的分類回歸任務(wù)進(jìn)行了徹底的分析,發(fā)現(xiàn)全連接頭比全卷積頭具有更高的空間敏感性。全連接頭具有更強(qiáng)的區(qū)分完整目標(biāo)和部分目標(biāo)的能力,但對回歸整個(gè)目標(biāo)并不魯棒?;诖?,研究者提出了Double-Head 算法,設(shè)計(jì)了專注于分類的全連接頭和目標(biāo)框回歸的全卷積頭。在Faster R-CNN 中主要采用共享的全連接層進(jìn)行最后的目標(biāo)回歸和分類,而在Double-Head 中采用全連接層進(jìn)行類別分類,采用全卷積層進(jìn)行目標(biāo)的回歸。在分類預(yù)測任務(wù)中,完成分類任務(wù)的子模塊由2 個(gè)1 024 層的全連接層構(gòu)成,而回歸子模塊的全卷積層共包含5 個(gè)殘差卷積塊和最后的池化輸出1 024 維的向量。一個(gè)普通的殘差卷積塊由輸入依次經(jīng)過一個(gè)1×1 卷積,3×3 卷積和1×1 卷積后,再加上原始的輸入構(gòu)成,每個(gè)殘差卷積塊最后輸出的激活函數(shù)為ReLu。Double-Head 算法在目標(biāo)檢測任務(wù)中具有較高的準(zhǔn)確率,因此本文選擇其作為基礎(chǔ)框架。
為了更加有效地利用不同尺度的圖像特征,PANet 在FPN 基礎(chǔ)上利用特征層自上而下的信息,再次級聯(lián)了自下而上的路徑,進(jìn)一步加強(qiáng)了網(wǎng)絡(luò)對各個(gè)尺度的目標(biāo)的提取能力。Double-Head 算法同樣借鑒PANet 思想,級聯(lián)不同尺度的特征層。本文通過添加通道和空間雙維度的注意力模塊對特征提取方面進(jìn)行改進(jìn),并且在預(yù)測頭部引入可分離卷積,利用設(shè)計(jì)的卷積模塊改進(jìn)原有解耦合預(yù)測頭的性能。
在圖像處理領(lǐng)域,有許多研究霧環(huán)境的光學(xué)模型。其中一個(gè)經(jīng)典模型大氣散射模型[15]的方程定義如式(1)所示:
式中:I(x)是觀測圖像,與自然霧圖像相同;J(x)是場景亮度;t(x)代表介質(zhì)透射;A代表全球大氣光。t(x)定義為:
式中:β表示大氣散射系數(shù),d(x)表示場景深度。He 等將暗通道先驗(yàn)與大氣散射模型結(jié)合提出了暗通道先驗(yàn)去霧算法。作者統(tǒng)計(jì)了大量的無霧圖像,發(fā)現(xiàn)在每一幅圖像的非天空區(qū)域里,彩色圖像RGB 通道中至少有一個(gè)通道的像素值非常低,幾乎趨近于0。暗通道塊J的數(shù)學(xué)表達(dá)式如式(3)所示:
式中:Jc表示彩色圖像暗通道塊J在像素點(diǎn)x中的一個(gè)顏色通道,即RGB 通道中的一個(gè);y是以像素點(diǎn)x為中心的矩形區(qū)域。
根據(jù)公式(3)可以得出Jdark=0,即非天空區(qū)域的圖像塊經(jīng)過暗通道先驗(yàn)后像素值為0,暗通道先驗(yàn)處理后的圖像從彩色圖像變?yōu)榛叶葓D像。霧天圖像存在大量霧景區(qū)域,霧景區(qū)域的RGB 3 個(gè)通道的像素值都不低,因此其暗通道塊Jdark遠(yuǎn)遠(yuǎn)大于0。
基于暗通道先驗(yàn)法處理后的霧天圖像可以有效地將霧景區(qū)域和前景所分離,給目標(biāo)檢測任務(wù)提供了有效的信息。本文通過改進(jìn)暗通道先驗(yàn)算法提升了檢測網(wǎng)絡(luò)獲取霧天圖像有效信息的能力。
圖1 是本文所提方法的結(jié)構(gòu)圖,基于二階段方法Double-Head 進(jìn)行改進(jìn)。在特征增強(qiáng)方面,網(wǎng)絡(luò)利用原始輸入圖像經(jīng)過暗通道先驗(yàn)得到的有效信息和主干網(wǎng)絡(luò)提取的多尺度深層特征進(jìn)行有效融合,得到增強(qiáng)的特征圖。增強(qiáng)后的特征圖經(jīng)過區(qū)域建議網(wǎng)絡(luò)[3]和ROI 池化模塊[3]處理后輸送至預(yù)測頭部進(jìn)行最終的預(yù)測。同時(shí),為了使分類和回歸都達(dá)到更高的精度,使用解耦合檢測方法作為預(yù)測頭部。預(yù)測頭使用全連接層進(jìn)行分類,卷積模塊進(jìn)行回歸,并在卷積模塊中引入了深度可分離卷積,減少了網(wǎng)絡(luò)模型的參數(shù)。
在本文所提方法中,特征增強(qiáng)模塊具體結(jié)構(gòu)如圖2 所示。首先,在主干網(wǎng)絡(luò)ResNet101[16]和FPN 提取到的特征P1~P4的基礎(chǔ)上,進(jìn)一步級聯(lián)了自下而上的結(jié)構(gòu),得到特征層N1~N4。其次,為了提高特征層N1~N4每個(gè)尺度的特征描述力,在P1、P2、P3的跳躍連接中加入了Enhance 模塊。Enhance 模塊主要包含兩部分,如圖3 所示。第一部分為特征自注意力,即在特征層P1~P4輸入的基礎(chǔ)上,加上了通道池化操作,增加了通道值響應(yīng);第二部分為先驗(yàn)權(quán)重矩陣的融合,即將原始圖像經(jīng)過暗通道先驗(yàn)法得到的有效信息進(jìn)一步融合,增強(qiáng)了霧天圖像中前景目標(biāo)和背景的分辨。
圖2 融合特征增強(qiáng)結(jié)構(gòu)示意圖Fig.2 Structure of the fusion feature enhancement
在圖2 中的特征圖部分,向下箭頭是上采樣操作,向上箭頭是下采樣操作,上、下采樣操作分別使用雙線性插值法和自適應(yīng)池化法。N1將下采樣生成的與N2具備同樣尺度的特征和經(jīng)過Enhance 模塊增強(qiáng)后的特征圖在通道方向拼接起來得到N2,依此類推,獲得N3和N4。
圖3中的通道池化分為最大池化和平均池化,都在輸入特征X(256×H×W)的通道維度上進(jìn)行。最大池化在X的256 維的通道上選擇最大值作為表征,平均池化則是選取通道上平均為1×H×W的值作為表征。相加后系數(shù)經(jīng)過Sigmoid激活函數(shù)與原始輸入進(jìn)行點(diǎn)積運(yùn)算得到XC。共享的全連接層來計(jì)算權(quán)重,記為kf,在通道維度上拼接后使用Sigmoid 函數(shù)來生成通道信息輸出矩陣FOC,數(shù)學(xué)表表達(dá)式如式(4)所示:
其中,φ(·)表示Sigmoid 激活運(yùn)算。
第二部分先驗(yàn)權(quán)重的融合如圖3 中左邊分支所示。首先對輸入圖像進(jìn)行尺寸縮放得到Y(jié),使其與圖3 中特征X的輸入尺寸一樣。然后Y通過暗通道先驗(yàn)法即利用公式(3)運(yùn)算得到暗通道矩陣I,式(3)中c為Y的R、G、B 3 個(gè)通道,Ω取5×5大小的區(qū)域,即
接著對暗通道矩陣I中的所有像素值(假設(shè)其大小為n(0~255))進(jìn)行取反操作,變?yōu)?55-n,使矩陣中天空等背景區(qū)域具有較低的矩陣值,目標(biāo)等前景具備較高的矩陣表征值。此時(shí)暗通道矩陣還存在一些冗余表征和背景噪聲,需要對其進(jìn)行濾波操作以增強(qiáng)待檢測目標(biāo)的矩陣響應(yīng),同時(shí)弱化非目標(biāo)等背景區(qū)域的矩陣響應(yīng),即矩陣值的大小。濾波函數(shù)采用一階微分算子sobel 算子,能有效降低圖像噪聲,銳化特征,其公式如式(6)、式(7)所示:
其中:I為暗通道矩陣,為灰度圖像;WY為輸出的權(quán)重矩陣;I和WY大小均為1×H×W。
在圖3 中,WY和XC進(jìn)行點(diǎn)積運(yùn)算后,再次和經(jīng)過1×1 卷積后的輸入特征X相加,得到最終的輸出Z(256×H×W)。
霧天圖像中的目標(biāo)對比度更低,紋理特征不清晰,普通的檢測算法提取其中目標(biāo)的能力較低。為了驗(yàn)證本文Enhance 模塊和所提方法的有效性,如圖4 所示,將原始的Double-Head 方法以及加入Enhance 模塊后的特征熱力圖進(jìn)行了可視化。特征熱力圖可以直觀地展示網(wǎng)絡(luò)在輸入圖像上的感受野和特征提取能力。從圖4 可以看出,右側(cè)圖像中汽車和行人位置的熱力圖顏色更紅,具有更大的激活值,而背景的激活值則更小,并且像素點(diǎn)對應(yīng)目標(biāo)類別的置信度得分更高,檢測結(jié)果更加準(zhǔn)確。高質(zhì)量的霧天圖像特征圖的提取會進(jìn)一步使預(yù)測頭最終對目標(biāo)完成更高質(zhì)量的分類和回歸任務(wù),提升網(wǎng)絡(luò)的霧天圖像目標(biāo)檢測性能。
圖4 熱力圖對比Fig.4 Comparison of feature heat activation map
經(jīng)過RoIAlign 得到的7×7×256 大小的特征圖最終由解耦合預(yù)測頭進(jìn)行分類和回歸,具體結(jié)構(gòu)如圖5 所示。在分類任務(wù)分支中,應(yīng)用兩個(gè)全連接層進(jìn)行分類。對于回歸任務(wù),全卷積層使用了5 個(gè)殘差模塊。第一個(gè)殘差模塊a 將輸入從256 維升至1 024 維,具體內(nèi)部結(jié)構(gòu)對應(yīng)圖6(a),另4 個(gè)殘差模塊b 如圖6(b)所示。圖6(b)中5×5 表示卷積核大小為5×5 的深度可分離卷積塊,在減少網(wǎng)絡(luò)參數(shù)量的同時(shí),增加了深層特征的感受野,保證了最終目標(biāo)框位置回歸的精度,其余為普通卷積。深度可分離卷積是輕量化網(wǎng)絡(luò)Xception[17]的主要結(jié)構(gòu),主要思想是將標(biāo)準(zhǔn)卷積分解為深度卷積和逐點(diǎn)卷積,即在輸入的每個(gè)通道獨(dú)立執(zhí)行空間卷積,再進(jìn)行逐點(diǎn)卷積,將深度卷積的通道輸出映射到新的通道空間。EDH 模塊的最終輸出是一個(gè)k+1 維向量用于分類,k×4維的向量用于定位,其中k表示類別個(gè)數(shù)。
圖5 解耦合預(yù)測頭結(jié)構(gòu)Fig.5 Structure of the decoupled prediction head
圖6 卷積模塊結(jié)構(gòu)圖Fig.6 Structure of the convolution module
在區(qū)域建議網(wǎng)絡(luò)RPN 中,分類任務(wù)使用二值交叉熵?fù)p失。在預(yù)測頭EDH 中,分類任務(wù)使用的是交叉熵?fù)p失。對于樣本訓(xùn)練過程中的回歸任務(wù),均使用SmoothL1損失。SmoothL1損失函數(shù)公式如式(8)所示:
式中:對于RPN,β設(shè)置為1/9;在EDH 中,β設(shè)置為1。所以
RPN 的二值交叉熵?fù)p失表示為:
在一個(gè)訓(xùn)練批次中,選取部分特征圖作為訓(xùn)練樣本,其中N是二元分類中的樣本數(shù),yi是樣本i的標(biāo)簽,正樣本為1,負(fù)為0,pi是預(yù)測樣本為正的概率。RPN 總損失函數(shù)如式(12)所示:
預(yù)測頭EDH 的交叉熵?fù)p失如式(13)所示:
其中:N是多類別樣本的數(shù)量;k是類別的數(shù)量;yic是一個(gè)符號函數(shù),如果樣本的預(yù)測類別是c,則取1,否則取0;Pic是樣本i被預(yù)測為c 類別的概率。整個(gè)網(wǎng)絡(luò)的損失函數(shù)L如式(14)所示:
式中:LRPN是區(qū)域建議網(wǎng)絡(luò)RPN 的損失函數(shù);λ1和λ2是預(yù)測頭中回歸損失和分類損失的權(quán)重參數(shù),它們平衡了各部分的功能,實(shí)現(xiàn)了更好的檢測性能。
實(shí)驗(yàn)平臺硬件為AMD Ryzen Threadripper 1900X 8-Core Processor 3.80 GHz CPU,Nvidia GTX 2080 Ti 顯卡,64G 內(nèi)存。
實(shí)驗(yàn)中,網(wǎng)絡(luò)由隨機(jī)梯度下降優(yōu)化器進(jìn)行訓(xùn)練,動量和權(quán)重衰減分別設(shè)置為0.9 和0.000 1。大多數(shù)二階段檢測器,包括本文提出的網(wǎng)絡(luò),學(xué)習(xí)率初始化為0.002 5。式(14)中的λ1和λ2分別設(shè)置為2.0 和1.5。
本節(jié)比較了一些現(xiàn)有的主流目標(biāo)檢測方法以驗(yàn)證本文所提出的網(wǎng)絡(luò)的魯棒性和高精度。不僅在自然霧天數(shù)據(jù)集RTTS[18]上進(jìn)行了評估,還在合成霧天數(shù)據(jù)集S-KITTI 和S-COCOval 上進(jìn)行了評估。
S-KITTI和S-COCOval為本文利用大氣散射模型分別對KITTI[19]和MS COCO 數(shù)據(jù)集[20]進(jìn)行霧合成得到的合成數(shù)據(jù)集。在KITTI 和MS COCO 的子數(shù)據(jù)集COCO 2014 val 中分別選用7 481 和10k 余張圖像進(jìn)行霧合成模擬處理,應(yīng)用大氣散射模型和原始清晰圖像合成霧天圖像,以此得到式(1)中的I(x)。在合成處理中,式(1)和式(2)中的A和β設(shè)置為0.6 和0.28,以此模擬出逼近真實(shí)霧天的圖像。
RTTS 數(shù)據(jù)集屬于自然霧天環(huán)境的目標(biāo)檢測數(shù)據(jù)集,圖像主要來源于交通道路等場景。它包含4 322 副圖像;帶有5 個(gè)類別的標(biāo)簽,即汽車、人、公共汽車、自行車和摩托車,包括大約41 000 個(gè)目標(biāo)。對于KITTI 數(shù)據(jù)集,使用其2D 數(shù)據(jù)集進(jìn)行目標(biāo)檢測任務(wù),包含7 481 張圖像,包括6 個(gè)類別:汽車、面包車、行人、有軌電車、卡車和自行車。MS COCO 數(shù)據(jù)集有80 個(gè)類別,為了使實(shí)驗(yàn)檢測對象一致,本文在COCO 2014 val 中選擇了1 萬張圖像,包括摩托車、汽車、公共汽車、火車、自行車和卡車等類別。
在RTTS 數(shù)據(jù)集中,采用PASCAL VOC[21]指標(biāo)平均精度(mean Average Precision, mAP)來評估該方法的檢測性能。準(zhǔn)確率和召回率的計(jì)算公式如式(15)、式(16)所示:
其中:TP 表示正樣本被識別正確的個(gè)數(shù),F(xiàn)P 表示負(fù)樣本被識別為正樣本的個(gè)數(shù),F(xiàn)N 表示正樣本被識別為負(fù)樣本個(gè)數(shù)。將計(jì)算得到的P、R值繪制P-R曲線,計(jì)算曲線下的面積,即為AP 值,公式如式(17)所示:
對于多個(gè)類別N,平均精度mAP 公式為:
在S-KITTI 數(shù)據(jù)集和S-COCOval 數(shù)據(jù)集中,使用指標(biāo)AP、AP75、AP50、APS、APM和APL來評估目標(biāo)檢測的性能。其中AP 指標(biāo)的IoU 從0.5 依次增加到0.95。AP75和AP50是指其IoU 分別設(shè)置為0.75 和0.5。APS、APM和APL是根據(jù)圖像中對象的大小設(shè)置的AP 度量,分別對應(yīng)圖像中相對的小目標(biāo)、中型目標(biāo)和大目標(biāo)。
RTTS 數(shù)據(jù)集的標(biāo)簽分布不均,在某些特定角度上的不同類別相似。本文方法在一定程度上克服了這些困難,并取得了較高的性能。如表1所示,每一行記錄了不同方法的mAP 值和5 個(gè)類別的AP 值,其中指標(biāo)中IoU 的值設(shè)定為0.5。
表1 不同算法在RTTS 數(shù)據(jù)集上的性能對比Tab.1 Performance comparison of different algorithms in the RTTS dataset
在不增加額外數(shù)據(jù)的情況下,本文方法實(shí)現(xiàn)了最高的mAP 值49.37,比FPVDNet 高3.97,比KODNet 高2.71,比Yolov3[22]高12.98。Double-Head 方法在公交車類別中達(dá)到了最高的AP 值51.53,本文方法在其余類別中達(dá)到了最高的性能,汽車類別為66.41 AP 值,自行車類別為33.62AP 值,摩托車、行人分別達(dá)到了50.12 和46.92 AP 值。本文方法在通過數(shù)據(jù)增強(qiáng)操作后,mAP值可以提升至50.33,均高于其他算法。數(shù)據(jù)增強(qiáng)操作主要包括對訓(xùn)練圖像進(jìn)行翻轉(zhuǎn)、旋轉(zhuǎn)和縮放等。通過數(shù)據(jù)增強(qiáng)生成的額外圖像大約1 000 張,這些圖像與原始數(shù)據(jù)一起訓(xùn)練。除摩托車類別外,其他所有類別都處于較高的水平。結(jié)果表明,與其他方法相比,本文方法的檢測準(zhǔn)確率更高,說明本文方法能有效地提取霧天圖像中的特征。
圖7(a)是從RTTS 數(shù)據(jù)集中選擇的一幅自然霧天圖像,(b)、(c)、(d)是分別使用Double-Head、Cascade R-CNN[25]和本文方法進(jìn)行檢測后的具體結(jié)果。在圖7(b)中,Double-Head 方法錯(cuò)誤地將圖片右下角的三輪車識別為汽車,并忽略了圖片左側(cè)的行人。圖7(c)的Cascade R-CNN 方法很難檢測到汽車,也忽略了左邊的行人。圖7(d)為本文方法的檢測結(jié)果,結(jié)果表明本文方法可以克服這些問題,生成更準(zhǔn)確的檢測結(jié)果。
圖7 RTTS 數(shù)據(jù)集圖像的檢測結(jié)果示例圖Fig.7 Examples of RTTS image detection results
S-KITTI 數(shù)據(jù)集中出現(xiàn)的小目標(biāo)物體和遮擋目標(biāo)較多,使得目標(biāo)檢測任務(wù)變得更具挑戰(zhàn)性,尤其是在霧天環(huán)境中。S-KITTI 數(shù)據(jù)集實(shí)驗(yàn)結(jié)果如表2 所示,除APM指標(biāo)之外,所提出方法性能均優(yōu)于其他方法。本文方法的AP、AP75、AP50、APS、APM和APL指標(biāo)分別為66.7、77.1、90.9、65.6、66.2 和71.4,AP75和AP 分別比第二高的方法高出1.7 和0.8。
表2 不同算法在S-KITTI 數(shù)據(jù)集上性能對比Tab.2 Performance comparison of different algorithms in the S-KITTI dataset
如表3 所示,當(dāng)主干網(wǎng)絡(luò)使用ResNet101 時(shí),本文方法的AP、AP75、AP50、APS、APM和APL值分別為57.7、65.1、79.6、41.1、51.1 和69.3。AP75、APS和AP 分別比第二高的方法高1.5、1.7 和0.9,除了AP50之外其余數(shù)據(jù)均為最高。Double-Head 在AP50取得了最大值79.8,僅比本文所提方法高出0.2。結(jié)果表明,本文模型在合成霧天數(shù)據(jù)集S-COCOval 上也取得了良好的檢測結(jié)果,并且應(yīng)用不同的主干網(wǎng)絡(luò)仍然具有有效性和魯棒性。
表3 不同算法在S-COCOval 數(shù)據(jù)集上性能對比Tab.3 Performance comparison of different algorithms in the S-COCOval dataset
表4 對預(yù)測頭的卷積部分進(jìn)行了實(shí)驗(yàn),通過設(shè)定不同數(shù)量的卷積塊得到不同的AP 結(jié)果。表4 中的模塊a 和模塊b 代表圖6 中的提取模塊a和b,模塊a 主要是將特征圖從256 維升至1 024維,數(shù)量為一個(gè),大小為1.06M;模塊b 大小為0.81M??紤]到準(zhǔn)確率和參數(shù)量的平衡,本文的預(yù)測頭部卷積部分最后選擇一個(gè)模塊a 和4 個(gè)模塊b。
表4 增加不同數(shù)量模塊b 后的參數(shù)和AP 值比較Tab.4 Comparison of the parameters and AP values after adding different number of modules b
在RTTS 數(shù)據(jù)集上分別使用不同注意力模塊進(jìn)行實(shí)驗(yàn),結(jié)果如表5 所示。在不添加注意力模塊的情況下,使用Double-Head 方法作為基線的mAP值為51.5,分別添加注意力模塊SE(Squeezeand-Excitation)[27]、CA(Coordinate Attention)[28]和CBAM(Convolutional Block Attention module)[29]后,mAP 值為51.6、52.2 和52.7。使用本文的注意力模塊達(dá)到了最高的mAP 值為53.6,參數(shù)量僅增加0.45M。結(jié)果表明,與其他注意力模塊相比,本文設(shè)計(jì)的注意力模塊具有更高的目標(biāo)檢測性能。
表5 使用不同注意力模塊的實(shí)驗(yàn)結(jié)果Tab.5 Ablation study of proposed component
表6 展示了提出的特征增強(qiáng)模塊和解耦合預(yù)測頭EDH 消融實(shí)驗(yàn)的結(jié)果。在ResNet50-FPN基線上,對特征圖應(yīng)用本文的注意力模塊mAP值提高了0.8,融合改進(jìn)暗通道先驗(yàn)得到的先驗(yàn)權(quán)重mAP 值提高了2.4,證明所提出的特征增強(qiáng)模塊對檢測霧天圖像中的目標(biāo)的有效性。解耦合預(yù)測頭EDH 模塊將mAP 值從52.9 提高到54.3,比ResNet50-FPN 基線高出1.4。與基線相比,提出的模塊對網(wǎng)絡(luò)的改進(jìn)mAP 值共提升了3.6。在模型復(fù)雜度方面,改進(jìn)前Double-Head 方法模型參數(shù)為48.14 MB,推理時(shí)間為0.105 s;改進(jìn)后方法模型參數(shù)為52.25 MB,推理時(shí)間為0.126 s。
表6 各個(gè)模塊的消融實(shí)驗(yàn)結(jié)果Tab.6 Ablation study of proposed component
從數(shù)據(jù)集中選取了幾組代表性的圖像分別使用不同的算法進(jìn)行目標(biāo)檢測結(jié)果展示,如圖8 所示,從上至下依次為原始圖像、本文算法、Double-Head 算法、Cascade R-CNN 算法、FPVDNet 和Yolov5 算法檢測的結(jié)果。第一組圖像中,除了本文算法外,其余算法都出現(xiàn)了自行車漏檢的情況,且行人檢測不夠準(zhǔn)確。在其他組圖像中,Double-Head、Cascade R-CNN、FPVDNet 和Yolov5 均存在對小目標(biāo)物體漏檢的問題,Double-Head算法在第三組圖像中更是將卡車錯(cuò)誤識別為汽車。本文算法在這些霧天圖像中展示出了更精準(zhǔn)的檢測結(jié)果,具有更強(qiáng)的檢測性能和魯棒性。
圖8 不同算法的檢測結(jié)果Fig.8 Detection results of different algorithms in different scenarios
本文所提方法在合成數(shù)據(jù)集不同霧濃度下的檢測結(jié)果如表7 所示。大氣散射系數(shù)β取不同值分別對應(yīng)不同程度的霧。在實(shí)際霧天場景下,所提方法的目標(biāo)檢測結(jié)果如圖9 所示。場景中的小目標(biāo)車輛以及遮擋目標(biāo)仍可以準(zhǔn)確檢測出來,并進(jìn)行有效分類,進(jìn)一步證明本文方法在實(shí)際場景中的高目標(biāo)檢測性能。
表7 所提方法在不同霧天程度下的實(shí)驗(yàn)結(jié)果Tab.7 Experimental results of the proposed method under different foggy conditions
圖9 實(shí)際霧天場景檢測結(jié)果圖Fig.9 Detection results in the actual foggy scene
本文針對霧天場景下的目標(biāo)檢測任務(wù),提出了一種新的高效且魯棒的方法。在Double-Head網(wǎng)絡(luò)上融合了改進(jìn)暗通道先驗(yàn)法得到的先驗(yàn)權(quán)重以及通道和空間雙維度的復(fù)合注意力,并且改進(jìn)了預(yù)測頭部的全卷積層,利用設(shè)計(jì)的高效解耦合預(yù)測頭對目標(biāo)進(jìn)行最終的分類和回歸,提高了在霧天圖像上的目標(biāo)檢測精度。本文算法在自然霧天數(shù)據(jù)集RTTS 上取得了49.37%的mAP 值,較改進(jìn)前提升了4.63%。在合成數(shù)據(jù)集S-KITTI和S-COCOval 上AP 值分別為66.7%和57.7%。實(shí)驗(yàn)結(jié)果優(yōu)于其他主流檢測方法,進(jìn)一步驗(yàn)證了本文算法的適用性和魯棒性。在未來的工作中,將進(jìn)一步優(yōu)化網(wǎng)絡(luò),均衡檢測精度和速率,使其應(yīng)用更加靈活。