【深度学习】ICCV2021|性能优于何恺明团队MoCo v2,DetCo:为目标检测定制任务的对比学习...
? 作者丨小馬
編輯丨極市平臺
導讀
?作者專為目標檢測任務“量身定制”了對比學習框架DetCo,在PASCAL VOC數據集上,DetCo在100個epoch時的性能就與MoCo V2 800個epoch的性能差不多,最終性能優于Mask RCNN-C4/FPN/RetinaNet等監督學習的方法。
【寫在前面】
深度學習兩巨頭 Bengio 和 LeCun 在 ICLR 2020 上點名 Self-Supervised Learning 是 AI 的未來。在Self-Supervised Learning的代表工作之一—— Contrastive Learning(對比學習)上,Hinton 和 Kaiming 兩位大神在這個領域中提出了一系列代表工作MoCo、SimCLR、MoCo V2。而目前的對比學習工作大多是基于分類任務被提出,而由于分類任務和檢測任務的不同,在分類任務上適用對比學習框架,不一定適用于目標檢測。因此,作者專為目標檢測任務“量身定制”了對比學習框架DetCo,在PASCAL VOC數據集上,DetCo在100個epoch時的性能就與MoCo V2 800個epoch的性能差不多,最終性能優于Mask RCNN-C4/FPN/RetinaNet等監督學習的方法。
1. 論文和代碼地址
論文地址:https://arxiv.org/abs/2102.04803
代碼地址:https://github.com/xieenze/DetCo
2. Motivation
視覺表示的自監督學習是計算機視覺中的一個重要問題,促進了許多下游任務。其中目前比較流行的方向之一是對比學習,它將一幅圖像通過數據增強轉換為多個視圖,并最小化來自同一圖像的視圖之間的距離并最大化來自不同圖像的視圖之間的距離。
目前的對比學習方法大多旨在在分類任務上達到與監督學習類似的performance,但是由于分類任務和檢測任務存在不同,而先前的方法又忽略了這種不同,所以將以前的對比學習方法用在檢測任務上時,就會產生suboptimal的問題。比如:
第一,由于每張圖片只屬于一個類,圖像分類通常是使用交叉熵等1-K形式的損失函數,這在目標檢測中存在爭議,因為一個圖像通常有許多不同類別的對象。
第二,目標檢測通常需要對局部圖像區域進行對象分類和框回歸,但圖像分類只需要全局圖像表示。
第三,最近先進的目標檢測器通常在多層次特征上預測目標,而圖像分類器通常學習高級判別特征(即最后面的特征)。
為了能夠使得對比學習框架能夠在detection、segmentation、pose estimation等下游任務上也能表現出非常好的性能。本文首先研究了最新的自監督方法存在的圖像分類精度與目標檢測精度之間的不一致性 。然后,作者提出了三種的practice ,以適應目標檢測任務。最后,根據這些practice,作者設計了DetCo 。
本文的貢獻點可以分為三個部分:
1)證明了當以前的自監督學習表示被轉移到下游任務時,圖像分類和目標檢測之間準確性的不一致。
2)提出了一種新的檢測友好自監督方法,DetCo,它能夠結合多個全局和局部對比損失,以提高目標檢測任務中對比學習的特征表示。
3)基于Palcal VOC、COCO和Cityscapes數據集,當轉移到檢測、分割、姿態估計等下游任務中時,DetCo優于以前的SOTA方法。
3. 方法
3.1. 分類和檢測的不一致性
作者詳細分析了最近的自監督學習方法的圖像分類和目標檢測方法的性能,發現分類任務的performance和檢測任務基本不一致。作者對比了監督的ResNet50、Relative-Loc、MoCo v1、MoCo v2和SwAV。
如上圖所示,在分類任務上,SwAV達到最佳的Top-1準確率72.7%,但是在檢測任務中,MoCov2達到57.0%的mAP,而SwAV僅只有54.5%。這表明,同一個網絡結構的分類和檢測的準確性不一致,相關性較低。
從上圖可以看出,雖然Relative-Loc的VOC分類性能遠低于其他方法,但檢測性能具有競爭力。這表明,對于目前的自監督學習方法,圖像分類的傳輸性能與目標檢測的相關性較低。
為什么這些方法的檢測性能如此不同?
MoCov1和v2是對比學習的方法,而SwAV是一種基于聚類的方法 。因此,SwAV的訓練過程在一定程度上與監督分類方法相似 。因此,與對比學習方法相比,基于聚類的方法對圖像分類任務更友好,這就是為什么SwAV與監督的ResNet在圖像分類和目標檢測任務上具有相似的性能 。
此外,作者認為對比學習方法比基于聚類/分類的目標檢測方法更好,還有一個原因是,基于聚類的方法假設先驗是一個給定的圖像中只有一個對象 ,這與對象檢測的目標不對應的。而對比性的學習方法并不需要這樣的先驗知識,它從整體的角度來區分圖像。
為什么不是基于對比學習的Relative-Loc也能在檢測任務上具有非常好的性能?
從上圖可以看出,雖然Relative-Loc(結構如下圖所示)在分類任務上表現一般,但是在檢測任務上性能還是比較好的。作者考慮了兩個原因:
1)Relative-Loc不僅使用了最后的特征,而且使用了淺階段的特征,具有較強的識別能力。
2)Relative-Loc專注于預測局部patch之間的相對位置,這對檢測任務有利。
設計針對目標檢測任務的對比學習框架,指導原則是什么?
針對上面的分析,作者提出了三個原則:
1)基于對比學習的方法比分類或聚類好。
2)同時保持低級和高級特征來進行目標檢測。
3)除了全局圖像特征外,local patch特性對目標檢測也至關重要。
3.2. DetCo
根據上面提出的guideline,作者基于MoCov2結構,加入了多階段對比損失和跨局部和全局對比,提出了DetCo,如上圖所示。DetCo的損失函數函數為多階段,跨尺度的對比損失函數之和,具體表示如下:
3.2.1. ?Intermediate Contrastive Loss
為了滿足上面的guideline2,作者將一幅圖像送到一個標準的主干ResNet-50,它輸出來自不同階段的特征,稱為Res2、Res3、Res4、Res5。MoCo只使用Res5,但本文使用所有級別的特征來計算對比損失。輸出的特征,作者分別送入到4個參數不共享的MLP中,得到4個q和4個k,對于每一層的特征,損失函數如下:
本文的損失函數為4層特征的損失函數之和:
3.2.2. ?Cross Global and Local Contrast
為了滿足上面的guideline3,作者增強了DetCo的Local Patch表示,使用jigsaw augmentation將輸入圖像轉換為9個Local Patch。這樣,就減少了全局圖像的上下文信息。這些Patch通過編碼器,就可以得到9個局部特征表示。之后,將這些特征組合為一個特征表示,并構建一個跨全局和局部對比損失。具體方式為將這9個特征concat之后,放入到另一個MLP中,得到特征表示。
因此就可以得到了Global - Local 和Local - Local的對比,損失函數如下:
4.實驗
4.1. 消融實驗
4.1.1. 分層對比損失的有效性
HIC為分層對比損失,從上表的(a)和(b)可以看出,加入多層特征之后,分類任務的準確率下降了,但是檢測任務的準確率上升了。
4.1.2. 跨Local和Global對比的有效性
CGLC為跨Local和Global對比,從上表的(c)和(b)可以看出,加入跨Local和Global對比之后,分類和檢測任務的性能都上升了。
4.2. Transfer Results on General Object Detection
4.2.1. PASCAL VOC
只用100個epoch的預訓練,DetCo幾乎達到了與MoCov2-800ep相同的性能。此外,DetCo-800ep達到了58.2mAP和65.0 AP75的SOTA性能。
4.2.2. COCO
上表展示了standard 1× schedule上的Mask R-CNN結果,DetCo在所有指標中優于MoCov2和其他方法。
上表的2-3列展示了one-stage檢測器RetinaNet的結果。DetCo預訓練也優于ImageNet監督方法和MoCov2。
4.3. 其他下游任務
4.3.1.Multi-Person Pose Estimation.
上表的最后一列展示了DetCo在人體關鍵點檢測任務上也能達到比較好的性能。
4.3.2. Segmentation for Autonomous Driving
DetCo在實例分割和語義分割任務上也能達到比較好的性能。
4.3.3. 3D Human Shape Prediction
在3D Human Shape Prediction任務上,DetCo也達到了很好的性能。
4.3.4. 分類
雖然本文的結構是為檢測任務設計的,但是在分類任務上,本文的結構依舊能夠達到比較好的性能。
4.4. 可視化
上圖可視化了DetCo和MoCov2的attention map。可以看到,當圖像中有多個對象時,DetCo成功地定位了所有對象,而MoCov2則無法激活某些對象。
5. 總結
首先,作者詳細分析了一系列自監督方法,并得出了分類和檢測任務性能不一致性的結論。其次,作者提出了三個practice來設計一個對于檢測任務友好的自我監督學習框架。第三,按照practice的做法,作者提出加入具有分層中間對比損失和跨全局和局部對比。最終DetCo在一系列與檢測相關的任務上取得了最先進的性能。
本文的Motivation是解決了以前對比學習框架專注于提升分類任務的性能,從而忽略其他任務性能的問題。而作者設計了一些非常有效的結構使得模型的泛化性提高,能夠適應不同的任務。基于對比學習的預訓練是為了得到一個非常general的特征,因此個人覺得,作者跳出了特定任務的性能提升,將格局放大,旨在提升更多任務的性能,使模型更具泛化性,是非常有意義的。
如果覺得有用,就請分享到朋友圈吧!
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼: 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的【深度学习】ICCV2021|性能优于何恺明团队MoCo v2,DetCo:为目标检测定制任务的对比学习...的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: JEECG分页条数自定义
- 下一篇: js使用深度优先遍历实现getElmen
