論文學習:Occlusion Robust Face Recognition Based on Mask Learning

論文地址:Occlusion Robust Face Recognition Based on Mask Learning
with Pairwise Differential Siamese Network

綜述

  深度卷積網絡作爲人臉識別領域的前沿技術,存在識別模型在有部分遮擋的人臉場景效果不佳的情況。作者根據人視覺系統注意力機制,會自動忽略被遮擋的部分的性質,提出一種掩膜學習策略,來處理人臉識別中特徵損失的情況。

  • 該策略首先設計一種新型網絡pairwise differential siamese network(PDSN)來採集有遮擋和無遮擋人臉對在頂層卷積特徵上的差異,建立mask dictionary,記錄遮擋區域和特徵損失上的關係;
  • 當處理有遮擋的人臉圖像時,從mask dictionary中選取關聯項合併,並與提取人臉特徵相乘,以消除特徵損失的影響。

背景介紹

  深度卷積網絡在無約束人臉識別領域取得顯著進步,研究人員主要通過採用先進的網絡結構或者設計新的損失函數來提高模型的性能,目前已經在一些基準人臉庫中超過了人的識別能力。

  但這些模型在姿態、面部表情、光照、遮擋情況下仍未達到完美的魯棒性,而遮擋對模型的影響是當前最需關注的方向。在真實場景中包括人臉配件(太陽鏡、面巾、口罩)獲取一些隨機物品(書、杯子)。當模型沒有對大量遮擋圖像進行過訓練,遮擋的圖像會導致類內方差大,類間間隔小。由此提出兩種解決方法:

  • 一種解決辦法是訓練又遮擋情況下的識別模型,比如通過合成遮擋的方式進行訓練數據增廣。這種方法會取得性能提升,但它只能保證特徵對更多局部區域進行均勻提取,並不能本質上解決遮擋對識別的影響。不同遮擋情況的人臉特徵始終存在差異,如相較於戴了太陽鏡,無遮擋的人臉特徵在人眼區域承擔了更多的信息,除非模型訓練的時候不使用人眼區域(當然這是不合理的);
  • 一種是本文方法。作者受人眼視覺系統忽視掉遮擋區域,只關注非遮擋區域來識別的特性,提出拋棄被遮擋的特徵元素,因此面臨的問題爲如何確定被隨機遮擋的部分會破壞哪些特徵元素?傳統方法如LBP、HOG、SIFT等輸出特徵保留了輸入圖像的空間關係,因此找到對應的特徵並不是大問題,但深度卷積網絡並不是這樣。因此本文的工作是找到人臉遮擋破壞的特徵元素,並在人臉識別時消除它們的影響。

  要學習到被遮擋區域與受損特徵的關係,作者提出PDSN網絡結構,通過遮擋生成模塊輸出的有遮擋和無遮擋人臉作爲一對輸入數據。其中有遮擋和無遮擋人臉特徵的差分信號會反饋回mask generator,使它發揮注意力機制作用,鼓勵模型偏重由於人臉部分遮擋導致輸出特徵差異更大的部分。

  • mask generator的損失函數是兩個損失的加權:兩張圖像卷積特徵間對比差異、有損識別的遮擋分類。由於模型的識別性能下降通常是由人臉的部分關鍵塊被遮擋導致的,因此對人臉劃分預定義的幾個區域,只使用這些區域被隨機遮擋的照片進行下一步訓練。
  • 將這些訓練好的PDSN通過二值化構建mask dictionary,使字典中的每一個元素都是一條二進制掩碼,可以將人臉被遮擋部分對應的特徵置爲0,被作者稱之爲Feature Discarding Mask(FDM)。這樣在識別的時候將兩張人臉中出現遮擋部分的特徵都置0,消除遮擋對計算兩張人臉相似度的影響。

  總結:作者在處理遮擋人臉識別時,相較於不使用容易被遮擋的人臉區域提特徵,選擇找出人臉遮擋區域和人臉特徵對應關係,將被遮擋區域的特徵禁止參與相似度比對。

相關工作介紹

類別 方法 缺點
傳統方法 將人臉劃分爲多個區域,使用如SVM識別各區域是否被遮擋,使用未遮擋的區域做識別 使用淺層特徵,模型性能不高
傳統方法 使用稀疏約束項將訓練集圖像進行線性組合,來解釋被遮擋區域,從而構造出無遮擋人臉 需要測試集與訓練集類別相同
深度學習方法 發揮DeepID2+算法模型本身具備的魯棒性 特徵來自多張合成,識別需要特定角度
深度學習方法 通過合成遮擋圖像來增加訓練數據,更均衡的從更多局部區域提取特徵,提升模型從可能遮擋的人臉中提取更有辨別能力的特徵 ——
深度學習方法 在模型中間層添加MaskNet分支,對有遮擋的區域分配更低的激活權重 中間層的輸出特徵沒有足夠的辨別能力,添加的MaskNet分支缺乏足夠的監督信息進行訓練
深度學習方法 設計LSTM自編碼器,恢復被遮擋區域 不能保證恢復部分能匹配上,特別是開集測試時候

  總結:作者認爲傳統方法提取的特徵存於淺層層次,缺乏足夠辨別能力;深度學習方法由於“黑盒”原因,不能保證確定被遮擋區域與輸出特徵損失的對應關係,並且缺乏足夠豐富的數據訓練模型來保證識別性能。

算法設計

總體結構
  本文提到的算法策略可分爲三個步驟:

  • 提出並訓練PDSN,獲取人臉遮擋區域與未遮擋情況下的對應關係;
  • 根據對應關係建立FDM;
  • 測試時,根據遮擋關係,從FDM中生成掩碼並與輸入圖像提取的特徵相乘,消除遮擋的影響。

Mask Generators

  送入提特徵模型的人臉通過提取的關鍵點進行對齊,作者將對齊後的人臉劃分成不重疊的N*N個區域,對每個區域訓練一個Mask Generator,並以此尋找到該人臉塊被遮擋下人臉特徵的損失關係。對於作者手裏的訓練集,當N=5時,對齊的人臉劃分的區域可以和人臉五官建立關係。

  如何學習一個Mask Generator,從而使人臉某一快區域被遮擋時的輸出特徵和這個Mask Generator相乘,能消除遮擋損壞的特徵,作者給了兩種方法:

  • 特徵選擇。人臉識別特徵通常指分類層前的全連接輸出結果,但是FC層的每個一個元素都包含了上一層全部的輸出結果,所以全連接層最後的輸出特徵可能混合了遮擋和未遮擋區域。作者通過對比不同身份人臉對在遮擋相同區域時,在全連接層和最後一個卷積層的輸出差異得出結論,全連接層的輸出基於“身份”標籤,具有高度的可選擇性。而卷積層的輸出在具備足夠的局部特徵信息時,遮擋破壞的特徵具有空間對應關係。因此作者選擇使用最後一個卷積層的輸出作爲所需特徵。
  • Mask Generators 的輸出維度。有相關研究採用2維掩膜來對3維卷積特徵進行處理,這意味着卷積特徵在C通道上相同的空間位置共享權重,這是建立在卷積所有通道的輸出響應在發生遮擋時是等同的這一假設上的。作者爲了驗證這一假設,使用“median relative rate of change ”(MED)的標準來獲取發生遮擋後每個特徵元素在偏離真實特徵值的程度。具體過程爲,將CASIA-WebFace隨機選擇N張,與添加遮擋的組隊計算每個特徵元素變化率,並最終計算出每個特徵元素變化率的中值。如果發生遮擋時某一特徵元素的MED很高,那它將是影響人臉識別的主要噪聲之一。實驗結果表明每個位置的特徵值在卷積不同通道下變化方式是不同的。這表明最後一層卷積的不同通道雖然輸入來源相同,但對於遮擋的反應存在差異,因此Mask Generators應該與最後一層卷積是相同規模。

PDSN
Lθ=ilcls(θ;f~(xji),yi)+λldiff(θ;f~(xji),f~(xi))lcls(θ;f~(xji),yi)=log(pyi(F(f~(xji))))f~(xji)=Mθ(.)f(xji)ldiff(θ;f~(xji),f~(xi))=Mθ(.)f(xi)Mθ(.)f(xji)1Mθ(.)=Mθ(f(xji)f(xi))Lθ=ilog(pyi(F(Mθ(.)f(xji))))+λMθ(.)f(xi)Mθ(.)f(xji)1 \begin{aligned}\\ L_{\theta}=&\sum_i{l_{cls}(\theta;\widetilde{f}(x_j^i),y^i)+\lambda l_{diff}(\theta;\widetilde{f}(x_j^i),\widetilde{f}(x^i))} \\ &l_{cls}(\theta;\widetilde{f}(x_j^i),y^i)=-log(p_{y_i}(F(\widetilde{f}(x_j^i)))) \\ &\widetilde{f}(x_j^i)=M_\theta(.)f(x_j^i)\\ &l_{diff}(\theta;\widetilde{f}(x_j^i),\widetilde{f}(x^i))=||M_\theta(.)f(x^i)-M_\theta(.)f(x_j^i)||_1 \\ &M_\theta(.)=M_\theta(|f(x_j^i)-f(x^i)|)\\ L_{\theta}=&-\sum_i{log(p_{y_i}(F(M_\theta(.)f(x_j^i)))) + \lambda||M_\theta(.)f(x^i)-M_\theta(.)f(x_j^i)||_1} \end{aligned}

  根據以上分析,作者設計PDSN網絡結構,由CNN主幹和Mask Generators分支組成,CNN主幹負責提取人臉特徵,Mask Generators分支輸出布爾量掩膜特徵與人臉特徵相乘。輸入的人臉對只在遮擋區域有差異,Mask Generators的關鍵是讓經過掩膜處理後的特徵儘可能相似,來保證識別的準確率。損失函數如LθL_{\theta}所示由兩部分組成:

  • lclsl_{cls}分類損失,要找到被破壞的特徵元素,就需要對人臉識別貢獻小的特徵給予更大的損失,因此利用遮擋人臉的身份信息,將最後一層卷積層經掩膜處理後再通過全連接層,計算softmax損失;
  • ldiffl_{diff}對比損失,由於遮擋會導致最後一層卷積的輸出特徵在對應區域產生差異,因此可以將遮擋人臉與未遮擋人臉間的特徵差異作爲評價特徵元素是否被破壞的標誌。因此該損失函數能起到注意力機制,使Mask Generators更關注於被遮擋的區域。通過對比損失來最小化有遮擋/無遮擋人臉間特徵元素的差異。

  權重係數λ=10\lambda=10MθM_\theta模塊包含多個卷積結構且針對不同的遮擋情況進行單獨訓練,這是因爲人臉不同區域攜帶的有效辨別信息不同,因此MθM_\theta的內容也不同。同時對一種區域遮擋的訓練增加了指定區域四個鄰域的擴展,來提升魯棒性。對於每個MθM_\theta作者建議使用20萬組人臉對進行訓練。

建立掩膜字典

  由於測試階段遮擋的情況是隨機的,因此不能直接使用PDSN輸出丟棄被破壞特徵元素的人臉特徵,作者從訓練的每個MθM_\theta中提取固定的掩碼構建字典。針對每一種遮擋情況的MθjM_{\theta_j},對每一組人臉對訓練的mjP(P200k)m_j^P(P\approx200k)進行最大最小歸一化後求均值得到mˉj\bar{m}_j。如果直接把它作爲第jthj^{th}號區域被遮擋的FDM,那麼還是會保留一些處於遮擋區域但掩膜值比較小的特徵元素,由於這些元素是人臉被遮擋的區域,因此並沒有意義,需要將這些區域全部置爲0。二值化的FDM是將最小的前τK\tau*K的均值置爲0,其它置爲1。
Mj[k]={0mˉj[k]{mˉj[1],...,mˉj[τK]},1else.K=CWH M_j[k]=\begin{cases} 0 &\bar{m}_j[k]\in\lbrace \bar{m}_j[1],...,\bar{m}_j[\tau*K] \rbrace, \\ 1 &else. \end{cases} \\ K=C*W*H

建立掩膜字典

  通過前期工作建立的FDM字典,任意部分的人臉遮擋都可以通過對字典項進行組合導出,即人臉劃分區域中各子塊有超過50%的面積被遮擋,則取出該區域被遮擋的掩碼,並將所有取出的掩碼進行“與”運算得到合併的掩碼。

實驗

實驗細節

  • 使用標準MTCNN檢測人臉並獲取5個關鍵點,通過相似性變化獲得對齊人臉,並resize爲112*96像素;
  • 借鑑FCN-8s訓練人臉遮擋區域檢測模型,訓練數據包括CASIA-WebFace及部分ARdataset進行遮擋合成(首先對VGG16骨架網絡進行訓練建立初始環境,最終得到的遮擋檢測模型在Facescrub數據集上取得了較好的效果);
  • 採用改進ResNet50的ArcFace作爲CNN主幹,Mask Generators使用CONV-PReLU-BN的基本形式實施並使用sigmoid函數將輸出映射到[0,1]區間。
  • 訓練包含3步,使用CASIA-WebFace數據集及large-margin-cosine損失函數訓練CNN主幹、凍結CNN主幹並使用人臉對訓練Mask Generators(由於實驗發現外圍遮擋對模型性能幾乎沒有影響,只使用中間3*3區域的遮擋訓練)、通過隨機遮擋人臉來確定FDM與遮擋區域的對應關係。最後使用小學習率對模型進行微調,避免最終的 二值化掩膜導致輸出結果不一致。
  • 測試時,人臉的相似度是計算全連接層輸出特徵的餘弦距離,遮擋的人臉區域應該在比對時被排除。
  • 基礎模型,使用CASIA-WebFace訓練的最佳人臉識別模型(Trunk CNN)、使用合成25%遮擋的CASIA-WebFace微調的模型(Baseline)。

Ablation Study

  τ\tau在0~0.45間變化,測試得到的掩膜字典在AR數據集上的效果,包含太陽鏡或圍巾遮擋人臉+1張無遮擋人臉底庫,記錄TOP1的識別準確率,當τ=0.25\tau=0.25時取得的效果最好。

τ\tau 0 0.05 0.15 0.25 0.35 0.45
Acc. 95.84 97.29 97.36 98.26 97.98 97.92

  爲了驗證對掩膜二值化的必要性,作者做了掩膜二值化(Binary)、保持掩膜原值(Soft)、低於閾值的置0但高於閾值的保持不變(Soft+Binary)三組實驗。實驗證明,保持掩膜原值的方法識別準確度下降最明顯,這可能是因爲掩膜值低的特徵包含太多噪聲,而Soft+Binary的方式取得了和Binary非常接近的效果。因此,使用完全二值化的處理方式能在取得高識別性能的同時,降低計算和存儲。

Type Binary Soft Soft+Binary
Sunglasses 98.19 96.67 98.19
Scarf 98.33 97.22 99.03

  爲了分析ldiffl_{diff}部分的重要性,作者設λ=0\lambda=0訓練模型,實驗結果證明有ldiffl_{diff}的情況下模型性能顯著提升。

AR sunglass AR scarf MF1 occ
ldiffl_{diff} 95.97 97.92 54.80
ldiffl_{diff} 98.19 98.33 56.34

LFW上的測試性能

  測試了從LFW數據集中選取的6000對非訓練數據,經過更多的遮擋數據訓練的Baseline較Trunk CNN降低了0.52%,這是因爲LFW數據集中大多數人臉沒有遮擋的情況,這與參考文獻22中提到的一個模型如果通過遮擋和無遮擋數據訓練增加魯棒性,那麼它在正常情況的下性能會有下降。而本文的方法由於是拋棄被遮擋的特徵元素而不是強迫模型適應被遮擋的特徵,因此能保持模型性能基本不變。
LFW測試性能

MegaFace上的測試性能

  與LFW上的結果一致,作者對 Facescrub數據集合成一些遮擋,包括太陽鏡、口罩、手、眼罩、圍巾、書、手機、杯子、帽子、水果、擴音器、頭髮等,結果如“MF1 occ”所示。證明經過遮擋訓練的Baseline好於Trunk CNN,但本文方法性能最優。
MegaFace測試性能

AR Dataset上的測試性能

  測試有兩種方式:每個類別使用超過1張圖像組成底庫、每個類別只使用1張圖像組成底庫。本文訓練的模型都沒有使用這個數據集進行微調,與之對比的其它引用方法通常使用了這個數據集進行了訓練。實驗證明本文方法對於遮擋人臉識別較Trunk CNN有顯著提升,並且由於Baseline的性能也說明對於被破壞的特徵需要丟棄才能消除影響。
AR dataset測試性能

結論

  • 設計PDSN並訓練,查找人臉遮擋與特徵元素破壞間的對應關係;
  • 建立字典,並在識別時屏蔽被破壞的特徵元素,使模型對於被遮擋的人臉識別任務具有良好的性能;
  • 該方法可以在有遮擋和無遮擋的人臉識別中都具有較好的識別性能。

  

  

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