?

基于特征重加權的小樣本遙感圖像目標檢測算法

2024-02-29 04:22葛洪武
計算機測量與控制 2024年2期
關鍵詞:特征提取類別向量

周 博,葛洪武,李 珩,李 旭

(中國電子科技集團公司 第54研究所,石家莊 050081)

0 引言

目標檢測的任務是找出圖像或視頻中人們感興趣的物體,并且同時檢測出它們的位置和大小,目標檢測不僅要解決分類問題,還要解決定位問題,作為計算機視覺的基本問題之一,目標檢測構成了許多其他視覺任務的基礎,例如實例分割、圖像標注和目標跟蹤等。目標檢測算法可以分為一階段目標檢測算法以及二階段目標檢測算法,其中一階段目標檢測算法主要包含YOLO[1-3]、SSD[4]等算法;二階段目標檢測算法主要包括RCNN[5]、Fast RCNN[6]、Faster RCNN[7]等算法。一階段目標檢測算法減少了空間和時間的占用,速度有較大提升,但精度低于二階段目標檢測算法。上述算法的性能都依賴于大量的數據集,但是在某些場景下,往往難以收集到大量的數據集或者獲取數據集的代價非常高。

受限于大規模的數據集,小樣本目標檢測算法在計算機視覺領域得到了廣泛的研究;小樣本目標檢測算法旨在學習可轉移的知識,將這些知識泛化到新類中,從而對只有少量樣本的新類進行檢測。Wang等人基于Faster RCNN提出了兩階段微調方法[8](TFA,two-stage fine-tuning approach),在保持整個特征提取器不變的情況下,只微調分類器和回歸器,首次證明了簡單的遷移學習方法在小樣本目標檢測任務上效果好于元學習方法。Sun等人提出了基于對比候選框編碼的小樣本目標檢測算法[9](FSCE,few-shot object detection via contrastive proposal encoding),首次將對比學習引入到小樣本目標檢測方法。Li等人提出了基于類別特征均衡的小樣本目標檢測算法[10](CME,class margin equilibrium)方法來優化特征空間劃分和新類表示,讓模型更好地學習小樣本的特征;Qiao等人提出了基于解耦Faster R-CNN的小樣本目標檢測算法[11](DeFRCN,decoupled faster r-CNN for few-shot object detection)方法,緩解了Faster RCNN中前景和背景的識別沖突問題,還提出了一個離線的分數校準模塊,以緩解定位和回歸之間的沖突,但是該模塊增加了模型的計算量。Kang等人以YOLOv2為基礎網絡提出了元學習小樣本目標檢測算法(MetaYolo[12],few-shot object detection via feature reweighting),在此基礎上引入了特征重加權提取器,用于強化對于檢測新類有幫助的元特征,Li等人以YOLOv3為基礎網絡,提出了遙感小樣本目標檢測算法[13](FSODM,few-shot object detection model),通過引入多尺度的特征重加權提取器來提升模型對于不同尺度目標的檢測性能。

遙感圖像具有目標尺度差異大、目標模糊、背景復雜度高的特點,上述小樣本目標檢測算法大多基于日常生活中的常見物體開發,在遙感圖像目標檢測任務上精度仍然較低,并且大多基于二階段的Faster RCNN算法,計算復雜度高,檢測速度較慢。其中FSODM以一階段的YOLOv3為基礎,針對遙感圖像提出了多尺度的特征重加權提取器,提高了不同尺度目標的檢測精度,并且有較快的檢測速度,但是FSODM提取到的圖像的深層語義信息以及淺層定位信息仍然不夠豐富。針對上述問題,以FSODM為基礎,提出了一種新的特征重加權小樣本目標檢測算法(RE-FSOD,feature reweighting few-shot object detection),貢獻主要如下:

1)將元特征提取器的骨干網絡更換為CSPDarknet-53結構,在Neck部分加入路徑聚合網絡[14](PAN,path aggregation network)結構,CSPDarknet相對于初始的Darknet-53引入了交叉跨階段網絡[15](CSP,cross stage partial network)結構,并且將空間金字塔池化[16](SPP,spatial pyramid pooling)更換為快速空間金字塔池化(SPPF,spatial pyramid pooling fast),能夠減少參數量以及計算復雜度,并且提供了更強大的特征表示能力。PAN結構能夠將淺層豐富的定位信息傳遞到深層,增強對不同尺度檢測目標的定位能力,使得在3-shot、5-shot、10-shot情況下分別提升了大約10%、3%、4%。

2)提出了結合注意力機制和殘差結構的C2fSE模塊,由壓縮激勵注意力機制[17](SE,suqueeze and excition)和帶有殘差結構[18]的通道到像素模塊(C2f,channel to pixel)構成,將其添加到原始的特征重加權提取器卷積層后,增加網絡的深度和感受野,提升網絡的語義特征提取能力,使得在3-shot、5-shot、10-shot情況下分別提升了大約4%、3%、4%。

3)將定位損失函數替換為CIOU[19]損失函數,CIOU損失函數同時考慮了檢測目標的大小、長寬比、縱橫比等因素,加速模型的收斂,且提升了模型的定位性能,使得在3-shot、5-shot、10-shot情況下分別提升了大約6%、9%、3%。

1 RE-FSOD算法

1.1 小樣本目標檢測問題設置

小樣本目標檢測算法旨在從源數據集Di中學習通用的元知識,利用少量的目標數據集Do將元知識遷移到目標任務中,使得小樣本目標檢測算法在目標數據集上能夠快速收斂。假設目標數據集中有N類樣本,每類樣本具有K個標簽,稱為N-way-K-shot[20]任務。

小樣本目標檢測算法的數據集由支持集與查詢集構成,給定一個k-shot任務,支持集Si= {(Ik,Mk)},其中Ik代表輸入圖像并且Ik∈Rh×w×3,Mk代表對應目標的掩膜,k= 1,2,3,…,K。查詢集Qi包含Nq張圖片,Nq為訓練集或者測試集中所有圖片的數目,同樣包含有k類目標。RE-FOSD算法的一次迭代訓練的輸入為Ti={Qi,Si}。

1.2 FSODM介紹

FSODM算法是Li等人于2021年提出的第一個小樣本遙感目標檢測算法,FSODM算法基于YOLOv3目標檢測算法進行開發,在此基礎上引入了多尺度的特征重加權模塊,用來調整特征圖的特征,強化那些對于檢測新類有幫助的特征,使得算法能夠在少量樣本下取得較好的檢測精度。相較于其他流行的小樣本目標檢測算法TFA、FSCE等算法,FSODM結合了多尺度的特征重加權模塊,能夠更好地處理尺度多變的遙感目標,并且FSODM算法基于一階段的YOLOv3算法開發,在推理階段可以移除掉新增的特征重加權模塊,具有較少的計算量以及更快的推理速度,但FSODM的檢測精度仍然較低,為了能夠更準確地識別遙感目標,仍需要對算法進一步改進,FSODM結構如圖1所示。

圖1 FSODM網絡結構圖

1.3 RE-FSOD整體結構

RE-FSOD算法以FSODM為基礎,與FSODM有相同的架構,同樣由元特征提取器、特征重加權提取器、預測模塊3部分構成,整體架構如圖2所示,詳細結構如圖3所示。

圖2 RE-FSOD架構圖

圖3 RE-FSOD網絡結構圖

圖4 CSP結構示意圖

元特征提取器的輸入為查詢集中的圖片,能夠提取3個不同尺度的元特征圖,特征重加權提取器為數據集中的所有目標類別生成3個尺度的特定類特征重加權向量,將對應尺度的特征重加權向量與元特征圖進行1×1的通道卷積來調整元特征圖的權重,強化對于檢測新類有幫助的特征,將特征圖輸入到預測模塊中生成(x,y,w,h,o,c),(x,y,w,h)代表邊界框坐標,o代表置信度,c代表類別分數。

2 RE-FOSD關鍵技術

2.1 元特征提取器

元特征提取器旨在從查詢集中提取到魯棒的元特征,I為輸入到元特征提取器的查詢圖片,I∈Rh×w×c,提取得到的元特征為Fi=ε(I)∈Rhi × wi × mi,用i代表3個尺度的序號,i=1,2,3。其中hi,wi,mi表示尺度i的特征圖的大小。依照FSODM的設置,將特征提取器的圖片輸入設置為512×512,3個特征圖的尺寸大小分別為16×16×1 024、32×32×512、64×64×256。

FSODM中元特征提取器由Darknet-53以及特征金字塔網絡(FPN,feature pyramid network)構成。RE-FSOD將元特征提取器的骨干網絡替換為CSPDarknet-53,并且在FPN的基礎上添加了PAN結構。Darknet-53中存在大量的殘差塊,并且使用步長為2,卷積核大小為3×3的卷積層Conv2D代替池化層進行下采樣,殘差塊可以增加網絡的深度,使得網絡能夠提取更高級的語義特征,可以避免梯度的消失或者爆炸。CSPDarknet-53相比于Darknet-53網絡在殘差結構中引入了CSP結構,CSP將原輸入分為兩個分支,分別使用1×1的卷積進行特征變換,并且使特征圖的通道數減半,其中一個分支的特征圖經過N個BottleNeck模塊,最后在通道維度上進行連接,CSP分流的結構可以減少計算量,有效地傳遞信息,使得網絡能夠更好地學習特征。

CSPDarknet-53使用了SPPF(最大池化特征金字塔)模塊,原方法中在骨干網絡中使用的方法為SPP,兩者的作用都是實現局部特征與全局特征的融合,SPP存在4個分支,其中一個分支為卷積層,其余3個分支分別為卷積核為5,9,13的最大池化層,之后將4個分支的輸出在通道維度上進行連接,將局部特征與全局特征融合進而提取到不同大小的目標特征,SPPF在SPP結構上進行了改進,復用了已有的特征圖,并且將3個最大池化層的卷積核設置為5,大大提升了推理速度。

一般淺層的特征圖具有更多定位信息和較少的語義信息,深層的特征圖尺寸變得更小,維度變得更大,因此深層的特征圖具有更多的語義信息和較少的定位信息。在FSODM元特征提取器使用了FPN結構,FPN是一個自頂向下的特征金字塔,把淺層的語義特征傳遞下來,對整個金字塔進行增強,它只增強了語義信息,但是沒有對定位信息進行傳遞,PAN結構針對FPN的缺點,在FPN的基礎上增加了一個自底向上的金字塔,對FPN進行補充,將定位特征傳遞上去,這樣生成的特征圖同時擁有了豐富的定位和語義信息,能夠提升目標檢測算法的精度。

2.2 特征重加權提取器

特征重加權提取器的輸入是檢測目標的感興趣區域(ROI),如圖1所示,包含各個類的圖片以及對應類別目標的掩膜,一般輸入圖像會包含多個檢測目標,為了使特征重加權提取能夠識別特定類別的目標,因此只選取對應類別的一個目標,根據此目標位置將邊界框內的區域像素設置為1并且將其余位置的像素點設置為0得到掩膜。將輸入圖像與掩膜拼接成4維向量輸入到特征重加權提取器中,生成對應類別多個尺度的特征重加權向量,特征重加權向量與元特征圖進行1×1的卷積來調整元特征圖,強化對于檢測新類有幫助的特征。

FSODM中使用卷積層與最大池化層構成特征重加權網絡,為了使得特征重加權能夠提取到更豐富的語義信息,提出了融合注意力機制的C2fSE模塊,在此基礎上將C2fSE模塊融入到特征重加權提取器中,C2fSE模塊由C2f模塊以及SE模塊構成,C2f模塊的卷積層通過增加卷積核的大小和步幅來擴大感受野,使得模型能夠在更大的區域內獲取特征,同時C2f中的殘差結構能夠加深網絡的層數,增強網絡的特征提取能力。SE(Squeeze-and-Excitation)注意力機制首先通過壓縮操作,將每個通道的二維特征壓縮為1個實數,得到通道維度的全局特征,之后通過激勵操作為每個通道生成一個權重,最后將得到的權重調整初始的特征圖,SE通過擠壓與激勵的操作使模型更加關注信息量大的特征,從而抑制那些不重要的特征,進而提升特征重加權網絡的特征提取能力。

2.3 損失函數

FSODM損失函數由定位損失、類別損失及置信度損失構成,相較于FSODM,RE-FSOD將定位損失由均方誤差損失更換為CIOU損失。

FSODM均方誤差損失公式如式(1)所示:

(1)

(2)

式中,A為預測框的面積,B為真實框的面積。

CIOU損失函數寬高比懲罰項如式(3)所示:

(3)

式中,wgt與hgt是真實框的寬和高,w和h是預測框的寬和高。

CIOU中心點距離懲罰項由式(4)、式(5)定義:

(4)

d=ρ2(Actr,Bctr)

(5)

式中,Actr,Bctr分別是真實框與預測框的中心點,ρ2(·)代表兩點間的歐式距離,c是真實框A與預測框B的最大外接矩形的對角線,d為A與B的中心點的距離。

其中:α為權重系數,如式(6)所示:

(6)

CIOU損失函數最終定義如式(7)所示:

(7)

正樣本置信度損失如式(8)所示:

(8)

式中,p0為預測的置信度o,o為預測框中存在物體的可能性,pt為真實框的值,有目標為1,沒有目標時為0。

負樣本置信度損失如式(9)所示:

(9)

式中,neg代表所有負樣本。

總置信度損失如式(10)所示:

Lo=Lobj·wobj+Lnobj·wnobj

(10)

式中,wobj和wnobj是正樣本和負樣本損失的權重,用來平衡正負樣本損失。類別損失如式(11)所示:

(11)

式中,cpt是真實類別分數,cpj是預測類別分數,已經使用置信度來判斷預測框中是否存在目標,因此分類損失中忽略了負樣本。

RE-FSOD總的損失函數表示為:

L=Lciou+Lobj+Lc

(12)

2.4 預測模塊

預測模塊與YOLOv3類似,依據YOLOv3的設置,采用基于anchor(錨框)的方法,anchor對應大物體尺寸設置為(116×90)、(156×198)、(373×326),對中等物體尺寸設置為(30×61)、(62×45)、(59×119),對小物體尺寸設置為(10×13)、(16×30)、(33×23)。將3個尺度的特征圖輸入到預測模塊中,生成(x,y,w,h,o,c),(x,y,w,h)代表邊界框坐標,o代表置信度,c代表類別分數。與YOLOv3預測模塊相比,只有類別預測不同,YOLOv3每個預測框生成k個類別分數,由于RE-FSOD對每個類都有一個類特征圖,每個預測框只預測一個類別分數c,對應于輸入圖像的同一位置的一組預測框稱為cpi(I= 1,2,…,K),每個預測框類別的最終概率為:

(13)

2.5 訓練和推理流程

數據集使用公開的NWPU VHR-10十分類遙感數據集,選擇船舶、儲罐、籃球場、棒球場、汽車、地面軌道、港口為基類,飛機、棒球場、網球場為新類。訓練策略依據FSODM中的設置,訓練過程分為兩階段:第一階段在具有充足標簽的基類上進行訓練,稱為基類訓練;第二階段使用第一階段生成的模型在小樣本數據集上進行微調?;愑柧毜臄祿疍train中包括640張圖片,共包括7類目標,其中包含船舶目標240個、儲罐目標524個、籃球場目標127個、地面軌道目標130目標個、港口目標180個、橋梁目標99個、汽車目標472個。在k-shot任務下,微調階段的小樣本數據集Dtest包括10類目標,從基類數據集中的圖片隨機選取,直至選取的圖片包含所有類的k個的目標。依據1.1中的設置,每次迭代的輸入為Ti={Qi,Si}。一張查詢圖像對應一組支持圖像,支持圖像由圖像及其對應目標類別的掩膜構成如圖9所示,一輪訓練中,查詢圖像就是訓練集的所有圖像,其所對應的支持圖像由訓練集中的圖像隨機組合生成。

圖9 查詢圖像與支持圖像示意圖

圖10 數據增強示意圖

訓練以及推理流程如下:

1)生成基類訓練集Dtrain以及推理所用的小樣本數據集Dtest。

2)初始化特征提取器、特征重加權網絡、預測模塊的網絡權重。

3)將Dtrain中數據輸入到網絡中訓練900輪,保存模型。

4)加載步驟3)中的模型,利用Dtest訓練10輪進行微調,生成最后的模型。

5)利用Dtest中的數據集,將支持集輸入到特征重加權網絡中生成重加權向量。

6)將查詢圖像輸入到網絡中生成元特征圖,利用重加權向量與元特征圖進行1×1的通道卷積生成調整后的元特征圖,將其輸入到預測模塊進行解碼生成最后的預測結果。解碼過程只有類別預測與YOLOv3不同,其余均相同。

3 實驗與結果分析

3.1 實驗環境

CPU為intel Xeon○RGold 6310,GPU為V100-32 GB,24 G運行內存,Ubuntu20.04操作系統,Pytorch版本為0.3.1,計算架構為CUDA8。

超參數說明:訓練圖像的分辨率設置為512×512,批次大小設置為16,使用SGD優化器,基類訓練階段學習率為0.01,微調階段學習率設置為0.001,優化器權重衰減設置為0.000 5,動量因子設置為0.937,在基類訓練階段訓練900輪,在微調階段訓練10輪,訓練集與測試集以8∶2的比例進行劃分,其中訓練集640張圖片,測試集160張圖片。

3.2 實驗評價指標

RE-FSOD通過mAP(mean Average Precision)平均精度均值以及AP(Average Precision)平均精度來評價小樣本目標檢測算法的性能。

(14)

(15)

(16)

式中,P代表預測出真實正例占所有預測為正確的比例,R代表預測出的真實正例占所有預測為正例的比例,用來反映漏檢情況,在式(16)中,n是代表類別數,根據P和R利用式(16)計算得出mAP。實驗采用mAP50作為評價指標。

3.3 數據集介紹及數據增強

數據增強流程:

1)在圖像輸入到特征提取網絡之前,首先將圖像向左右、上下兩個方向隨機平移,平移的距離不過圖像尺度的20%。

2)裁剪平移后的圖像,使用HSV進行數據增強,以0.5的概率將圖像隨機進行翻轉,最后使用多尺度策略將圖像放縮,輸入到網絡當中。

將圖像進行翻轉、平移使檢測目標在圖像中的位置發生變化,進行HSV數據增強調整圖像的色彩,使得輸入到重加權模塊的每張圖片都是不同的,兩種方法大大豐富了樣本的多樣性,可以使模型提取到更加魯棒的特征表示,提升模型的泛化能力。

3.4 消融實驗

為了評估RE-FSOD模型在小樣本場景下的檢測性能,將數據集分為兩部分,其中以飛機、棒球場、網球場作為新類,其余類別作為基類。并且進行了3-shot、5-shot、10-shot實驗。

改進1 為使用CSPDarknet-53骨干網絡,并且添加PAN結構以及SPPF結構,改進2為將定位損失函數替換為CIOU損失函數,改進3為在特征重加權提取器中添加C2fSE結構。同時為了驗證改進的有效性,進行消融實驗,實驗結果如表1所示,使用改進1之后,即使用CSPDarknet-53作為骨干網絡,并且添加PAN結構后,在3-shot、5-shot、10-shot情況下mAP分別提升了10%、2.8%、3.9%,證明改進1能夠有效地提升的目標檢測算法精度,并且在3-shot實驗中,mAP有大幅提升,說明改進1在樣本極少的情況性能更加出色。在改進1的基礎上添加改進2,將定位損失函數更換為CIOU損失,在3-shot、5-shot、10-shot的情況下分別提升了6.3%、9.6%、3%,驗證了改進2的有效性,說明CIOU損失函數相比于均方誤差損失函數能夠提升模型的定位精度。在此基礎上引入C2fSE模塊,在3-shot、10-shot情況下分別提升了3%、1.1%,5-shot情況下基本持平,證明了改進3的有效性。并且在不同樣本條件下進行了3個改進模塊兩兩組合的實驗,相較于只改進1個模塊,均有不同程度的提高,說明改進模塊具有較好的獨立性。

表1 消融實驗結果mAP50

RE-FSOD算法相較于FSODM算法在3-shot、5-shot、10-shot情況下的mAP分別提升了19%、11%、8%。并且樣本越少提升效果越明顯,說明RE-FSOD相比于FSODM在小樣本條件下檢測遙感圖像目標具有明顯優勢。

3.5 不同算法對比實驗結果

為驗證RE-FSOD算法的性能,與當前流行的小樣本目標檢測算法FSODM、TFA、FSCE、PAMS-Det進行了對比實驗,結果如表2所示,RE-FSOD相較于性能最好的PAMS-Det算法在3-shot、5-shot、10-shot的情況下mAP提升了14%、10%、7%。

表2 不同算法實驗結果mAP50

RE-FSOD以FSODM算法為基礎進行改進,為驗證RE-FSOD改進模塊的性能,進行如圖11所示的實驗,在10-shot場景下,RE-FSOD相較于FSODM算法能夠減少錯分漏分的情況,驗證了改進模塊的優越性。

圖11 實驗結果對比圖

3.6 特征重加權向量評估

為了驗證特征重加權模塊的效果,高維向量難以可視化,使用T-SNE模塊對其進行降維,T-SNE算法中,高維向量的分布與降維后向量的分布是比較接近的,但是如果在高維向量中本來有一段距離,降維后的向量距離就會被拉大,直觀地說,如果原來在高維空間中距離很近,降維后距離仍然很近,但是如果在高維空間有距離,降維后距離就會被拉大,這樣的特性有利于對1 024維、512維、256維的高緯特征重加權進行降維,并進行可視化。

從基類訓練集的支持集中隨機選取了共140張圖片輸入到特征重加權模塊生成重加權向量,每類20張,使用T-SNE將高維數據降到2維,進行可視化。得到結果如圖12所示。

圖12 不同維度重加權向量對比

不同的點代表不同類別的特征重加權向量,可以見到相同類別的重加權向量聚集在一起,這表明重加權模塊通過梯度下降后能夠成功地表示來自原始輸入圖片的類別信息。并且使用樣本點到中心點的歐式距離對聚類效果進行了評估,公式如下:

(17)

式中,(xmean,ymean)是類中心點的坐標,(x1,y1)是樣本點的坐標。

計算所有樣本點到其類中心點的歐式距離的平均值,得到256維的平均歐式距離為785,512維平均歐式距離為689,1 024維平均歐式距離為627,說明1 024維的特征重加權向量聚類結果比512維以及256維的特征重加權向量聚類結果更好,說明維度更高的特征重加權向量承載了更多信息,因此具有更高維度的特征重加權向量能夠更好地表示支持樣本中的類別信息。

4 結束語

RE-FSOD以FSODM方法為基礎,在元特征提取器中使用CSPDarknet-53作為骨干網絡,并且添加了PAN結構以及SPPF結構,能夠提取更加魯棒的元特征,在特征重加權提取器中引入結合注意力機制與殘差結構的C2fSE模塊,能夠提取到更豐富的語義信息,并且使用CIOU作為定位損失函數,提升定位精度并加速算法的收斂。經過實驗證明,特定重加權向量的維度越高,提取到特定類別重加權向量的語義信息越豐富,RE-FSDO相較于FSODM提出的3個改進方法均能有效地提升算法的檢測精度,并且相較于其他先進小樣本目標檢測方法具有明顯的優勢,說明該方法能夠更好的處理尺度多變、背景復雜、目標模糊的遙感圖像。目前RE-FOSD在推理速度、計算量、占用內存等方面仍然有待于進一步提升,后續計劃通過利用剪枝、量化等方法對模型進行輕量化,在保證模型精度的同時降低模型的參數量并且提升模型的推理速度。

猜你喜歡
特征提取類別向量
向量的分解
聚焦“向量與三角”創新題
基于Daubechies(dbN)的飛行器音頻特征提取
Bagging RCSP腦電特征提取算法
向量垂直在解析幾何中的應用
服務類別
向量五種“變身” 玩轉圓錐曲線
基于MED和循環域解調的多故障特征提取
論類別股東會
中醫類別全科醫師培養模式的探討
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合