秦 鵬,唐川明,劉云峰,張建林,徐智勇
(1.中國科學(xué)院光束控制重點(diǎn)實(shí)驗(yàn)室,成都 610209;2.中國科學(xué)院光電技術(shù)研究所,成都 610209;3.中國科學(xué)院大學(xué) 電子電氣與通信工程學(xué)院,北京 100049)
目標(biāo)檢測(cè)是計(jì)算機(jī)視覺領(lǐng)域的重要研究方向,現(xiàn)有方法通常使用可見光圖像進(jìn)行目標(biāo)檢測(cè),在黑夜、沙塵暴、大霧、雨天等缺少可見光光源、距離較遠(yuǎn)、能見度較低的情況下,很難進(jìn)行有效成像,檢測(cè)效果不佳[1]。紅外成像技術(shù)根據(jù)不同目標(biāo)向外界散發(fā)的不同紅外輻射強(qiáng)度進(jìn)行成像,無需借助外部環(huán)境光,不受雨雪風(fēng)霜等天氣影響,具有全天候工作、可視距離遠(yuǎn)等優(yōu)點(diǎn)[2]。紅外成像技術(shù)主要運(yùn)用在目標(biāo)捕獲、跟蹤、定位等軍事領(lǐng)域以及鐵路、煤礦、消防搶險(xiǎn)、安防監(jiān)控等民用領(lǐng)域。
傳統(tǒng)紅外目標(biāo)檢測(cè)主要包括模板匹配、閾值分割、幀差等方法。LIU 等[3]提出將主成分分析得到的投影系數(shù)用作模板,并通過非線性相關(guān)性衡量匹配度。ZHANG 等[4]改進(jìn)固定閾值識(shí)別方法,根據(jù)計(jì)算二維紅外通道中的亮度溫度直方圖,提出基于二維Otsu 和上下文測(cè)試的檢測(cè)算法。YIN 等[5]提出一種基于經(jīng)典W4 和幀差結(jié)合的算法,克服由背景突變引起的誤檢,消除幀差造成的空洞。然而,由于紅外圖像的紋理細(xì)節(jié)少、目標(biāo)輪廓信息不明顯,在快速變化的復(fù)雜背景環(huán)境下容易產(chǎn)生錯(cuò)檢漏檢,因此上述方法對(duì)紅外場(chǎng)景目標(biāo)的檢測(cè)效果不理想。
隨著科學(xué)技術(shù)的快速發(fā)展,依靠大數(shù)據(jù)管理和高性能計(jì)算的深度學(xué)習(xí)技術(shù)受到研究人員的廣泛關(guān)注并基于其提出一系列目標(biāo)檢測(cè)方法?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)方法在計(jì)算機(jī)視覺領(lǐng)域展現(xiàn)出超越傳統(tǒng)算法的優(yōu)越性能,其中,兩階段方法有R-CNN[6]、Fast R-CNN[7]、Faster R-CNN[8]等,單階段方法有SSD[9]、YOLO[10-12]等。但目前專門用于紅外目標(biāo)檢測(cè)的深度學(xué)習(xí)算法較少,由于紅外目標(biāo)的特性,因此直接使用這些通用的深度學(xué)習(xí)算法的檢測(cè)準(zhǔn)確度不高。為解決上述問題,LEE 等[13]將輕量級(jí)卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)和增強(qiáng)的隨機(jī)森林相結(jié)合,改變?cè)械娜B接方式,將CNN的輸出與增強(qiáng)的隨機(jī)森林相連接。HERRMANN等[14]提出一種紅外數(shù)據(jù)預(yù)處理策略,使紅外數(shù)據(jù)盡可能接近RGB 域,再使用紅外數(shù)據(jù)集進(jìn)行訓(xùn)練微調(diào),提升對(duì)紅外數(shù)據(jù)的檢測(cè)效果。WEI 等[15]借鑒MobileNetv2 輕量化網(wǎng)絡(luò),將3 個(gè)特征輸出層進(jìn)行自上而下的特征金字塔逐次連接,結(jié)合YOLOv3 檢測(cè)頭進(jìn)行紅外目標(biāo)預(yù)測(cè),加快了網(wǎng)絡(luò)檢測(cè)速度。HU等[16]提出一種基于增強(qiáng)特征融合域的紅外目標(biāo)檢測(cè)算法,將靜態(tài)目標(biāo)模式分析與動(dòng)態(tài)多幀相關(guān)檢測(cè)相結(jié)合,使用神經(jīng)網(wǎng)絡(luò)融合不同層次的紅外目標(biāo)特征,通過增強(qiáng)目標(biāo)特征抑制背景雜波和虛警率。
上述研究工作從不同角度提升了對(duì)紅外目標(biāo)檢測(cè)的性能,但對(duì)復(fù)雜背景的適應(yīng)性不強(qiáng),在檢測(cè)準(zhǔn)確度和速度的平衡方面還有待提升。本文在YOLOv3模型的基礎(chǔ)上,提出改進(jìn)的Effi-YOLOv3 模型。針對(duì)DarkNet53 模型規(guī)模大、訓(xùn)練速度慢且對(duì)設(shè)備性能要求高的問題,使用輕量高效的EfficientNet 骨干網(wǎng)絡(luò),降低內(nèi)存消耗,提升網(wǎng)絡(luò)模型的運(yùn)行速度。由于目標(biāo)尺度差異較大,淺層特征的感受野較小,通過模擬人類視覺的感受野機(jī)制,引入改進(jìn)的感受野模塊(Receptive Field Block,RFB),在增加少量計(jì)算量的情況下,大幅增加網(wǎng)絡(luò)模型感受野。在檢測(cè)層部分,基于可變形卷積以及動(dòng)態(tài)ReLU 激活函數(shù)構(gòu)建DBD結(jié)構(gòu)和CBD 結(jié)構(gòu),提升模型特征編碼靈活性,增加網(wǎng)絡(luò)模型容量。使用兼顧預(yù)測(cè)框與真值框長寬比偏差、重疊率和中心點(diǎn)距離的CIoU 損失代替原來的IoU 損失,加快網(wǎng)絡(luò)模型的訓(xùn)練速度,提升預(yù)測(cè)框的回歸準(zhǔn)確度。
YOLOv3 是目標(biāo)檢測(cè)中常用的單階段網(wǎng)絡(luò),與兩階段網(wǎng)絡(luò)先產(chǎn)生候選區(qū)域再進(jìn)行分類不同,YOLOv3在產(chǎn)生候選區(qū)域的同時(shí)進(jìn)行分類,提升了網(wǎng)絡(luò)檢測(cè)速度。YOLOv3 的骨干網(wǎng)絡(luò)為由殘差結(jié)構(gòu)組成的DarkNet53,殘差結(jié)構(gòu)可以緩解深層網(wǎng)絡(luò)訓(xùn)練時(shí)的梯度消失問題。YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。為加強(qiáng)網(wǎng)絡(luò)對(duì)不同尺度目標(biāo)的檢測(cè)精度,YOLOv3 采用類似FPN 的方式,將低層次的包含更多細(xì)粒度信息的特征層與高層次的包含較多語義信息的特征層進(jìn)行特征融合,YOLOv3 中共進(jìn)行兩次特征融合,形成3 個(gè)不同尺度的檢測(cè)層,分別對(duì)應(yīng)檢測(cè)大尺度目標(biāo)、中等尺度目標(biāo)、小尺度目標(biāo)。不同尺度的特征層會(huì)被劃分為S×S個(gè)網(wǎng)格,每個(gè)網(wǎng)格會(huì)生成3 個(gè)先驗(yàn)框,共生成10 647 個(gè)先驗(yàn)框進(jìn)行預(yù)測(cè),每個(gè)先驗(yàn)框預(yù)測(cè)(B+C+N)維向量,其中,B表示4 個(gè)邊界框偏移量,C表示目標(biāo)預(yù)測(cè)的置信度,N表示需要預(yù)測(cè)的類別總數(shù)。
圖1 YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of YOLOv3 network
YOLOv3 損失函數(shù)由目標(biāo)框位置損失Lloc、目標(biāo)置信度損失Lconf和目標(biāo)類別損失Lcls三個(gè)部分組成,其中,目標(biāo)框位置損失包括中心點(diǎn)x、y產(chǎn)生的BCE Loss 和預(yù)測(cè)框長寬w、h產(chǎn)生的MSE Loss,目標(biāo)類別損失為分類預(yù)測(cè)產(chǎn)生的BCE Loss。YOLOv3 損失函數(shù)定義如下:
EfficientNet[17]是一個(gè)可以平衡縮放網(wǎng)絡(luò)輸入圖像分辨率、網(wǎng)絡(luò)寬度和網(wǎng)絡(luò)深度的模型,減少了模型參數(shù)量,增強(qiáng)了特征提取能力,使網(wǎng)絡(luò)處于高效平衡的狀態(tài)。EfficentNet 由多個(gè)MBConv 模塊構(gòu)成,MBConv 中包含深度可分離卷積、Swish 激活函數(shù)以及Dropout 連接,并且在模塊中加入了SE 通道注意力機(jī)制。MBConv 模塊結(jié)構(gòu)如圖2 所示。
圖2 MBConv 模塊結(jié)構(gòu)Fig.2 Structure of MBConv module
Swish 激活函數(shù)計(jì)算公式如下:
在Swish 函數(shù)中x為輸入,包含β個(gè)常數(shù)或者可訓(xùn)練的參數(shù)。Swish 具備無上界、有下界、平滑、非單調(diào)的特點(diǎn),將ReLU 替換為Swish 就能將Mobile NASNetA 在ImageNet 上的Top-1 分類準(zhǔn)確率提升0.9%。
深度可分離卷積是由逐通道卷積和逐點(diǎn)卷積組合而成。逐通道卷積中每一個(gè)通道被一個(gè)卷積核獨(dú)立計(jì)算,沒有利用不同通道在相同的空間區(qū)域上的特征信息。因此,使用逐點(diǎn)卷積將逐通道卷積產(chǎn)生的特征圖進(jìn)行融合,逐點(diǎn)卷積的卷積核大小為1×1,對(duì)逐通道卷積產(chǎn)生的特征圖在深度方向進(jìn)行加權(quán)組合,得到最終的輸出特征層。
為解決YOLOv3 對(duì)于紅外目標(biāo)檢測(cè)精度較低、計(jì)算復(fù)雜度較高的問題,本文提出一種基于Effi-YOLOv3 的紅外目標(biāo)檢測(cè)方法。采用更輕量高效的EfficientNet-B2 作為目標(biāo)特征提取表示的骨干網(wǎng)絡(luò),提高網(wǎng)絡(luò)對(duì)目標(biāo)表示的魯棒性和特征提取的高效性。通過添加改進(jìn)的RFB 結(jié)構(gòu),增強(qiáng)網(wǎng)絡(luò)感受野。構(gòu)建基于可變形卷積和動(dòng)態(tài)ReLU 激活函數(shù)的DBD結(jié)構(gòu)和CBD 結(jié)構(gòu),自適應(yīng)調(diào)整卷積區(qū)域和通道激活率,提升模型表達(dá)能力。使用CIoU 損失加快模型收斂時(shí)間,提升預(yù)測(cè)框的準(zhǔn)確率,最終實(shí)現(xiàn)對(duì)紅外目標(biāo)更高效準(zhǔn)確的檢測(cè)。
為改善YOLOv3 的特征提取能力以及減少模型參數(shù),引入EfficientNet 作為特征提取骨干網(wǎng)絡(luò)。對(duì)應(yīng)不同場(chǎng)景的需求,EfficientNet 系列網(wǎng)絡(luò)有B0~B7共8 種由小到大的網(wǎng)絡(luò)模型。針對(duì)紅外場(chǎng)景目標(biāo)檢測(cè)任務(wù),將EfficentNet-B2 去除最后的全局平均池化層、Dropout 層和全連接層后代替YOLOv3 原始的DarkNet53 網(wǎng)絡(luò)進(jìn)行特征提取。
EfficeintNet-B2 共有23 個(gè)MBConv 模 塊,為了進(jìn)行多尺度的特征融合,取第8 個(gè)MBConv 模塊的輸出層為P3 層,取第16 個(gè)MBConv 模塊的輸出為P4 層,取第23 個(gè)MBConv 模塊的輸出為P5 層,將富有語義信息的高層特征通過上采樣后與具有較多空間細(xì)節(jié)信息的低層特征進(jìn)行通道級(jí)聯(lián),使用1×1 卷積對(duì)不同通道的特征進(jìn)行融合。由于紅外場(chǎng)景目標(biāo)尺度變化較大,使用單一尺度特征層進(jìn)行檢測(cè)不能同時(shí)兼顧不同尺度的目標(biāo),借鑒YOLOv3 的多尺度檢測(cè)策略,構(gòu)建P3、P4 和P5 層特征融合后的3 種不同尺度的檢測(cè)層,分別針對(duì)大尺度目標(biāo)、中等尺度目標(biāo)、小尺度目標(biāo)進(jìn)行檢測(cè),提升檢測(cè)的準(zhǔn)確性和魯棒性。
網(wǎng)絡(luò)模型神經(jīng)節(jié)點(diǎn)對(duì)于感受野中不同位置像素的敏感度不同,對(duì)感受野中心區(qū)域的像素敏感度高,對(duì)感受野邊緣區(qū)域的像素敏感度低,并且從中心向邊緣快速衰減,符合二維高斯分布。在人類視覺系統(tǒng)中,視網(wǎng)膜對(duì)于同一幅圖像的不同區(qū)域的注意程度不同,在注視區(qū)域中心視覺靈敏程度最高,在周邊區(qū)域靈敏度低很多,突出注視區(qū)域信息。
RFB[18]受人類視覺感受野結(jié)構(gòu)啟發(fā),考慮視覺感受野大小和偏心率之間的關(guān)系以增大模型感受野,主要思想是采用不同尺寸卷積核和不同空洞率(rate)的空洞卷積,并對(duì)它們的結(jié)果進(jìn)行級(jí)聯(lián)組合。為獲得不同尺度的局部特征信息,增大網(wǎng)絡(luò)模型的感受野,進(jìn)而提升網(wǎng)絡(luò)的檢測(cè)精度,同時(shí)為減少卷積層參數(shù)誤差造成的估計(jì)均值的偏移,進(jìn)一步改進(jìn)RFB,獲得增強(qiáng)的網(wǎng)絡(luò)感受野,結(jié)構(gòu)如圖3 所示。由于紅外成像中目標(biāo)亮度高于背景亮度并且目標(biāo)紋理特征弱,因此改進(jìn)的RFB 在原有基礎(chǔ)上增加一條Maxpool 分支以突出待檢測(cè)目標(biāo),提升特征圖在區(qū)域內(nèi)的顯著性,保留更多的目標(biāo)紋理信息。
圖3 改進(jìn)的RFB 模塊結(jié)構(gòu)Fig.3 Structure of improved RFB module
改進(jìn)的RFB 模塊由具有不同大小的卷積核(類似Inception 結(jié)構(gòu))和不同空洞率的空洞卷積層構(gòu)成,用于模擬人類視覺。首先將輸入的特征經(jīng)過1×1 的卷積進(jìn)行降維,減少模塊的參數(shù)量,并保留1 個(gè)殘差邊連接到輸出層,有利于網(wǎng)絡(luò)訓(xùn)練。多分支層由1×1、3×3、5×5 的卷積和Maxpool 構(gòu)成,模擬不同多尺度的群體感受野,實(shí)際使用2 個(gè)3×3 卷積代替5×5 卷積,減少參數(shù)量。然后不同大小的卷積核連接對(duì)應(yīng)空洞率為1、3、5 的3×3 空洞卷積用于模擬人類視覺中群體感受野尺度與偏心率之間的關(guān)系。最后將不同空洞卷積結(jié)果和使用1×1 卷積通道變換后的Maxpool 層級(jí)聯(lián)在一起進(jìn)行通道融合,并與之前的殘差邊逐元素相加得到最終的輸出特征。
傳統(tǒng)卷積只能對(duì)固定區(qū)域進(jìn)行計(jì)算,導(dǎo)致對(duì)幾何形變部分的建模受到限制??勺冃尉矸e[19]在一定程度上解決了上述問題,主要思想是通過對(duì)不同的卷積區(qū)域計(jì)算附加的偏置,改變?cè)械木矸e計(jì)算位置,使其卷積區(qū)域貼合目標(biāo)的幾何外形。引入可變形卷積,使其根據(jù)感興趣的目標(biāo)區(qū)域自適應(yīng)調(diào)整卷積區(qū)域,增強(qiáng)特征提取能力,減少背景信息的干擾。
普通膨脹率為1 的3×3 卷積的采樣區(qū)域是一個(gè)規(guī)則的形狀R,R∈{(-1,-1),(-1,0),…,(1,1)}。對(duì)于輸入特征圖x中的位置p0,使用卷積核w加權(quán)計(jì)算得到輸出y(p0):
如圖4 所示,可變形卷積在卷積操作時(shí),額外對(duì)每個(gè)采樣點(diǎn)p0的感受野范圍pn計(jì)算偏移,增加二維的偏移量Δpk,將輸入圖像的像素值索引與對(duì)應(yīng)的像素偏移量相加,并將變形后的像素索引范圍限制在輸入圖像尺寸范圍內(nèi)。
圖4 可變形卷積計(jì)算流程Fig.4 Calculation process of deformable convolution
由于不同區(qū)域像素對(duì)檢測(cè)性能的貢獻(xiàn)不同,當(dāng)可變形卷積的區(qū)域大于目標(biāo)所在區(qū)域時(shí),會(huì)對(duì)非目標(biāo)區(qū)域進(jìn)行錯(cuò)誤識(shí)別,因此在DCNv2[20]中對(duì)每一個(gè)偏移量預(yù)測(cè)權(quán)重Δmk,使其實(shí)現(xiàn)準(zhǔn)確的特征提取。可變形卷積的計(jì)算公式如下:
計(jì)算得到的偏移量像素索引是一個(gè)浮點(diǎn)類型索引,為了使得到的像素值更加準(zhǔn)確并且可以進(jìn)行反向梯度傳導(dǎo),還需要對(duì)浮點(diǎn)類型像素值坐標(biāo)經(jīng)過雙線性插值得到輸出像素值。在初始化時(shí),位置偏移Δpk=0,偏移權(quán)重Δmk=0.5,偏移層的學(xué)習(xí)率為原始層的0.1 倍。
ReLU[21]是深度神經(jīng)網(wǎng)絡(luò)中常用的激活函數(shù),將輸入中的所有負(fù)值均設(shè)置為0,計(jì)算簡(jiǎn)單高效。之后出現(xiàn)了Leaky ReLU、PReLU、RReLU 等多種ReLU函數(shù)的變體,但激活函數(shù)在推理階段均是靜態(tài)的。靜態(tài)激活函數(shù)在網(wǎng)絡(luò)運(yùn)行之前設(shè)定激活率,在推理過程中激活函數(shù)對(duì)所有的輸入數(shù)據(jù)執(zhí)行相同的操作,缺乏靈活性。CHEN 等[22]提出動(dòng)態(tài)ReLU(DYReLU)替換靜態(tài)的激活函數(shù)。
動(dòng)態(tài)ReLU 可以根據(jù)輸入特征來學(xué)習(xí)調(diào)節(jié)ReLU 的正值激活率和負(fù)值抑制率。對(duì)于一個(gè)給定的輸入向量x,動(dòng)態(tài)激活函數(shù)被定義為分段函數(shù)fθ(x)(x),其中θ(x)為可學(xué)習(xí)的參數(shù),可為不同輸入x進(jìn)行上下文信息編碼計(jì)算激活函數(shù)的參數(shù),fθ(x)(x)使用θ(x)計(jì)算的參數(shù)生成激活函數(shù),通過少量的額外計(jì)算可以帶來大幅的性能提升。
傳統(tǒng)的靜態(tài)ReLU 函數(shù)定義為y=max{x,0},通道的激活函數(shù)為yc=max{xc,0},其中,xc為輸入向量x的第c個(gè)通道的值。ReLU 可以統(tǒng)一表示為分段線性函數(shù)。動(dòng)態(tài)ReLU 通過輸入x={xc}調(diào)節(jié)使靜態(tài)的ReLU 變?yōu)閯?dòng)態(tài)的ReLU,其中線性系數(shù)是θ(x)的輸出。動(dòng)態(tài)ReLU 函數(shù)定義如下:
其中:K為函數(shù)的個(gè)數(shù);C為通道數(shù);激活函數(shù)參數(shù)不僅與當(dāng)前對(duì)應(yīng)通道輸入xc有關(guān),還與其他輸入通道有關(guān)。動(dòng)態(tài)ReLU 網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示,其中:R為超參數(shù);C/R表示降維后的通道數(shù)量;2KC表示θ(x)輸出的參數(shù)。
圖5 動(dòng)態(tài)ReLU 網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Structure of DY-ReLU network
基于可變形卷積和動(dòng)態(tài)ReLU 激活函數(shù),設(shè)計(jì)CBD、DBD、D3BD 等3 種基礎(chǔ)網(wǎng)絡(luò)模塊,其中:CBD由普通卷積(Conv)、BN 層、動(dòng)態(tài)ReLU 函數(shù)組成;DBD 由可變形卷積(DCNv2)、BN 層、動(dòng)態(tài)ReLU 函數(shù)組成;D3BD 由3 個(gè)可變形卷積、BN 層、動(dòng)態(tài)ReLU函數(shù)組成。模塊結(jié)構(gòu)如圖6 所示。
圖6 CBD、DBD 和D3BD 模塊結(jié)構(gòu)Fig.6 Structure of CBD,DBD and D3BD modules
D3BD 相比DBD 和CBD 具有更強(qiáng)的特征提取能力,但是由于可變形卷積需要計(jì)算每一個(gè)卷積區(qū)域的偏移量以及對(duì)應(yīng)偏移區(qū)域的權(quán)重比例,計(jì)算資源消耗相對(duì)較大,對(duì)模型運(yùn)行速度產(chǎn)生較大影響。DBD 使用一個(gè)可變形卷積和動(dòng)態(tài)ReLU 函數(shù),兼顧網(wǎng)絡(luò)運(yùn)行速度和檢測(cè)精度。CBD 由于沒有使用可變形卷積,模型運(yùn)行速度相對(duì)較快。在實(shí)際測(cè)試過程中,使用D3BD 網(wǎng)絡(luò)運(yùn)行速度降幅較大,為平衡檢測(cè)速度和精度,選擇在不同的檢測(cè)層使用一次DBD 模塊,以實(shí)現(xiàn)對(duì)不同尺度目標(biāo)的自適應(yīng)性特征提取,后續(xù)網(wǎng)絡(luò)使用CBD 模塊。
Effi-YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)如圖7 所示。輸入圖像經(jīng)過改進(jìn)的EfficientNet-B2 骨干網(wǎng)絡(luò)提取特征,其中P1 特征層分辨率為輸入圖像的1/2,P2 層分辨率為輸入圖像的1/4,以此類推,得到P3、P4、P5 等3 個(gè)有效特征層,其尺度大小分別為52×52、26×26、13×13,分別對(duì)應(yīng)檢測(cè)小尺度目標(biāo)、中等尺度目標(biāo)、大尺度目標(biāo)。為補(bǔ)充P5 層檢測(cè)大尺度目標(biāo)時(shí)感受野不足的問題,在P5 層后使用改進(jìn)的RFB 模塊增加淺層特征層的感受野,利用DBD 模塊使其適應(yīng)大尺度的目標(biāo),得到P5_2 特征層,P5_2 特征經(jīng)過4 次CBD 卷積模塊得到P5_3。為進(jìn)行不同尺度空間的特征融合,對(duì)P5_3 使用1 次CBD 卷積和上采樣后與P4 特征層進(jìn)行通道間級(jí)聯(lián)融合,得到P4_1。為對(duì)中等尺度目標(biāo)有更好的適應(yīng)性,對(duì)P4_1 特征使用DBD 卷積得到P4_2,P4_2 特征經(jīng) 過4 次CBD 卷積之后得到P4_3。將P4_3 經(jīng)過1 次CBD 卷積和上采樣后的特征與P3特征層進(jìn)行通道間級(jí)聯(lián),得到融合多尺度特征。針對(duì)小尺度目標(biāo)檢測(cè)的P3_1,對(duì)P3_1 使用DBD 卷積得到更加適應(yīng)小尺度目標(biāo)檢測(cè)的P3_2,并對(duì)P3_2 進(jìn)行4 次CBD 卷積,得到充分融合特征后的P3_3。最終將P3_3、P4_3、P5_3 分別進(jìn)行1 次CBD 卷積和普通卷積,輸出尺度大小為13×13、26×26、52×52 的3 個(gè)YOLO 檢測(cè)頭。
圖7 Effi-YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)Fig.7 Structure of Effi-YOLOv3 network
IoU 是預(yù)測(cè)框與真值框之間的交并比,不僅可以用于正負(fù)樣本的判斷,而且是目標(biāo)檢測(cè)中判斷預(yù)測(cè)框準(zhǔn)確度的常用指標(biāo)。YOLOv3 位置損失由中心點(diǎn)距離損失和預(yù)測(cè)框?qū)捀邠p失組合而成,不像IoU 能直觀地反映預(yù)測(cè)的準(zhǔn)確度,因此考慮通過IoU 反映的預(yù)測(cè)框與真值框之間的偏差作為損失函數(shù)。IoU的計(jì)算公式如下:
其中:A、B分別表示預(yù)測(cè)框、真值框區(qū)域;A∩B表示兩者之間的交集;A∪B表示兩者之間的并集。
當(dāng)預(yù)測(cè)框與真值框不重合時(shí),IoU 值一直為0,直接使用IoU 作為損失存在一定缺陷。為解決上述問題,REZATOFIGHI 等[23]使用GIoU 作為損失函數(shù),使得預(yù)測(cè)框和真值框在沒有重疊時(shí),也能較好反映兩者之間的重疊度。但當(dāng)預(yù)測(cè)框和回歸框之間完全包含或者兩框在水平方向和垂直方向上時(shí),此時(shí)的GIoU 損失會(huì)退化為普通的IoU 損失,降低了模型的收斂速度。由于預(yù)測(cè)框回歸包括重疊面積、長寬比和中心點(diǎn)距離3 個(gè)要素,因 此ZHENG 等[24]提 出DIoU 及CIoU。DIoU 將預(yù)測(cè)框與真值框的中心點(diǎn)距離加入了損失計(jì)算,CIoU 在DIoU 的基礎(chǔ)上將預(yù)測(cè)框的長寬比也加入損失函數(shù)計(jì)算中。
其中:p2(b,bgt)表示預(yù)測(cè)框與真值框的中心點(diǎn)之間的歐氏距離;c表示能夠同時(shí)包圍預(yù)測(cè)框和真值框的最小閉包區(qū)域的對(duì)角線距離;α是度量長寬比相似性ν的權(quán)重系數(shù)。α與ν的定義如下:
其中:w表示預(yù)測(cè)框?qū)挾龋籬表示預(yù)測(cè)框高度;wgt表示真值框?qū)挾?;hgt表示真值框高度。
選擇FLIR 公司提供的紅外場(chǎng)景數(shù)據(jù)集,該數(shù)據(jù)集拍攝了美國加利福尼亞州的圣塔芭芭拉市的街道和高速公路,包含2017 年11 月至2018 年5 月的天氣變化以及一天中不同時(shí)間的場(chǎng)景,圖像背景有城市、山脈、隧道、樹木、建筑等,背景相對(duì)復(fù)雜。訓(xùn)練集包含7 659 張紅外場(chǎng)景圖像,使用COCO 數(shù)據(jù)集格式進(jìn)行標(biāo)注,有22 372 位行人(person)、3 986 輛單車(bicycle)、41 260 輛汽車(car),共67 618 個(gè)目標(biāo)。測(cè)試集包含1 360 張紅外場(chǎng)景圖像,有5 579 位行人、471 輛單車、5 432 輛汽車,共11 682 個(gè)目標(biāo)。數(shù)據(jù)集中的目標(biāo)尺寸分布如圖8 所示,該數(shù)據(jù)集中的目標(biāo)尺寸分布中小尺寸的目標(biāo)較多,不同目標(biāo)間的尺寸跨度較大,并且場(chǎng)景中目標(biāo)受到不同程度的遮擋,加大了檢測(cè)難度。
圖8 FLIR 數(shù)據(jù)集目標(biāo)尺寸分布Fig.8 FLIR dataset target size distribution
通過平均精度均值(mean Average Precision,mAP),即各個(gè)類別的平均精度(Average Precision,AP)的均值來評(píng)價(jià)算法性能,mAP@0.5表示預(yù)測(cè)框與真值框的IoU大于等于0.5 的情況下的準(zhǔn)確預(yù)測(cè)概率。在計(jì)算mAP前需要先計(jì)算查準(zhǔn)率(P)和召回率(R)。查準(zhǔn)率是指實(shí)際為正樣本且被準(zhǔn)確預(yù)測(cè)為正樣本的數(shù)量與所有被預(yù)測(cè)為正樣本數(shù)量的比率,計(jì)算公式如下:
其中:TTP表示實(shí)際為正樣本,模型預(yù)測(cè)也為正樣本的數(shù)量;FFP表示實(shí)際為負(fù)樣本,但模型預(yù)測(cè)為正樣本的數(shù)量。
召回率是指實(shí)際為正樣本且被正確預(yù)測(cè)為正樣本的數(shù)量與所有實(shí)際為正樣本數(shù)量的比率,計(jì)算公式如下:
其中:FFN表示實(shí)際為正樣本,但是模型預(yù)測(cè)為負(fù)樣本的數(shù)量。
AP 計(jì)算公式如下:
實(shí)驗(yàn)計(jì)算機(jī)CPU型號(hào)為Intel Core i7-4790、GPU型號(hào)為GTX1080、運(yùn)行內(nèi)存為16 GB、操作系統(tǒng)為Ubuntu18.04。編程語言為Python、深度學(xué)習(xí)框架為Pytorch1.4.0、CUDA 版本為10.1、cuDNN 版本為7.6.3。在訓(xùn)練過程中,采用Adam優(yōu)化器對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行優(yōu)化。在訓(xùn)練初始階段,凍結(jié)骨干網(wǎng)絡(luò),僅對(duì)分類頭進(jìn)行訓(xùn)練,設(shè)置學(xué)習(xí)率為0.001,batchsize 為16,訓(xùn)練30 輪。之后將骨干網(wǎng)絡(luò)進(jìn)行解凍,對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,設(shè)置學(xué)習(xí)率為0.000 3,batchsize 為4,訓(xùn)練170 輪。
3.3.1 Effi-YOLOv3 與其他網(wǎng)絡(luò)模型的實(shí)驗(yàn)結(jié)果對(duì)比
將Effi-YOLOv3 與原始YOLOv3 的檢測(cè)效果進(jìn)行對(duì)比,從圖9 可看出Effi-YOLOv3 在3 種類別檢測(cè)中均取得了較好的效果。Effi-YOLOv3 在單車類別的平均精度為53%,比YOLOv3 的42%提升了11 個(gè)百分點(diǎn),行人檢測(cè)從62%提升到了74%,提升了12 個(gè)百分點(diǎn),檢測(cè)效果提升明顯。在復(fù)雜背景下的目標(biāo)檢測(cè)、遮擋情況下的目標(biāo)檢測(cè)和小尺度目標(biāo)檢測(cè)結(jié)果分別如圖10~圖12 所示。
圖9 YOLOv3 和Effi-YOLOv3 對(duì)3 種目標(biāo)的檢測(cè)結(jié)果對(duì)比Fig.9 Comparison of detection results of YOLOv3 and Effi-YOLOv3 for three targets
圖10 復(fù)雜背景下的目標(biāo)檢測(cè)結(jié)果Fig.10 Object detection results under complex background
圖11 遮擋情況下的目標(biāo)檢測(cè)結(jié)果Fig.11 Object detection results under occlusion
圖12 小尺度目標(biāo)檢測(cè)結(jié)果Fig.12 Small-scale object detection results
為進(jìn)一步驗(yàn)證Effi-YOLOv3 模型性能,將其與YOLOv3、單階段的SSD、兩階段的Faster R-CNN 以及當(dāng)前較為先進(jìn)的EfficientDet 網(wǎng)絡(luò)模型進(jìn)行對(duì)比實(shí)驗(yàn),結(jié)果如表1 所示。從表1 可以看出,Effi-YOLOv3模型對(duì)紅外目標(biāo)的檢測(cè)精度遠(yuǎn)高于其他網(wǎng)絡(luò)模型,相比YOLOv3 模型的mAP 提升9.9 個(gè)百分點(diǎn),相比當(dāng)前較為優(yōu)秀的EfficientDet-D1 模型的mAP 提升了4.7 個(gè)百分點(diǎn)。實(shí)驗(yàn)結(jié)果證明了改進(jìn)的Effi-YOLOv3模型對(duì)紅外目標(biāo)檢測(cè)具有更好的性能。
表1 紅外目標(biāo)檢測(cè)實(shí)驗(yàn)結(jié)果Table 1 Experimental results of infrared target detection
3.3.2 消融實(shí)驗(yàn)結(jié)果對(duì)比
在復(fù)雜的深度學(xué)習(xí)網(wǎng)絡(luò)背景下,采用消融實(shí)驗(yàn)檢驗(yàn)去除網(wǎng)絡(luò)中某些模塊后的性能,有利于更好地理解網(wǎng)絡(luò)中不同模塊對(duì)網(wǎng)絡(luò)檢測(cè)性能的影響。為明確各個(gè)模塊對(duì)于網(wǎng)絡(luò)性能的影響,設(shè)置6 組實(shí)驗(yàn)分別進(jìn)行訓(xùn)練,第1 組為原始的YOLOv3 模型,第2 組~第6 組為添加改進(jìn)模塊的網(wǎng)絡(luò)模型,其中,“√”表示包含改進(jìn)模塊,“×”表示不包含改進(jìn)模塊。實(shí)驗(yàn)結(jié)果如表2 所示。從表2 中可以看出:在第2 組實(shí)驗(yàn)中,在更換骨干網(wǎng)絡(luò)為EfficientNet 后,模型大小壓縮為YOLOv3 的25.4%,在檢測(cè)精度相差不大的情況下,運(yùn)行速度提升了4 frame/s,說明EfficientNet 骨干網(wǎng)絡(luò)相對(duì)DarkNet 更加輕量高效;第3 組實(shí)驗(yàn)增加了RFB 模塊增強(qiáng)網(wǎng)絡(luò)感受野,與第2 組實(shí)驗(yàn)的對(duì)比發(fā)現(xiàn),大中尺度目標(biāo)car 和person 的平均精度明顯上升,分別提升了2.69 和6.11 個(gè)百分點(diǎn),說明RFB 模塊增大了網(wǎng)絡(luò)模型的感受野,提升了網(wǎng)絡(luò)對(duì)大中尺度目標(biāo)的檢測(cè)精度;第4 組實(shí)驗(yàn)增加了可變形卷積自適應(yīng)調(diào)整卷積的區(qū)域及權(quán)重,對(duì)不同尺度目標(biāo)的檢測(cè)精度提升明顯,其中由于person 通常呈現(xiàn)不規(guī)則形狀,平均精度提升最多,增加了4.33 個(gè)百分點(diǎn);第5 組實(shí)驗(yàn)增加了DY-ReLU,使得每一層模型自適應(yīng)地調(diào)整激活率,雖然增加了一定參數(shù)量并導(dǎo)致運(yùn)行速度略微下降,但是極大提升了對(duì)小尺度目標(biāo)的檢測(cè)精度;第6 組實(shí)驗(yàn)使用CIoU 作為損失函數(shù),在幾乎不增加參數(shù)量的情況下,提升了整體預(yù)測(cè)框的檢測(cè)準(zhǔn)確率,本組實(shí)驗(yàn)即改進(jìn)的Effi-YOLOv3 模型。綜上所述,改進(jìn)的Effi-YOLOv3 模型相比原有YOLOv3模型具有明顯的性能提升,更加適合紅外場(chǎng)景目標(biāo)檢測(cè)。
表2 消融實(shí)驗(yàn)結(jié)果Table 2 Ablation experiment results
為提升紅外場(chǎng)景目標(biāo)檢測(cè)精度,本文提出基于Effi-YOLOv3 的紅外目標(biāo)檢測(cè)方法。將高效的EfficientNet 骨干網(wǎng)絡(luò)與YOLOv3 網(wǎng)絡(luò)相結(jié)合降低模型參數(shù)量,提升特征提取能力。通過改進(jìn)RFB 增大網(wǎng)絡(luò)的有效感受野,并基于可變形卷積和動(dòng)態(tài)激活函數(shù)構(gòu)建DBD 和CBD 結(jié)構(gòu),提升模型特征編碼的靈活性及增加模型容量。實(shí)驗(yàn)結(jié)果表明,該方法能對(duì)紅外目標(biāo)進(jìn)行有效檢測(cè),Effi-YOLOv3 模型參數(shù)量?jī)H為YOLOv3 模型的33.3%,并且在運(yùn)行速度比YOLOv3 模型略低的情況下,平均精度均值提升了9.9 個(gè)百分點(diǎn)。下一步將考慮采集更多的紅外場(chǎng)景圖像豐富訓(xùn)練數(shù)據(jù)集,加強(qiáng)對(duì)紅外圖像的預(yù)處理提升紅外目標(biāo)的辨識(shí)度,并且優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),增強(qiáng)模型泛化能力,在保證檢測(cè)精度的同時(shí)進(jìn)一步加快網(wǎng)絡(luò)運(yùn)行速度。