?

基于多尺度跨層特征融合的輕量化小目標檢測算法

2024-01-17 08:57朱柏松王燕妮
探測與控制學報 2023年6期
關鍵詞:淺層卷積特征

朱柏松,王燕妮

(西安建筑科技大學信息與控制工程學院,陜西 西安 710055)

0 引言

目標檢測是計算機視覺中一項基本任務,它是圖像分割、目標跟蹤、動作分析等高級任務的重要基石。近些年來提出的許多優秀目標檢測算法逐漸成為社會生活中一些關鍵技術的核心,這些技術在智慧鄉村建設、智能交通管理、人臉識別等現實問題中發揮了巨大的作用。

隨著深度學習技術的進步,基于深度學習的目標檢測算法也取得了顯著的成果。目標檢測算法主要衍化為兩種不同類型的方法,就結構流程而言,它們主要分為單階段目標檢測方法和雙階段目標檢測方法[1]。其中,雙階段目標檢測算法是在Girshick等人率先提出的R-CNN算法的基礎上展開的[2]。R-CNN利用選擇性搜索算法獲取候選區域,通過卷積神經網絡提取區域特征[3],最后通過支持向量機(support vector machine,SVM)進行分類[4]。Faster-R-CNN是在前人研究的基礎上利用候選區域生成網絡替換了傳統的選擇性搜索算法[5]。另一類則不需要產生候選區域,采用端到端的方式,直接進行分類和回歸。代表算法有SSD(single shot mutlibox detector)[7-9],YOLO(you only look once)等[10-11]。YOLO系列算法不再采用窗口滑動,而是將原始圖像分割成互補重合的小方塊,再通過卷積產生不同大小的特征圖[12]。SSD算法則是利用卷積神經網絡提取了不同尺度的特征圖,從而實現對不同尺度物體的檢測[13]。

在計算機視覺領域,一個極具挑戰性的研究方向是小目標檢測。小目標物體存在缺乏物體代表性特征等問題,而現有的檢測算法通常專注于檢測全尺寸目標,沒有對小目標的檢測進行專有的優化。主流的目標檢測算法重復使用池化層、卷積層等提取高級語義信息導致淺層信息不可避免的流失[14]。SSD算法使用多尺度特征并根據特征層的感受野大小設置相應的先驗框,從而檢測不同尺度和縱橫比的目標。但是由于每個特征層獨立使用,導致對小目標的檢測效果并不理想[15-16]。文獻[17]提出了一種結合特征金字塔(feature pyramid net-works,FPN)的改進算法,采用自上而下的融合方式結合了不同尺度的特征信息,提高了小目標的檢測能力。而后NAS-FPN[18]、PANet(path-aggregation network)[19]、BiFPN[20]等性能也取得了一定進步,但是其結構相對FPN優化仍然較少,對于淺層特征信息的利用并不充足。

針對現階段小目標檢測算法精度不佳且計算資源耗費多的問題,本文設計了一種輕量化的跨層特征融合算法。

1 理論基礎

1.1 SSD算法

SSD算法是一種基于深度學習的單階段多尺度目標檢測算法,它繼承了YOLO算法中回歸的思想和Faster R-CNN的錨框機制,直接在特征圖中生成先驗框的坐標和分類概率。SSD網絡結構如圖1所示。其中主干網絡選用VGG16,并添加了多個卷積層用于提取圖像的更深層特征,整個網絡由VGG16和附加的卷積層級聯而成。

圖1 SSD網絡示意圖Fig.1 Network diagram of SSD

SSD算法在網絡后端構造了一個檢測器,用于對多尺度特征圖進行回歸和分類[18]。網絡總共提取6個特征圖輸送到檢測器實現回歸和目標種類預測,其中感受野大的深層特征圖用于預測大目標,感受野小的淺層特征圖用于預測小目標。由于特征圖中每個像素點都會生成不同尺度的先驗框用于和真實框計算誤差,很大程度上增加了計算量,于是,使用非極大抑制算法(non maximum suppression,NMS),消除冗余預測框以獲得最優預測框。

1.2 MobileNetV2網絡

MobileNetV2網絡是谷歌研發的應用于移動端和終端的邊緣計算網絡[21],區別于其他復雜的卷積神經網絡,該網絡模型更小且相對精確。它的主要創新點是倒殘差結構(inverted residuals,IR)和線性瓶頸層[22]。

殘差結構是文獻[23]提出的Resenet網絡結構中的一個重要創新結構,其目的是為了解決隨著網絡深度的加深帶來的梯度爆炸和消失。它的優勢是使網絡加深的同時保證良好的信息獲取[24]。為了解決移動端算力資源受限的問題,MobileNetV2中構建了倒殘差結構以實現網絡的輕量化。倒殘差結構是建立在深度可分離卷積之上的,通過將傳統卷積分解為深度可分離卷積和逐點卷積,從而使計算量減小。第一部分稱為深度卷積(depth-wise,DW),它對每一個輸入通道使用一個卷積濾波器以完成輕量化濾波;第二部分是1×1逐點卷積(point-wise,PW),它通過分析輸入通道的線性關系來構建新特征。與普通深度可分離卷積不同的是,MobileNetV2創造性地在DW之前又新增了一個PW,從而構成了倒殘差結構。MobileNetV2的另一創新點是線性瓶頸層,即在每個微結構的末層將容易造成信息損失的激活函數ReLU替換成線性激活函數ReLU6,函數曲線如圖2所示?;締卧K結構如圖3所示,圖中分別為stride=1和stride=2時的結構。MobileNetV2的整體網絡結構如表1所示。

表1 MobileNetV2結構Tab.1 Structure of MobileNetV2

圖2 Relu6激活函數曲線Fig.2 Relu6 activation function curve

圖3 MobileNetV2的基本單元模塊Fig.3 Basic unit module of MobileNetV2

2 算法改進

MobileNetV2-SSD相對SSD算法雖然在參數量上得到大幅度降低,但是與SSD算法類似,不考慮不同層之間的關系,每個特征層都是獨立使用的。淺層特征層中缺乏高級語義信息,因此對小目標的檢測效果不佳。FPN等特征融合方法雖然在一定程度上利用了淺層細節信息,但是淺層信息在傳遞過程中仍然損失較多,實際效果并不理想。

為解決現有算法對小目標檢測效果不佳的相關問題,提出一種兩階段的特征融合方法。首先使用嵌入了坐標注意力機制(coordinate attention,CA)模塊的MobileNetV2作為骨干網絡,同時采用倒殘差模塊替換額外的卷積層進一步降低模型參數量;設計了特征交叉融合模塊,初步聚合底層特征信息;在PANet的基礎上,添加跨層連接路徑進一步豐富網絡中非相鄰的深層和淺層特征。加入輕量化的注意力機制模塊ECA(efficient channel attention module),從而突出關鍵部位特征而抑制無用信息。具體結構圖如圖4所示。

圖4 本文模型結構圖Fig.4 Structure diagram of this model

2.1 網絡復雜度分析

使用MobileNetV2做為骨干網絡有兩個原因:第一個是深度可分離卷積方法中,在輸入的每個通道上都獨立執行空間卷積;另一個是雖然深度卷積無法升維,但逐點卷積起到了一個升維的作用,使深度卷積可以在高維度工作,從而減少計算量。標準卷積的參數大小為K×K×C1×C2,其中K為卷積核的寬和高,C1和C2分別為輸入通道數和輸出通道數。

深度可分離卷積參數量為K×K×C1+1×1×C1×C2。所以可以推出,使用深度卷積之后,參數縮小倍數為

(K×K×C1+1×1×C1×C2)/(K×K×C1×C2)=
(1/C2)+(1/K2)。

2.2 改進的MobileNetV2-SSDLite網絡

MobileNetV2中靠前端的bottleneck模塊,與原SSD的淺層網絡性能類似,其特征圖雖然分辨率比較高,位置細節信息豐富,對小目標比較敏感,但是未經過一定數量的卷積操作提取特征,所以其中用來分類的高級語義信息比較少,噪聲較多。針對這一情況,本文在MobileNetV2中前部的3個倒殘差模塊中嵌入了坐標注意力機制模塊,從而捕獲具有精準位置信息的空間長距離依賴性,用于增強淺層網絡的特征提取能力。圖5所示為添加CA模塊前后的類激活熱力圖對比,圖5(a)為原圖,圖5(b)為不添加CA模塊模型輸出的熱力圖,圖5(c)為添加CA模塊模型輸出的熱力圖。圖中高亮區域為本文模型所關注的目標,可以發現添加CA模塊后輸出的熱力圖中,高亮區域的目標輪廓更為清晰。

圖5 CA熱力圖對比Fig.5 Comparison of CA heat maps

坐標注意力機制是一種輕量化和高效的注意力機制,它巧妙地將位置信息融入進通道注意力中,允許網絡在更大的范圍內提取特征。首先,將通道注意力分解為兩個特征編碼過程,即垂直和水平方向,從而獲得一對具有方向感知的特征圖。通過這種處理,可以在空間方向上捕獲遠程相關性,而在另一個空間方向上保持精確的位置信息。然后,將獲得的特征進行擴展,并分別用作水平坐標和垂直坐標的注意力權重。CA模塊具體結構如圖6所示。

圖6 CA模塊結構Fig.6 CA module structure

同時,借鑒SSDlite[25]的思想,去掉MobileNetV2中的池化層和全連接層,將原SSD中額外的卷積層替換為四個額外的標準倒殘差模塊(extra inverted residual,EIR),從而使網絡更加輕量化。

2.3 跨層級特征交叉融合和感受野擴張模塊

FPN采用的自上而下的融合方式,通過上采樣將高層特征和底層特征相融合,雖然增強了模型對圖像特征的學習能力,但淺層特征在傳遞過程中大幅度丟失,最終導致用于分類和回歸的特征圖中細節信息較少,不利于小目標的檢測。PANet在FPN基礎上通過添加自下而上的融合路徑傳遞更多的底層特征信息,從而彌補FPN的不足。但是面對密集小目標場景和一些特殊場景,PANet則表現出對小目標特征學習能力的不足。

在此基礎上本文提出一種兩階段的特征融合網絡。在第一階段,提出特征交叉融合模塊(feature cross fusion moudle,FCFM)。該模塊延續了SSD算法中抽取多尺度特征圖進行檢測的優點,但是打破了一般特征融合中逐級融合的理念,這種新的融合方法呈現了一種“階躍式”的特征選擇,即交叉抽取不同層級且通道數跨度較大的特征層。在融合方式中通過添加額外的路徑,可以有效避免淺層特征不可挽回的流失。通過重復利用淺層特征,可以在不同深度的低層級特征中逐次融入更為多樣化的深層特征。首先從主干網絡MobileNetV2中尾部抽取3個倒殘差模塊輸出的特征層IR1,IR2,IR3,再從extra部分抽取EIR4,EIR5,EIR6,EIR7,最后將這7個特征層重復交叉融合送入第二階段的網絡中從而充分利用語義信息和文本特征。具體步驟:將IR1,IR2,EIR4融合,生成新特征層IR1_1;將IR2,EIR4,EIR5融合,生成新特征層IR1_2;將IR3,EIR5,EIR6融合,生成新特征層IR1_3;最后將EIR6,EIR7融合,生成IR1_4。具體結構如圖7所示。

圖7 特征交叉融合模塊Fig.7 Feature intersection and fusion module

所抽取的特征圖IR1,IR2,IR3由骨干網絡中最后3個倒殘差層輸出,其網絡層級較淺,包含了較多的淺層信息。而添加的4個額外層輸出的EIR4,EIR5,EIR6,EIR7經過一系列卷積操作,相對淺層網絡已經獲得了更為抽象的高級語義特征。在第一階段中多次重復使用了IR2,IR3,EIR4等相對低層級的特征圖,并使之與深層特征圖融合,初步整合了一定的淺層細粒度信息和深層粗粒度信息,保留了更多的底層特征。

針對小目標分辨率低,易融于背景的特點,為了能準確定位各種小目標,則需要獲取小目標周圍更多的上下文信息。在神經網絡中,一般通過下采樣來獲取更多的上下文信息。然而過多的下采樣會導致信息的損失和增加網絡模型的計算量,所以受到文獻[26-27]啟發在新的特征融合結構中添加了基于殘差結構的擴張感受野模塊 (residual dilated module,RDM),利用擴張卷積獲得更多的上下文信息以適應本文任務。RDM如圖8所示。

圖8 擴張感受野模塊Fig.8 Extended receptive field module

在本文的一階段特征融合模塊中,根據輸入特征圖尺度的不同,在輸入淺層特征圖的RDM模塊里設置了不同大小擴張率的擴張卷積來擴大感受野。利用殘差結構的思想,RDM模塊具體運作方式是將輸入特征圖分配給3個擴張率不同的支路進行特征提取,并與具有全局感受野的原始特征圖進行融合。其中,感受野的計算公式為

R=(D-1)(k-1)+k,

(1)

式(1)中,D是擴張率,k是卷積核的大小。根據式(1),RDM1中擴張率分別為1,12,18;RDM2中擴張率分別為1,6,8;RDM3中擴張率分別為1,2,4。在特征融合結構中應用具有不同擴張率的RDM模塊,可以有效豐富特征圖的上下文信息。另外,在融合結構末端添加ReLU函數,可以使網絡具有稀疏性,避免過擬合的發生以及擁有更好的預測性能。同時,特征融合模塊使用了上采樣來提升深層特征圖的尺度與淺層特征圖保證一致從而完成特征融合,這一過程是利用轉置卷積完成的。圖9所示為普通卷積和轉置卷積。

圖9 普通卷積和轉置卷積Fig.9 Ordinary convolution and transposed convolution

為了進一步提升PANet結構對淺層信息的利用率,添加了3條水平連接路徑,即第二階段的跨層特征融合。對于第一階段生成的IR1_1,IR1_2,IR1_3,IR1_4采用改進的自下而上的融合方式。骨干網絡中最后3個倒殘差層所處網絡層級較淺,于是重復利用其生成的淺層特征圖IR1,IR2,IR3,將前一模塊生成的特征圖進行相應倍數的下采樣,然后與之分別相加融合,得到新的特征圖。同時改變了一般意義上PANet的結構,IR1_4由網絡層級較深的EIR6,EIR7融合而成,其包含的更多粗粒度的信息,于是不將其加入PANet結構以減少特征融合時產生的噪聲和額外的參數量,具體結構如圖10所示。

圖10 跨層融合模塊Fig.10 Cross-layer fusion module

這樣進一步將底層和高層信息流同步整合到網絡結構中,特征提取更具有魯棒性和區分度。圖11所示為第一、第二階段特征融合可視化的分步仿真結果,可以看出在一階段中初步聚合淺層特征后,特征圖聚合的主要是輪廓、紋理、位置等細粒度信息,在經過第二階段模塊后,可以發現特征圖更加抽象化。最后在網絡末端添加ECA模塊,抑制冗余特征的影響,該模塊通過捕捉相鄰通道間的交互關系從而關注模型感興趣的區域,如圖12所示為ECA模塊的類激活熱力圖,圖12(a)為原圖,圖12(b)為不添加ECA模塊模型輸出的熱力圖,圖12(c)為添加ECA模塊模型輸出的熱力圖??梢钥闯鎏砑覧CA模塊輸出后的熱力圖中,背景信息被更加有效地抑制,突出關鍵部位特征。

圖11 特征圖可視化Fig.11 Visualization of feature map

圖12 ECA熱力圖對比Fig.12 Comparison of ECA heat maps

2.4 數據增強

數據增強也叫數據增廣,實際內容是在不增加新數據的情況下,讓原有的數據集通過裁剪、旋轉等方式,產生與增加數據相同的效果。為了達到更好的訓練效果,本文通過旋轉、裁剪、位移、噪聲等數據增強方式,阻止了神經網絡學習不相關的特征,使輸入到神經網絡的數據集多樣化,從而增強了模型的訓練效果。

2.5 損失函數

訓練模型的過程本質是使用梯度優化函數降低損失值的過程,同時對位置和目標種類進行回歸,所以本文損失函數沿襲了SSD算法,包括類別損失和定位損失兩部分[28],表達式為

(2)

其中置信度損失就是多種類別的softmax函數損失:

(3)

(4)

(5)

3 實驗分析

3.1 實驗準備

3.1.1實驗平臺和參數設置

模型搭建使用的硬件設備:CPU Intel Xeon E5-2686 v4,GPU為NVIDIA 3090,內存64 GB,顯存24 GB。操作系統為Windows10 64位,使用python3.8作為編程語言,基于深度學習框架pytorch 1.8完成訓練和測試。優化器使用收斂速度較快的Adam。

在VOC2007+2012數據集上訓練,損失函數曲線如圖13所示。訓練參數設置如表2所示。

表2 訓練參數設置Tab.2 Training parameter setting

圖13 迭代曲線Fig.13 Iteration curve

3.1.2數據集

為了評估改進后的算法性能,選取了PASCAL VOC數據集進行訓練和驗證。VOC2007包含訓練集5 011張,測試集4 952張;VOC2012中包含訓練集5 717張,驗證集5 823張。其中包含了21個類別(包括背景),如人、貓、馬、飛機、自行車、船、餐桌、盆栽植物等。訓練階段使用VOC2007+2012,共16 551張圖片。測試階段使用VOC2007評估算法性能,共4 952張圖片。

3.1.3評價指標

采用平均精度值(mean average precision,mAP)和檢測速度(frames per second,FPS)作為評價模型的主要指標。FPS是指每秒可以檢測圖像的幀數。mAP是所有類別精確度(average precision,AP)的平均值,AP實際上是指利用精度值為縱軸,召回率的值為橫軸組成的曲線包絡出的面積。計算公式為

(6)

式(6)中,k表示目標任務的類別,APi為第i類的平均精度值。

3.2 實驗結果定量分析

3.2.1模型性能客觀評價

為了綜合比較算法的性能,將改進的算法和一些主流目標檢測算法Faster R-CNN,DSSD,YOLOv5s等進行對比,詳細結果如表3所示。與SSD算法相比,改進后的算法在檢測精度上與其基本保持持平,但模型體積下降了4倍多,有利于植入內存受限的設備;與Faster-RCNN相比,檢測精度提升了3.6%,但是模型體積卻大幅度下降,符合輕量化模型的要求;與YOLOv5s相比,雖然精度輕微下降,但是模型體積得到了大幅減少??傮w而言,改進后的模型在保證輕量化的同時,檢測精度也有了一定的提升,檢測速度的犧牲也控制在了較小的范圍。

表3 不同算法在PASCL VOC 2007測試集上檢測結果對比Tab.3 Comparison of detection results of different algorithms on PASCL VOC 2007 test set

為了更清晰地比較改進后的算法與其他輕量化目標檢測算法對小目標的檢測性能,從VOC數據集中的20個類別里挑選了6種具有代表意義的小目標類別,如表4所示為不同輕量化模型在這6種類別上的檢測精度??梢园l現,改進后的算法相對于基線算法MobileNetV2+SSD和MobileNetV3+SSD分別提升了4.5%和3.9%。MobileNetV2+SSD的模型體積為18.6 MB,改進后的算法僅多耗費6.8 MB即在小目標類別上有了較多的提升,證明了本文模型針對小目標檢測問題所做改進的有效性。

表4 小目標類別檢測結果對比Tab.4 Comparison of detection results of small target categories

3.2.3消融實驗

為了能夠直觀地反映出本文中各模塊對模型整體性能的貢獻,在VOC2007測試集上進行消融實驗的驗證,具體結果如表5所示??梢钥闯?在骨干網絡MobileNetV2中加入CA注意力模塊之后,準確度提升了0.7%,證明CA注意力模塊增強了骨干網絡的特征提取,有利于小目標檢測。加入FCFM模塊后,發現準確度提升了1.8%,證明一階段的特征交叉融合在一定程度上聚合了深層和淺層特征。加入跨層融合模塊(cross-layer connection module,CLF)后,準確度提升了1.5%,證明所提出的跨層級特征融合模塊可以進一步聚合深層和淺層特征,更充分地利用細節信息。為了驗證添加不同注意力機制模塊對模型的增益,選取SE(squeeze excitation)和ECA模塊進行對照實驗,結果表明添加ECA模塊對模型檢測精度提升效果更好。

表5 消融實驗結果Tab.5 Reuslts of ablation experiments

3.3 實驗結果定性分析

為了能直觀地展示改進后的算法針對小目標檢測問題的有效性,在不同室內外環境、小目標尺度多變、目標與環境存在遮擋關系等場景下改進后的算法與MobileNetV2+SSD算法的檢測結果對比如圖14所示。

圖14 檢測結果對比Fig.14 Detection results of algorithm

可以看出,MobileNetV2+SSD算法對于密集、微小目標以及相互遮擋的目標等出現漏檢的情況,而改進后的算法對于圖片中小型目標的檢測效果有著明顯提升。不管是單個、密集還是存在遮擋的小目標,改進后的算法相對基線算法都可以準確檢測出更多目標,表現了更好的檢測效果,證明了本文改進算法的有效性。

3.4 遷移實驗

小目標往往因重疊或者背景的影響而出現漏檢,只在稀疏的小目標或者簡單場景下的小目標檢測效果有提升,并不能體現模型的泛化能力。為了驗證本文模型的魯棒性和泛化能力,將本文在VOC2007+2012的數據集中訓練好的模型遷移到密集,復雜室內外場景的目標檢測中。從COCO數據集和VOC2007測試集中挑選了100張室內外復雜密集場景的圖片組成遷移數據集進行遷移實驗。MobileNetV2+SSD算法和改進后的算法在遷移數據集上的mAP分別為70.3%和73.9%,改進后的算法提升了3.6%。遷移實驗對比結果如圖15所示。從結果可以發現,本文模型相較于基線算法,在密集小目標的檢測效果上表現了更為優秀的檢測能力,這是由于所提出的兩階段的特征融合網絡更充分地聚合了深層和淺層特征信息。

圖15 遷移實驗對比Fig.15 Migration experiment comparison

4 結論

本文針對目標檢測模型因內存受限而對小目標檢測精度不佳的問題,在MobileNetV2-SSDLite算法的基礎上,設計了兩階段的特征融合方式:第一階段利用所設計的交叉融合模塊初步聚合淺層特征,同時在路徑中部署了基于殘差結構的多支路擴張感受野模塊以獲得更多小目標相關的上下文信息;第二階段設計了基于PANet的跨層級融合模塊,進一步整合深層和淺層特征。本文模型在公開的PASCAL VOC2007test上進行驗證,與基線算法相比準確度提升了4.5%;在遷移實驗中的小目標數據集上進行驗證時,準確度提升了2.6%。證明了本文算法有效改善了基線算法在小目標檢測上存在的誤檢,漏檢情況,同時本文方法解決了內存受限的移動端上小目標檢測效果不佳的問題。但是因為輕量化骨干網絡的通道深度以及結構問題,對圖像的特征提取能力仍然欠佳,后續的研究將會關注于設計更為優秀且輕量化的骨干網絡。

猜你喜歡
淺層卷積特征
基于3D-Winograd的快速卷積算法設計及FPGA實現
淺層換填技術在深厚軟土路基中的應用
基于淺層曝氣原理的好氧顆粒污泥的快速培養
如何表達“特征”
從濾波器理解卷積
不忠誠的四個特征
基于傅里葉域卷積表示的目標跟蹤算法
抓住特征巧觀察
淺層地下水超采區劃分探究
包氣帶淺層地熱容量計算方法商榷
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合