陳怡然教授論文獲2024 IEEE優秀論文獎!STN-iCNN:端到端的人臉解析框架
陳怡然教授論文獲獎!
這篇有關人臉識別/分析的論文拿下了2024 IEEE CIS TETCI優秀論文獎。
陳怡然教授在微博上表示,「四年前發表的文章居然得了2024年的杰出論文獎。」
圖片
論文題目:通過互聯卷積神經網絡進行端對端的人臉解析
圖片
人臉解析是一項重要的計算機視覺任務,需要對人臉部位(如眼睛、鼻子、嘴巴等)進行精確的像素分割,為進一步的人臉分析、修改和其他應用提供基礎。
互聯卷積神經網絡(iCNN)被證明是一種有效的人臉解析模型。然而,最初的iCNN是在兩個階段分別訓練的,這就限制了它的性能。
為了解決這個問題,本篇論文引入了一個簡單的端到端人臉解析框架——STN輔助的iCNN(即:STN-iCNN),通過在兩個孤立階段之間添加空間變換器網絡(STN)來擴展iCNN。
STN-iCNN利用STN為原始的兩階段iCNN管道提供可訓練的連接,使端到端的聯合訓練成為可能。
此外,作為副產品,STN還能提供比原始裁剪器更精確的裁剪部分。
由于這兩個優勢,研究人員的方法顯著提高了原始模型的精度。研究人員的模型在標準人臉解析數據集Helen數據集上取得了具有競爭力的性能。
它還在CelebAMask-HQ數據集上取得了優異的性能,證明了其良好的泛化能力。
STN-iCNN
下面兩張圖片比較了STN-iCNN和傳統的基線法的對比。
在圖a中,我們可以看到基線法分為兩步。
第一步是檢測和裁剪人臉部分,第二步是分別標注裁剪的部分。由于在此過程中使用的裁剪方法不可區分,因此這兩個階段無法進行聯合訓練。
如開頭所說,這限制了系統的性能。
研究人員提出的方法通過在基線方法的兩個步驟之間添加空間變換器網絡(STN),就可解決了這一問題。STN用一個可微分的空間變換器取代了原來的裁剪器,使模型能夠端到端地訓練。
圖片
而像圖b中的STN-iCNN方法,對于每幅輸入的圖像,首先會調整圖像大小并傳遞給iCNN模型,由iCNN模型進行粗分割。
然后,將粗分割版本發送給STN,STN的定位網絡預測變換器參數矩陣θ。然后,以θ為參數,網格變換器對原始圖像中的相應部分進行裁剪。
最后,逆網格變換器將所有部分預測結果重映射為最終的整體預測結果。
圖片
下圖是iCNN的結構示意圖。
圖3則是STN模塊中的定位網絡結構。
這個9層網絡是VGG16的簡化版本。每個卷積層(白色)包括卷積、批量歸一化和ReLU非線性激活。
在每兩個卷積層之后,應用平均池化(紅色)。
最后,應用ReLU激活的全連接層(藍色)。
圖片
研究人員將整個系統的訓練過程分為預訓練和端到端訓練。
首先,為了達到更好的效果,先對系統進行了預訓練。其中,有兩個模塊需要進行預訓練,一個是用于粗分割的iCNN K,另一個是用于部件定位的定位網絡L。
如下圖所示,K的輸入為調整后的圖像I0,輸出為粗略預測值z。
圖片
其優化目標是z和調整后的標簽J'之間的交叉熵損失LR。
表1顯示了詳細的超參數。
研究人員分兩個階段對提出的模型進行訓練:預訓練和端到端訓練。其中,在端到端訓練之前加載了前一階段獲得的預訓練參數。
對于HELEN數據集,訓練和推理在單個英偉達GTX1080Ti GPU上執行,而對于CelebMaskA數據集,這些操作在4個英偉達GTX1080Ti GPU上執行,每個GPU的批量大小為16。
所提出的模型具有良好的效率。在推理效率方面,基線模型每張臉的運行時間為86毫秒,而提出的模型每張臉的運行時間為80毫秒。
對于HELEN的訓練效率,預訓練階段需要0.5h,端到端階段需要2.2h;對于CelebMaskA的訓練效率,預訓練階段和端到端階段分別需要1.6h和10.2h。
在CelebMaskA上的混合訓練策略:在HELEN上訓練,在CelebMaskAD上微調由于CelebMaskA的數據量較大,直接訓練需要更多的計算資源和更長的訓練時間。
在實踐中,研究人員發現使用CelebMaskA中的2000張圖像對已經在Helen數據集上訓練過的模型進行微調,兩者的性能相近。
這種方法在單個GPU上僅需2.1小時,節省了大量的訓練時間。這證明了研究人員模型的通用性。
圖片
研究人員以之前一些研究者的結果為基線,將其與重新實現的iCNN和所提出的STN-iCNN在HELEN數據集上的結果進行了比較。
比較結果如表2所示,其中STNiCNN*表示STN-iCNN在端到端訓練前的結果。
我們能看到,即使在端到端訓練之前,模型的結果也有明顯改善。
這是因為STN中的定位網絡具有深度CNN層,因此可以從粗糙掩膜中學習語義部分的上下文關系。在粗略掩碼不完整的情況下,仍然可以預測準確的變換矩陣。
因此,STN能夠比原始裁剪器更精確地裁剪,從而提高了整體性能。
圖片
如圖5所示,研究人員在HELEN數據集上對兩種不同的裁剪方法進行了對比實驗。在該實驗中,研究人員選取了一些圖像,并隨機地將其面部部分(如左眉、右眼、嘴等)與背景信息覆蓋在一起。然后研究人員將圖像發送給粗略標注模型,得到不完整的粗略分割結果,見圖5中的第2行。在粗略結果的基礎上,研究人員使用基線方法和STN方法對未裁剪圖像進行裁剪,并比較它們的裁剪結果。實驗結果如圖5最后兩行所示。結果表明,STN方法即使在粗糙掩膜部分缺失的情況下也能正常工作。
圖片
模型K的基線輸入大小為64×64,考慮到眼睛和眉毛特征較小,研究人員的模型將輸入大小改為128×128。
這一改變對基線方法的影響有限,但對研究人員的方法有明顯改善,如圖6所示。
裁剪補丁的大小應該是奇數而不是偶數。這是為了保證,在網格采樣過程中網格坐標為整數,從而使網格變換器等于基線方法在裁剪操作中的裁剪器。
圖片
如圖7所示,可以看出當無法找到整數網格時,STN進行雙線性插值,而基線裁剪器進行一像素偏移,從而導致結果不相等。
圖片
對于HELEN數據集,研究人員設置H ? W ? 81,對于CelebMaskA數據集,研究人員設置H ? W ? 127。兩種裁剪方法在HELEN數據集上的比較結果如圖8所示。
圖片
在選擇了合適的超參數后,研究人員完成了本文提出的STN-iCNN的端到端訓練,并在HELEN數據集上將其測試結果與最先進方法進行了比較。
從表3可以看出,本文提出的STN-iCNN大大提高了原始iCNN模型的性能。
值得一提的是,由于研究人員的模型無法處理毛發,也無法確定毛發對模型總體得分的影響,因此研究人員沒有將其與Lin等人(2019)的結果進行比較。
圖片
表4顯示了基線模型和研究人員提出的模型在F1得分上的比較。
在CelebAMask-HQ上的結果再次證明了所提方法和端到端訓練的有效性,表明研究人員的模型具有一定的泛化能力。
更多論文內容盡在參考鏈接中。