1. 程式人生 > >ECCV18 | 如何正確使用樣本擴充改進目標檢測效能

ECCV18 | 如何正確使用樣本擴充改進目標檢測效能

眾所周知,在計算機視覺識別任務中,對訓練樣本進行增廣是非常重要的,可以減少過擬合、改進模型泛化效能。

在大多數視覺任務中,對影象進行顏色改變或是增加隨機噪聲等這些通用資料增廣操作,都會改進模型預測能力,但如果能利用特定任務的先驗知識則往往會獲得更大的效能改進。比如在目標檢測的任務中,將目標的影象隨機複製貼上到其他背景影象中,形成人造的含有目標的樣本。

來自ECCV2018的論文《Modeling Visual Context is Key to Augmenting Object Detection Datasets》研究了在目標檢測任務中,使用目標類例項分割標註的資料進行資料增廣的上下文建模,取得了顯著的效能改進。
作者資訊

演算法思想
將擁有畫素級標註的物件例項,與場景影象合成,作為目標檢測的訓練影象是一種顯而易見的樣本擴充,但問題並不是這麼簡單,該文作者發現如果忽視了場景影象上下文字身出現該物件的可能性,隨機將物件例項與影象合成的話,有時候甚至會使檢測效能下降。
如下圖所示:

上圖中將Instances列中的影象放入Images列中。右上角是正常的影象合成,使用上下文引導(context guidance)的方法,這些物體在現實世界中經常是自然同時出現的。右下角是錯誤合成的影象,狗的頭部不能以大的尺度出現在鐵軌上,啤酒瓶不該和飛機一起出現在天空中。
也許你已經想到了這篇文章的想法,訓練一個深度學習網路,預測Images中某一幅影象是否適合與某一類例項instance相合成。
請看下圖:

首先在場景影象中生成200個候選框,然後以每個候選框為中心裁剪出包圍它的周圍鄰域影象,將候選框內畫素置0,將此裁剪出的影象送入Context CNN,分類其與那一類目標合成最自然。最後將目標例項適應大小(rescale)並與上述影象融合(blend),作為擴充的訓練樣本。
下面是一些常用的影象blend合成方法示例:

如何為Context CNN分類器構建訓練樣本呢?
該文作者的做法非常簡單,找到資料庫中含有目標的影象中的目標包圍框,將完全覆蓋此包圍框的外圍圖摳出來作為正樣本。
負樣本則是在那些不含有目標的區域摳圖。
請看下圖,在第一和第二行展示了構建的正樣本,第三行展示了構建的負樣本。

假設目標檢測的類別是K類,加上負樣本類,則該分類問題是K+1類影象的分類問題,訓練時作者使用在ImageNet預訓練的ResNet50網路微調權重。
下面是一些blend合成後的樣本示例:

第一行是合成的比較自然的,第二行有些視覺上的小問題,第三行則是一些錯誤合成的例子。

實驗結果
訓練資料使用Pascal VOC 2012資料集的訓練集,共20類目標,其目標含有畫素級語義標註,共1464幅影象,目標檢測器和Context CNN分類器均在其上訓練。
測試資料使用Pascal VOC 2007資料集的測試集,其含有4956幅影象,類別與訓練集相同。
目標檢測器模型使用開源的BlitzNet。
Base-DA:常規的影象顏色改變、影象縮放旋轉等樣本擴充方法。
Random-DA:使用隨機背景影象與目標影象合成的方法。
Context-DA:該文提出的考慮上下文建模的方法。

作者首先為每一個目標類訓練單個的檢測器,訓練20個,評估其效能,如上圖中的Table 1,
相比Base-DA方法,可以看到除了在chair類效能略有下降,其他類別效能均上升,而隨機影象合成的Random-DA則對效能造成了損害。
這證明該文提出的方法不僅有效,而且對於目標類別沒有特定性,是通用的目標檢測樣本擴充方法。

而後作者訓練一個多目標檢測器,如上圖中的Table 2,除了在bus類下降,整體效能同樣得到提升。

上述方法用在語義分割上怎麼樣?
上文證明,這種面向特定任務的目標檢測樣本擴充方法大幅提高了效能,那能否將其用在語義分割場景中呢?
答案是肯定的。在作者後續擴充版本的論文《On the Importance of Visual Context for Data Augmentation in Scene Understanding》中,使用上述方法,也改進了語義分割的效能。

如果訓練資料只有目標的包圍框,沒有畫素級標註怎麼辦?
上述增廣方法,必須得到目標的畫素級標註,不然在合成的時候會很不自然,分割資料的標註可是非常耗時且昂貴的。
作者的答案是使用弱監督學習,在擴充版本論文中,對於訓練資料中影象使用DeepLabV1-DeepLabV4語義分割方法分割出目標,將分割結果整合,然後用於訓練資料的合成。
通過使用這種弱監督學習的方法,相對有畫素級標註的監督學習方法,只損失了0.6%的mAP效能,仍比不進行樣本擴充高出1.6%。

總結
這篇論文深入研究了目標檢測樣本擴充的上下文建模方法,表明樣本擴充不能亂來,也要有“基本法”,比較有啟發的是,那常規的樣本擴充方法是否也有值得探索的“基本法”呢?比如顏色改變的程度大小?比如樣本旋轉的角度?等等。
期待各位讀者能發明更具指導性的方法來。

工程地址:
http://thoth.inrialpes.fr/research/context_aug/
https://github.com/dvornikita/context_aug