趙珊,鄭愛玲,劉子路,高雨
河南理工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,河南 焦作454003
目標(biāo)檢測是機(jī)器視覺領(lǐng)域的核心問題之一,主要任務(wù)就是找出圖像中所有感興趣的目標(biāo)或物體,由于圖像中各類物體的外觀、形狀和姿態(tài)等不同,加上成像時光照、遮擋等因素的干擾,目標(biāo)檢測一直具有很強(qiáng)的挑戰(zhàn)性。近年來,隨著深度學(xué)習(xí)和計算機(jī)硬件的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法逐漸成為計算機(jī)視覺領(lǐng)域的熱點研究方向,廣泛地應(yīng)用于智能機(jī)器人、智能交通、工業(yè)檢測等領(lǐng)域。經(jīng)典的檢測算法通常分為兩大類:一類是以R-CNN(regionconvolutional neural network)[1]系列為代表的基于區(qū)域候選框的雙階段目標(biāo)檢測算法;另一類是以YOLO(you only look once)[2]系列和SSD(single shot multibox detector)[3]系列為代表的基于回歸的單階段目標(biāo)檢測算法。前者具有更高的檢測精度,后者則具有更快的檢測速度。
優(yōu)良的網(wǎng)絡(luò)結(jié)構(gòu)很大程度上可以提高物體檢測精度,因此改善網(wǎng)絡(luò)結(jié)構(gòu)以進(jìn)行更好的目標(biāo)檢測逐漸成為主流。Dai等人[4]在Faster R-CNN[5]基礎(chǔ)上,用全卷積神經(jīng)網(wǎng)絡(luò)代替全連接層來減少參數(shù)量,另引入位置敏感得分圖,解決了Faster R-CNN 中存在的圖像分類和目標(biāo)檢測平移不變性的矛盾。Song等人[6]提出基于級聯(lián)網(wǎng)絡(luò)的平行級聯(lián)檢測網(wǎng)絡(luò),通過設(shè)計串并聯(lián)檢測器并設(shè)置遞增的交并比(intersection over union,IOU)閾值來減少網(wǎng)絡(luò)過擬合,可滿足高精度定位要求。Xu 等人[7]提出了一種輕量級且靈活的推理網(wǎng)絡(luò)Reasoning-RCNN,可賦予任何檢測網(wǎng)絡(luò)在所有目標(biāo)區(qū)域的自適應(yīng)全局推理能力。Wang等人[8]提出了深度互學(xué)習(xí)策略,通過與其他網(wǎng)絡(luò)的協(xié)同訓(xùn)練,簡單有效地提高網(wǎng)絡(luò)的泛化能力,實現(xiàn)模型的緊湊性和精確性。
為了使神經(jīng)網(wǎng)絡(luò)能夠自動學(xué)習(xí)特征間的重要性,Hu等人[9]提出注意力網(wǎng)絡(luò),通過權(quán)重分配實現(xiàn)特征通道間的相互依賴,取得了比較好的結(jié)果,但模型復(fù)雜度偏高。后續(xù)學(xué)者針對此問題提出了很多改良的方法,Li等人[10]在SENet(squeeze-and-excitation networks)基礎(chǔ)上引入“選擇性卷積核”,使得神經(jīng)網(wǎng)絡(luò)可根據(jù)對象大小的語義感知來自適應(yīng)確定卷積核尺寸,可有效地調(diào)整神經(jīng)元感受野大小。李文濤等人[11]采用不降維局部跨通道交互策略的通道注意力模塊實現(xiàn)通道的信息關(guān)聯(lián),在獲取更多網(wǎng)絡(luò)特征的同時保證了網(wǎng)絡(luò)的收斂性。另外隨著雙注意力機(jī)制的提出,基于此技術(shù)的特征提取方法在目標(biāo)檢測領(lǐng)域也得到廣泛的應(yīng)用[12-14]。注意力機(jī)制有助于獲得對多種語義抽象的視覺關(guān)注,但注意力層數(shù)的增加也容易發(fā)生過擬合,影響檢測效率。
上述方法在不同程度上提高了檢測算法的精度,但模型復(fù)雜度較高,小目標(biāo)的漏檢、錯檢而造成平均精度偏低,且某些算法只局限于應(yīng)用到某個特定的領(lǐng)域。針對這些問題,本文提出了一種基于通道分離雙注意力機(jī)制的目標(biāo)檢測算法,將改進(jìn)的多尺度檢測網(wǎng)絡(luò)引入Faster R-CNN,構(gòu)建多尺度目標(biāo)檢測器,采用輕量級的通道分離雙注意力網(wǎng)絡(luò)進(jìn)行深層次的特征提取,有效減少網(wǎng)絡(luò)參數(shù),使得模型對不同屬性的層次特征的處理更有針對性,另在損失函數(shù)中引入KL散度(Kullback-Leibler divergence)[15]進(jìn)行優(yōu)化。實驗表明,本文算法具有可行性。
Faster R-CNN 將RPN 網(wǎng)絡(luò)和Fast R-CNN[16]網(wǎng)絡(luò)結(jié)合,模型訓(xùn)練及檢測流程如圖1所示。該網(wǎng)絡(luò)使用一組基礎(chǔ)的Conv+ReLU+Pooling層提取輸入圖像的特征圖,用于后續(xù)的區(qū)域建議網(wǎng)絡(luò)(region proposal network,RPN)和全連接層,其中RPN 網(wǎng)絡(luò)主要用于區(qū)域候選框的生成,得到部分特征信息,通過ROI pooling層將不同尺度的特征圖轉(zhuǎn)化為固定長度的特征向量,然后送入一個全連接層進(jìn)行分類和回歸。Faster R-CNN 實現(xiàn)了真正意義上端到端的訓(xùn)練和檢測,但作為一個單尺度的目標(biāo)檢測框架,對小尺度目標(biāo)檢測性能較差,不能有效地將候選區(qū)域的小尺度特征在深度CNN 提取之后完整保留,分辨率有一定限制,檢測速度較慢。
圖1 Faster R-CNN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure diagram of Faster R-CNN
為了解決Faster R-CNN 目標(biāo)檢測算法存在的不足,基于特征金字塔網(wǎng)絡(luò)(feature pyramid networks,F(xiàn)PN)[17]的多尺度檢測性能,陳飛等人提出了Faster RCNN+FPN 模型[18],模型如圖2 所示,包括自底向上、自頂向下和橫向連接三部分。首先選取主干網(wǎng)絡(luò)(以ResNet 為例)每個Stage 最后一層的輸出作為FPN特征圖的參考集,記為C2~C5,且每個特征層相對于原圖的步長分別為4、8、16、32。接著自頂向下采用2倍上采樣進(jìn)行特征圖大小匹配,然后使用橫向連接將自底向上的結(jié)果和上采樣生成的相同大小的特征圖進(jìn)行融合。其中1×1 卷積用來通道降維且不改變Feature map的尺寸大小,3×3卷積用來消除混疊效應(yīng),以生成最終需要的特征圖P2~P5,接著對P5采用最大池化得到特征圖P6,特征圖P2~P6 對應(yīng)的anchor 尺度分別為{32×32,64×64,128×128,256×256,512×512},同時采用3種比例{1∶2,1∶1,2∶1},構(gòu)成金字塔結(jié)構(gòu)中15種anchors,以提取更多的特征信息,使定位識別更加精確。Faster R-CNN+FPN較原模型精度有了一定的提升,但仍存在著部分目標(biāo)漏檢、錯檢等問題,導(dǎo)致主干網(wǎng)絡(luò)對特征的利用率不高。
圖2 Faster R-CNN+FPN網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.2 Network structure diagram of Faster R-CNN+FPN
針對Faster R-CNN+FPN 存在的問題,本文以Faster R-CNN作為基礎(chǔ)架構(gòu),選用可進(jìn)行殘差連接且不會增加網(wǎng)絡(luò)參數(shù)的ResNet101作為主干網(wǎng)絡(luò),網(wǎng)絡(luò)總體結(jié)構(gòu)如圖3所示。為了進(jìn)一步改善信息流,獲取用于高頻重構(gòu)的細(xì)節(jié)信息,提出通道分離雙注意力網(wǎng)絡(luò)(dual attention networks with channel splitting,CSDAN)來提高檢測效率。另外與原FPN不同,對特征圖P5 除采用最大池化來保留紋理特征外,同時采用平均池化來保留背景信息,兩者平均融合后作為P6,此模塊稱為細(xì)節(jié)特征提取模塊(detail extraction module,DEM),用于提取更多的細(xì)節(jié)特征,以緩解深度CNN 后因小目標(biāo)的漏檢而造成的精度偏低的問題。同時,結(jié)合KL 散度進(jìn)行損失函數(shù)的優(yōu)化,通過訓(xùn)練使得預(yù)測分布更接近真實分布,使得網(wǎng)絡(luò)更好地學(xué)習(xí)到如何區(qū)分不同的類別。
圖3 網(wǎng)絡(luò)總體結(jié)構(gòu)圖Fig.3 Overall structure of network
在檢測過程中,為了進(jìn)一步改善信息流,獲取用于高頻重構(gòu)的細(xì)節(jié)信息,受Zhao 等人[19]在超分辨率領(lǐng)域提出的通道分離思想的啟發(fā),鑒于其有助于模型有針對性地處理具有不同屬性的層次特征,同時可以有效地增加網(wǎng)絡(luò)深度的優(yōu)點,提出采用雙注意力機(jī)制來構(gòu)造通道分離雙注意力網(wǎng)絡(luò)(CS-DAN),并將其應(yīng)用在目標(biāo)檢測領(lǐng)域以進(jìn)行更深層次的特征提取,從而提高檢測效率。
通道分離雙注意力網(wǎng)絡(luò)以級聯(lián)子網(wǎng)的方式將多個子網(wǎng)從淺到深并聯(lián)以獲得高分辨率特征,此模塊主要包括特征提取、通道注意力特征融合和全局殘差學(xué)習(xí)三部分,具體結(jié)構(gòu)如圖4所示。針對網(wǎng)絡(luò)提取的淺層特征,采用多個級聯(lián)子網(wǎng)(通道分離塊(channel splitting block,CSB))進(jìn)行特征提取。首先使用分組卷積進(jìn)行通道分離,將參數(shù)減少為普通卷積的一半。其次為了使得神經(jīng)網(wǎng)絡(luò)能夠區(qū)別對待分離后的各分支通道,利用空間注意力機(jī)制可重點關(guān)注每個特征面權(quán)重的優(yōu)勢,將其應(yīng)用于特征提取,其中空洞卷積技術(shù)的引入,在擴(kuò)大感受野的同時,無需下采樣損失信息,一定程度上保證了網(wǎng)絡(luò)的計算量,提升了網(wǎng)絡(luò)的實時性。接著使用通道注意力特征融合模塊代替常規(guī)特征融合方式進(jìn)行信息集成,1×1卷積操作的設(shè)計不僅可以聚合來自各個通道的特征信息,實現(xiàn)權(quán)重的重分配,且有助于通道降維和跨通道信息交互。最后使用全局殘差學(xué)習(xí)對堆疊的多個通道分離塊的特征信息進(jìn)行重構(gòu),有效避免了高分辨率特征經(jīng)過多個通道分離塊后導(dǎo)致的信息丟失問題,對小目標(biāo)的特征提取表現(xiàn)出了良好的性能。
圖4 通道分離雙注意力網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Structure of dual attention networks with channel splitting
2.1.1 特征提取
首先將特征提取網(wǎng)絡(luò)(feature extraction network,F(xiàn)EN)提取的淺層特征X0表示為:
其中,X表示輸入圖像,F(xiàn)E(·)表示對應(yīng)的映射函數(shù)。
每個并聯(lián)的子網(wǎng)由多個通道分離塊(CSB)按順序堆疊而成,遵循逐級輸入原則并將最開始輸入的淺層特征X0添加到子網(wǎng)的末端,因此子網(wǎng)不是由淺層特征到深層特征的直接映射,而是使用堆疊的多個通道分離塊來重構(gòu)殘差特征,以逐漸減小預(yù)測特征與真實特征之間的差距。將并聯(lián)子網(wǎng)中的第i個CSB的輸出Xi表示為:
其中,i=1,2,…,n,表示第i個CSB的內(nèi)部操作(分組卷積、空洞卷積、雙注意力機(jī)制等),則第n個CSB的并聯(lián)操作輸出可表示為:
通過級聯(lián)幾個殘差特征學(xué)習(xí)子網(wǎng),將來自各個CSB的分層特征以從淺到深的方式輸出串聯(lián)到一個張量中(feature series module,F(xiàn)SM)。
2.1.2 通道注意力特征融合
信息融合作為圖像識別算法的關(guān)鍵環(huán)節(jié),其融合方式對于能否獲得精確位置來說極其重要。由圖2 可知,原FPN 使用Concat 操作進(jìn)行特征融合,雖然可以使得描述圖像本身的特征數(shù)(通道數(shù))增加,但每一特征所表征的信息量沒有增加,且分辨率小的特征通道數(shù)更多,增加了額外的計算量。針對通道注意力機(jī)制可準(zhǔn)確聚焦重要通道和抑制無關(guān)通道的優(yōu)點,本文對SENet[9]進(jìn)行改進(jìn),在特征融合模塊中引入通道注意力機(jī)制構(gòu)建通道注意力特征融合模塊(channel attention feature fusion module,CAFF),并將其用于本文算法中的所有信息集成部分。原SENet以及本文提出的CAFF模塊具體結(jié)構(gòu)圖如圖5所示,其中(a)為SENet,(b)為CAFF,SENet 作為輕量級模塊,為特征的通道相關(guān)性提供了權(quán)值參數(shù),實現(xiàn)了通道間的注意力機(jī)制,但也忽視了網(wǎng)絡(luò)間的可降維性。
圖5 SENet與CAFF結(jié)構(gòu)圖Fig.5 Structure diagram of SENet and CAFF
CAFF模塊首先將不同尺度的特征圖采用上采樣或下采樣統(tǒng)一尺寸,進(jìn)行Concat操作后得到H×W×C的特征圖,Squeeze 操作通過全局池化將每個通道的二維特征(H×W)壓縮為一個實數(shù),即C×1×1 個一維向量,某種程度上這個實數(shù)反映了全局的感受野。然后通過一個全連接層將特征維度降低到原來的1/r,并通過一個ReLU激活層學(xué)習(xí)特征通道間的非線性關(guān)系,再通過一個全連接層升維到原來的維度,然后Excitation 操作通過Sigmoid 函數(shù)轉(zhuǎn)化為0~1 的歸一化權(quán)重。接著Rescale操作通過乘法逐一將歸一化權(quán)重加權(quán)到輸入特征圖每個特征通道上。最后緊跟1×1卷積操作,將得到的特征圖進(jìn)行降維作為后續(xù)操作的輸入。此模塊不僅能夠使神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)特征通道間的重要性,且有助于通道降維和跨通道信息交互。對于FSM 中的串聯(lián)特征,本文使用提出的CAFF模塊進(jìn)行特征重構(gòu)并獲得中間預(yù)測,可有效關(guān)注重要通道和抑制無關(guān)通道。圖像重構(gòu)XR可表示為:
其中,F(xiàn)CA(·)表示通道注意力特征融合操作,Xm表示由多個CSB塊的輸出Xi組成的張量,即Xm=[X0,X1,…,Xn]。
2.1.3 全局殘差學(xué)習(xí)
特征信息會隨著網(wǎng)絡(luò)深度的增加逐漸弱化,但同時也越具有語義信息,本文在通道分離雙注意力網(wǎng)絡(luò)結(jié)構(gòu)中引入殘差學(xué)習(xí)機(jī)制,用來避免高分辨率特征經(jīng)過多個通道分離塊后導(dǎo)致的信息丟失問題。在特征重構(gòu)后,將最開始輸入的淺層特征添加到子網(wǎng)的末端,然后使用一個3×3卷積操作來消除混疊效應(yīng),最后經(jīng)過一個全局殘差學(xué)習(xí)來穩(wěn)定模型的訓(xùn)練,以獲得子網(wǎng)的最終預(yù)測。在訓(xùn)練中對中間預(yù)測和最終預(yù)測同時進(jìn)行監(jiān)督,最大限度地保證網(wǎng)絡(luò)的特征提取性能。則全局特征XF可表示為:
其中,+表示全局跳連操作,f3×3(·)表示對經(jīng)過跳連融合后的特征使用3×3卷積,X表示原始輸入圖像,X0表示最開始經(jīng)過特征提取后的淺特征。
由以上描述可以看出,通道分離雙注意力網(wǎng)絡(luò)可有效地實現(xiàn)信息間的交互,而通道分離塊(CSB)作為級聯(lián)網(wǎng)絡(luò)的重要組成部分,在一定程度上起到了決定性作用,CSB的內(nèi)部結(jié)構(gòu)如圖6所示。對于Zhao等人[19]在超分辨率領(lǐng)域提出的通道分離思想,不僅有助于模型有針對性地處理具有不同屬性的層次特征,同時可以有效地增加網(wǎng)絡(luò)深度。但隨著網(wǎng)絡(luò)深度的增加,也會導(dǎo)致不必要的參數(shù)的增加,以及無法保證神經(jīng)網(wǎng)絡(luò)可以對各個通道或者空間特征進(jìn)行區(qū)分處理。針對此問題,本文在此模塊上進(jìn)行了改進(jìn),將通道分離方式、空間注意力機(jī)制、信息交換技術(shù)以及特征融合方式進(jìn)行了有效的整合。
圖6 通道分離塊(CSB)的內(nèi)部結(jié)構(gòu)Fig.6 Internal structure of each channel splitting block(CSB)
2.2.1 通道分離
為了避免給網(wǎng)絡(luò)帶來不必要的參數(shù)增加,首先采用分組卷積將輸入的淺層特征進(jìn)行分組,然后對每個分組的通道獨立卷積。假設(shè)M×N為輸出特征圖的空間大小,I為輸入通道數(shù),K×K為卷積核的大小,H為輸出通道數(shù),則標(biāo)準(zhǔn)卷積的計算量為MNIK2H,本文將分組數(shù)設(shè)置為2,則計算量為MNIK2H/2,減少為標(biāo)準(zhǔn)卷積的一半。對于第i個CSB,表達(dá)式可由式(6)表示:
2.2.2 空間注意力機(jī)制
使用分組卷積進(jìn)行通道分離,一定程度上減少了網(wǎng)絡(luò)的參數(shù)量,但由于網(wǎng)絡(luò)中每個卷積核通道之間權(quán)重是相同的,無法對分離后的各個分支通道區(qū)分對待,神經(jīng)網(wǎng)絡(luò)還是會關(guān)注無用信息。考慮到注意力機(jī)制是一個額外的神經(jīng)網(wǎng)絡(luò),且能從大量信息中篩選出重要的信息,而空間注意力機(jī)制可對各個通道的空間特征區(qū)分處理,因此本文將此模型引入到分離后的上下分支通道中來學(xué)習(xí)遠(yuǎn)程空間依賴關(guān)系。借鑒CBAM(convolutional block attention module)[20]中的空間注意力模型,為了不做下采樣損失信息,又能保證相同的感受野,本文采用空洞率為3、卷積核大小為3×3 的空洞卷積代替原模型中的7×7 卷積操作,一定程度上減少了網(wǎng)絡(luò)的計算量,提升了網(wǎng)絡(luò)的實時性。改進(jìn)后的空間注意力(spatial attention,SA)結(jié)構(gòu)稱為D-SA,如圖7所示。
圖7 改進(jìn)的空間注意力網(wǎng)絡(luò)結(jié)構(gòu)(D-SA)Fig.7 Improved structure of spatial attention network(D-SA)
首先將淺層特征圖分別進(jìn)行最大池化和平均池化操作,得到兩個二維(H×W)的特征圖,并將它們拼接起來生成一個有效的特征描述符,接著使用一個空洞率為3 的空洞卷積來擴(kuò)大感受野以及激活函數(shù)來學(xué)習(xí)特征通道間的非線性關(guān)系,以生成所需要的二維空間注意力圖XS。表達(dá)式如式(7)所示。
其中,DSA(·)表示對輸入的淺層特征Xi-1采用空間注意力操作,d3×3(·)表示對拼接融合后的特征圖進(jìn)行3×3空洞卷積,δ為Sigmoid函數(shù)。
2.2.3 信息交換
為了上下分支能夠提供互補(bǔ)的上下文信息,將原有的兩通道特征進(jìn)行均值操作后再分別添加到上下分支中,促進(jìn)信息在不同模塊之間的流動。假設(shè)CS-DAN 包含n個CSB,第i個CSB 又包含j個級映射(第j級映射輸出作為j+1 級映射的輸入),則第i個CSB的上下分支特征表達(dá)式如式(8)、式(9)所示。
其中,Y1、Y2表示上下分支各自輸出特征,f1(·)和f2(·)分別表示上下分支各級映射的轉(zhuǎn)換函數(shù),Xij表示第i個CSB 中的第j個級映射,XSj表示第j個級映射對應(yīng)上下分支的空間注意力特征圖。
2.2.4 通道注意力特征融合
針對原Concat 融合方式在特征融合過程中,會導(dǎo)致圖像本身通道數(shù)增加的缺點,對于處理后的上下分支特征通道,本文采用提出的通道注意力特征融合模塊(CAFF)進(jìn)行信息集成,具體如圖5 所示。不僅可以聚合來自各個通道的特征信息,實現(xiàn)權(quán)重的重分配,而且有助于通道降維和跨通道信息交互,接著經(jīng)過一個局部跳連將深淺層特征融合,避免了高分辨率特征經(jīng)過多個級聯(lián)塊后導(dǎo)致的信息丟失問題,第i個CSB的輸出Xi可表示為:
其中,Xi-1表示第i-1 個CSB 特征(第i個CSB 的輸出作為第i+1 個CSB的輸入),Y1、Y2表示上下分支各自輸出特征,F(xiàn)CA(·)表示通道注意力特征融合操作。
在目標(biāo)檢測算法中常用的回歸損失函數(shù)以輸入標(biāo)簽作為衡量標(biāo)準(zhǔn),考慮到KL損失可針對邊界框的移動與位置間的方差進(jìn)行學(xué)習(xí),可以重點評估位置的置信度,在文中將其引入損失函數(shù),在保證計算量的基礎(chǔ)上還能提升定位的準(zhǔn)確率。在本文檢測算法中,分類損失仍采用交叉熵?fù)p失,但邊界框的回歸預(yù)測損失采用KL損失,定義如下:
其中,P表示模型的預(yù)測分布,Q表示真實分布,D(Q//P)表示預(yù)測分布P擬合真實分布Q時,兩者所產(chǎn)生的信息損失。x是坐標(biāo)樣本取值,xe表示預(yù)測坐標(biāo)位置,xg為邊界框坐標(biāo)真值。θ表示一組要學(xué)習(xí)的參數(shù),σ表示分布的標(biāo)準(zhǔn)差,當(dāng)σ趨近于0時,真實邊界框用高斯極限分布(狄拉克函數(shù))QD(x)=δ(x-xg)表示,其中D為表達(dá)xg的參數(shù)集合。
分別對損失函數(shù)中的變量xe和σ求偏導(dǎo):
由上式可知,網(wǎng)絡(luò)在訓(xùn)練的初始階段的反向傳播過程中會產(chǎn)生梯度爆炸,導(dǎo)致模型無法正常收斂。為了防止這種現(xiàn)象,令α=lbσ2,帶入式(12)中得:
當(dāng)|xg-xe|>1時,對KL損失進(jìn)行平滑處理,可讓模型在反向傳播時受到的干擾減小,從而使模型在收斂過程中可以更加穩(wěn)定,則邊界框回歸損失函數(shù)Lreg表達(dá)式為:
本文所用實驗配置為Windows 10 操作系統(tǒng),CPU為Intel i5-3337U,GPU為NVIDIATITAN V,顯存大小為12 GB,使用Python3 編程語言和TensorFlow深度學(xué)習(xí)框架,結(jié)合Cuda10.0,SGD 優(yōu)化器進(jìn)行訓(xùn)練,用Loss函數(shù)反向傳播來調(diào)整網(wǎng)絡(luò)各層的權(quán)值,用平均精度(mean average precision,MAP)作為算法的衡量指標(biāo),模型訓(xùn)練超參數(shù)如表1所示。
表1 訓(xùn)練超參數(shù)Table 1 Training parameters
本節(jié)選用PASCAL VOC2007 作為實驗數(shù)據(jù)集,一共包含9 963 張圖片,涉及到20 個類別,其中訓(xùn)練集5 011張圖片,測試集4 952張圖片,大部分都擁有復(fù)雜的背景圖片,使得檢測任務(wù)具有一定的挑戰(zhàn)性。
3.1.1 不同檢測算法對比實驗
本文算法與其他7 種檢測模型在PASCAL VOC2007 數(shù)據(jù)集上的對比結(jié)果如表2 所示。DPM(deformable part model)[21]針對目標(biāo)的多視角問題,采用了多組織策略,但無法適應(yīng)大幅度的旋轉(zhuǎn),準(zhǔn)確度只有38.51%,較深度學(xué)習(xí)算法有很大的劣勢。YOLO[2]算法采用輕量級的主干網(wǎng)絡(luò),是一種實時的端到端的檢測算法,準(zhǔn)確率遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的人工特征提取方法,高出DPM算法27.83個百分點。同樣作為一階段檢測算法的SSD[3]算法,結(jié)合了特征金字塔結(jié)構(gòu)思想,將多尺度特征進(jìn)行融合,較YOLO算法準(zhǔn)確率提升了10.48個百分點。另外,F(xiàn)ast R-CNN[16]算法與YOLO算法相比,定位誤差較小,但背景誤差較大,因此在此基礎(chǔ)上只提升了3.05個百分點。Faster R-CNN[5]和RFCN[4]作為兩階段檢測算法的代表性算法,準(zhǔn)確率分別為73.28%和78.53%,但由于Faster R-CNN 嚴(yán)重依賴預(yù)訓(xùn)練模型,訓(xùn)練效果一般,使得R-FCN算法高出Faster R-CNN算法5.25個百分點,本文算法不斷吸取其他先進(jìn)檢測框的優(yōu)點,最終準(zhǔn)確率達(dá)到了79.20%,檢測效果均優(yōu)于其他6種模型,且與原Faster R-CNN模型相比,精度值提升了近6 個百分點,取得了較為不錯的結(jié)果。雖說較YOLOV5 算法性能略顯不足,但在小目標(biāo)檢測效果上占有絕對優(yōu)勢。
表2 不同目標(biāo)檢測算法的實驗結(jié)果對比Table 2 Comparison of experimental results of different object detection algorithms 單位:%
訓(xùn)練過程中的Loss曲線以及MAP曲線如圖8所示。由圖8(a)可知,在經(jīng)過16 000次迭代后,本文提出的算法模型可以很好地實現(xiàn)收斂,Loss 值基本趨于穩(wěn)定;由圖8(b)可知,MAP值同樣在16 000次迭代后逐漸穩(wěn)定,最終收斂到0.792 附近,最高可達(dá)到0.806。
圖8 模型訓(xùn)練損失及平均精度曲線Fig.8 Loss and MAP curves of model training
3.1.2 消融對比實驗
為了更好地理解本文各個改進(jìn)模塊對檢測效果的影響,在PASCAL VOC2007 數(shù)據(jù)集上進(jìn)行消融實驗,實驗結(jié)果如表3 所示。從實驗結(jié)果可以看出,細(xì)節(jié)提取模塊(DEM)和通道注意力特征融合模塊(CAFF)的提出,增加了每一特征所表征的信息量,使得網(wǎng)絡(luò)可提取更多的細(xì)節(jié)特征。與原Faster RCNN算法相比,MAP值從73.28%提高到74.83%。采用通道分離雙注意力網(wǎng)絡(luò)(CS-DAN),不僅有助于模型有針對性地處理具有不同屬性的層次特征,而且可為各個通道分配不同的權(quán)重。另結(jié)合分組卷積、空洞卷積等技術(shù)來減少網(wǎng)絡(luò)參數(shù),防止過擬合。在前者基礎(chǔ)上,MAP值提升了2.98個百分點。引入KL散度到損失函數(shù)中,通過訓(xùn)練,預(yù)測分布更接近真實分布,從而使網(wǎng)絡(luò)更好地學(xué)習(xí)到如何區(qū)分不同的類別,最終本文算法MAP 值達(dá)到了79.20%,取得了較為不錯的結(jié)果。
表3 在PASCAL VOC2007數(shù)據(jù)集上的消融實驗對比Table 3 Comparison of ablation experiments on PASCAL VOC2007 dataset
為了更好地檢驗本文算法的效果,消融實驗選取在不同場景下的圖片進(jìn)行測試,結(jié)果如圖9 所示。從上至下依次對應(yīng)表3 中各個算法:原圖、Faster RCNN、With DEM+CAFF、With CS-DAN 以及本文算法。由圖可知,F(xiàn)aster R-CNN算法能夠檢測出80%以上的目標(biāo)物,但也因其是一個單尺度檢測網(wǎng)絡(luò),所以很大幾率存在漏檢以及候選框重疊等情況。細(xì)節(jié)提取模塊和通道注意力特征融合模塊的添加,使得神經(jīng)網(wǎng)絡(luò)重點關(guān)注細(xì)節(jié)信息,在一定程度上緩解了深度CNN后的信息弱化問題,降低了漏檢率,如圖9(a)列中的小目標(biāo)物瓶子被檢測出來,但也由于某些目標(biāo)物的相似特征,算法存在錯檢、漏檢等情況;圖9(b)列中的奶牛被檢測成了馬;圖9(c)列中的盆栽未被識別出來。同時可以看出,由于雙注意力機(jī)制的使用,任務(wù)處理系統(tǒng)更專注于找到輸入數(shù)據(jù)中顯著的與當(dāng)前輸出相關(guān)的有用信息,從而提高輸出的質(zhì)量,有效地抑制了候選框的重疊,減少了錯檢率。而本文算法在經(jīng)過一系列改進(jìn)之后,不僅有助于模型有針對性地處理具有不同屬性的層次特征,有效抑制無關(guān)信息,同時通過訓(xùn)練使得預(yù)測分布更接近真實分布,很好地解決了在消融實驗過程中各個算法出現(xiàn)的漏檢、錯檢等情況,各目標(biāo)物的分值都有了一定的提高,進(jìn)一步證明了本文算法的可行性。
圖9 在PASCAL VOC2007數(shù)據(jù)集上的消融實驗結(jié)果對比Fig.9 Comparison of ablation results on PASCAL VOC2007 dataset
將通道可分離卷積、不同注意力機(jī)制、各種改進(jìn)的FPN結(jié)構(gòu)以及本文提出的通道分離雙注意力結(jié)構(gòu)(CS-DAN)結(jié)合不同網(wǎng)絡(luò)模型在PASCAL VOC2007數(shù)據(jù)集上進(jìn)行訓(xùn)練,實驗結(jié)果如表4所示。由表中數(shù)據(jù)可知,當(dāng)主干網(wǎng)絡(luò)同為MobileNet時,StairNet[22]+CS-DAN 的檢測效果最佳,其中SSD[3]、StairNet[22]、StairNet[22]+SE[9]/CBAM[20]的實驗結(jié)果引自文獻(xiàn)[20]。對于深度可分離混合卷積網(wǎng)絡(luò)模型Mixmobilenet[23]以及多尺度通道可分離卷積模型3bCNN[24],本文在此技術(shù)基礎(chǔ)上提出雙注意力機(jī)制構(gòu)建通道分離雙注意力機(jī)制,檢測性能均優(yōu)于這兩種模型,其中Mixmobilenet-FFSSD 的實驗結(jié)果引自文獻(xiàn)[23]。當(dāng)主干網(wǎng)絡(luò)同為Resnet-101時,本文提出的Faster[5]+CS-DAN 結(jié)構(gòu)較另外兩種注意力機(jī)制SENet[9]、CBAM[22],精度值分別提升了1.06個百分點以及0.55個百分點,同時較Faster[5]+VGG 結(jié)構(gòu)提升了2.40 個百分點。原Faster[5]+FPN[17]算法精度值為74.51%,在引入提出的細(xì)節(jié)提取模塊(DEM)和通道注意力特征融合模塊(CAFF)后,精度值提高了0.32 個百分點,同時較文獻(xiàn)[25]提出的雙向特征金字塔網(wǎng)絡(luò)(gated bidirectional feature pyramid network,GBFPN)提升了4.13個百分點,雖說較文獻(xiàn)[26]提出的殘差雙融合特征金字塔網(wǎng)絡(luò)ReBiF性能略顯不足,但與CS-DAN結(jié)合后,最終算法精度值達(dá)到了79.20%,均優(yōu)于其他幾種模型,其中SSD300+GBFPN[25]的實驗結(jié)果引自文獻(xiàn)[25]。
由表4中數(shù)據(jù)可知,本文算法在保證準(zhǔn)確率的基礎(chǔ)上,參數(shù)量也達(dá)到了可觀效果,具體歸因于以下三方面:首先,采用分組卷積進(jìn)行通道分離,參數(shù)量減少為普通卷積的一半;其次,空間注意力模型引入空洞卷積擴(kuò)大感受野的同時,無需下采樣損失信息,一定程度上保證了網(wǎng)絡(luò)的計算量,提升了網(wǎng)絡(luò)的實時性;最后,設(shè)計通道注意力特征融合模塊進(jìn)行信息集成,不僅能夠使神經(jīng)網(wǎng)絡(luò)自動學(xué)習(xí)特征通道間的重要性,且有助于通道降維和跨通道信息交互,減少了不必要的參數(shù)的增加,進(jìn)一步說明了本文提出的通道分離雙注意力模型的優(yōu)勢。
表4 不同結(jié)構(gòu)算法模型實驗結(jié)果對比Table 4 Comparison of experimental results of different structure algorithm models
本節(jié)選用KITTI數(shù)據(jù)集作為實驗數(shù)據(jù)集,一共包含7 482 張圖片,涉及到8 個類別,其中訓(xùn)練集6 001張圖片,測試集1 481 張圖片。為了便于統(tǒng)計分析,現(xiàn)將其融合為3個類別:Car、Person、Cyclist。背景圖像以及周圍環(huán)境的復(fù)雜度較大,識別結(jié)果能進(jìn)一步體現(xiàn)算法的性能。
本文算法與其他5 種檢測模型在KITTI 數(shù)據(jù)集上的對比結(jié)果如表5所示,其中SSD的實驗結(jié)果引自文獻(xiàn)[27],YOLOV3、AM-YOLOV3 的實驗結(jié)果引自文獻(xiàn)[28]。由實驗結(jié)果可知,本文檢測效果較為理想,且速度達(dá)到了38 FPS,基本滿足實時檢測的需求。但如何進(jìn)一步提升模型速度,達(dá)到Y(jié)OLOV5 算法的實時檢測性能,仍是今后研究過程中需要關(guān)注的重點問題。
表5 在KITTI數(shù)據(jù)集上不同目標(biāo)檢測算法的結(jié)果對比Table 5 Comparison of results of different object detection algorithms on KITTI dataset
在KITTI 數(shù)據(jù)集上不同算法及各類目標(biāo)精度值的結(jié)果對比如圖10 所示。由實驗結(jié)果可知,本文算法以提高小目標(biāo)為出發(fā)點,提出的細(xì)節(jié)提取模塊以及雙注意力機(jī)制能夠有效捕捉大量細(xì)節(jié)信息,大大提高了小目標(biāo)的檢測精度。較Faster R-CNN[5]、SSD[3]、YOLOV3、AM-YOLOV3[28]算法,提高了數(shù)據(jù)集中每一類目標(biāo)的平均精準(zhǔn)度,最終準(zhǔn)確率達(dá)到了89.4%,檢測效果較為理想。與YOLOV5算法相比,雖說整體精度值有所降低,但小目標(biāo)Car、Cyclist的精度值均有一定的提升,進(jìn)一步證明了細(xì)節(jié)提取模塊的可行性。
圖10 不同檢測算法各類目標(biāo)物的精度結(jié)果對比Fig.10 Comparison of accuracy results of various targets with different detection algorithms
為了進(jìn)一步驗證本文算法的有效性,本節(jié)選用一段街道行人運動的2分25秒的視頻所拆分的3 600幀,即3 600 張圖片進(jìn)行實驗,將其命名為Pedestrian數(shù)據(jù)集,作為訓(xùn)練集又作為驗證集,并用LabelImg工具做好標(biāo)注信息。
本文提出的改進(jìn)算法與其他幾種檢測模型在行人數(shù)據(jù)集上的對比結(jié)果如表6所示。在復(fù)雜場景下,當(dāng)行人出現(xiàn)遮擋時,YOLOV2[29]網(wǎng)絡(luò)對小目標(biāo)及復(fù)雜樣本的特征提取能力一般,準(zhǔn)確率只有83.70%。SSD[3]網(wǎng)絡(luò)利用了特征金字塔結(jié)構(gòu)的思路,將多種尺寸的特征組合起來,較YOLOV2 算法精度值提升了4.18個百分點。兩者作為一階段檢測算法的代表性算法,都達(dá)到了實時檢測的要求。Faster R-CNN[5]算法的準(zhǔn)確率為88.62%,但檢測速度較慢,這也是兩階段檢測算法的通病。本文算法結(jié)合雙注意力機(jī)制,用通道注意力來關(guān)注輸入的圖像中是否包含有意義的輸入目標(biāo),并為每個通道分配不同的權(quán)值,用空間注意力來關(guān)注每個面上局部的權(quán)重,從而增強(qiáng)網(wǎng)絡(luò)辨別學(xué)習(xí)能力,可有效減少小目標(biāo)的漏檢率。檢測精度較YOLOV2、SSD分別提升7.67個百分點和3.49個百分點,同時較原Faster R-CNN 算法,精度值提升了2.75個百分點,且分組卷積、空洞卷積的引入有效減少了網(wǎng)絡(luò)參數(shù),提高了算法的實時性,最終檢測速度達(dá)到了48 FPS,完全滿足實時性需求,YOLOV5算法雖說保持著速度上的領(lǐng)先,但針對小目標(biāo)物識別性能還是略顯不足,落后于本文算法0.33個百分點,進(jìn)一步證明了本文算法大大增加了主干網(wǎng)絡(luò)對特征的利用率,在檢測單類小目標(biāo)上占有絕對優(yōu)勢。
表6 在Pedestrian數(shù)據(jù)集上不同目標(biāo)檢測算法的結(jié)果對比Table 6 Comparison of results of different object detection algorithms on Pedestrian dataset
將本文算法應(yīng)用在Pedestrian數(shù)據(jù)集上進(jìn)行真值圖與預(yù)測圖的對比,結(jié)果如圖11所示。由圖11可知,本文算法能夠很好地檢測出行人,使得預(yù)測圖在很大程度上接近真值圖。圖12可視化了本文算法與原Faster R-CNN算法的對比結(jié)果,可見原Faster R-CNN算法下的漏檢率很高,而本文算法即使在復(fù)雜場景中也可實現(xiàn)精確的定位回歸,可見其性能的優(yōu)越性。但因主體部分特征不完整再加上某些目標(biāo)物的過小,導(dǎo)致了算法存在小概率漏檢情況,這也是本文算法存在的缺點。在今后的研究過程中,會將提升復(fù)雜背景下的小目標(biāo)檢測精度作為首要出發(fā)點。
圖11 在Pedestrian數(shù)據(jù)集上真值圖和預(yù)測圖的對比結(jié)果Fig.11 Comparison results of truth map and prediction map on Pedestrian dataset
圖12 Faster R-CNN與本文算法的檢測結(jié)果對比Fig.12 Comparison of detection results of Faster R-CNN and algorithm in this paper
本文提出了一種基于通道分離的雙注意力機(jī)制的目標(biāo)檢測算法,通過引入改進(jìn)的FPN 來提高小目標(biāo)的檢測精度。首先在通道分離過程中提出雙注意力機(jī)制,使得神經(jīng)網(wǎng)絡(luò)能夠自動學(xué)習(xí)特征間的重要性,另結(jié)合分組卷積、空洞卷積等技術(shù)來減少網(wǎng)絡(luò)參數(shù),防止過擬合;接著通過添加細(xì)節(jié)提取模塊以及通道注意力特征融合模塊來提取更多的細(xì)節(jié)特征;最后在損失函數(shù)中引入KL散度進(jìn)行優(yōu)化,通過訓(xùn)練使得預(yù)測分布更接近真實分布,有效地解決了神經(jīng)網(wǎng)絡(luò)直接用于目標(biāo)檢測存在的問題。實驗表明,本文算法具有可行性。下一步將進(jìn)一步改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu),并增加訓(xùn)練樣本的數(shù)目,運用更輕量級的檢測網(wǎng)絡(luò),解決嚴(yán)重遮擋情況下的目標(biāo)檢測問題,以達(dá)到更好的檢測效果。