PatchNet-Rethinking Pseudo-LiDAR Representation

Moris
Computer Vision Note
12 min readDec 26, 2023

--

提出了一個稱為 PatchNet 的簡單而有效的面部反欺詐框架。其關鍵創新是將面部反欺詐任務重新定義為面部圖像局部區域的細粒度識別問題,也就是識別面部圖像不同局部區域的拍攝設備和材質組合。這種方法充分利用了局部區域中的微小差異特徵,可以大幅提高模型對 spoofing 的識別能力。

圖1. 人臉識別模型學習一個face embedding空間以區分不同身份。

PatchNet是一種用於人臉反欺騙的簡單而有效的框架,它使用了精細的區域識別來改善數據變化,並幫助網絡從局部捕捉模式中學習區分特徵。

由於過去的Face Anti-spoof方法受到數據集規模和多樣性的限制。此外,網絡在這類數據集中的訓練容易過擬合,這使得模型在未知的測試場景中很容易受到攻擊。

因此作者提出以下兩點

(1)重新定義 FAS 為細粒度的 patch 識別問題。

(2)提出了基於非對稱邊界的 Softmax Loss 和自監督相似性 Loss 來監督 PatchNet 訓練。

Outline

  1. Overview
  2. Patch Features Extraction
  3. Fine-Grained Patch Recognition
  4. Self-Supervised Similarity Loss
  5. Testing Strategy
  6. Experiments

1. Overview

1.1 PatchNet framework

從每張裁剪的臉部圖像中,提取兩個相等大小的Patch。因此,無論圖像大小的差異如何,都無需圖像失真。這有助於訓練網絡,因為在每個 epoch 中,會從同一張臉上裁剪一些新的Patch,作為與隨機水平翻轉和隨機旋轉一起的額外增強。在測試期間,他們從臉上抽樣9個Patch,並從所有Patch中匯總分類概率。

圖2. 提出的 PatchNet 框架概述。

如圖2所示,重新定義臉部防偽為一個細粒度的patch-type recognition問題,並提出一個簡單的訓練框架,以有效地學習Patch特徵。

首先,根據presentation materials和capture device細分成不同的patch-type,接著進行Patch Features Extraction。

在訓練過程中,使用基於angular margin的Softmax Loss,強制使每個類別的feature set緊密分佈,提高更好的泛化能力。

此外,由於欺騙樣本與真實樣本之間的分佈差異大於真實樣本,因此Softmax Loss 進行修改,並將Asymmetric Margin應用於真實和欺騙的patch-type,對真實的patch-type施加較大的angular margin ,以推動更緊湊的邊界。

最後,透過對同一張人臉圖像中的兩個不同patch view,self-supervised similarity loss會計算它們的特徵向量之間的歐式距離,並將其最小化。這樣可以使得同一張人臉圖像中的不同補丁特徵更加相似,從而提高模型的魯棒性和抗攻擊性,進一步規範補丁特徵。

我們通過一個細粒度的 patch 型別識別模型解決面部防偽問題。patch 型別類別是由拍攝設備和呈現材料的組合預先定義的,patch 輸入是通過非扭曲的增強操作從面部捕獲中提取的。在最後的分類層中使用了非對稱角邊界 softmax 損失,對真實類別施加了更大的角邊界。自監督相似性損失被應用於在單次捕獲中強制實施 patch 特徵的不變性。

1.2 Asymmetric margin based softmax loss

與使用Cross-entropy不同,這種損失允許作者指定分類邊界之間的間隔,從而减少了錯誤分類的可能性。

1.3 Self-supervised similarity loss

他們使用這個額外Loss,讓網絡更關注與任務相關的特徵。這有助於規範具有位置和旋轉不變性的特徵。

2. Patch Features Extraction

我們希望避免任何可能導致圖像扭曲或減少重要欺騙相關信息的轉換。給定原始捕獲的裁剪臉部區域xi,來自xi的兩個增強的Patch View分別為

,其中t1、t2 ∼ T。T是非扭曲增強操作的序列,僅包括隨機水平翻轉、隨機旋轉和固定尺寸裁剪。然後,將兩個輸入Patch傳入編碼器Eθ和歸一化層以獲得最終特徵:

3. Fine-Grained Patch Recognition

假設在訓練數據集中有N個Patch型別類別,包括k個真實(live)類別和N−k個欺騙(spoof)類別。每個輸入Patch t(xi)屬於一個細粒度的真實類別yi ∈ {L1, L2, …Lk, S1, S2, …SN−k},並且對Patch特徵應用Angular-Margin Softmax Loss進行規範。Angular-Margin Softmax Loss有很多變體,通常用於人臉識別以提高對開放式身份的泛化能力。

在這項工作中,作者使用AM-Softmax損失來優化Fine-Grained Patch識別模型,並對其進行修改以應對Face Anti-Spoof中的非對稱性質。

3.1 Demystifying the loss functions

在圖4中的方程式(1)是我們熟知的 softmax 損失函數,其中分子是特徵表示(fi)與最後分類層中與第i個數據樣本的正確類別標籤(yi)對應的權重(W)的點乘的指數。分母同樣是特徵表示與所有類別對應的權重向量的點積的指數之和。損失隨著分子中的項增加而減少。

在PatchNet中,原始的Softmax loss用於監督patch feature的分類,以區分不同的patch type 。

方程式(2)是相同點積的擴展,經過權重和特徵歸一化(||W|| = ||f|| = 1)後,分離分母成為方程式(3),其中一部分是正確類別的指數(與分子相同),另一項包含所有其他類別的指數之和。

Fig. 4 Loss Functions

現在進行了一點修改(引入邊界m),只對正確類別的點積的指數進行了調整(Fig. 5 (2)),以使損失更加嚴格。這將迫使模型學習更好的特徵表示。

Fig. 5 Few Simple Tricks

最後,對所有的指數乘以一個縮放項(s),得到Fig. 6 (1)中的損失函數。AMS代表角邊界 softmax 損失。PatchNet的作者對真實(Live)和欺騙(Spoof)類別使用不同的邊界(ml,ms),使損失函數具有不對稱性,因此最終的損失函數,見Fig. 6 (2),被稱為Asymmetric Angular Margin Softmax 損失。

large-margin性質是由Sphereface 引入的,它定義了一個通用函數ψ(θ)來施加特徵向量和權重向量之間的angular margin。在應用特徵和權重歸一化之後,然後使用一個超參數s對餘弦值進行縮放,最終的AM-Softmax損失函數為

Fig. 6 Loss Functions

在PatchNet中,Asymmetric AM-Softmax Loss在原始的Softmax loss的基礎上,增加了一個角度邊界,以增加真實人臉類別的角度邊界,從而使得模型更加關注真實人臉的區分,最終的Asymmetric Recognition Loss對來自圖像的兩個增強patch view的公式為。

Asymmetric Recognition Loss

4. Self-Supervised Similarity Loss

Self-Supervised Similarity Loss是PatchNet中的一個損失函數,用於強制要求同一張人臉圖像中的不同補丁特徵相似。這樣可以使得模型學習到Patch Position和rotation invariance,的欺騙相關特徵。

具體來說,對於同一張人臉圖像中的兩個不同Patch View,self-supervised similarity loss會計算它們的特徵向量之間的歐式距離,並將其最小化。這樣可以使得同一張人臉圖像中的不同patch features更加相似,從而提高模型的魯棒性和抗攻擊性。

self-supervised similarity constraint

而在在訓練期間,所提出的框架的總損失L為

total loss L of the proposed framework during training

其中α1和α2是平衡損失組件影響的權重。在所有實驗中,作者設定α1 = α2 = 1.0。

5. Testing Strategy

在測試時,給定一張測試人臉圖像,首先從整個圖像中統一裁剪patch進行推理,patch大小與訓練過程中的一致。假設有來自一張人臉圖像的P個裁剪塊特徵,最終的預測分數為對P(默認值為9)個patch的分數取平均值,公式如下:

sum of live class probabilities

6. Experiments

6.1 Implementation Details

以上所有面部防欺詐數據集最初都以視頻格式存儲。我們隨機從每個視頻剪輯中選擇三幀,並使用最先進的人臉檢測器RetinaFace 進行人臉裁剪進行訓練。我們將固定的補丁裁剪大小設置為160,並在所有協議中設置超參數s = 30.0,ml = 0.4,ms = 0.1。我們使用ResNet18 [11]作為補丁特徵編碼器,而在使用容量較大的編碼器時,我們沒有看到太大的性能差異(如補充材料中所示)。模型使用SGD優化器進行訓練,初始學習率為0.002。我們最多訓練200個epoch,而學習率每90個epoch減半。在測試期間,我們從面部輸入圖像中統一裁剪固定大小的補丁:最小的x和y坐標為size/2.0,最大的x和y坐標分別為width — (size/2.0)和height — (size/2.0)。在測試的所有實驗中,我們在每一側均勻採樣3個補丁錨點,這導致P = 9個補丁進行分數平均。

訓練集中的人臉圖像使用RetinaFace進行檢測和裁剪獲取,補丁的大小為160*160,並在所有協議中設置超參數s = 30.0,ml = 0.4,ms = 0.1。

實驗中使用ResNet18作為特徵編碼器、SGD作為優化器,初始學習率為0.002,訓練epoch為200,學習率每90個epoch下降為原來的一半。測試時,補丁的裁剪大小與訓練時一致,裁剪框x,y坐標的最小值為裁剪大小的一半:

  1. 最小的x和y坐標為size/2.0
  2. 最大的x和y坐標分別為width — (size/2.0)和height — (size/2.0)。

在測試的所有實驗中,我們在每一側均勻採樣3個patch anchor,這導致P = 9個patch進行分數平均。

6.2 Datasets and Protocols

OULU-NPU、SiW、CASIA-FASD、Replay-Attack、MSU-MFSD 被用於測試。前兩個數據集為包含四個和三個協議的大規模高分辨率數據集,用於驗證泛化能力。後三個數據集是包含低分辨率視頻的數據集,用於跨數據集測試。五個數據集的資訊如表1所示:

6.3 Performance Metrics

由於這是Spoof分類任務,因此Spoof被視為Positive Class。

TP:# Spoof樣本被分類為Spoof。
TN:# Live樣本被分類為Live。
FP:# Live樣本被分類為Spoof。
FN:# Spoof樣本被分類為Live。

  • 攻擊呈現分類錯誤率(APCER)= FN / (TP + FN) => 被分類為真實的Attack樣本的比例。
  • 真實呈現分類錯誤率(BPCER)= FP/(FP + TN) => 被分類為Attack的真實樣本的比例。
  • 平均分類錯誤率(ACER)= APCER + BPCER / 2

6.4 Intra Dataset testing

在這個方案中,模型是在同一數據集上進行訓練和測試的。然而,數據集中有幾個協議,用於測試模型的魯棒性,例如在測試集中使用來自未見過的環境、未見過的欺騙媒介和未見過的捕獲設備的樣本。在SiW和OULU-NLU數據集的所有協議中,PatchNet的性能是最好的,或者與最好的性能相當。

6.5 Cross Dataset testing

在這個方案中,模型是在一個或多個數據集上進行訓練,但在一個完全不同的數據集上進行測試。這個實驗確立了PatchNet學習所需的可泛化特徵的能力。

7. Conclusion

PatchNet 能夠有效地將補丁特徵映射到嵌入空間,修改後的 AM-Softmax Loss 能夠增強特徵識別能力。

--

--

Moris
Computer Vision Note

An AI engineer who loves deep learning technology and is willing to share resources and learn new technologies