【2019 | 知識蒸餾】Fast Huamn Pose Estimation

現有的人體姿態估計網絡,想要到達較好的效果,需要對網絡進行堆疊,不論是Hourglass,CPN,HRnet等優秀的網絡都有這個特性。但在實際應用時,效率是一個不可避免的問題。因此,本文提出了一種新的快速姿態蒸餾(FPD)模型學習策略。具體來說,FPD訓練了一個輕量級的姿態識別神經網絡架構,能夠以較低的計算成本快速執行。這是通過有效地轉移一個強大的教師網絡的模型知識來實現的。實驗證明了本文的FPD方法在最先進的姿態估計方法中的優勢。

本文主要考慮的是模型部署時的推理成本,本文的方案是首先構建一個輕量級的網絡,其次通過快速姿態蒸餾(FPD)模型訓練方法,將潛在的知識從一個預先訓練好的較大的教師模型轉移到構建好的輕量級網絡中,實現效率和精度的trade-off。然而現有的知識蒸餾的方法多是基於類別層次的判別,而本文的方法是基於關鍵點熱度圖的判別,這種方式使得蒸餾學習的效率更高,因爲特徵約束將變的更多。網絡的整體圖如下,正如上所述的步驟爲了建立一個高性價比的人體姿態估計模型,我們需要構建一個緊湊的主幹,如(a)一個輕量級的沙漏網絡。爲了更有效地訓練小目標網絡,在姿態估計中採用了知識蒸餾原理。這需要(b)預先訓練一個強大的教師姿勢模型,如最先進的沙漏網絡或其他現有的選擇。在©姿態估計過程中,教師模型通過擬態損失函數提供額外的監督指導。在測試推理時,小目標位姿模型可以實現快速和低成本的部署。最後拋棄了計算量大的教師模型,因爲它的區別性知識已經轉移到目標模型中,因此可以用於部署(而不是浪費)。

在目標圖像分類中,通過知識蒸餾策略,即讓目標小網絡模擬大教師模型[13]的預測,也出現了類似的問題。然而,目前還不清楚這種類似的方法在處理密集像素空間中的結構化人體姿態估計時的效果如何。爲了回答這個問題,在下面我們提出了一個位姿結構知識的精餾方法。

本文首先訓練一個大參數量的教師模型。我們可以選擇Hourglass,HRnet等效果較好,但運行效率不高的大模型。然後本文利用教師模型所學的知識來訓練目標學生模型。整個知識提取的關鍵是設計一個合適的損失函數,使得訓練能夠有效的提取教師模型的知識到學生模型。原有的蒸餾函數是針對分類背景下基於單標籤的softmax交叉熵損失設計的,不適用於輸出的特徵爲二維圖像空間的人體姿態熱度圖。爲了解決上述問題,本文設計了一個聯合置信度圖專用的姿態蒸餾損失函數表示爲:

而原始的學生模型基於標籤學習的損失函數如下:

上述公式中mk表示的是網絡輸出的第k個關鍵點的熱度圖。s表示的是學生模型,t表示的是教師模型。

網絡最終的損失函數如下:

其中阿爾法參數是用於平衡兩者這件的重要性,是一個超參數,正常可以設置爲0.5。最終使用該損失函數,可以讓網絡既學習標籤的知識,又學習大網絡的輸出分佈。

分析爲什麼蒸餾在關鍵點網絡中會有效:
1.由於在手工標註過程中很難找到正確的位置,所以關鍵點之間連接標籤很可能是錯誤的。在這種情況下,教師模型可以通過統計學習和推理來減少一些錯誤,從而減少錯誤標記的訓練樣本的誤導效果。
2.教師模型的置信度圖將預先從整個訓練數據集中學習到的抽象知識進行編碼,這可能有利於在知識提取過程中對每個訓練樣本進行學習。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章