?

MSA-Net:一種基于多階段注意力機制的少樣本目標檢測方法

2024-01-05 05:31湯應薇張榮福
光學儀器 2023年6期
關鍵詞:注意力樣本特征

湯應薇,張榮福,丁 然,張 杰

(上海理工大學 光電信息與計算機工程學院,上海 200093)

引言

隨著計算機計算性能的提高和深度學習技術的發展,基于傳統圖像算法進行目標檢測的方法逐漸被取代,利用深度卷積網絡的框架開始成為主流。但目前深度學習框架過度依賴大量有標注的數據集和迭代次數、學習率等超參數的調節。在現實中,也受各種客觀條件的限制,獲取大量標簽[1]的實驗樣本數據需要耗費大量的人力物力[2]。鑒于以上難題,研究模型通過少量樣本數據訓練,能實現快速收斂并在大量樣本數據中具有高度泛化性能顯得尤為重要。根據對人類認知模式的觀察與研究,人類可以通過極少量的圖像樣本來準確識別一個新物體的所屬類別。受這種快速學習方式[3]的啟發,基于少樣本學習概念的圖像處理方法被提出。但目前大部分少樣本問題的相關工作集中在圖像分類問題上[4–7],對于少樣本目標檢測問題的研究工作相對較少。由于目標檢測問題不僅包括對圖像類別的預測,還涉及到對目標的定位問題,這使該任務與少樣本分類任務相比復雜度更高。

目前少樣本目標檢測任務主要采用少樣本學習方法結合成熟的深度學習目標檢測框架。在少樣本學習方法研究初期,大多數模型采用兩階段微調方法提升少量新樣本的檢測精度。Chen等[8]采用多層深度卷積設計邊界框回歸策略,抑制在基類訓練過程中的過度擬合現象。Wang等[9]在少樣本微調階段,固定特征提取層權重參數,僅微調檢測模型的最后一層參數,提高少樣本的檢測精度和準確率(5%~10%)。但由于在基類訓練過程中過度擬合,兩階段微調的方法在微調階段對新類的檢測精度欠佳。因此,后續的少樣本目標檢測研究融入元學習框架[9–11],將元學習器加入現有的目標檢測網絡,提高后續特征提取層的有效性。但由于少樣本目標檢測任務的挑戰性,文獻[9–11]采用的元學習方式,只是對支持集特征進行全局池化,丟失了局部特征的詳細上下文信息,導致無法學習到預測分類和定位的關鍵特征。因此,后續的研究將兩階段微調和元學習方式結合,提出了Meta-SSD 模型[12]。該模型通過一系列的少樣本目標檢測任務學習得到一個元學習器,來指導檢測器在新任務中快速且準確地更新參數。Meta RCNN 模型[11]將元學習方法和Faster RCNN 框架結合,利用元學習器學習到的可共享參數,幫助新類檢測器高效提取特征。

但Faster RCNN 作為一種兩階段檢測體系,類無關的區域建議網絡(RPN)和類相關的區域卷積神經網絡(RCNN)通過共享主干交換優化信息時,可能會因為優化目標的不同產生沖突,導致檢測能力下降。文獻[13]提出,分類網絡注重類間差異的特征,定位網絡注重類內差異的特征。不匹配的特征可能會影響RPN 產生許多低質量的目標分數,導致分類能力下降。文獻[14–16]研究了特征尺度變化對模型檢測精度的影響,由于錨匹配機制,經過特征金字塔后負樣本會增加。少量的標注樣本也會導致特征提取網絡只能提取單一的特征尺度,使得模型對多尺度圖像的檢測性能下降。在基類訓練過程中,豐富的數據可以降低負樣本產生的負面影響,但在元微調過程中,新類樣本量小,負樣本會導致模型對新類學習能力下降。

為解決以上問題,本文基于Faster RCNN 架構,提出了MSA-Net 模型,這一模型對Faster RCNN 進行了3 個方面的改進。(1)加入梯度反傳解耦機制:在反向傳播過程中,同時對RPN 和RCNN 進行梯度解耦,緩解在反向傳播過程中RPN 和RCNN 的沖突對主干網絡的負面影響。(2)加入注意力蒸餾模塊,利用鍵–值映射方式,提取支持集和查詢集之間的關聯信息,過濾掉大多數背景框或類別無關特征。(3)在ROI 池化階段提出多尺度注意力模塊,提取3 種不同尺寸的細粒度特征,并對特征采用自主意力機制,使模型對不同尺度的特征具備更好的泛化能力,便于后續的分類器和回歸器工作。大量的實驗證明,在k= 1, 2, 3, 5, 10 的設置下,改進后的模型在Pascal VOC[17]的新類上,分別達到21.8%,34.7%,40.9%,44.5%,51.7% 平均精度(mAP)(AP50)。在k= 10, 30 設置下,改進后的模型在COCO[18]數據集的新類上,分別達到25.1%,27.6% mAP(AP50)。

1 相關定義

如圖1 所示,遵循文獻[11, 19, 20]中的訓練范式,基于元學習的少樣本目標檢測訓練包括元訓練和元微調階段。結合文獻[21]對元特征學習器 D 的設計,對于一張輸入的查詢圖像q,通過抽樣構建對應的支持集S,支持集S包括所有類別的圖像–掩膜對,,其中Ii∈Rh×w×3是RGB 圖像,Mi∈Rh×w是根據標注邊界框生成的掩碼圖像,N表示類的數量。具體地說,在元訓練階段,先利用有規范標注的基類數據Dbase通過元特征學習器生成查詢集–支持集圖像對,來訓練設計的模型。在元微調階段,加入樣本量少的新類并隨機抽選K個樣本形成新數據集Dnovel,再采用相同的元特征學習器方式構建訓練數據集。元微調訓練過程與元訓練階段相同,但微調過程模型收斂速度快,訓練次數相對很少。

圖1 基于元學習的少樣本目標檢測框架的學習策略Fig. 1 Learning strategy for a few-shot object detection framework based on meta-learning

總體來說,整體模型的輸入是一張查詢集圖像q和從訓練集隨機抽樣得到的支持對,輸出是對查詢集圖像的檢測預測。與文獻[20]不同,本文并不采用特征重加權模塊,而是借鑒文獻[11]的方法,采用共享主干網絡參數的形式對支持對進行特征提取。

2 MSA-Net

圖2 介紹了MSA-Net 模型的體系結構。首先,數據被分為支持集和查詢集兩部分輸入特征提取層,特征提取層采用多尺度特征金字塔結構和ResNet-101 網絡。MSA-Net 基于Faster RCNN結構框架,加入梯度反傳解耦機制、注意力蒸餾模塊以及多尺度注意力模塊。

圖2 MSA 模型的總體框架Fig. 2 General framework of the MSA model

2.1 梯度反傳解耦機制

Faster RCNN 作為一種兩階段檢測結構,根據功能可分為3 個組成部分,即提取廣義特征的主干網絡,用于生成類無關建議的高效RPN,和執行類相關分類和定位任務的RCNN 頭。輸入圖像經過主干網絡生成特征映射后,被并行輸入RPN 和RCNN。如圖3 的梯度流所示,在傳統的Faster RCNN 中,RPN 與RCNN 在反向傳播過程中,通過共享的主干網絡的梯度流,交換優化信息。但RPN 在類不可知的前提下,優化目標是產生定位準確的目標框。RCNN 的優化目標是在已知類相關的前提下,進行目標的定位。這與RPN 的優化目標存在潛在的矛盾,會導致在少樣本情況下,模型檢測能力下降。受梯度反傳過程的啟發,本文設計在梯度反傳過程中對RPN 和RCNN模塊進行解耦(Decoupled-layer),如圖4 所示。首先在前向傳播過程中,對兩個模塊分別添加線性變換層A,該線性變換層由權重ω 和偏移b兩個可學習變量組成,目的是通過可學習參數的調節,增強特征表示并進行前向解耦。

圖3 傳統的Faster RCNN 架構[22]Fig. 3 Traditional Faster RCNN architecture [22]

圖4 梯度反傳解耦機制Fig. 4 Gradient backpropagation decoupling mechanism

在梯度反傳過程中,為調節3 個模塊之間的解耦程度,將RPN 和RCNN 反傳的梯度 Grpn和Grcnn,分別乘以解耦系數λrpn,λrcnn向前一層傳播。

因此,模型的總優化目標為

式中:N是訓練樣本的數量; LRPN和 LRCNN是RPN 和RCNN 的網絡損失函數; θb,θRPN和θRCNN分別是主干網絡、RPN 和RCNN 的學習參數;η 為平衡 LRPN和 LRCNN的超參數,一般設置為1。具體地說,添加的解耦機制并不會影響到RPN 和RCNN 的優化,但主干網絡的梯度下降會受機制的影響,可描述為

式中:γ表示學習率;λrpn和λrcnn的取值對主干網絡參數 θb的更新有深刻影響。

2.2 注意力蒸餾模塊

先前的工作[12,20]采用元學習的方式,對支持集特征進行平均池化操作,抽取類向量來指導查詢集元特征學習。但即使是同一類別的樣本,輸入的查詢集和對應的支持集樣本,也存在巨大差異(如:尺寸、外觀、位置等)。這會對后續的特征學習產生負面影響。面對以上這些問題,本文采用了基于注意力機制的蒸餾模塊,從支持集特征中盡量提取足夠的細節并通過支持集信息過濾掉無關的背景和負面信息,幫助后續的RPN 和RCNN 進行預測。

鍵–值對嵌入:在查詢集和對應的支持集圖像通過共享參數的特征提取器提取特征后,支持集和查詢集特征進入注意力蒸餾模塊。首先,支持集和查詢集樣本通過特征提取層提取特征,再分別通過設計的深度編碼器生成各自的鍵–值對。深度編碼器由兩個并行的 3×3 卷積層組成,對輸入特征分別生成鍵和值的特征映射。雖然兩部分的深度編碼器采用相同的參數結構,但并不共享參數。鍵映射應用于檢測支持集和查詢集特征之間的相似性,而值映射儲存了特征的全部信息。通過鍵的編碼和得到的相似性權重,幫助查詢集特征和支持集值映射進行匹配和識別。因此,對于查詢特征,輸出為鍵–值對特征映射:,其中,C為特征的維數,W和H分別為特征的長和高。對于支持集特征,每個類的特征都獨立生成鍵–值對映射,輸出是:,其中N是支持集中類的數量。隨后,生成的鍵–值對被送入關系蒸餾部分,在這一部分中,支持集和查詢集的鍵–值對將被密集匹配,以找到目標對象。

鍵–值關系蒸餾:在獲取映射后,執行鍵–值關系蒸餾。如圖5 所示,通過計算支持集和查詢集鍵-值的相似度來評估支持集特征的軟權重,對特征映射的每一像素執行相似度計算,公式為

圖5 注意力蒸餾模塊Fig. 5 Attention based distillation module

式中:i和j表示查詢集和支持集特征的索引號;φ,φ′表示查詢集和支持集因訓練過程不斷變化的參數而形成的動態學習線性相似函數。對像素級特征相似度通過softmax 函數進行歸一化來計算匹配權重 W 。

然后,對支持集特征通過生成的軟權重進行加權。

式中 ? 表示矩陣內積。值得注意的是,支持集包含N個特征,因此產生了N個鍵–值對,在這里對N個輸出的結果進行求和獲得最終結果。通過平均池化層(GAP),x∈RH×W×C變為1×1×C的向量。最終,查詢集特征y∈RH×W×C與支持集池化后的特征x通過深度交叉相關(Depth-wise Cross Correlation)模塊生成最終的注意力特征圖。因此,最終的輸出公式為

式中G表示最終的注意力特征圖。對于支持集最終得到的特征x,被用作內核以深度交叉相關方式在查詢集特征y上滑動。

2.3 多尺度注意力機制模塊

RCNN 以RPN 的區域建議和特征作為輸入,經過ROI 對齊后進行特征池化,用于最后的分類和邊界框回歸。大部分研究[9–12,20]使用固定的分辨率8 來進行特征池化操作,但這一方式會導致部分關鍵信息的丟失。傳統的目標檢測方法往往有大量數據進行基礎訓練,這種方式可以彌補關鍵信息的丟失。但少樣本條件下,由于每一類的樣本只有幾張圖像,這導致尺度變化對模型檢測效果有很大的影響。模型因為泛化能力不夠,無法適應新類不同尺度的特征。因此,本文提出多尺度注意力模塊(圖6),選擇4,8,12三種分辨率能幫助模型對不同尺寸的特征具有更好的泛化能力。較大的分辨率通過放大特征,可以捕捉特征詳細的上下文語義信息,便于對小目標的識別和檢測,而較小的分辨率通過縮放特征尺寸,能捕捉特征的全局信息,有利于識別較大的目標。

圖6 多尺度注意力模塊Fig. 6 Multi-scale attention module

除此以外,添加了1 種自注意力機制(SEAttetion)[23]對提取的不同分辨率的特征進行特征增強,再進行有效的聚合。SE-Attention 為每個尺度的特征建立注意力分支。對于每一分支,首先進行凍結操作,利用全局池化層獲得全局的感受野,然后利用兩個全連接層和ReLU 函數進行激活操作,為每個特征通道生成權重,再利用Sigmoid 函數獲得0~1 之間的歸一化權重,進行重加權,將通道權重加權到先前的特征上。最終,這一模塊的輸出是不同尺寸特征的加權和。

3 實 驗

在本節中,對提出的MSA-Net 模型進行了全面的實驗評估來檢測模型在少樣本目標檢測方面的作用。3.1 節介紹了數據集的詳細設計和訓練策略。3.2 節對MSA-Net 模型在Pascal VOC數據集和COCO 數據集上的表現進行了詳細的實驗分析。3.3 節對提出的創新模塊進行消融實驗結果分析。

3.1 數據集和學習策略介紹

數據集:為與其他先進的方法進行公平比較,根據文獻[9]的方式構建少樣本數據集。對于Pascal VOC 數據集,將VOC 2007trainval set和VOC 2012trainval set 作為訓練集,VOC2007test set 作為測試集。評估指標為平均精度(mAP)。具體地,數據集根據目標類型將20 個類隨機分為15 個基類和5 個新類。首先在元訓練階段,對基類所有數據進行訓練,再在元微調階段,對每一類別從訓練集中隨機采樣k(k= 1, 2, 3, 5,10)個目標。為保證結果的公平性,對類別進行了3 次隨機分組。對于COCO 數據集,將與Pascal VOC 數據集不相交的60 個類作為基類,剩余的20 個類作為新類。使用驗證集中標記為minival 的數據作為測試集,其余的驗證集和訓練集數據作為模型的訓練集。訓練階段的設置和Pascal VOC 數據集訓練階段相同,k設置為10, 30。

學習策略:首先,使用Faster RCNN 框架[22]作為基本網絡架構,采用具有特征金字塔網絡[14]的ResNet-101 作為特征提取器。主干網絡的權重在ImageNet [24]上進行預訓練。本文使用一塊24G 顯存的3090 GPU 對模型進行訓練,最小批處理大小設置為4。所有模型都使用SGD優化器,動量設置為0.9,權重衰減為0.000 1。在Pascal VOC 數據集的基類訓練期間,對模型分別進行240 000、120 000 和80 000 次迭代的訓練,學習率分別為0.001、0.000 1 和0.000 01。在元微調階段,模型分別經過2 000、1 600 和800 次迭代的訓練,學習率分別為0.001、0.000 1和0.000 01。對于MS COCO 數據集,在訓練期間,模型分別進行56 000、36 000 和12 000 次迭代的訓練,學習率與VOC 訓練設計相同。在元微調過程中,對模型進行3 000、1 000 和500 次迭代的微調訓練。除此以外,對于引入的參數λ,根據文獻[12]的實驗結果,在RPN 和RCNN 的梯度反傳過程中分別設置為0 和0.75,元微調訓練期間分別設置為0 和0.01。

3.2 實驗結果及對比

在本節中,將在PASCAL VOC 和COCO 數據集上進行實驗,并將本文的方法與最先進的方法進行比較。

經過多次隨機運行,在表1中給出了3 種不同數據分割的VOC 數據集在新類上的平均評估結果。其中k-shot 檢測是根據3 種不同的數據拆分設置k= 1, 2, 3, 5, 10 進行的。本文給出了新類在不同拆分下IoU 閾值為0.5(AP50)的mAP。具體來說,在k=1 設置下,本文的方法表現遠優于FRCN 和LSTD這類模型,也優于Meta RCNN和TFA 模型的表現。雖然MSA-Net 在split 2 和split 3 中分別低于FSDet(2021)和Repmet,但在k= 2, 3 設置下,在3 種不同的分類中,其表現遠優于兩階段微調方法,也優于其他加入元學習框架的模型。在k= 5, 10 設置下的表現也優于其他模型,雖然檢測精度提升沒有k=2, 3 設置下明顯??梢钥闯?,在同樣的評估體系下,本文提出的MSA-Net 在PASCAL VOC 數據集的新類上表現均優于目前的一些先進方法,這證明了改進方法的有效性。但由于PASCAL VOC數據集的數據量僅包括大約5 000 張圖像數據,對于目標檢測任務來說,該數據集圖像數量過少,僅能作為其中一個評估維度來評估模型,并不具有絕對性。

表1 在VOC 2007 測試集上的少樣本目標檢測表現Tab. 1 Few-shot object detection performance on VOC 2007 test set

MS COCO 數據集包括80 個類別,大約12 萬張圖像,與Pascal VOC 數據集相比,檢測的圖像更加復雜多樣,因此實驗結果也更具說服力。表2 展示了MSA-Net 在MS COCO數據集的表現??梢钥闯?,在k= 10 設置下,MSA-Net模型的所有度量標準均優于其他方法。在k=30 設置下,雖然基于文字和圖像的多模態模型SRR-FSD 在AP50 的度量標準下檢測精度更高,但在更嚴格的度量標準AP75 下,檢測精度遠低于MSA-Net。這表明MSA-Net 模型通過改進的模塊,可以有效地緩解RPN 錯誤的區域建議的問題,從而產生更準確的檢測結果。在k=30 設置下,采用Transformer架構的Deformable DETR[28]在度量標準 AP 下檢測精度略高于MSANet,但其他度量標準以及最終的平均檢測精度遠低于MSA-Net。除此以外,MSA-Net 的平均檢測精度在所有指標上都高于其他現有的方法如FSCE 和MPSR 模型,這意味著MSA-Net 在少樣本情況下具有很強的魯棒性和泛化能力。

表2 在MS COCO 測試集上的少樣本目標檢測表現Tab. 2 Few-shot object detection performance on MS COCO test set

4 消融實驗

模塊的有效性:對提出的模塊在VOC 2007 test set split 1 數據集上進行全面的消融研究,以驗證設計的有效性。所有結果均為5 次隨機運行的平均值。表3 列出了所有的結果??梢钥闯?,由于缺少數據,原始的FRCN 模型嚴重過擬合。具體地,采用逐步漸進的方式探索每一個模塊的效果。(1)在加入梯度反傳解耦機制后,模型效果在基類上提升了12.3%,在新類上有4.0%的提升,這表明RPN 和RCNN 模塊的解耦,提高了模型的泛化能力,這一結果與我們提出的觀點一致。(2)在加入注意力蒸餾模塊后,模型在新類的效果有顯著的提升(7.3%~11.5% mAP),這表明這一蒸餾模塊利用了有限的數據中的有效信息,緩解了過擬合現象。(3)在單獨加入多尺度注意力機制后,模型相較于單獨加入注意力蒸餾模塊的提升較?。?.1%~9.8% mAP),但同時加入注意力蒸餾模塊和多尺度注意力機制模塊對模型的提升十分顯著,將近20% mAP,這表明模型可以通過學習不同尺寸的相同特征,增強對特征細節的學習,提升檢測精度。(4)從總體上看,加入改進的模塊后,模型在新類上的檢測精度達到平均22.6%的提升,在k= 2, 3 的設置下,提升接近26%,可以看出,在少樣本設置下,改進的模型泛化能力顯著增強,且3 個改進模塊之間的交互并不會對模型檢測精度產生負面影響。

表3 改進的模塊對模型mAP(AP50)的影響Tab. 3 Effect of improved modules on mAP (AP50)

圖7 所示為采用MS COCO 數據集訓練后的模型在PASCAL VOC 部分樣例圖像上測試的結果??梢钥闯鯩SA-Net 模型的檢測效果明顯優于原始FRCN 模型兩階段微調后的結果,能夠檢測出部分小目標物體,檢測新類的置信度也有一定程度的提高。

圖7 MS COCO 10-shot 設置下訓練的模型在VOC 2007 數據集上的示例Fig. 7 Example of a model trained under MS COCO 10-shot setting on VOC 2007 dataset

5 結束語

本文對少樣本目標檢測任務進行了探索,提出了基于多階段注意力機制的少樣本目標檢測模型MSA-Net。模型引進了梯度解耦模塊緩解RPN 和RCNN 潛在的矛盾,此外,ABD 模塊和Multi-scale 模塊充分利用查詢集和支持集的特征信息提高模型的泛化性能。盡管簡單,但本文的方法在少樣本目標檢測的各種基準上達到了先進水平,并通過消融實驗驗證了模型的有效性。

猜你喜歡
注意力樣本特征
讓注意力“飛”回來
如何表達“特征”
不忠誠的四個特征
推動醫改的“直銷樣本”
抓住特征巧觀察
“揚眼”APP:讓注意力“變現”
隨機微分方程的樣本Lyapunov二次型估計
A Beautiful Way Of Looking At Things
村企共贏的樣本
線性代數的應用特征
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合