增量式物體檢測

【摘要】 當前主流的目標檢測器模型在訓練時即確定了需要檢測的物體種類,如果想要增加新的類別,只能重新訓練。本文介紹了一種增量式的物體檢測模型,可以隨時增加新的類別,更符合實際場景。

文章信息:Konstantin Shmelkov, Cordelia Schmid, Karteek Alahari. Incremental Learning of Object Detectors without Catastrophic Forgetting. ICCV 2017.

文章主要介紹一種針對深度學習中物體檢測任務的增量式學習方法。具體來說,問題的設置爲:假設在一開始的時候已經有了一個用一些數據訓練得到的物體檢測模型;之後又有一批新的數據,這批數據上只標註了新的、未見過的類別的bounding box和類別,增量式物體檢測方法的目標是在已有模型的基礎上,學習一個新的模型,可以同時檢測之前的類別和新類別的物體。

這個設置的難點在於,如果不對方法進行特殊的設計,而只使用新的數據更新模型,則模型在原來的類別上的表現會非常差,這個現象被稱作“災難性遺忘”。爲了解決這個問題,作者提出將原始模型中的知識“蒸餾”出來,並在更新模型的時候既對新類別進行學習,也對這部分蒸餾出來的知識進行學習,從而保證模型不會遺忘已有的知識。

具體來說,該方法的模型設計如上圖所示。本文中,爲了保證候選的region proposal不是針對原有模型中特定的類別,而是針對通用的物體,方法的基本架構基於Fast RCNN。當更新模型的時候,需要兩個版本的模型,其中上路的Network A爲原始的模型(模型參數完全固定,不進行調整),下路的Network B爲可以更新的模型。模型的整體流程如下:

  1. 以新類別的圖像作爲Network A的輸入,從背景得分最低(即物體得分最高)的128個RoI中隨機選取64個,並在Network B中計算這64個RoI的預測輸出(包括分類預測的logits和bounding box regression輸出),約束Network B的預測輸出和相應的Network A的預測輸出相同(使用L2損失進行約束,忽略Network B中對應新類別的輸出項)。通過約束新模型在已有類別上的輸出和舊模型在已有類別上的輸出相同,保證舊類別的知識可以遷移到新模型上;
  2. 針對新增的類別,使用標準的Fast RCNN損失進行訓練。

從實驗結果來看,相比於在具有完整標註的全部數據上的模型訓練的方式來說,增量式物體檢測方法在性能上有一定的下降,但是相比於不考慮“災難性遺忘”問題的方案有明顯的提升。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章