hard example mining(困難樣本挖掘)


Hard example mining

核心思想:用分類器對樣本進行分類,把其中錯誤分類的樣本(hard negative)放入負樣本集合再繼續訓練分類器。

why hard negative?

FP: false positive, 錯誤的將其分類成正例。
我的理解是label 相對特征明顯一些,如果把label分成負例說明這個分類器模型不夠好。主要的問題還是龐大的negative里面有些令分類器難以分辨的物體。  
關鍵: 找到這些影響分類器性能的hard negetive.

how hard negative?

數據集

  • 對於目標檢測中我們會事先標記處ground truth,然后再算法中會生成一系列proposals,proposals與ground truth的IOU超過一定閾值(通常0.5)的則認定為是正樣本,低於一定閾值的則是負樣本。然后扔進網絡中訓練。However,這也許會出現一個問題那就是正樣本的數量遠遠小於負樣本,這樣訓練出來的分類器的效果總是有限的,會出現許多false positive。把其中得分較高的這些false positive當做所謂的Hard negative,既然mining出了這些Hard negative,就把這些扔進網絡再訓練一次,從而加強分類器判別假陽性的能力。
  • 可以自己做出這樣的數據集用於以后的訓練或是測試

loss上選取

  • 對於上面那種離線的方法也可以采用online的方案,訓練的時候選擇hard negative來進行迭代,從而提高訓練的效果。
    在這里插入圖片描述
  • 制定規則去選取hard negative: DenseBox
    In the forward propagation phase, we sort the loss of output pixels in decending order, and assign the top 1% to be hard-negative. In all experiments, we keep all positive labeled pixels(samples) and the ratio of positive and negative to be 1:1. Among all negative samples, half of them are sampled from hard-negative samples, and the remaining half are selected randomly from non-hard negative.
    核心思想:選取與label差別大(loss大)的作為hard negtive
  • 根據制定的規則選取了hard negative ,在訓練的時候加強對hard negative的訓練。

rois上選取

  • 選取rois: OHEM
    在這里插入圖片描述

  • 在綠色部分的(a)中,一個只讀的RoI網絡對特征圖和所有RoI進行前向傳播,然后Hard RoI module利用這些RoI的loss選擇B個樣本。在紅色部分(b)中,這些選擇出的樣本(hard examples)進入RoI網絡,進一步進行前向和后向傳播。同樣是利用loss選擇,但是針對的是two stage的方案,選取的是第一階段的rois。

總結

選取loss較大(檢測結果與label差異較大)的部分進行訓練。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM