改進的基于元學習的小樣本目標檢測法在廢品識別分類中的應用研究
來源:用戶上傳
作者:孟青, 于?|
摘要:針對傳統R-CNN泛化能力弱等問題,首先對傳統的R-CNN算法進行改進,運用元學習的方法,將從數據豐富的基類中學習到的元知識轉移到數據稀缺的新類中。對粗粒度原型匹配網絡進行改進,它使用基于度量學習的非線性分類器而不是傳統的線性目標分類器來處理查詢圖像中錨和新類之間的相似度,從而提高了小樣本新類候選框的召回率。對細粒度原型匹配網絡進行改進,添加了一個帶有空間特征區域匹配和前景關注模塊來處理噪候選框和小樣本新類的相似度,以解決候選框特征和類原型之間的空間區域不匹配,從而提高整體檢測精度。然后設計了一個小樣本分類器,將softmax分類器和設計的小樣本分類器放在一起考慮,利用這兩種檢測器的優勢,通過使用小樣本檢測器的來共享特征主干網絡,聯合學習一個Faster R-CNN檢測頭。而不是像以前的方法那樣只使用softmax分類器。做到了在保持原有檢測精度的基礎上,擴大了檢測范圍。
關鍵詞: 粗粒度原型匹配網絡;細粒度原型匹配網絡;度量學習;空間特征區域匹配;前景關注模塊
中圖分類號:TP301.6 文獻標識碼:A
文章編號:1009-3044(2022)32-0009-04
1 概述
時代在發展,社會在進步。廢品分類也成為勢在必行的舉措。在將廢品分類的同時,如何將廢品正確地分類開始困擾著居民的正常生活?,F在主流廢品識別分類系統是使用R-CNN來做識別,但R-CNN泛化能力弱,相對于困難樣本(例如:遮擋、形變等),R-CNN只能通過增多訓練樣本來提高檢測精度。再加上現實生活中的場景長尾效應,需要更多訓練樣本。鑒于訓練數據的缺乏,這些模型存在著過擬合和泛化能力差的風險。這促使對小樣本目標檢測進行研究[1]。首先,對于候選框的生成,目前許多方法是使用在基類數據上訓練的RPN來生成新類的候選框[2],這就漏掉了一些新類的高重疊度框,因為在對基類的RPN訓練中,新類框被視為背景區域。微調新類的RPN確實能改善表現,但其對未知類型的泛化能力是有限的。其他方法提出用小樣本類來調制查詢圖像特征,以便產生特定類的候選框[3]。但是,RPN中簡單的目標/非目標線性分類在小樣本目標檢測需要高質量候選框時往往缺乏健壯性。其次,對于候選框的分類和邊界框回歸,是通過引入小樣本學習方法,特別是原型網絡,以提取每個類的原型表征[4]。然后可以通過使用神經網絡來衡量候選框特征和類原型之間的相似度來進行分類。這已被證明在小樣本目標檢測中是有效的。但是之前的研究中忽略了空間區域不匹配的問題:這是由類似的語義區域不會出現在噪聲候選框和小樣本支持圖像之間的相同空間位置所導致的[5]。
為解決上述問題,本文在基于元學習的小樣本目標檢測方法的基礎上進行改進。首先,本文對粗粒度原型匹配網絡進行改進,以快速有效的方式為小樣本新類生成候選框。在原始的RPN中,通常是一個小的子網在CNN特征圖的錨上進行測試,進行目標/非目標二元分類和邊界框回歸。所以,為了提高對新類的泛化能力。本文關鍵思想是學習一個基于度量學習的非線性分類器,而不是傳統的簡單的線性目標/非目標分類器,從而產生特定類的候選框,同時也提高了新類的平均召回率。其次,對細粒度原型匹配網絡進行改進,添加了一個帶有空間特征區域匹配和前景關注模塊來處理噪聲候選框和小樣本新類的相似度,以解決候選框特征和類原型之間的空間區域不匹配,從而提高整體檢測精度。在小樣本目標檢測基準的廣泛測試表明,本文改進的算法在小樣本學習設置中取得了最佳結果。
2 模型結構
改進的模型由四個部分組成:特征提取部分、對基類的目標檢測部分、新類的候選框生成部分、新類的候選框分類和邊界框回歸部分,如圖1所示。
?。?)特征提取部分。該模型使用孿生神經網絡[6]去提取查詢圖像和支持圖像特征。對于查詢圖像[Iq∈RHq×Wq×3],[fq=FIq∈RH×W×C]作為一個深度特征主干網絡被用來提取CNN特征,其中[H,W,C]分別代表被提取特征中的高度,寬度,通道維度,通常使用ResNet-50層/101層[7]中[res4]塊之后的輸出作為默認的圖像特征。對于支持圖像,本文首先用一些周圍的上下文區域來擴展原始目標的邊界框,這也是以前工作中的常見做法,然后對目標區域進行裁剪,再將裁剪后的圖像調整到相同的大小,并將裁剪后的圖像送入共享特征主干來提取每個支持圖像的[Ici]的CNN特征[F(Ici)]。
?。?)對基類的目標檢測部分。在特征提取網絡的基礎上,RPN用于生成圖像中所有基類的未知類型的候選框。之后,對于每個候選框,使用R-CNN分類器生成所有基類[Cbase]加上一個“背景”類的softmax概率和邊界框回歸[8]。
?。?)新類的候選框生成部分。本文的目標是有效地生成小樣本新類的候選框。與RPN類似,本文在 [fq]上面附加一個小的子網來生成以[fq]的每個空間位置為中心的候選框。具體來說,查詢圖像特征經過一個3×3卷積層和ReLu層處理,用于提取以每個空間位置為中心的多尺度錨的特征。對于每個新類,本文使用K個樣本支持圖像的平均CNN特征作為類原型:
[fc=1Ki=1KFIci, c∈Cnovel] (1)
然后,為了獲得與錨相同的特征大小,進行空間平均池化,以獲得全局池化原型:
[fcpool=1H*Wh,wfc] (2)
那么,與在RPN中的簡單的線性目標/非目標分類器不同的是,本文對其改進,采用基于度量學習的非線性分類器和一個輕量級的特征聚合網絡以更好地計算類原型和錨之間的相似度,基于之前的研究[21],本文對特征聚合網絡進行改進,使其更加強大,包括乘法([Mult])、減法([Sub])和拼接( [Cat])子網絡。前兩個是基礎的逐元素聚合操作。[Mult]可以突出顯示相關和常見的特征,[Sub]可以直接測量兩個輸入之間的距離。[Cat]可以被看作是一種可以學習的操作,盡管[Sub]可以通過[Cat]和卷積層來學習,但本文通過實驗表明,直接[Cat]子網絡學習是困難的,而另外兩個可以作為捷徑,而且所有三個子網都是互補學習,如下所示:
nlc202301131531
[fcq=ΦMultfq⊙fcpool,ΦSubfq-fcpool,ΦCat[fq,fcpool]]
其中[ΦMult]、[ΦSub]和[ΦCat]都有卷積層和ReLu層, [[,]]代表通道級連接,然后[fcq]被送入二元分類和邊界框回歸層來預測候選框。所提出的特征聚合網絡可以用卷積層實現,而且計算效率高,可以使用候選框來提高新類候選框的召回率。
?。?)新類的候選框分類和邊界框回歸部分。在本文中,為了計算產生的候選框與新類之間的相似度,首先通過利用孿生網絡來提取相同大小[RH'×W'×C']的候選框特征[fp]和類原型[fc],其中[H'=W'=7,C'=2048]。與改進的粗粒度原型匹配網絡中使用空間平均池化的類原型不同,由于采用了串聯設計,本文使用高分辨率特征進行細粒度匹配。然而,由于對新類的候選框定位不準確,候選框和類原型之間的空間區域不匹配對小樣本分類產生了負面影響。
本文為了解決空間區域不匹配問題添加了基于注意力的特征區域匹配方法。本文首先通過計算相似度矩陣在兩個輸入特征之間建立軟對應關系。然后,相似度矩陣被用來計算與候選框一致的原型,并定位前景區域。最后,再用非線性分類器計算相似度分數。
空間區域匹配模塊:公式(4)計算候選框特征和類原型之間的相似度,[fp]和[fc]為一對輸入特征,兩個特征圖都有許多[H'×W']CNN網格特征,每個特征圖都有個[RC']的嵌入維度,計算相似度矩陣[A∈RH'W'×H'W'],每個相似度矩陣是兩個嵌入維度的點積。[Ai,j]表示候選框特征的空間位置 [i]和類原型的空間位置[j]之間的相似度。
[Ai,j=fp(i)fc(j)T] (4)
接下來是計算候選框區域匹配的類原型。根據相似度矩陣 [A]中密集語義對應關系,通過對原型中所有CNN網格特征的加權平均來實現特征區域匹配。為了在兩個特征之間進行特征區域匹配。對于[fp]中的每個空間位置[i∈RH'×W'],[fc(j)]所有空間位置進行softmax歸一化,分母為與所有類原型的空間位置進行比較的總和,求出它與這個類原型的不同空間位置的相似度,作為權重系數。
[Ai,j'=exp (A(i,j))kexp (A(i,k)) ] [ (5)]
然后,可以通過使用聚合歸一化的相似度,計算出與候選框的空間位置[i∈RH'×W']相對應的類原型[fc]:
[fci=jAi,j'fc(i) ] [(6)]
前景關注模塊:由于候選框可能包含不期望的背景區域,所以生成一個前景關注掩碼[M∈RH'×W']用于突出相應的目標區域,對于[fp]中的空間位置 [i],本文使用相似度矩陣[A]總結了[fp(i)]與[fc]中的每個空間位置的相似度。然后對[fp]中的所有空間位置進行softmax歸一化。[M]值越高,表示[fp]中的相應空間位置[i]與區域匹配原型[fc]的位置越相似,越有可能是同一語義部分。另一方面,候選框中的背景區域在相似度高的類原型中很難找到對應位置,所以[M]值很低。
[Mi=jexp (Ai,j)i,jexp (jA(i,j)) ] [(7)]
因此,在本文中,關注掩碼[M]乘以[fp]和[fc]來關注于相應的前景區域。
[fc=Mfc,fp=Mfp ] [(8)]
非線性分類模塊:為了測量最終特征 [fc]和[fp]之間的相似度,本文采用特征聚合網絡以高分辨率聚合這兩個特征,其中[ΨMult]、[ΨSub]和[ΨCat]是三個相似的CNN網絡,每個都有三個卷積層和一個Relu層用來非線性聚合,之后被送入二元分類和邊界框回歸進行最終檢測。
[f=[ΨMultfcfp,ΨSubfc-fp,ΨCat[fc,fp]]] [(9)]
2 模型訓練
本文的模型訓練有以下三個步驟。用基類進行元學習:本文使用元訓練來學習改進的粗粒度原型匹配網絡和改進的細粒度原型匹配網絡。在每個訓練集中,本文從基類中采樣了一些類,這些類中的每個類用k個樣本組成,作為新類來模擬小樣本檢測場景。而且,本文還用真值框標簽采樣了一些查詢圖像,并使用二元交叉熵損失和平滑L1損失進行模型訓練。為了防止大量的負匹配對使得檢測器不堪重負,本文的正負匹配對保持1:3的比例以平衡模型訓練。在元訓練之后,該模型可以在元測試中直接適用于新類,而不需要任何訓練。具體來說,在這一步中,使用改進的粗粒度原型匹配網絡和改進的細粒度原型匹配網絡對基類執行小樣本目標檢測,并通過情景訓練學習這兩個模塊。損失函數定義為:
[L1=Lr+Lc ] [ (10)]
nlc202301131531
其中,[Lr]表示改進的粗粒度的原型匹配網絡的損失函數,[Lc]表示改進的細粒度的原型匹配網絡的損失函數。這兩者都是由二進制交叉熵損失和邊界框回歸損失組成的。
[Lr=LBcls+Lloc,Lc=LBcls+Lloc ] [ (11)]
其中,[LBcls]表示兩個輸入之間相似度得分的二元交叉熵損失。[Lloc]表示使用之前研究[6]中定義的平滑 L1 損失的邊界框回歸損失。
對于在Microsoft Common Objects in Context數據集上的模型訓練,本文使用 SGD優化器,初始學習率為0.004,動量為0.9,權重衰減為0.0001,批尺寸為 8。60000 次迭代后學習率除以10??傆柧毜螖禐?80000。同樣的,本文在The PASCAL Visual Object Classes數據集上使用較小的訓練迭代進行元訓練。初始學習率為0.004,10000次迭代后除以10??偟挠柧毜螖禐?5000次。
學習基類的檢測頭:元訓練后,本文便固定了主干特征提取器的參數。具體來說,在這一步,本文在基類上學習物體檢測模型(包括RPN和R-CNN分類器)。損失函數定義為:
[L2=Lrpn+Lrcnn ] [(12)]
其中,[Lrpn]和[Lrcnn]兩者都包含分類損失和一個邊界框回歸損失如下所示:
[Lrpn=LBcls+Lloc,Lrcnn=LMcls+Lloc ] [ (13)]
其中,[LBcls]表示“前景”類(所有基類的聯合)和“背景”類的二元交叉熵損失, [LMcls]表示所有基類加上“背景”類的多類交叉熵損失。
在Microsoft Common Objects in Context數據集上的模型訓練,本文使用SGD優化器,初始學習率為0.001,動量為0.9,權重衰減為0.0001,批尺寸為16。在60000次和80000次迭代后,學習率被除以10。在這一步中,本文固定了主特征提取器的參數,以便在這一步中不改變在第一步中學習到的小樣本檢測模型。
在The PASCAL Visual Object Classes數據集上的模型訓練,本文使用與Microsoft Common Objects in Context數據集相同的超參數,除了使用較少的訓練迭代次數。初始學習率為0.001,在12000和16000次迭代后除以10??偟挠柧毜螖禐?8000次。
結合基類和新類進行微調:在前兩個步驟中,本文只使用基類數據進行訓練。而在微調步驟中,沿用以往研究中的做法采樣了一個小型的結合了基類和新類的原始圖像的平衡數據集。確保每個新類的實例總數正好是采樣數據集中的k個樣本,而這相同的k個樣本也被用來在測試中作為支持集。具體來說在這一步中,模型是用一個平衡數據集來微調的,這個數據集既有基也有新類。使用在前兩個步驟中相同的損失函數進行模型優化。
用Microsoft Common Objects in Context和The PASCAL Visual Object Classes數據集進行模型訓練,本文使用SGD優化器,初始學習率為0.001,動量為0.9,權重衰減為0.0001,批尺寸為8。對30 個樣本進行微調,學習率在2000次迭代后除以10,總訓練迭代次數為3000。對于10個或更小樣本的微調,學習率在1000次迭代后除以10,總訓練迭代數為1500。
3 與最先進算法模型的比較
本文在表1中將本文的最終模型與以The PASCAL Visual Object Classes數據集為基準的最先進算法模型進行比較。在The PASCAL Visual Object Classes數據集的大部分樣本和指標中,本文改進的算法比以前最先進算法的性能高出3.0mAP50以上。
4 結論
本文在模型設計方面確實做了很多考慮和創新的工作。本文對基于元學習的小樣本目標檢測模型進行了改進。改進的模型由以下兩個模塊組成,以解決小樣本類候選框質量低的問題。首先,改進了一個輕量級的粗粒度原型匹配網絡,以高效的方式為小樣本目標生成候選框。然后,對具有細致的特征區域匹配的細粒度原型匹配網絡做出改進,以解決噪聲候選框和小樣本類之間的空間區域不匹配問題。在多個小樣本目標檢測基準的實驗證明本文改進的模型的有效性。
參考文獻:
[1] 張娟,毛曉波,陳鐵軍.運動目標跟蹤算法研究綜述[J].計算機應用研究,2009,26(12):4407-4410.
[2] 尹宏鵬,陳波,柴毅,等.基于視覺的目標檢測與跟蹤綜述[J].自動化學報,2016,42(10):1466-1489.
[3] 趙凱琳,靳小龍,王元卓.小樣本學習研究綜述[J].軟件學報,2021,32(2):349-369.
[4] 譚東寧,譚東漢.小樣本機器學習理論:統計學習理論[J].南京理工大學學報,2001,25(1):108-112.
[5] 潘興甲,張旭龍,董未名,等.小樣本目標檢測的研究現狀[J].南京信息工程大學學報(自然科學版),2019,11(6):698-705.
[6] 楊康,宋慧慧,張開華.基于雙重注意力孿生網絡的實時視覺跟蹤[J].計算機應用,2019,39(6):1652-1656.
[7] 陳云芳,吳懿,張偉.基于孿生網絡結構的目標跟蹤算法綜述[J].計算機工程與應用,2020,56(6):10-18.
[8] 任珈民,宮寧生,韓鎮陽.一種改進的基于孿生卷積神經網絡的目標跟蹤算法[J].小型微型計算機系統,2019,40(12):2686-2690.
【通聯編輯:朱寶貴】
nlc202301131531
轉載注明來源:http://www.hailuomaifang.com/8/view-15444100.htm