深度人臉識別:CVPR2020論文要點git
Towards Universal Representation Learning for Deep Face Recognition框架
論文連接:https://arxiv.org/pdf/2002.11841.pdfide
摘要性能
識別狂野的面孔是極其困難的,由於它們看起來有各類各樣的變化。傳統的方法要麼使用目標域中的特定註釋變化數據進行訓練,要麼經過引入未標記的目標變化數據來適應訓練數據。相反,咱們提出了一個通用的表示學習框架,它能夠在不利用目標領域知識的狀況下處理給定訓練數據中看不到的較大變化。咱們將訓練數據與一些語義上有意義的變化(如低分辨率、遮擋和頭部姿式)進行了綜合。然而,直接輸入增廣數據進行訓練並不能很好地收斂,新引入的樣本大可能是硬例子。咱們建議將特徵嵌入分割成多個子嵌入,併爲每一個子嵌入關聯不一樣的置信值,以平滑訓練過程。經過調整不一樣分區上的變化分類損失和變化對抗損失,進一步解除了子嵌入的相關性。實驗代表,該方法在lfwandmagface等通常人臉識別數據集上取得了很好的性能,而在微型人臉和IJB-S等極端基準上取得了顯著的效果。學習
Introductions測試
深度人臉識別是將輸入的圖像映射到一個具備較小的內部同一距離和較大的內部同一距離的特徵空間,這是經過損失設計和具備豐富的類內變化的數據集來實現的[29,40,17,38,4]。然而,即便是很是大的公共數據集,如MS-Celeb-1M,也表現出強烈的偏見,如種族[33]或頭部姿式[20,24]。這種變化的缺少致使在具備挑戰性的測試數據集上性能顯著降低,例如,先前最新技術[31]報告的IJB-S或TinyFace[11,3]的精度比IJB-A[14]或LFW[10]低約30%。最近的研究試圖經過識別相關的變異因素,並經過領域適應方法增長數據集以合併它們來緩解這個問題[33]。有時,這樣的變化很難識別,所以領域適應方法被用來調整訓練和測試領域之間的特徵【28】。或者,能夠在不一樣的數據集上訓練單個模型,並對其進行集成,以在每一個數據集上得到良好的性能[19]。優化
全部這些方法要麼只處理特定的變化,要麼要求訪問測試數據分佈,要麼增長額外的運行時複雜性來處理更普遍的變化。相比之下,咱們建議學習一個單一的「通用」深度功能演示,它能夠處理變化的嬰兒識別,而不須要訪問測試數據分佈,並保持運行時效率,同時在不一樣狀況下得到強大的性能,特別是在低質量的圖像上(見圖1)。ui
本文在第三節中介紹了一些新的貢獻來學習這種廣泛的表示。首先,咱們注意到具備非正面姿式、低分辨率和嚴重遮擋的輸入是對「野外」應用提出挑戰的關鍵可命名因素,對於這些應用,訓練數據可能會獲得綜合加強。可是直接在訓練中加入硬擴充的例子會致使一個更難的優化問題。咱們經過提出一個識別損失來緩解這個問題,這個損失能夠解釋每一個樣本對學習機率特徵嵌入的信心。spa
其次,咱們經過將嵌入分解爲子嵌入,每一個子嵌入在訓練過程當中都有獨立的置信值,從而尋求最大化嵌入的表示能力。設計
第三,鼓勵全部子嵌入經過子嵌入的不一樣分區上的兩個相反的正則化進一步去相關,即變化分類損失和變化對抗損失。第四,咱們經過挖掘訓練數據中的額外變化來進一步擴展去相關正則化,對於這些變化,合成加強不是微不足道的。
最後,咱們經過一個機率集合來解釋子嵌入對不一樣因素的不一樣判別能力,這個機率集合解釋了它們的不肯定性。在第5節中,咱們對公共數據集上提出的方法進行了普遍的評估。
與咱們的基線模型相比,該方法在通常人臉識別基準(如LFW和YTF)上保持了較高的精度,同時顯著提升了在IJB-C、IJB-S等具備挑戰性的數據集上的性能,在這些數據集上實現了最新的性能。詳細的燒蝕研究顯示了上述每一種貢獻對實現這些強大性能的影響。
總之,本文的主要貢獻有:
•一個面部表情學習框架,經過將通用特徵與不一樣的變化相關聯來學習通用特徵,從而提升對不一樣測試數據集的通用性。
•在培訓期間利用樣本可信度從硬樣本中學習特徵的可信度識別損失。
•特徵去相關正則化,在不一樣的子嵌入分區上應用變化分類損失和變化對抗損失,從而提升性能。
•有效結合合成數據的訓練策略,以訓練適用於原始訓練分佈以外的圖像的人臉表示。
•幾個具備挑戰性的基準的最新成果,如IJB-A、IJB-C、TinyFace和IJB-S。
實驗代表,該方法在LFW和Mega Face等通用人臉識別數據集上取得了最好的性能,而在Tiny Face和IJB-S等極端基準上則表現得更好。
背景知識
如今已經有不少方法去進行人臉識別。而後,全部這些方法要麼只處理特定的變化,要麼須要訪問測試數據分佈,要麼增長額外的運行時複雜性來處理更普遍的變化。相比之下,做者建議學習一個單一的「通用」深層特徵表示,它能夠處理人臉識別中的變化,而不須要訪問測試數據分佈,並保持運行時效率,同時在各類狀況下實現強大的性能,特別是在低質量的圖像上。
傳統的識別模型須要目標域數據從高質量的訓練數據中進行無約束/低質量的人臉識別。爲了實現廣泛表示的目的,進一步須要模型集成,這大大增長了模型的複雜性。相比之下,做者提出的方法只對原始訓練數據有效,沒有任何目標域數據信息,能夠處理無約束的測試場景。
新方法框架
上圖 隨着不一樣的變化而增長的樣品
Confidence-aware Identification Loss
爲了簡單起見,定義一個置信值si,在L2-標準化單位球上約束fi和wj:
上面公式中的效果以下圖所示。
當在不一樣質量的樣本之間進行訓練時,若是假設全部樣本的置信度相同,那麼所學習的原型將位於全部樣本的中心。這並不理想,由於低質量的樣本傳達的身份信息更加模糊。相比之下,若是咱們創建sample-specific confidence(si),高質量樣本顯示更高的信心,它推進原型wj更接近高質量樣本,以最大化後驗。同時,在嵌入fi的更新過程當中,更有力的推進了低質量fi更接近原型。
在指數logit上增長loss margin已被證實是有效的縮小類內分佈。也把它歸入框架的損失中:
Confidence-aware Sub-Embeddings
雖然經過一個特定的門控si學習的嵌入fi能夠處理樣本級別的變化,可是做者認爲fi自己的條目之間的相關性仍然很高。爲了最大限度地提升表示能力並實現緊湊的特徵尺寸,須要對嵌入項進行去相關處理。
這鼓勵做者進一步將整個嵌入fi分解爲分區的子嵌入,每一個子嵌入都進一步分配一個標量置信值。如上圖所示,將整個feature embedded fi分割成K個等長次嵌入,以下公式所示。據此,將原型向量wj和置信標量si劃分爲大小相同的K組。
則最後的識別損失以下公式:
最後增長了一個額外的l2正則化來限制置信度的增加:
Sub-Embeddings Decorrelation
單獨設置多個子嵌入並不能保證不一樣組中的特徵是學習互補信息的。根據下圖的經驗,做者發現子嵌入仍然是高度相關的,即fi分爲16組,全部子嵌入的平均相關係數爲0.57。
若是咱們用不一樣的正則化方法對次嵌入進行懲罰,能夠下降它們之間的相關性。經過將不一樣的子嵌入與不一樣的變量聯繫起來,對全部子嵌入的一個子集進行變量分類損失,同時對其餘變量類型進行變量對抗性損失。給定多個變量,這兩個正則化項被強制放在不一樣的子集上,從而獲得更好的子嵌入解相關。
挖掘更多的變量
因爲可擴展變量的數量有限(在本文爲3個),致使了去相關效應的有限,由於Vt的數量過小。爲了進一步加強去相關,並引入更多的變量以得到更好的泛化能力,咱們的目標是探索更多的語義變量。請注意,並非全部的變量都容易進行數據擴充,例如微笑或不微笑是很難擴充的。對於這種變量,咱們嘗試從原始訓練數據中挖掘出變量標籤。特別是,利用一個現成的屬性數據集CelebA訓練屬性分類模型身份對抗的損失:
Uncertainty-Guided機率聚合
考慮到推理的度量,簡單地取學習到的子嵌入的平均值是次優的。這是由於不一樣的次嵌入對不一樣的變量有不一樣的識別能力。它們的重要性應該根據給定的圖像對而有所不一樣。考慮應用與每一個嵌入相關的不肯定性,爲成對的類似度評分:
實驗及可視化
三種類型的數據集,LFW, IJB-A和IJB-S
Testing results on synthetic data of different variations from IJB-Abenchmark (TAR@FAR=0.01%)
上圖是經過t-SNE可視化特徵分佈。
將16個subembeddings的不肯定度評分從新劃分爲4×4個網格。高質量和低質量的次預埋件分別以深色、淺色顯示。對於不一樣的變化,不肯定度圖顯示不一樣的模式。以下圖:
上圖是訓練樣本子嵌入置信度的可視化。