論文閱讀筆記《Few-Example Object Detection with Model Communication》

核心思想

  本文提出一種少樣例目標檢測算法(MSPLD)。首先說明一下本文提到的“少樣例學習”(few-example learning)和我們之前瞭解的“少樣本學習”(few-shot learning)還是有一些區別的。最重要的區別就是few-example是指訓練集中包含少量帶有標籤的樣本和大量無標籤的樣本(類似於半監督學習或弱監督學習,但半監督學習中有標籤樣本所佔比例通常在50%,而少樣例學習中有標籤樣本所佔比例通常爲1%左右,每個類別中包含3-4個樣本),而few-shot是指訓練集中只包含少量帶有標籤的樣本,而不包含無標籤樣本。本文並不是提出一種目標檢測的算法,而更接近於一種通過交替訓練的方式,利用無標籤樣本不斷提高目標檢測器的性能,並採用多模型結構解決少樣例學習容易陷入局部最優解的問題。整個網絡的處理過程如下圖所示。
在這裏插入圖片描述
  首先我們看到最上面一行中藍色方框中包含許多圖片,其中黃色底表示少量有標籤樣本,灰色底表示大量的無標籤樣本。第二行黑色方框中表示的是目標檢測器,本文選用了R-FCN和Fast RCNN作爲baseline。在第一次迭代(round 0)過程中,用少量帶有標籤的圖像對目標檢測器做初始化。然後利用初始化後的模型給無標籤圖片生成一系列的僞標籤(邊界框和類別),第二次迭代(round 1)時,則利用帶有標籤的數據集和一部分置信度比較高的帶有僞標籤的數據集對目標檢測器進行訓練。重複迭代這個“生成僞標籤-訓練目標檢測器”的過程,就能不斷提高目標檢測器的性能,而且這一過程類似與課程學習(本文中也稱作Self-paced Learning,SPL),是一個由簡到難的漸進過程,剛開始模型的檢測能力較差,只能找到少部分比較容易的目標物體,但隨着訓練的進行,模型的能力逐步增強,逐漸可以找到難度更高的目標物體,如圖中最右側藍色框內所示。爲了避免少樣例學習容易陷入局部最小化的問題,本文提出了多模型學習方案,如下圖所示。
在這裏插入圖片描述
  多個模型分別獨立地預測出一系列標籤,而各個模型之間會相互比較,如果前一個模型預測地結果優於本模型的結果,則保留上一個模型的預測結果,如模型1預測的汽車,在模型2的結果中得以保留;如果本模型預測的結果要優於前一個模型的結果,則取代前一個模型的預測結果,如模型1預測的花盆,就被模型2的預測結果所取代了。最後通過極大值抑制NMS的方式,保留所有模型預測的結果中超過設定閾值的目標,作爲這一回合的輸出。

實現過程

網絡結構

  目標檢測器選擇R-FCN和Fast RCNN的網絡結構

損失函數

  本文設定的目標函數如下

在這裏插入圖片描述
上式看起來有點複雜,我們逐步拆解來看,首先介紹各個符號的含義:

  • wjw^j表示第jj個模型的參數(也就是目標檢測器的參數)
  • vi,cjv^j_{i,c}表示第ii個圖像中被預測爲第cc個類別的邊界框是否用於模型jj的訓練,因此只有0,1兩種取值
  • yiujy^{uj}_i表示模型jj爲第ii個無標籤圖像所預測的僞標籤
  • λ,γ\lambda,\gamma表示兩個正則化項的係數
  • Ψ\Psi表示一種先驗知識
  • mm表示模型總數
  • l,ul,u分別表示每個類別中有標籤圖片個數和無標籤圖像個數
  • CC表示類別總數
  • BB表示邊界框預測函數,B(I)B(I)就是圖片II中各個物體邊界框的預測結果
  • VjV^j是一個u×Cu \times C的矩陣,包含了第jj個模型所對應的vi,cjv^j_{i,c}的情況

然後我們介紹目標函數中各項表示的含義,第一項LsjL_s^j表示模型jj對有標籤圖像的預測損失;第二項LcjL_c^j表示模型jj對無標籤圖像的預測損失,計算方法如下
在這裏插入圖片描述
第三項表示SPL正則化項,希望在每次迭代訓練中被選中用於模型訓練的僞標籤樣本儘可能多;第四項表示多模型正則化項,希望每個模型所採用的僞標籤訓練樣本儘可能地相似,而這是由前一回合模型預測結果的置信度決定的,這一項的意義就是希望各個模型認爲置信度高的目標應該是比較統一的。約束條件5和6共同決定了,對於第ii幅無標籤圖像最多隻能有一個類別的物體,用於第jj個模型的訓練;約束條件7則表明,對於無標籤圖像的預測結果是來自於多個模型的綜合結果FF^*,且要滿足先驗知識Ψy\Psi_y。關於多模型綜合的方式前面已經介紹過了,而此處提到的先驗知識Ψ\Psi則是作者爲了降低同一幅圖中包含多個類別或同一類別包含多種物體的情況下目標檢測的難度,所人爲設定的約束,即如果同一幅圖中包含類別超過四種,或同一類別包含物體超過四個,那麼這張圖片將被移除。

訓練策略

  本文的訓練過程如下
在這裏插入圖片描述
  首先利用有標籤數據集L\mathbb{L}初始化參數WW,並初始化矩陣VjV^j;然後對於每次迭代的每個模型,都要先利用先驗知識Ψ\Psi清楚無標籤數據集中不符合條件的樣本,再利用下式生成僞標籤
在這裏插入圖片描述
實際過程中求解上式的最優解難度太大,本文是選擇NMS策略保留各個模型預測的結果中閾值超過0.2的僞標籤,用作下一階段的訓練;計算第jj個模型的分類損失,然後利用下式更新vi,cjv^j_{i,c}
在這裏插入圖片描述
最後用更新過的帶有僞標籤的數據集和帶有真實標籤的數據集再次訓練目標檢測器的參數wjw_j

創新點

  • 本文提出一種利用少量帶有標籤的數據集和大量無標籤數據集共同訓練目標檢測網絡的方法
  • 利用交替訓練和多模型交互的方式提高了少樣例目標檢測的效果

算法評價

  本文提出的方法比較符合實際的應用情況,即圖像易得,標籤不易得,利用網絡預測出無標籤圖像的僞標籤,再選擇置信度高的僞標籤圖像對網絡進行訓練,反覆交替迭代訓練,逐步提高網絡的效果。並且提出了多個模型獨立預測,再相互比較,選擇最佳結果的方式,解決了少樣例目標檢測容易陷入局部最優解的問題。整篇文章內容紮實,介紹詳細,推理也比較清楚,只是符號太多,容易讓讀者感到混亂。

如果大家對於深度學習與計算機視覺領域感興趣,希望獲得更多的知識分享與最新的論文解讀,歡迎關注我的個人公衆號“深視”。在這裏插入圖片描述

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