Learning Meta Face Recognition in Unseen Domains
Abstract
人臉識別系統在實際應用中往往面臨未知領域,由於其泛化能力較差,導致性能不理想。例如,一個訓練良好的webface數據模型不能處理監視場景中的ID vs. Spot任務。在本文中,我們的目的是學習一個可以直接處理新的未知域的泛化模型,而不需要任何模型更新。為此,我們提出了一種基於元學習的人臉識別方法,命名為Meta Face Recognition (MFR)。MFR用一個元優化目標函數來合成源/目標域偏移,這要求模型不僅學習合成源域上的有效表征,而且學習合成目標域上的有效表征。具體來說,我們通過域級采樣策略構建domain-shift batches,通過優化多域分布得到合成源/目標域的反向梯度/元梯度。在此基礎上,進一步結合元梯度對模型進行了更新,提高了模型的泛化能力。此外,我們還提出了兩種用於泛化人臉識別評價的基准。通過與一些基線和其他最先進技術比較,在我們的基准上的實驗驗證了我們的方法的泛化能力。代碼可見https://github.com/cleardusk/MFR
1. Introduction
人臉識別是研究領域的一個長期課題。最近的研究[1,2,3,4,5,6,7,8]在一些常見的基准上,如LFW [9], YTF[10]和megface[11],將性能推到了一個非常高的水平。這些方法是基於CASIA-Webface[12]、MS-Celeb[13]等訓練集和測試集具有相似的分布的假設的。然而,在人臉識別的實際應用中,在源域上訓練的模型通常部署在具有不同分布的另一個域
中。有兩種場景:(i)目標域
已知,數據可訪問。(二)目標域沒見過。第一種場景的方法被分類為域自適應人臉識別(domain adaptation for face recognition),其中常見的設置是源域
包含有標簽的人臉域,目標域
包含有或沒有標簽的人臉。域自適應方法試圖將從
中學習到的知識應用到
中,使模型在
中具有較好的通用性。第二種場景可以看作是人臉識別的域泛化,我們稱之為泛化人臉識別,因為訓練的模型通常部署在未知的場景中,面對沒見過的數據。如圖1所示,部署的模型應該能夠推廣到未知的領域,而不需要任何更新或微調。
與域自適應方法相比,泛化人臉識別研究較少,且具有較大的挑戰性,因為它不對目標域進行假設。據我們所知,目前還沒有關於泛化人臉識別問題的相關研究。一個相關的任務是視覺識別的域泛化,它假設源域和目標域共享相同的標簽空間,並且是一個小的集合,如7個類別[14]。然而,泛化人臉識別是一個open-set問題,具有更大的類別規模,現有的方法對其不適用。
在這篇文章中,我們的目的是學習一個模型的泛化人臉識別問題。一旦在一組源域上進行了訓練,模型就可以直接部署到一個未知域上,而不需要任何模型更新。受[14,15]的啟發,我們提出了一種新的元學習人臉識別框架,命名為Meta face recognition (MFR)。MFR通過一個元優化目標函數來模擬源/目標域的移動,優化模型不僅在合成源域上學習有效的人臉表征,而且在合成目標域上學習有效的人臉表征。采用域級采樣策略模擬域轉移,將源域划分為元訓練域/元測試域。為了優化多域分布,我們提出了三種方法:1)hard-pair注意損失優化了hard pairs的局部分布;2)soft分類損失考慮了batch中的全局關系;3)域對齊損失學習通過對齊域中心來減少元訓練域差異。將這三種損失結合起來學習域不變且具有區分度的人臉表征。通過元優化,將來自元訓練域和元測試域的元梯度進行聚合,並用於更新網絡以提高模型泛化能力。與傳統的元學習方法相比,我們的MFR不需要對目標域進行模型更新,可以直接處理未知域。
我們的主要貢獻包括:(i)我們首次強調了泛化人臉識別問題,這需要一個訓練有素的模型在未知域上很好地泛化,而不需要任何更新。(ii)提出了一種新的Meta Face Recognition(MFR)框架來解決泛化人臉識別問題,該框架通過跨域元學習可遷移的知識來改善模型的泛化能力。(iii)設計了兩個通用的人臉識別基准進行評價。在提出的基准上的大量實驗驗證了我們方法的有效性。
2. Related work
Domain Generalization. 域泛化可以追溯到[16,17]。DICA[17]采用基於內核的優化方法去學習域不變特征。CCSA[18]可以通過將源域分布對齊到目標域分布來處理域自適應和域泛化問題。MLDG[14]首先采用元學習方法MAML[15]進行域泛化。與域自適應相比,域泛化是一個研究較少的問題。此外,上述域泛化工作主要集中在源域和目標域共享相同標簽空間的closed-set類別級識別問題。相比之下,我們的泛化人臉識別問題更具挑戰性,因為目標類與源類是不相交的。這意味着泛化人臉識別是一個open-set問題,而不是像MLDG[14]那樣的closed-set問題,我們必須同時處理域間隙和不相交的標簽空間。一個相關的工作是DIMN[19],但是它在任務和方法上都與我們不同。
Meta Learning. 最近的元學習研究主要集中在:(1)學習一個好的權值初始化以快速適應新任務,如基礎MAML[15]及其變體Reptile[20]、meta-transfer learning[21]、iMAML[22]等。(ii)使用設計良好的分類器學習嵌入空間,該分類器可以直接對新任務中的樣本進行分類,無需快速適應[23,24,25]。(iii)在整個訓練集上預訓練一個好的特征提取器后,學習預測分類器參數[26,27]。這些工作集中於few-shot學習,通常設置是目標任務有很少的數據點(1/5/20 shots per class)。相比之下,泛化人臉識別應該處理數千個類別,這使其更具挑戰性和普遍適用性。我們的方法與MAML[15]最為相關,它試圖學習一個可轉移的權值初始化。然而,MAML需要快速適應目標任務,而我們的MFR不需要任何模型更新,因為目標域是未知的。
3. Methology
本節描述提出的MFR方法是如何解決泛化人臉識別問題。MFR由三部分組成:(i)域級采樣策略。(ii)用於優化多域分布以學習域不變且具有區分度的人臉表征的三個損失。(三)改進模型泛化能力的元優化流程如圖3所示。概述如圖2和算法1所示。
3.1. Overview
在訓練階段,我們訪問了N個源域,每個域
都有自己的標簽集。在測試階段,訓練好的模型在一個或幾個未知目標域
上評估,且不需任何模型更新。除此之外,目標域的標簽集
和源域的標簽集
無關,使得該問題是open-set的。在訓練中,我們定義了一個使用參數為
的參數化函數
表示的單一模型。我們提出的MFR的目的是在源域
上訓練
,這樣它能夠在目標未知域
上很好地實現泛化,如圖1所示
3.2. Domain-level Sampling
為了實現域泛化,在每個訓練迭代中,我們將源域分割成元訓練(meta-train)和元測試(meta-test)域。具體說來,即我們將N個源域分割成N-1個meta-train域
和一個meta-test目標域
,用來模擬現實場景中存在的域轉變問題。這樣,模型就被鼓勵學習可轉移的知識,這些知識有關如何在有着不同分布的未知域上很好地進行泛化。我們進一步構建一個由多個batches組成的meta-batch,如下:(i)在N個源域上迭代;(ii)在第i個迭代中,
被選中為meta-test域
;(iii)剩下的作為meta-train域
;(iv)隨機選擇meta-train域中的B個身份和meta-test域中的B個身份,每個身份選取兩個人臉圖像,一張圖作為gallery,另一張圖作為probe。至此,一個N個batches的meta-batch就構建好了。然后,我們的模型通過每個meta-batch的累積梯度進行更新。具體方法見算法1。與MAML[15]不同的是,我們的采樣是域級的,適用於open-set人臉識別。MLDG[14]也進行了類似的采樣,但是它們的域在每次訓練迭代中是隨機划分的,並且沒有建立meta-batch。
3.3. Optimizing Multi-domain Distributions
為了聚合每個batch的反向傳播梯度,我們優化了多域分布,使相同身份映射成相近的表征,不同的身份則映射為互相遠離的表征。傳統的度量損失,如contrastive[28,29]和triplet[3],采用隨機抽樣的對或triplets來構建訓練batches。這些batches由許多簡單對或triplets組成,導致訓練收斂緩慢。為了解決這個問題,我們建議使用三個組件(即三個損失)去優化和學習域不變且有區分度的表征。hard-pair注意損失優化了hard對的局部分布,soft分類損失考慮了batch的全局分布,域對齊損失學習去對齊域中心。
Hard-pair Attention Loss. hard-pair注意損失專注於優化hard正對和負對。采樣B個身份的batch,每個身份包含一個gallery人臉和一個probe人臉。我們表示輸入為,抽取的gallery和probe嵌入為:
,C表示維度長度。對
和
L2歸一化后,我們可以通過計算
來高效地構建一個相似度矩陣。然后我們使用正對閾值
和負對閾值
去過濾hard正對和負對:
和
。該操作復雜度只有
,且定義如下:
其中為由閾值
過濾后的hard正對集,
為由閾值
過濾后的hard負對集
Soft-classification Loss. hard-pair注意力損失只集中在hard對上,並趨向於收斂到局部最優。為了解決這個問題,我們引入了一個特定的soft分類損失來進行batch內的分類。損失公式為:
其中yi=i表示第i個身份,或
是第i個身份的對數,s是一個常量尺寸因子。
初始化為
,且每一行進行L2歸一化
Domain Alignment Loss. 我們發現在meta-train域之間的負對比在域內的負對更容易(即更容易區分他們是負對)。通過加入域對齊正則化使嵌入具有域不變性,可以減小不同meta-train域的域間隙。這樣,跨meta-train域的負對變得更難區分,這樣有利於學習更具區分度的表征。為了實現域對齊,我們讓多個meta-train域的平均嵌入接近彼此。具體來說,我們首先計算meta-train域的所有平均嵌入的嵌入中心,然后優化所有平均嵌入與該嵌入中心的差異。由於meta-test只有一個域,所以域對齊損失只適用於meta-train域。損失公式為:
其中,是歸一化后的嵌入,
是從域
中采樣的batch的平均嵌入,
是meta-train域中所有平均嵌入的嵌入中心,n是meta-train域的個數,s是尺寸因子。在meta-optimization中,我們將會使用來自這三個損失的后向傳播信號去優化模型泛化能力。
(所以一個meta-batch迭代n次,因為有n個域,因此一個meta-batch中有n個batches。這里的meta-batch和batch是這個意思。然后對一個meta-batch中n個batches的梯度進行累積,一個meta-batch進行一個參數更新)
3.4. Meta-optimization
本節介紹如何優化模型以提高模型泛化能力。整個元優化過程總結在算法1中,如圖3所示。
Meta-train. 基於域級采樣,在一個meta-batch的每個batch中,我們采樣N-1個源域,然后從
中采樣B個圖像對
。然后在每個batch中計算損失,如下所示:
其中表示模型參數。模型接下來使用梯度
進行更新:
。該更新步驟和傳統的度量學習是相似的。
Meta-test. 在每個batch中,模型還在meta-test域上進行測試。該測試過程模擬了在有着不同分布的未知域上進行評估,來讓模型學習跨域泛化。我們還從meta-test域
上采樣了B個圖像對
。然后在更新后的參數
上計算損失,如下:
Summary. 為了同時優化meta-train和meta-test,最終的MFR目標函數為:
其中是α是meta-train的步長大小,γ用於平衡meta-train和meta-test。該目標函數的意義為:優化模型參數,這樣在meta-train域中更新后,模型在meta-test域中也能表現得很好。從另一個角度來看,等式(6)的第二項作為額外的正則化去更新具有高階梯度的模型,我們稱其為meta-gradients。比如,給定三個源域,一個meta-batch有三種meta-train/meta-test分法:
和
。對於每種划分或batch,一個梯度和meta-gradient分別在meta-train和meta-test中后向傳播。通過累積meta-batch中的所有梯度和meta-gradients,模型最終優化為能夠在meta-train和meta-test上實現良好的模型。圖3說明了梯度和meta-gradients在計算圖上是怎么流動的。
4. Experiments
為了評估我們提出的用於泛化人臉識別問題的MFR方法,我們在兩個我們提出的基准上進行了幾個實驗。
4.1. GFR Benchmark and Protocols
泛化人臉識別一直沒有引起人們的重視,我們也沒有一個通用的評估協議,因此我們引入了兩個設計良好的基准來評估模型的泛化能力。其中一個基准是跨種族評估(crossing race evaluation),命名為GFR-R,另一個基准是跨人臉多樣性( crossing facial variety),命名為GFR-V。我們在這里使用多樣性來強調在GFR-V的源域和目標未知域之間有很大的差距。
在現實世界的場景中,像MS-Celeb[13]這樣的大型基礎數據集通常用於預訓練,但是模型在具有不同分布的新領域上可能泛化較差。為了模擬它,我們使用MS-Celeb作為基礎數據集。RFW[35]最初被提出來研究人臉識別中的種族偏見,它標記了MS-Celeb的四個人種數據集(高加索人、亞洲人、非洲人、印度人)。我們選擇這四個數據集作為我們的四個種族域。注意,由於RFW[35]與MS-Celeb[13]重疊,我們根據身份關鍵字將所有重疊的身份從MS-Celeb中刪除,從而構建了名為MS-Celeb-NR的基礎數據集,即不包含RFW的MS-Celeb。MS-Celeb-NR可以看作是4個種族的獨立基數據集。
GFR-R. 每個種族都有大約2K到3K的身份。我們隨機選擇1K個身份進行測試,剩余的1K個~ 2K個身份進行訓練。數據集詳細信息如表1所示。在我們的實驗設置中,每個種族被視為一個域。我們在四個域中隨機選取三個域作為源域,其余的一個域作為測試域,測試域在訓練中是不可訪問的。因此,我們為GFR-R構建了四個子協議,如表2所示。
GFR-V. GFR-V基准用於跨人臉多樣性評估,設置較困難,能更好地反映模型的泛化能力。如表2所示,將4個種族數據集(高加索、亞洲、非洲、印度)作為源域,第5個數據集作為目標域。具體來說,目標數據集包括CACD-VS[30]、CASIA NIR-VIS 2.0[31]、MultiPIE[32]、MeGlass[33]、Public-IvS[34]。對於CASIA NIR-VIS 2.0,我們遵循view2評估[31]中的標准方案,並報告10折的平均值。對於MeGlass和Public-IvS,我們遵循標准的檢測方案[34,33]。對於CACD-VS,除了標准的[30]協議外,我們使用提供的2000個跨年齡圖像正對,並將它們分成gallery和probe,以進行ROC/Rank-1評價。對於Multi-PIE,我們選擇337個身份,每個身份包含大約3~ 4個正面gallery圖和3~ 4個45◦視圖的probe圖。
Benchmark Protocols. 對於每幅圖像,提取原始圖像和翻轉圖像的特征,然后串聯作為最終表征。分數是通過兩個表征的余弦距離來測量的。對於性能評估,我們使用 receiver operating characteristic (ROC) curve和Rank-1 accuracy。對於ROC,我們報告在低誤接受率(FAR)如1%,0.1%和0.01%下的驗證率(VR)。在Rank-1評價中,將每個probe圖像與所有gallery圖像進行匹配,如果top-1的結果是相同的,則為正確。
4.2. Implementation Details
我們的實驗是基於PyTorch[37]的。在對比實驗中將隨機種子設置為固定值2019,以便進行公平比較。我們使用一個28層的ResNet作為我們的backbone,但是通道數乘數(channel-number multiplier)為0.5。我們的backbone只有1.287億次FLOPs和464萬參數,這是相對輕量的。輸出嵌入的維數是256。在MS-Celeb-NR上使用CosFace[38]對模型進行預訓練。在訓練期間,所有的臉都被裁剪和調整到120×120。然后通過減去127.5並除以128對輸入進行標准化。分別將meta-train步長α、meta optimization步長β、和用來平衡meta-train和meta-test 損失權重γ初始化為0.0004、0.0004和0.5。batch size B設為128,soft-classification 損失和domain alignment 損失的尺寸因子s設為64。步長α和β每1K步衰減一次,衰減率為0.5。正閾值和負閾值
的分別初始化為0.3、0.04,並更新為
= 0.3 + 0.1n和
= 0.04/0.5n,其中n為衰減數。對於meta-optimization,我們使用SGD來優化網絡,權重衰減為0.0005,動量為0.9。
4.3. GFR-R Comparisons
Settings. 我們將我們的模型與幾個基線進行比較,包括基本模型和幾個域聚合基線。為了進一步將我們的方法與其他域泛化方法進行比較,我們將MLDG[14]引入open-set設置,使其能夠應用於我們的協議中。結果如表3所示。對於GFR-R中的四種協議,我們報告了在1%、0.1%、0.01%的低FAR 下的VRs和Rank-1准確度。具體來說,我們的比較包括:(i) Base:僅使用CosFace[38]在MS-Celeb-NR上預訓練的模型。注意MS-Celeb-NR與四個種族數據集(高加索、亞洲、非洲和印度)沒有重疊的身份,可以認為是一個獨立的數據集。(ii) Base-Agg:用CosFace[38]在MS-Celeb-NR和聚合的源域上(即上面MS-Celeb-NR去掉的那部分數據)訓練模型。以GFR-R-I為例,Base-Agg在MS-Celeb-NR和高加索、亞洲、非洲三個源域上共同訓練。這是為了與我們的MFR進行公平比較,其中涉及到相同的訓練數據集。 (iii)Base-FT rnd:Base模型在聚合的源域上進行了進一步的微調。最后一個全連接層的分類模板被隨機初始化。(iv) Base-FT imp: Base模型在聚合的源域上進一步微調,但分類模板初始化為對應身份的嵌入均值。其使用weight-imprinted[36]進一步精煉而成。(v) MLDG:適用於泛化人臉識別問題的MLDG[14]。
Results. 從表3的結果可以看出:(i)總的來說,在所有比較的設置和方法中,我們的方法在四種GFR-R協議上取得了最好的結果。(2)在MS-Celeb-NR上訓練的Base模型較強,但對目標域的泛化效果不佳,尤其是印度、非洲、亞洲。原因可能是MS-Celeb-NR大多數是高加索人。(iii) MS-Celeb-NR和源域聯合訓練的效果略好於Base模型,但仍不能與我們的MFR方法相比較。(iv) Base-FT rnd的性能急劇下降,我們將其歸因於源域上的過度擬合。weight-imprinted(Base-FT imp)可以在一定程度上減少這種過擬合,但其性能仍低於Base模型。(v) MLDG[14]最初是為closed-set和類別級識別問題設計的,在open-set泛化人臉識別問題上無法與我們的方法競爭。
4.4. GFR-V Comparisons
GFR-V基准用於跨人臉多樣性評價,能更好地反映模型泛化能力。
Settings. 我們將我們的模型與兩個強基線Base, Base-Agg,an adapted MLDG[14]和其他競爭對手(如果存在的話)相比較。由於5個目標域的標准協議不同,我們分別在表4、5、6、7、8中顯示它們的結果。
CACD-VS. CACD-VS[30]用於跨年齡評估,每對圖像包含一張年輕的臉和一張年老的臉。我們報告ROC/Rank-1以及提供的標准方案的結果。其他競爭對手只根據標准協議進行評估。表4中的結果表明,我們的MFR不僅擊敗了基線,而且擊敗了使用跨年齡數據集進行訓練的競爭對手。
CASIA NIR-VIS 2.0. CASIA NIR-VIS 2.0[31]中gallery圖像是在可見光下采集的,而probe圖像是在近紅外光下采集的,因此模態差距很大。表5顯示:(i)當FAR=0.1%(0.01%)時,我們的性能從89.89%(69.27%)的Base提高到95.97%(81.92%)。(ii)即使存在如此巨大的模態差異,我們的性能仍可與幾種基於CNN的方法相比較[43,44],這些方法使用MS-Celeb進行預訓練,使用目標域NIR-VIS數據集進行微調。相比之下,我們的模型在訓練過程中沒有看到任何近紅外樣本。
Multi-PIE. 使用Multi-PIE,在跨姿態評估中將我們的模型與兩個基線和MLDG進行比較。表6驗證了我們的MFR相對於基線和MLDG的改進。
MeGlass. MeGlass[33]着重研究了眼鏡遮擋對人臉識別的影響。我們選擇最困難的IV協議進行評估。如表7所示,我們的方法在0.001%的low FAR時,從Base模型的71.96%(53.5%)提高到80.86%(66.15%),甚至略好於[33],該方法合成了整個MS-Celeb佩戴眼鏡后的圖像進行訓練。
Public-IvS. Public-IvS[34]是一個用於ID vs. Spot (IvS)驗證的測試平台。與Base和Base-Agg相比,我們的方法大大提高了泛化性能。另外兩名選手都是在MS-Celeb上接受過預訓練,並在CASIA-IvS上微調過。CASIA-IvS擁有200多萬個身份,每個身份都有一個ID和Spot face。即使如此,我們的方法仍然比Contrastive[29]稍微好一些。
LFW. 我們對LFW[9]進行了廣泛的評估,如表9所示。實驗結果表明,在相似的目標域上,我們方法的泛化效果優於基准算法。
以上結果表明,我們的方法比基准方法有了很大的改進,性能優於最好的監督/非泛化方法。對於真實世界的人臉識別應用,我們的方法是第一選擇,因為它在所有目標領域上都能很好地泛化,有着具有競爭力的性能。
4.5. Ablation Study and Analysis
Contribution of Different Components. 為了評估不同組件的貢獻,我們將我們的完整MFR與四個降級版本進行比較。前三個組件是hard-pair attention損失, soft-classification損失和domain alignment損失,用於學習域不變且具有區分度的表征。第四個組件是meta-gradient。如果在等式(6)中α被設為0,則目標函數被降級為meta-train和meta-test的總和,沒有了meta-gradient計算。表10顯示了每個組件對性能的貢獻。在三者中,meta-gradient是最重要的。例如,在沒有meta-gradient的情況下,當FAR=0.01%時,GFR-R I的性能從71.4%下降到68.35%。
First Order Approximation. meta-gradient需要高階導數,計算成本很高。因此,我們將其與一階近似進行比較。為了得到一階近似,我們僅將算法(1)中梯度聚合步驟中的更改為
。從表10可以看出,一階近似的性能接近於高階。考慮到一階近似只需要高階82%的GPU內存和63%的時間(在我們的設置中),因此一階近似可作為實現中高階的替代品。
Impact of γ. 在等式(6)中,γ是一個加權meta-train和meta-test損失的超參數。消融結果如圖4所示。值0.5給出了最好的結果,這表明meta-train域和meta-test域應該被同等地學習。
Domains-level Sampling. 由於在meta-train中只有一個域時不能應用域對齊損失,為了進行公平比較,我們去掉了域對齊損失。對於每個batch,SmTn (m,n∈{(1,1),(1,2),(2,1)})表示采樣m個域作為meta-train,其他n個域作為meta-test。rand.表示隨機選取m個域作為meta-train(m為隨機數),剩下的1個域作為meta-test。從圖4可以看出,設置m = 2和n = 1效果最好。
5. Conclusion
在本文中,我們強調了泛化人臉識別問題,並提出了一種Meta Face Recognition(MFR)方法來解決這一問題。一旦在一組源域上進行了訓練,模型就可以直接部署到目標域上,而不需要任何模型更新。在兩個新定義的泛化人臉識別基准上進行了大量的實驗,驗證了我們提出的泛化人臉識別基准的有效性。我們認為泛化人臉識別問題在實際應用中具有重要意義,我們的工作是未來工作的重要途徑。