論文提出增量式少樣本目标檢測算法ONCE,與主流的少樣本目标檢測算法不太一樣,目前很多性能高的方法大都基于比對的方式進行有目标的檢測,并且需要大量的資料進行模型訓練再應用到新類中,要檢測所有的類别則需要全部進行比對,十分耗時。而論文是增量式添加類别到模型,以正常的推理形式直接檢測,十分高效且資料需求十分低,雖然最終的性能有點難看,但是這個思路還是可以有很多工作可以補的undefined
來源:曉飛的算法工程筆記 公衆号
論文: Incremental Few-Shot Object Detection

- 論文位址:https://arxiv.org/abs/2003.04668
Introduction
論文研究了非常有意義的增量式少樣本目标檢測場景iFSD(Incremental Few-Shot Detection),場景設定如下:
- 檢測模型可以在包含充足樣本的基礎類别上進行訓練
- 訓練好後,iFSD能夠應用到真實世界中,任何新類别在任何時候都能通過少量标注樣本進行注冊
- 對于無限的新類别的學習,在記憶體使用量、存儲用量和計算量上都應該是可行的,理想情況下,模型可以釋出在資源有限的裝置上,如手機和機器人
目前的正常目标檢測算法大都難以适用于iFSD的場景設定,一般的做法是對新類别進行fine-tune,但這樣既耗時效果又一般。為此,論文提出無限制CentreNet(OpeN-ended Centre nEt, ONCE),在原CentreNet(CenterNet?)的基礎上,采用基于特征的知識遷移政策,将網絡分成類可知和類不可知子產品進行增量式少樣本學習。首先使用基類訓練一個通用的特征提取器,然後基于meta-learning學習class code生成器,最後通過結合特征和class code進行目标定位
論文的主要貢獻如下:
- 在增量式少樣本目标檢測問題上,論文首次嘗試減少正常需要深度訓練的目标檢測算法對大量訓練資料進行批量訓練的依賴
- 提出無限制CentreNet(OpeN-ended Centre nEt, ONCE),将CentreNet适應到增量式少樣本場景中
- 在目标檢測和服裝關鍵點檢測實驗上,ONCE都比目前的方法要好
Methodology
增量式少樣本目标檢測算法(Incremental Few-Shot Detection, iFSD)的目标為獲得能夠僅使用少量樣本就能進行增量式學習新類别學習器,将目标類别分為足夠樣本的基礎類别和少量樣本的新類别,分别用于系統初始化和增量式學習,注意在增量式學習期間不能使用基類資料
Object Detection Architecture
正常的目标檢測算法由于兩階段設計以及softmax分類器的使用,導緻很難動态直接加入新類别。論文選擇了CentreNet作為基礎模型,出于以下兩點考慮:
- 高效的one-stage目标檢測pipeline
- 類别獨立的模組化範式(per-class heatmap centroid prediction),新類能夠以插件形式接入
CentreNet将目标檢測定義為point-attribute的回歸問題,結構如圖1,将中心點和空間大小(寬和高)作為回歸目标,每個目标使用2D heatmap進行表示,而heatmap是類間獨立的
Incremental Few-shot Object Detection
由于CentreNet是批量學習的模型,不适合iFSD場景,在其結構上引入meta-learning的思想,即文中的無限制CentreNet(OpeN-ended Centre nEt , ONCE)
Model formulation,ONCE将CtreNet分為兩部分:(i) 通用的特征提取器,将輸入轉化為3D特征圖 (ii) 目标定位器,包含用于将特征圖成heatmap的類特定編碼(class code)。為了脫離批量學習的形式,類特定編碼(class code)由meta-learned network(class code generator)根據輔助集生成
Meta-Training: Learning a Few-Shot Detector,為了充分壓榨基礎類别的作用,将ONCE訓練分别兩個串行的階段。第一階段訓練類不可知的特征提取器,第二階段固定特征提取器,聯合訓練目标定位器和meta-network,meta-network根據給定的輔助集生成類特定編碼,目标定位器則結合類編碼和特征進行少樣本目标定位學習
Meta-Testing: Enrolling New Classes,給予包含少量标注圖檔的新類别輔助集,直接使用學習到的特征提取器、目标定位器和meta-network。先通過meta-network生成類特定編碼參數化目标定位器,然後直接進行圖2 stage I對應的推理,不需要模型再訓練
- Stage I: Feature Extractor Learning 階段一主要訓練ONCE的類可知特征提取器$f$,使用正常的CentreNet訓練方法進行完整訓練,目标定位器$h$不用于階段二,但後面基類的class code會複用階段一的
對于訓練圖檔$I\in \mathcal{R}^{h\times w\times 3}$,提取類可知特征圖$m=f(I)$, $m\in \mathcal{R}^{\frac{h}{r}\times \frac{w}{r}\times c}$,目标定位器結合學習到的與類$k$相關的卷積核(class code)$c_k\in \mathcal{R}^{1\times 1\times c}$得到類$k$的中心點heatmap$Y_k$
對于目标的定位,先确定局部峰值$\mathcal{P}k={(x_i,y_i)}{i=1}^n$,局部峰值為bbox輸出位置,要求大于等于所有臨界像素,最終的bbox結果如公式2,$(\delta xi,\delta y_i)=O{xi, y_i}\in \mathcal{R}^{1\times 1\times 2}$為中心偏移,$(h_i,w_i)=S{x_i,y_i}\in \mathcal{R}^{1\times 1\times 2}$為尺寸預測,結合offset code和size code獲得,具體方法與上面的類别heatmap擷取類似,使用$L_1$回歸損失對$f$的參數和$h$的參數$c$進行優化
- Stage II: Class Code Generator Learning 在階段一學習到的參數$c$僅包含基類,是固定的。為了适應iFSD場景,使用class code生成器$g$來根據樣本圖檔線上生成新類别的class code。生成器的訓練使用matching network的meta-learning政策,從基類中采樣大量的少樣本訓練資料子集,模拟測試時的場景undefined 定義單個iFSD任務$T$為在基類上平均采樣獲得的類标簽集$L$,标簽集僅包含一個或幾個類别,将标簽集中的每個類的圖檔随機分為輔助集合(meta-training)$S$和查詢集(meta-valudation)$Q$
在推理階段,輔助集$S$用于為每個類别$k$生成class code
基于class code集合${\hat{c}_k}$,按照公式4和公式5在查詢圖檔$I$上進行目标檢測,通過最小化在$Q$上的平均預測誤差來優化class code生成器的參數,誤差計算使用$L_1$損失$|\hat{Y}-Z|$,$Z$為GT heatmap
- Meta Testing: Enrolling New Classes 給予少量的标注樣本,新類别的meta-testing流程如下:
- 使用少量的标注樣本通過公式3擷取class code
- 通過公式4擷取測試圖檔的特征
- 通過公式1定位新類别的目标執行個體
- 找到heatmap中局部最大位置,通過公式2擷取所有bbox的坐标進行輸出
對于基類的測試在第一步直接使用階段一學習到class code,通過上述步驟,可以簡單且獨立地将新類别加入到iFSD中
- Architecture
特征提取器$f$使用主幹為ResNet的Simple baseline,結構如上圖,包含encoder-decoder對。首先提取圖檔$I$的低分辨率的3D特征圖,然後通過可學習的上采樣卷積輸出高分辨率的特征圖$f(I)$。class code生成器使用相同的encoder主幹,在進行階段二之前,生成器的權重拷貝特征提取器的權重進行初始化,最終通過global average pooling輸出256維的class code $c_k$。鑒于輔助集的數量可能各不一樣,最終的class code為類所有輔助圖檔$I_i^{k,s}$的class code的平均值
Experiments
Non-Incremental Few-Shot Detection
将樣本少的新類(10 shot)和樣本充足的基類(all)混在一起進行訓練,結果如表1
Incremental Few-Shot Object Detection
- Experimental setup same-dataset實驗,将COCO的60類作為基類,其餘20類作為新類别。對于meta-training,從基類随機采樣32個任務,每個任務包含3個類别,每個類别包含5個标注的bbox。對于meta-testing,使用全部20個新類别,每個類别随機采樣幾張圖檔,有兩種測試方法,一種是一次性加入全部類别(incremental batch learning),另一種是逐漸加入類别(continuous incremental learning)undefined cross-dataset實驗,跟上述類似,隻是meta-training的基類從COCO采樣,meta-testing的新類從VOC采樣
- Object detection on COCO
ONCE的性能比其它方法優異,盡管在新類别上的準确率普遍較低,但ONCE算是一種不錯的快速解決增量式少樣本檢測的方法
在逐漸增加類别的場景下,ONCE表現穩定,而其它方法的表現則逐漸變差
- Object detection transfer from COCO to VOC
與same-dataset的結果相差不大
Few-Shot Fashion Landmark Detection
Conclusion
在研究了現實的增量少樣本目标檢測問題後,論文提出了一個不錯的快速解決算法ONCE,能夠以推理的形式将新類别進行注冊而不需要再使用舊的訓練資料,相比其它類似的方法更有效
這裡需要注意的是,論文的方法與主流的少樣本目标檢測算法不太一樣,目前很多性能高的方法大都基于比對的方式進行有目标的檢測,并且需要大量的資料進行模型訓練再應用到新類中,要檢測所有的類别則需要全部進行比對,十分耗時。而論文是增量式添加類别到模型,以正常的推理形式直接檢測,十分高效且資料需求十分低,雖然最終的性能有點難看,但是這個思路還是可以有很多工作可以補的
如果本文對你有幫助,麻煩點個贊或在看呗~undefined更多内容請關注 微信公衆号【曉飛的算法工程筆記】