OHEM
演算法背景
作者提出了一種困難負樣本挖掘的方法,困難負樣本是指模型難以區分的負樣本,也就是容易將負樣本當成正樣本的那些樣本,例如,當roi中沒有目標,全是背景的時候,這時候分類器就很容易正確分類成背景,這就是“容易負樣本”,如果roi中有一半是目標,但是標簽仍然是背景,這個時候分類器就容易把它當作成正樣本,這就是困難負樣本,因此需要多找一些困難負樣本加入負樣本集,進行訓練,
OHEM
網路結構
OHEM的基準演算法是fast rcnn,目的就是對其進行一點改動就可以大幅度提高性能,網路結構如下所示
圖中除掉(b)模塊其余部分是fast rcnn的網路結構,(b)模塊是比fast rcnn多出來的一部分,對于fast rcnn這種two stage 的檢測模型,可以抽象成“推薦”和“分類回歸”兩個部分,OHEM的作用恰好是兩個部分的中間,
在推薦網路(fast rcnn用的是ss演算法,faster rcnn用的是rpn)之后,會有很多ROI傳到后邊的網路,這部分輸出是推薦網路鎖推薦的Region proposal,通常推薦網路會有數以千計的Region proposal傳輸到分類回歸網路,分類回歸網路會對這些proposal進行分類、坐標和尺寸回歸以及置信度打分,在訓練階段,可以通過這些引數與標注結果進行計算得出損失值,
演算法流程
OHEM則是利用的訓練階段產生的損失值,
OHEM的流程如下:
1、正常進行一次Faster RCNN的前向傳播,獲得每個Region proposal單獨的損失值,
2、對每個Region proposal進行NMS
3、對NMS剩下的Region proposal按照損失值進行排序,然后選取損失最大的前一部分Region當做輸入再次輸入分類回歸網路,這一步可以屏蔽loss非常低的Region proposal,也就是所謂的正樣本,對于訓練多次loss還較高的我們可以認為其是困難樣本,所謂的線上挖掘,就是先計算loss→篩選→得到困難負樣本
4、將困難樣本輸入圖中的(b)模塊,(b)模塊是(a)模塊的復制版,(b)模塊是用來反向傳播的部分,然后吧更新的引數共享到(a)部分,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243544.html
標籤:其他
下一篇:Python爬蟲學習(一)
