半監(jiān)督目標檢測綜述解讀
Semi-supervised Object Detection: A Survey on Recent Research and Progress
近年來,深度學習技術在目標檢測領域得到了成熟的應用,但大多數(shù)算法都是基于監(jiān)督學習。然而,大量標簽數(shù)據(jù)的獲取需要大量的人力資源,這導致了低效和局限性。半監(jiān)督目標檢測(SSOD)因其具有較高的研究價值和實用性而越來越受到關注。SSOD旨在利用少量標簽數(shù)據(jù)和大量未標簽數(shù)據(jù)進行信息學習。本文從五個方面對SSOD方法進行了全面而最新的調查。首先簡要介紹了幾種數(shù)據(jù)增強方法。然后,我們將主流的半監(jiān)督策略分為偽標簽、一致正則化、基于圖和遷移學習的方法,并介紹了一些在具有挑戰(zhàn)性的場景中的方法。我們進一步介紹了常用的損失函數(shù),并概述了常用的基準數(shù)據(jù)集,比較了不同代表性方法之間的準確性。最后,我們總結了本文,并提出了一些有前景的研究方向。
一、引言
深度學習技術在數(shù)據(jù)挖掘、計算機視覺、自然語言處理、多媒體學習等領域取得了巨大成果。目標檢測是計算機視覺中最重要和最具挑戰(zhàn)性的分支之一,廣泛應用于人們的生活,如監(jiān)控安全和自動駕駛。隨著深度學習網(wǎng)絡在檢測任務中的快速發(fā)展,目標檢測器的性能得到了極大的提高。為了執(zhí)行檢測任務,深度學習技術通過提取和分析樣本數(shù)據(jù)的特征來完成目標定位和分類,因此標簽樣本為目標檢測任務提供了大量的數(shù)據(jù)庫。大型數(shù)據(jù)集(如MS-COCO)在很大程度上推動了深度學習在目標檢測領域的繁榮。
然而,據(jù)我們所知,目前還沒有關于最近出現(xiàn)的基于半監(jiān)督學習的目標檢測方法的綜述。本文將對半監(jiān)督目標檢測的最新技術(SOTA)算法進行全面回顧,詳細描述其創(chuàng)新點和框架。SSOD系統(tǒng)通常包括三個模塊:數(shù)據(jù)增強、半監(jiān)督策略和損失函數(shù)。我們還構建了一個分類法,從SSOD的過程角度對所有這些方法進行概述(如圖1所示)。
本文的后續(xù)內容安排如下:相關工作在第二節(jié)中介紹,數(shù)據(jù)增強在第三節(jié)中介紹,半監(jiān)督策略在第四節(jié)中介紹,具有挑戰(zhàn)性的場景在第五節(jié)中介紹,損失概述在第六節(jié)中,數(shù)據(jù)集和比較結果在第七節(jié)中,結論和未來方向在第八節(jié)中。
二、相關工作
半監(jiān)督學習是一種結合監(jiān)督學習和無監(jiān)督學習的方法,重點關注如何在訓練過程中合理利用標簽和非標簽樣本。它通過應用一些假設來建立預測樣本和學習目標之間的關系:(1)平滑性假設認為,當兩個樣本在高密度區(qū)域緊密相鄰時,它們很可能具有相同的類別標簽。(2)聚類假設認為,當兩個樣本在同一聚類中時,它們很可能屬于相同的類別。(3)流形假設認為,當兩個樣本在低維流形的小局部鄰域內時,它們具有相似的類別標簽。
基于這些假設,已經有許多在圖像分類任務中得到廣泛應用的成熟算法,論文[4]-[8]對這些算法進行了全面調查。這些半監(jiān)督學習方法通常可以分為以下幾類:生成方法[9][10];基于圖的方法[11][12];一致性正則化方法[13][14];偽標簽方法[15]-[18]和混合方法[19]-[21]。
盡管已經有一些關于半監(jiān)督圖像分類和監(jiān)督目標檢測的調查,但據(jù)我們所知,本文是第一篇關于半監(jiān)督目標檢測的綜述。
三、數(shù)據(jù)增強
數(shù)據(jù)增強對于提高模型的泛化能力和魯棒性至關重要,這是SSOD的第一步。為了提高模型的魯棒性并合理利用未標簽數(shù)據(jù)信息,一致性正則化用于約束增強數(shù)據(jù)的輸出標簽的一致性。增強方法因不同方法之間的差異而有很大不同。
A. 強增強
強增強方法可以豐富數(shù)據(jù)集并提高模型性能。文章[29][31]中的方法利用顏色抖動、灰度、高斯模糊和裁剪補丁來增強數(shù)據(jù)。裁剪具有較弱的正則化效果。
B. 弱增強
弱增強通常使用簡單的圖形變換。隨機水平翻轉、隨機調整大小和多尺度是一些常規(guī)的弱增強方法[22][23]。
C. 混合增強
為了避免上述問題,MUM方法[25]在一批未標簽圖像上同時應用弱增強和強增強。此外,Instant-teaching[24]直接將馬賽克應用到基于偽標簽的SSOD框架中。STAC[26]探索了不同的變換操作變體,并確定了一組有效組合:1)全局顏色變換;2)全局幾何變換;3)邊界框級變換。
四、半監(jiān)督策略
如圖1所示,在數(shù)據(jù)增強之后,下一步是設計一個訓練框架,將來自標簽和未標簽圖像的信息進行整合。目前,SSOD方法遵循四種策略。我們將介紹這些策略的一些代表性方法,以及一些經典方法的流程圖。
A. 偽標簽
第一種策略是基于偽標簽的方法,如圖2所示,這些方法通過預先訓練的模型估計未標簽圖像的偽標簽,然后在增強后將標簽和未標簽數(shù)據(jù)一起訓練模型。大多數(shù)方法都是基于兩階段錨定檢測器,如Faster-RCNN[52]。
1) 自訓練
自訓練使用標簽數(shù)據(jù)訓練一個優(yōu)秀的教師模型,該模型用于預測未標簽數(shù)據(jù),最后使用所有數(shù)據(jù)訓練一個學生模型。目前,許多SSOD方法利用未標簽樣本的信息進行偽標簽預測的自訓練以提高模型性能。研究[27]表明,自訓練優(yōu)于預訓練,并展示了自訓練的通用性和靈活性。STAC[21]提出了一種基于硬偽標簽的SSOD算法。標簽數(shù)據(jù)用于訓練教師模型,用于預測未標簽數(shù)據(jù),使用閾值選擇高置信度偽標簽,并計算強增強未標簽數(shù)據(jù)的無監(jiān)督損失和標簽數(shù)據(jù)的監(jiān)督損失的偽標簽。STAC方法的概述如圖3所示。
為了解決類別不平衡問題,ACRST[23]提出了一種自適應類別重平衡自訓練框架,通過從存儲了豐富的實例級注釋的裁剪庫中提取前景實例來重平衡訓練數(shù)據(jù)。
2) 優(yōu)化偽標簽
STAC僅生成一次性偽標簽,但使用初始預測偽標簽會限制模型準確性的提高。為了緩解確認偏差問題并提高偽標簽的質量,大多數(shù)方法在訓練階段糾正偽標簽。如圖5所示,無偏教師[31]利用偽標簽訓練區(qū)域建議網(wǎng)絡(RPN)和RoI頭,解決了偽標簽偏見問題,并通過使用指數(shù)移動平均(EMA)和Focal損失提高了偽標簽質量。分類置信度用于篩選檢測框架的假標簽,這無法反映定位的準確性。RPL[32]將分類置信度的均值與原始檢測分類置信度相乘,作為反映分類準確性和定位準確性的指標。
基于雙挖掘,為了提高對假偽標簽的容忍度,SIOD[33]通過基于相似性偽標簽生成模塊(SPLG)的潛在實例挖掘和像素級分組對比學習模塊(PGCL)提出了一種方法。
Cross Rectify[34]利用檢測器之間的不一致性來識別自我錯誤,并通過交叉糾正機制精細化偽標簽質量。
MUM方法[25]在SSOD框架中使混合輸入圖像平鋪和特征空間中的重構。
Instant-teaching[24]提出了一種在每個訓練迭代中使用即時偽標簽和擴展的弱強數(shù)據(jù)增強進行教學的糾正方案。
Dense Learning[22]提出了自適應過濾策略和聚合教師,以產生穩(wěn)定和精確的偽標簽,此外,在規(guī)模和洗牌補丁之間引入了不確定性一致性正則化項,以提高檢測器的泛化能力。Dense Learning的框架如圖9所示。
與STAC采用硬標簽不同,Humble教師[37]采用軟標簽,從類別概率的預測分布和所有可能類別的偏移中獲取軟標簽。為了提供更多信息,Humble教師使用大量的區(qū)域建議和軟偽標簽作為學生模型的訓練目標。Humble教師的框架如圖8所示。
3) 均值教師
均值教師在這些方法[24][30]中被廣泛使用,它包含一個教師模型,其權重是從學生模型的EMA獲得的,以及一個需要從教師模型學習的對象生成的學生模型。Soft教師[30]提出了一種端到端的半監(jiān)督目標檢測方法,為了充分利用教師模型的信息,未標簽邊界框的分類損失通過教師網(wǎng)絡產生的分類分數(shù)加權。此外,它選擇具有小于閾值的邊界框回歸方差作為偽標簽,以便更好地學習邊界框回歸。Soft教師的框架如圖6所示。
5) 密集指導
密集學習[22]提出了自適應過濾策略和聚合教師,以產生穩(wěn)定和精確的偽標簽,此外,在規(guī)模和洗牌補丁之間引入了不確定性一致性正則化項,以提高檢測器的泛化能力。Dense教師[39]引入了區(qū)域選擇技術,突出關鍵信息,同時抑制密集標簽帶來的噪聲。為了用更豐富的監(jiān)督替換稀疏偽標簽,密集教師指導(DTG)[39]提出了一種新的“密集到密集”范式,將DTG集成到學生訓練中。它還引入了反向NMS聚類和排名匹配,使學生能夠從教師那里接收到足夠、豐富和密集的指導,從而自然地帶來更好的性能。
6) 點標簽
點標簽可以提供實例的位置信息,大大節(jié)省了標注時間。在統(tǒng)一的架構Omni-DETR[ 40]中,不同類型的弱標簽可以利用二分圖匹配基于過濾機制生成準確的偽標簽。Point DETR[41]通過添加點編碼器擴展了DETR。如圖10所示,基于經典的R-CNN架構,Group R-CNN[42]提出了實例級建議分組和實例級表示學習,通過實例感知特征增強和實例感知參數(shù)生成來提高RPN召回率,并實現(xiàn)實例組與實例框之間的一對一對應關系。
五、具有挑戰(zhàn)性的場景
除了經典的半監(jiān)督目標檢測方法外,還提出了一些方法以適應具有挑戰(zhàn)性的環(huán)境。
1.VC學習[57]為每個令人困惑的樣本分配一個VC值,使其即使沒有具體標簽也可以安全地為模型優(yōu)化做出貢獻。它還修改了定位損失,以便為位置回歸提供高質量的邊界。 2.數(shù)據(jù)蒸餾方法[36]提出了一種基于提示學習和有界知識蒸餾的自蒸餾算法,利用凈化的數(shù)據(jù)進行訓練。 3.開集半監(jiān)督目標檢測方法[58]提出了一種離線開集檢測器,基于自監(jiān)督視覺轉換器,表現(xiàn)良好,避免了偽標簽的干擾。 4.半監(jiān)督長尾識別是一種新的研究領域,其尾部類別的數(shù)據(jù)分布不平衡和樣本稀缺導致檢測準確性較低。文章[59]提出了一種交替抽樣框架,結合模型解耦和不同的數(shù)據(jù)抽樣策略進行監(jiān)督訓練和半監(jiān)督訓練。
這些方法從不同角度解決了半監(jiān)督目標檢測任務中的問題,為未來工作提供了有力的參考。
六、損失函數(shù)
根據(jù)第一節(jié),在網(wǎng)絡中使用數(shù)據(jù)增強和半監(jiān)督策略后,下一步是為SSOD設計合適的訓練損失。設計的損失對SSOD能從數(shù)據(jù)中學到什么有很大的影響。本節(jié)介紹了一些常用的損失函數(shù)。
在大多數(shù)SSOD方法中,總體損失被定義為帶權重的標記圖像的監(jiān)督損失和未標記圖像的無監(jiān)督損失之和,可以表示為:
L = αL_x + (1-α)L_u
其中L_x和L_u分別表示標記圖像的監(jiān)督損失和未標記圖像的無監(jiān)督損失,α控制無監(jiān)督損失的貢獻。它們都包括分類損失和回歸損失。
分類和定位的損失通常分別由加權和的標準交叉熵損失和平滑L1損失[35][41][43]實例化。其他方法選擇具有不同特征的損失函數(shù)。
七、數(shù)據(jù)集和比較結果
使用具有挑戰(zhàn)性的數(shù)據(jù)集作為基準對于目標檢測任務具有重要意義,因為它們能夠對算法進行嚴格的標準比較。目前,已經有一些高質量的檢測數(shù)據(jù)集在SSOD領域得到應用。
MS-COCO[3]數(shù)據(jù)集是由微軟開發(fā)和維護的大規(guī)模圖像數(shù)據(jù)集,其標簽類型包括目標檢測、關鍵點檢測、實例分割、材料分割、全景分割的人關鍵點、人類密度檢測等。它包含超過118k張標記圖像和來自80個目標類別的850k個標記對象實例用于訓練。此外,還有123k張未標記圖像可供半監(jiān)督學習使用。表1總結了在該數(shù)據(jù)集上SOTA方法的性能。
PASCAL-VOC[3]由VOC07和VOC12組成,常用于SSOD,包含4個廣泛的數(shù)據(jù)集類別:車輛、家庭、動物和人物。VOC07的訓練集包含5011張來自20個小目標類別的圖像,用作標記訓練數(shù)據(jù)集。VOC12的訓練集包含11540張圖像,用作未標記訓練數(shù)據(jù)集。表2總結了在PASCAL-VOC數(shù)據(jù)集上SOTA方法的性能。
八、結論和未來方向
監(jiān)督算法和半監(jiān)督算法都可以應用于目標檢測任務。監(jiān)督算法可以實現(xiàn)良好的性能,但也存在一定的局限性,如需要大量標記數(shù)據(jù)和對數(shù)據(jù)質量的高要求。本文介紹的半監(jiān)督算法只需少量標記數(shù)據(jù)和大量未標記數(shù)據(jù)即可提高模型質量,從而在實踐中節(jié)省標記成本。本文全面回顧了近年來文獻中提出的半監(jiān)督目標檢測方法,根據(jù)基本原理對相關方法進行了分類,并描述了它們的優(yōu)缺點,對實踐者和學術研究人員都可能感興趣。
自訓練方法可能是解決目標檢測中半監(jiān)督學習的最直觀方法,但仍然面臨許多挑戰(zhàn)。我們對未來發(fā)展的一些有趣觀察如下:
1.偽標簽的準確性:自訓練模型的成功表明,使用單個自訓練模型學習未標記數(shù)據(jù)的表示并在半監(jiān)督領域構建中間標簽系統(tǒng)來處理半監(jiān)督中的不足標簽問題是可能的。然而,確認偏差和過度使用的偽標簽問題被忽略了。改進的方法需要探索如何更有效地利用未標記數(shù)據(jù),同時減輕確認偏差問題并提高偽標簽的質量。 2.標簽形式:偽標簽在SSOD中已被證明是有效的,并在MS-COCO和PASCAL VOC等基準測試中取得了最先進的效果。然而,生成偽標簽的過程需要幾個額外的步驟,如NMS、閾值和標簽分配。密集指導方法是一項開創(chuàng)性的工作,邁出了邁向更簡單有效的偽標簽形式的第一步。軟標簽與教師區(qū)域建議的平衡數(shù)量相結合是實現(xiàn)卓越性能的關鍵。基于點的標簽方法也可以實現(xiàn)更好的成本-準確性權衡。因此,設置各種標簽形式以獲取更多樣本細節(jié)是有用的。 3.類別平衡:當前的SSOD方法有助于在平衡數(shù)據(jù)下有效提高檢測準確性和對噪聲樣本的魯棒性。然而,在真實場景中,訓練階段需要大量平衡標記數(shù)據(jù)是很難應用的。將未標記圖像中的類別平衡考慮在內,并開發(fā)更多資源友好的半監(jiān)督目標檢測方法具有意義。
ps:承接程序代寫, 小程序編寫 程序應用 深度學習 卷積神經網(wǎng)絡 pytorch paddlepaddle 數(shù)據(jù)結構 機器學習 目標檢測 圖像處理
有需要的兄弟們可以在我公眾號留言。
論文解讀的ppt(有備注,可直接講)可以在知識星球獲?。?/p>
我正在「目標檢測er的小圈子」和朋友們討論有趣的話題,你?起來吧?
https://t.zsxq.com/0cM8tmd4l
