半監督輔助目標檢測:自訓練+數據增強提升精度
論文:https://arxiv.org/pdf/2005.04757.pdf
1 簡要
半監督學習 (SSL) 有可能提高使用未標記數據的機器學習模型的預測性能。盡管最近取得了顯著進展,但SSL的演示范圍主要是圖像分類任務。
在今天分享中,有研究者提出了STAC,這是一種用于視覺目標檢測的簡單而有效的SSL框架以及數據增強策略。STAC從未標記的圖像中部署本地化目標的高度可信的偽標簽,并通過數據增強提升一致性來更新模型。
2 背景
引用《論文解讀】【半監督學習】【Google教你水論文】A Simple Semi-Supervised Learning Framework for Object Detection》
https://www.lbyxlz.com/%e3%80%90%e8%ae%ba%e6%96%87%e8%a7%a3%e8%af%bb%e3%80%91%e3%80%90%e5%8d%8a%e7%9b%91%e7%9d%a3%e5%ad%a6%e4%b9%a0%e3%80%91%e3%80%90google%e6%95%99%e4%bd%a0%e6%b0%b4%e8%ae%ba%e6%96%87%e3%80%91a-simple-semi
主要介紹了一種半監督學習策略(包括模型+數據增強方法),開創性的在目標檢測領域使用半監督學習,提出了STAC(自訓練和一致正則化驅動的增強策略,簡單來說就是用偽標簽做自訓練,訓練中加入了一致正則化為原理的數據增強,很多小伙伴可能不理解什么是一致正則化?通俗點就是說圖像和圖像+干擾應該在網絡的輸出結果是相同的,即抗噪聲干擾的能力,也可以理解為魯棒性,那么這個一致正則化很厲害嗎?)
半監督學習(Semi-supervised Learning)
半監督學習在訓練階段結合了大量未標記的數據和少量標簽數據。與使用所有標簽數據的模型相比,使用訓練集的訓練模型在訓練時可以更為準確,而且訓練成本更低。
為什么使用未標記數據有時可以幫助模型更準確,關于這一點的體會就是:即使你不知道答案,但你也可以通過學習來知曉,有關可能的值是多少以及特定值出現的頻率。
3 新框架
STAC流程:
- 用已有的標簽圖像訓練一個教師模型(teacher model)用來生成偽標簽(有點知識蒸餾那味了,這個模型是Faster-RCNN)。
- 用訓練好的模型推理剩余的未標注的圖像,生成偽標簽。
- 對未標注的數據進行增強,同步偽標簽(圖像旋轉的時候也要將標簽的坐標同步呀,不然不都錯位了嗎)。
- 使用半監督Loss來訓練檢測器
訓練教師模型
研究者在Faster RCNN上進行我們的實驗,因為它已成為最具代表性的檢測框架之一。Faster RCNN具有分類器(CLS)和區域提議網絡(RPN)在共享骨干網之上。每個Head有兩個模塊,分別是區域分類器和邊界框回歸器。為簡化起見, 研究者提出監督和無監督的RPN的損失。監督損失的寫法如下:
生成偽標簽
執行教師模型檢測器生成偽標簽。偽標記的生成不僅涉及主干網絡,RPN和CLS網絡的前向,而且還涉及諸如非極大抑制(NMS)之類的后處理。這不同于傳統的分類方法,置信度分數是根據原始預測概率計算得出的。 研究者使用NMS之后每個返回的邊界框的分數,該分數匯總anchor框的預測概率。NMS能消除重復檢測框, 但是不會過濾掉位置錯誤的框。
數據增強策略
consistency-based SSL方法(例如UDA [58]或FixMatch [49])的關鍵因素是強大的數據增強。而有監督和半監督的擴充策略在圖像分類領域已被廣泛研究,沒有太多論文對物體檢測進行研究。我們使用最近提出的RandAugment以及Cutout [10],如下:
基于一致性的SSL方法(例如UDA和FixMatch)成功的關鍵因素是強大的數據增強方法。雖然監督和半監督圖像分類的增強策略已被廣泛研究,但尚未為目標檢測做出太多努力。 研究者使用最近提出的增強搜索空間(例如,框級變換)和Cutout擴展了用于目標檢測的RandAugment。 研究者探索了轉換操作的不同變體并確定了一組有效的組合。每個操作都有一個大小,決定了強度的增強程度。
4 實驗及可視化
盡管SSL取得顯著進展,但SSL方法主要應用于圖像分類,今天分享的框架提出了一個簡單而有效的SSL檢測框架——STAC。STAC從一個未標記的圖像得到highly confident的偽標簽,并通過strong data augmentations確保一致性來更新模型。