CVPR 2022 | 針對目標檢測的重點與全局知識蒸餾(FGD)
來源丨h(huán)ttps://zhuanlan.zhihu.com/p/477707304編輯丨極市平臺
本文介紹我們CVPR2022關于目標檢測的知識蒸餾工作: Focal and Global Knowledge Distillation for Detectors,只需要30行代碼就可以在anchor-base, anchor-free的單階段、兩階段各種檢測器上穩(wěn)定漲點,現(xiàn)在代碼已經開源,歡迎大家試用~
文章鏈接:https://arxiv.org/abs/2111.11837
代碼鏈接:https://github.com/yzd-v/FGD
前背景的不平衡對于目標檢測而言是一個重要的問題,這個問題同樣影響著知識蒸餾。
知識蒸餾旨在使學生學習教師的知識,以獲得相似的輸出從而提升性能。為了探索學生與教師在特征層面的差異,我們首先對二者的特征圖進行了可視化??梢钥吹皆诳臻g與通道注意力上,教師與學生均存在較大的差異。其中在空間注意力上,二者在前景中的差異較大,在背景中的差異較小,這會給蒸餾中的學生帶來不同的學習難度。
為了進一步探索前背景對于知識蒸餾的影響,我們分離出前背景進行了蒸餾實驗,全圖一起蒸餾會導致蒸餾性能的下降,將前景與背景分開學生能夠獲得更好的表現(xiàn)。
針對學生與教師注意力的差異,前景與背景的差異,我們提出了重點蒸餾Focal Distillation:分離前背景,并利用教師的空間與通道注意力作為權重,指導學生進行知識蒸餾,計算重點蒸餾損失。
2.全局信息的丟失如前所述,F(xiàn)ocal Distillation將前景與背景分開進行蒸餾,割斷了前背景的聯(lián)系,缺乏了特征的全局信息的蒸餾。為此,我們提出了全局蒸餾Global Distillation:利用GcBlock分別提取學生與教師的全局信息,并進行全局蒸餾損失的計算。
FGD僅需要獲取學生與教師的特征圖,便可完成重點蒸餾損失與全局蒸餾損失的計算,可以很方便的應用到各種類型的檢測器上。
我們對anchor-based與anchor-free的單階段與二階段檢測器進行了實驗,在COCO2017上學生檢測器均獲得了大幅的AP和AR提升。
我們采用了具有更強的檢測器對學生進行蒸餾,發(fā)現(xiàn)當使用更強的模型作為教師進行蒸餾時,F(xiàn)GD為模型能帶來更大的性能的提升。例如RetinaNet-R50在ResNet-101和ResNeXt-101的老師蒸餾下,分別可達到39.7和40.7的mAP。
對于使用FGD蒸餾完成后的學生模型,我們再次進行了注意力的可視化??梢钥吹?,經過FGD訓練后的學生,空間注意力和通道注意力的分布與教師都非常相似,這表明學生通過蒸餾學到了教師的知識并獲得了更好的特征,由此實現(xiàn)了性能的提升。
我們已將代碼開源:https://github.com/yzd-v/FGD
代碼基于MMDetection實現(xiàn),易于復現(xiàn),且已添加更多的教師與學生蒸餾設置,相關結果也在代碼中給出,歡迎大家使用。
*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。