Adaptive Variance Based Label Distribution Learning For Facial Age Estimation
Abstract
從單個人臉圖像中估計年齡是計算機視覺中一個經典且具有挑戰性的課題。其最棘手的問題之一是標簽模糊,即同一個人的相鄰年齡的人臉圖像往往無法區分。現有的一些方法采用分布學習,利用年齡標簽之間的語義關聯來解決這一問題。實際上,他們大多對所有圖像的高斯標簽分布的方差設置一個固定的值。然而,方差與相鄰年齡之間的相關性密切相關,並且應該因年齡和身份的不同而不同。為了建立特定樣本方差模型,本文提出了一種基於自適應方差分布學習(AVDL)的人臉年齡估計方法。AVDL引入了數據驅動的優化框架元學習(meta-learning)來實現這一點。具體來說,AVDL對變量(即方差)執行meta梯度下降步驟,以最小化clean無偏驗證集上的損失。通過自適應學習每個樣本的適當方差,我們的方法可以更有效地近似真實的年齡概率分布。在FG-NET和MORPH II數據集上的大量實驗表明,我們提出的方法優於現有的最先進的方法。
1 Introduction
年齡估計是一個具有挑戰性和熱點的研究課題,它是根據一個人的面部圖像來預測他/她的年齡。它有很多潛在的應用,包括人口統計收集、商業用戶管理、視頻安全監控等。然而,影響估計結果的內部或外部因素很多,包括種族、光照、圖像質量等。此外,同一人的相鄰年齡的面部圖像,尤其是成人的面部圖像,通常看起來相似,導致標簽模糊。
近年來,人們提出了幾種深度學習方法來提高人臉年齡估計的性能。最常用的方法是將人臉年齡預測模型作為分類或回歸問題。基於分類的方法將每個年齡視為一個獨立的類,忽略了類之間的相鄰關系。考慮到年齡的連續性,回歸方法根據提取的特征對年齡進行預測。然而,正如前人的研究[31,33]所提出的,回歸方法面臨過擬合問題,這是由於人類衰老過程的隨機性和面部外觀與實際年齡之間的模糊映射造成的。此外,提出了一些基於ranking的方法,以實現更准確的年齡估計。這些方法利用個體的序數信息,並使用多個二值分類器來確定輸入圖像的最終年齡。此外,Geng等[13,8]提出了標簽分布學習(LDL)方法,該方法假設真實年齡可以用離散分布來表示。正如他們的實驗所表明的那樣,使用Kullback-Leibler (K-L)散度來衡量預測的和ground truth分布之間的相似性,可以幫助改進年齡估計。
對於標簽分布學習方法,分布的均值是ground truth年齡。然而,對於人臉圖像來說,分布的方差通常是未知的。以前的方法通常將方差作為一個超參數,並簡單地為所有圖像設置一個固定值。我們認為這些方法是次優的,因為方差與相鄰年齡之間的相關性很高,並且在不同的年齡和不同的人之間應該有所不同,如圖1所示。假設所有的圖像共享相同的方差可能會降低模型的性能。
為了解決上述問題,本文提出了一種新的基於自適應方差的分布學習方法(AVDL),用於年齡估計。具體來說,我們引入元學習,利用驗證集作為元目標,適用於在線超參數自適應工作[28],以構建特定方差,從而更好地近似真實年齡概率分布。如圖2所示,我們首先選擇一個小的驗證集。對於每次迭代,在方差中加入一個干擾變量,我們使用K-L損失作為訓練損失來更新訓練模型參數。然后我們將更新后的參數與驗證模型共享,並在驗證集上使用預測的期望年齡和ground truth計算L1損失作為元目標。利用該元向導,通過梯度下降更新干擾變量,並自適應地尋找適當的方差,使模型在驗證集上表現得更好。本工作的主要貢獻可以總結為:
提出了一種新的基於自適應方差分布學習(AVDL)的人臉年齡估計方法。AVDL可以有效地模擬相鄰年齡之間的相關性,更好地近似年齡標簽分布。
現有的深度模型假設不同年齡和身份之間的方差是相同的,與之不同的是,我們引入了一種數據驅動的方法,元學習,來學習特定樣本的方差。據我們所知,我們是第一個使用元學習方法來適應不同樣本的不同方差的深度模型。
在FG-NET和MORPH II數據集上的大量實驗表明,我們提出的方法優於現有的最先進的方法。
- 提出了一種新的基於自適應方差分布學習(AVDL)的人臉年齡估計方法。AVDL可以有效地模擬相鄰年齡之間的相關性,更好地近似年齡標簽分布。
- 現有的深度模型假設不同年齡和身份之間的方差是相同的,與之不同的是,我們引入了一種數據驅動的方法,元學習,來學習特定樣本的方差。據我們所知,我們是第一個使用元學習方法來適應不同樣本的不同方差的深度模型。
- 在FG-NET和MORPH II數據集上的大量實驗表明,我們提出的方法優於現有的最先進的方法。
2 Related Work
2.1 Facial Age Estimation
近年來,隨着卷積神經網絡(CNN)在計算機視覺任務中的快速發展,如人臉landmarks檢測[23]、人臉識別[38,3]、行人屬性[35]、語義分割[46,45],深度學習方法的年齡估計性能也得到了提高。本文簡要回顧了人臉年齡估計領域中一些具有代表性的研究成果。Dex等人[30]將人臉年齡估計作為一個分類問題,用分類概率加權的年齡期望來預測年齡。Tan等人提出了一種年齡組分類方法,稱為age group-n-encoding方法。然而,這些分類方法忽略了類或組之間的相鄰關系。為了克服這一問題,Niu等人提出了一種考慮年齡順序信息進行估計的多輸出CNN學習算法。Shen等人[32]通過擴展可微分決策樹來處理回歸,提出了Deep Regression Forests。此外,Li等人[22]提出了由局部回歸器和門控網絡組成的BridgeNet,以有效地探索年齡標簽之間的連續關系。Tan等人[34]提出了一種復雜的Deep Hybrid-Aligned Architecture (DHAA),它由全局、局部和全局-局部分支組成,並以互補的信息共同優化體系結構。此外,Xie等人提出了兩種集成學習方法,均采用順序回歸模型進行年齡估計。
2.2 Distribution Learning
分布學習是為解決標簽歧義[10]問題而提出的一種學習方法,已被應用於頭部姿態估計[12,8]、年齡估計[41,20]等許多識別任務中。Geng等[13,11]提出了兩種自適應標簽分布學習(ALDL)算法,即IIS-ALDL和BFGS-ALDL,迭代學習估計函數參數和標簽分布方差。雖然ALDL使用了自適應方差學習,但我們提出的方法在三個方面有所不同。首先,ALDL使用了傳統的優化方法,如BFGS,而我們使用的是深度學習和CNN。其次,ALDL在當前的訓練迭代中選擇更好的樣本來估計新的方差,而我們的方法使用元學習來獲得自適應方差。第三點是ALDL僅通過估計訓練樣本來更新方差,這可能會導致過擬合。我們的自適應方差是由驗證集監督的,更具通用性。利用標簽分布學習的方法彌補了訓練數據缺乏准確年齡的不足。Hou等人[20]提出了一種半監督自適應標簽分布學習方法。它利用無標簽數據來增強標簽分布的適應性,以尋找適合每個年齡的方差。然而,老化趨勢各不相同,相同年齡的人的差異也可能不同。Gao等[9]聯合使用LDL和期望回歸來緩解訓練和測試之間的不一致性。此外,Pan等人[25]提出了一個用於穩健年齡估計的均值-方差損失。Li等人[21]提出了標簽分布精煉方法,在不假設標簽分布形式的情況下自適應估計年齡分布,幾乎不考慮相鄰年齡的相關性。而我們的方法采用了帶有自適應元學習方差的高斯標記分布,更注重相鄰的年齡和順序信息。
2.3 Meta-learning
我們提出的AVDL是元學習的一個實例[36,1],即learning to learn。根據利用的元數據的類型,這一概念可以分為幾類[37],包括從經驗相似的任務中轉移知識,在任務之間轉移訓練過的模型參數,建立元模型去學習數據特征和單純從模型評價中學習。Model Agnostic Meta-Learning (MAML)[7]學會了模型參數初始化,以更好地執行目標任務。在元信息的指導下,MAML對元目標進行了一次梯度下降,更新了模型參數[16]。將驗證損失作為元目標的思想應用於few-shot學習[27]。參照few-shot學習,Ren等[28]提出了一種由驗證集指導的重加權方法(L2RW)。該方法試圖解決訓練集中數據不平衡和標簽噪音的問題。L2RW的關鍵標准是使用一個小的無偏差的干凈驗證集作為學習樣本權重的監督員。由於驗證集的性能衡量的是超參數的質量,將其作為元目標不僅可以應用於樣本重新加權,也可以應用於其他在線超參數適應任務。受此啟發,我們提出AVDL去結合基於驗證集的元學習和標簽分布學習來自適應學習標簽方差。
3 Methodology
在本節中,我們首先介紹了年齡估計中的標簽分布學習(LDL)方法。然后介紹了基於元學習框架的自適應方差分布學習方法。
3.1 The Label Distribution Learning Problem Revisit
X表示ground truth標簽為y,的輸入圖像。模型被訓練去預測一個盡可能和ground truth標簽相近的值。對於傳統的年齡估計方法,ground truth是個整數。在LDL方法中,為了解決標簽的模糊性問題,Gao等[8]變換真實值y成一個正態分布p(y,σ)去表示一個新的ground truth。均值設置成ground truth標簽y,σ是正態分布方差。這里我們使用的黑體小寫字母如p(y,σ)去表示向量,使用pk(y,σ)(
)表示p(y,σ)的第k個元素:
其中pk表示真實年齡是k的概率。其表示從一個正態分布的視角,類k和y之間的關聯。
在訓練過程中,假設G(*,θ)是訓練估計模型的分類函數,θ表示模型參數,變換輸入X為分類向量
。一個softmax函數被用於轉換
為一個概率分布
,第k個元素被表示為:
其中是
的第k個元素
LDL試圖生成與ground truth分布盡可能相似的預測softmax概率分布。因此,我們使用Kullback-Leibler (K-L)散度來度量預測分布與ground truth分布[8]之間的差異:
然后利用K-L損失,用SGD優化器更新模型參數。
LDL方法的目的是構建一個接近ground truth的正態分布,其關鍵是方差σ。對於大多數LDL方法,這個超參數被簡單地設置為一個固定值,在大多數情況下是2.0。然而,事實上,不同的人,或者不同年齡的人的方差不可能是絕對相同的。因此,我們提出了一種為每個圖像搜素恰當方差的方法。
3.2 Adaptive Distribution Learning Based on Meta-learning
在機器學習中,驗證集的損失是調整超參數以實現泛化的指導方法之一。因此,使用干凈的無偏差的驗證集可以幫助訓練更通用的模型。然而,傳統的訓練模式通常是手動調優超參數。受元學習工作[28]的啟發,我們提出了由驗證集指導的基於自適應方差的分布學習(AVDL)算法,為學習樣本特定方差提供了一種有效的策略。
正如我們在3.1節中提到的,LDL最重要的超參數是方差σ。因為我們的目標是在訓練時尋找每個圖像的合適的σ,在本節中,我們使用σ來表示一個batch的訓練數據的方差向量。每次迭代的最優σ取決於最優模型參數θ:
其中表示驗證損失,
表示訓練輸入圖像,
表示其對應的標簽。同樣地,
表示驗證輸入圖像,
為其對應標簽。為了解決優化問題,我們將訓練過程分成幾個步驟。圖2顯示了我們方法的計算圖
我們從訓練集n的每個類中選擇有着正確標簽固定數量的圖像去生成一個大小為m的小的無偏驗證集,m << n。我們使用σi表示第i個圖像的方差,同時設置所有圖像方差的初始值為σi0。為了得到恰當的方差,我們為每個σi添加干擾項:
其中表示干擾向量
的第i個成分,初始化設置為0。可見,訓練得到一個恰當的σ等價於訓練一個恰當的
。
首先,由圖2的步驟1、2、3可見,第t個迭代,輸入訓練的batch使用干擾σ去計算如Section 3.1描述的K-L損失。使用SGD更新模型參數θt為:
α表示下降步長
訓練損失與分布有關。為了彌補最終預測年齡值缺乏約束的不足,我們在驗證時采用L1損失來度量預測的期望年齡與驗證ground truth值[9]之間的距離:
其中表示驗證輸入
預測向量的第k個元素,
表示第k個類的年齡值,即
。在section 4中期望年齡計算方法也用於估計測試圖像
超參數越好,驗證性能就越好。在此,我們用梯度下降步驟更新了擾動ξ:
其中β表示下降步數。該操作和圖2中的步驟4相關。由於σ的非負限制,我們要歸一化ξ到[-1,1],使用映射。然后根據等式6更新參數σ。在訓練的第3步,使用修改后的方差,計算訓練圖像的K-L損失,然后使用SGD優化器更新模型參數,如圖2的步驟5、6所示
我們在算法1中一步步羅列了我們的偽代碼,這里對變量ξ進行了兩次導數計算,PyTorch的autograd機制能夠自動實現該操作
4 Experiments
圖像大小為224x224,並進行了數據增強。在測試中,輸入原圖和反轉版本兩張圖,其結果的平均值作為預測的最終結果。使用Resnet-18做為基礎網絡,使用SGD優化器,batch size設置為32。權重衰減和momentum設置為0.0005和0.9。初始學習率設置為0.01,每20個epochs衰減0.1倍。每張圖的方差的初始值設置為1,使用Pytorch在GTX TITAN X GPUs訓練網絡
詳情省略
5 Conclusions
本文提出了一種新的年齡估計方法——基於自適應方差的分布學習(AVDL)。AVDL引入元學習,在單次迭代中自適應地調整每幅圖像的方差。在多個年齡估計數據集上,該算法的性能優於其他算法。我們的實驗也表明,AVDL可以引導方差接近真實的面部衰老規律。使用元學習來指導關鍵超參數的想法是鼓舞人心的,我們將探索更多的可能性。