論文提出了新的少樣本目標檢測算法,創新點包括Attention-RPN、多關系檢測器以及對比訓練策略,另外還構建了包含1000類的少樣本檢測數據集FSOD,在FSOD上訓練得到的論文模型能夠直接遷移到新類別的檢測中,不需要fine-tune
來源:曉飛的算法工程筆記 公眾號
論文: Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector
Introduction
不同於正常的目標檢測任務,few-show目標檢測任務需要通過幾張新目標類別的圖片在測試集中找出所有對應的前景。為了處理好這個任務,論文主要有兩個貢獻:
- 提出一個通用的few-show目標檢測算法,通過精心設計的對比訓練策略以及RPN和檢測器中加入的attention模塊,該網絡能夠榨干目標間的匹配關系,不需要fine-tune就可以進行靠譜的新目標檢測。實驗表明,early stage的attention模塊能夠顯著提升proposal的質量,而后面的多關系檢測(multi-relation detector)模塊則能有效抑制和過濾錯誤的背景
- 提供了一個1000類的少樣本訓練集FSOD,論文提出的模型的性能提升有一定程度得益於此訓練集,是一個前所未有的訓練集
FSOD: A Highly-Diverse Few-Shot Object Detection Dataset
盡管目前目標檢測的訓練集已經非常龐大,但是對於少樣本目標檢測算法的使用而言,這些訓練集的類別都太少了。因此,論文構造了一個少樣本目標檢測專用的訓練集
Dataset Construction
新訓練集基於ImageNet(選了531類)和Open Images dataset V4(選了469類),但訓練集間的類別不同,為了防止合並后存在漏標的情況,先對label進行分析和合並成樹狀結構,補充標注,然后去掉標注質量差的圖片,包括包含目標太小($\le 0.05%$)的圖片。將類別分為訓練集和測試集,先用COCO的類別作為基礎訓練集,防止pretrain的影響,然后盡量選擇與當前訓練集差距較大的類別作為測試集,共包含200類,再選擇另外800類作為訓練集
Dataset Analysis
新訓練集的數據情況如圖3和表1,主要有兩個特性:
- High diversity in categories,類別覆蓋的領域很多,包括動物、衣服、武器等,且訓練集和測試集的類別來自不同的領域
- Challenging setting,數據集在box大小和寬高比上有很多種,26.5%的圖片包含至少3個目標,且有大量非目標類別的物體,干擾性很大
Our Methodology
Problem Definition
給予包含目標特寫的輔助圖片(support image)$s_c$以及可能包含$c$類目標的查詢圖片$q_c$,任務是找出查詢圖片中所有輔助圖片對應的類別目標,並且標記其准確的位置。如果輔助集包含$K$個類別,每個類提供$N$張圖片,則稱為K-way N-shot檢測
Deep Attentioned Few-Shot Detection
論文提出新attention網絡,該網絡能夠在RPN模塊和多關系檢測模塊中學習輔助集與查詢集間的通用的匹配關系。網絡為包含多分支的權重共享框架,一個分支用於查詢集,其它則用於輔助集(為了方便,圖4只畫了一個分支),對於同類別的輔助分支,使用平均特征圖作為輔助特征圖。查詢分支的權重共享主干為Faster R-CNN(包括RPN),使用這個分支來訓練輔助集和查詢集的匹配關系,能夠學習到同類別的通用知識
-
Attention-Based Region Proposal Network
在少樣本目標檢測中,RPN能夠產生潛在的相關box用於接下來的檢測任務,不僅要分辨前景和背景,還要過濾不屬於輔助集的前景。如果沒有足夠的輔助集信息,RPN將會產生大量不相關的proposal。為了解決這個問題,提出了attention RPN,能夠使用輔助圖片的信息來過濾背景以及不相關的前景,產生更少但更准的候選目標
Attention RPN的核心是計算相似度特征圖,對於輔助特征圖$X\in t^{S\times S\times C}$以及查詢特征圖$Y\in t^{H\times W\times C}$,相似度特征圖$G$計算如上。輔助特征$X$用來作為核在查詢特征圖上進行類似depth-wise卷積的滑動。在實際中,查詢特征采用RPN的輸入特征,用於卷積的輔助特征大小為$1\times 1$,由global average產生,在獲得attention特征后,使用$3\times 3$卷積進一步提取特征,然后接objectness分類和box預測,attention RPN的loss $L_{rpn}$會跟Faster R-CNN一樣加入到模型的訓練中
-
Multi-Relation Detector
RPN后面一般會接一個檢測器用於對proposal進行重新評估和調整,而論文則希望檢測器能夠有強大的類別區分能力,提出了多關系檢測器(multi-relation detector)來度量相似性.該檢測器包含3個attention相似性模塊,將3個模塊的分數求和作為最終的匹配分數。對於大小均為$7\times 7\times C$的輔助特征$f_s$和查詢特征$f_q$:
- global-relation head,用於學習全局匹配的深層embedding。將$f_s$和$f_q$concatenate成特征$f_c$,然后平均池化成$1\times 1\times 2C$,最后用加ReLU的兩層全連接層輸出最后的分數
- local-correlation head,學習pixel-wise和depth-wise的關系,即對應位置的關系。首先使用$1\times 1\times C$卷積分別操作$f_s$和$f_q$,使用前面的Attention RPN的相似性計算$G_{h,w,c}$進行depth-wise的相似性計算獲得相似性特征圖,$S=H=W=7$,最后用單層全連接層獲得分數
- patch-relation head,用於學習非線性的塊匹配,即一對多的關系。將$f_s$和$f_q$concatenate成特征$f_c$,然后輸出到表8的塊關系模塊中,表8的卷積層后面都接ReLU,所有卷積層和池化層都進行0填充,模塊將特征圖從$7\times 7$下采樣為$1\times 1$(這里池化層的s1/p0感覺描述不清楚,等源碼放出來再看看),最后同時接兩個全連接層,一個全連接產生匹配分數,另外一個產生bbox的預測
論文對3種head的重要性進行了實驗,可以看到這3種head能很好地互補,結合起來能夠完整地表達目標間的關系
Two-way Contrastive Training Strategy
通常少樣本訓練策略為每次輸入為$(q_c,s_c)$,論文認為模型應該同時學習識別同類別和區分不同類別,提出2-way對比訓練策略
如圖7,該策略每輪隨機選擇一張查詢圖片$q_c$、一張輔助圖片$s_c$以及一張別的類別的輔助圖片$s_n$組成三元組$(q_c, s_c, s_n),c\ne n$,查詢圖片中只有$c$類目標標記為前景。在訓練時,不僅學習$(q_c,s_c)$間的相似性,也學習$(q_c,s_n)$間的差異性。由於背景proposal的數量比較大,占據着訓練過程,所以$(p_f,s_p)$、$(p_b,s_p)$和$(p_b,s_n)$控制為1:2:1比例,根據匹配分數從高到低選擇。每個proposal的損失為$L=L_{matching}+L_{box}$,匹配損失使用二值交叉熵
論文對不同的訓練策略進行了對比,2-way 5-shot對比訓練策略效果最優,並且可以看到attention RPN也是有效的,$AP_{50}$提升了1.9
Experiments
Training Details
查詢圖片短邊為600像素,長邊上限1000像素,輔助圖片裁剪目標區域加16像素的位置,resize然后0填充至$320\times 320$,在推理時,相同類別的輔助集使用平均特征集
Comparison with State-of-the-Art Methods
這里表格的finetune是指直接在測試集上進行finetune
Realistic Applications
More Categories vs More Samples?
CONCLUSION
論文提出了新的少樣本目標檢測算法,創新點包括Attention-RPN、多關系檢測器以及對比訓練策略,另外還構建了包含1000類的少樣本檢測數據集FSOD,在FSOD上訓練得到的論文模型能夠直接遷移到新類別的檢測中,不需要fine-tune
如果本文對你有幫助,麻煩點個贊或在看唄~
更多內容請關注 微信公眾號【曉飛的算法工程筆記】