活体检测 Face Anti-Spoofing Using TransformersWith Relation-Aware Mechanism 学习笔记
論文鏈接:Face Anti-Spoofing Using Transformers With Relation-Aware Mechanism | IEEE Journals & Magazine | IEEE Xplore
同一圖像不同 patch 之間的信息為區分真假人臉提供了重要信息,如下圖所示,與真實人臉相比,從假體人臉提取的 patch 之間的相關性很強,不論這兩個 patch 是否處在相鄰位置。有兩個原因導致這樣的結果:(1)打印和重放攻擊的假體人臉通常僅攜帶二維平面信息。相比之下,真實人臉具有豐富的 3D 結構信息;(2)大部分假體人臉的材質具有相同的材料屬性,例如紙張和玻璃屏幕。而真實人臉呈則包含更細微的細粒度細節??紤]到以上兩個因素,可以利用不同局部塊之間的差異來判斷真假人臉。
文章創新點
(1) 基于 learning-based 的方法,提出了跨層關系感知注意(cross-layer relation-aware attentions,CRA)來權衡來自不同層的局部 patch
(2)為了減少淺層的紋理信息丟失并充分利用深層的語義信息,深入探索了最佳跨層特征融合(hierarchical feature fusion,HFF)方法
(3)模型采用二元和深度監督聯合優化
方法論
TransFAS 的整體網絡結構如下圖所示。算法首先將人臉圖像劃分成不同的塊,并通過線性投影提取特征。接著,將 patch embedding、分類 embedding 和位置 embedding 融合為 transformers 層的輸入。最后,使用解碼器生成深度圖,同時使用深度損失( + )和二元損失()來監督模型。
1)Transformers for FAS
為了研究真實人臉和假體人臉中 patch 之間的關系,作者使用 transformers 來進行特征提取。具體來說,首先將圖片劃分成 N × N 個非重疊圖像塊。經過一些線性變換后,將這些 patch 嵌入到 1D 的 embedding 空間? 中,并將它們合并為?,?為 patch 的數量,數值上等于?,?為 embedding 空間的維度。接著隨機初始化分類 embedding ?和位置 embedding 并將它們與??綁定在一起作為可學習的 embedding。再把上述特征 embedding 輸入到編碼器中,公式如下:
編碼器層由多頭自注意力 (multi-head selfattention,MSA) 和多層感知機?(multi-layer perceptron,MLP) 組成。 各層編碼器逐層計算 patch 和分類 embedding 之間的關系。 因此,相鄰層的特征embedding 可以表示為:
其中,?是第 l 層編碼器的輸入,?是中間變量。
2)CRA
區分真假人臉的關鍵線索存在于不同的 patch 中。捕獲不同的局部 patch 之間的關系有助于模型對真假人臉的判別。然而,這些局部 patch 可能來自不同尺寸的特征圖。因此,我們需要去推斷來自不同層的 patch 之間的關系?;谶@層考慮,作者提出了 CRA,它使模型在學習同層 patch 之間相關性的同時,還能學習不同層的 patch 之間的相關性。
假設每層的 patch 數為?。為了更好地探索不同層的 patch 之間的關系,作者使用了 GCN 來提取不同 patch 之間的信息 (具體操作如整體網絡結構中的 CRA 部分所示,將兩個 patch 拼接后再進行特征提取)。定義一個圖?,它包含 2L 個節點??以及對應的邊緣?,作用是推理不同 patch 之間的關系。鄰接矩陣??用于表示局部 patch 之間的關系。公式如下:
其中,,。具體來說,?和??為 ?結構。
為了結合空間順序信息,將第 i 個 patch 和所有 patch 之間的關系堆疊在一起,獲得:
為了學習重要性分數??(對應 patch ),作者首先對局部特征??和全局關系信息??進行拼接,隨后利用一個 embedding 函數來進行推理,公式如下:
其中,?和??表示 ,分別對??和??進行映射。?為卷積層,用于學習重要性分數?。
對于來自不同層的兩個 patch,可以得到重要性分數列表:
隨后利用 sigmoid 激活函數來標準化重要性分數:
最后,得到加權后的 patch embedding,公式如下:
3)HFF
與?CNN 不同,Transformer 編碼器層采用自注意力來分層計算每個 patch 之間的相關性。在低層特征圖中,patch 與周圍區域的相關性更強,有利于提取紋理細節。在深層特征圖中,patch 可以與整個區域相關聯,有利于提取語義信息。但隨著網絡深度的增加,低級特征的信息也在不斷丟失,而許多重要的區分信息以低級特征表示。因此,為了減少低層特征的丟失并充分利用不同層特征之間的互補性,作者提出了 HFF 融合來自不同層的特征,如下圖所示。
圖中從左到右為 HFF 不同的特征融合方案,分別為?bottom-up fusion, bidirectional fusion 和 top-down fusion。
作者通過消融實驗證明方案 (c) 的特征融合效果最優,這表明從高到低進行特征融合更適合 FAS。 具體來說,更深的信息引導下層關注具有語義相關性的區域,而低層相應地提取更重要的紋理細節。
4)損失函數
為了充分利用全局和局部信息, TransFAS 網絡中同時采用了二元和深度監督。 整體損失? 定義如下:
其中,?表示二元交叉熵損失,?由 MSE 和 CDL 組成,用于度量真實值 () 與預測值 () 之間的差異,深度監督真實值由 PRNet 生成,PRNet 算法的環境配置在我之前的一篇博客中有提到,感興趣的可以去看看:
PRNet 論文學習、Windows系統代碼環境配置及demo展示_Cassiel_cx的博客-CSDN博客
回歸正題,上式中的??是一個比例系數,用于平衡兩個損失函數;?表示用于調整絕對值的尺度系數。?
5)訓練及測試細節
訓練設置
batch size 為256;優化器為 Adam;lr 和 weight decay 均為 5e-5,lr 每隔 50 epoches 下降一半;epoch 為 150;?為 0.4;?為 1;patch 的大小為 16×16;特征 embedding 的通道數為 192。
測試設置
在測試期間,區分真假人臉的分數定義如下:
其中,?的值與訓練時的一致;?表示二分類真人概率值;?表示??中所有像素點的均值,?為 28×28 的特征圖。?
實驗結果
在 OULU-NPU 測試集上的實驗結果如下:
在 SIW 測試集上的實驗結果如下:
在?OULU-NPU、CASIA-MFSD、REPLAY-ATTACK 和 MSU-MFSD 的跨數據集測試結果如下:
在已知和未知場景中的測試結果如下:
來自 OULUNPU 數據集的一些示例的圖像注意力可視化如下圖所示,
其中,(a) 原圖;(b)?w/o CRA;(c) w/o HFF;(d)?TransFAS
結論
TransFAS 可以跨不同層學習全面的關系感知局部表示,CRA 可以提供 patch 之間的信息以提高性能,HFF 探索了融合跨層特征的最佳方法。大量實驗也證明了 TransFAS 模型在已知和未知場景中的魯棒性。
總結
以上是生活随笔為你收集整理的活体检测 Face Anti-Spoofing Using TransformersWith Relation-Aware Mechanism 学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QD入门.symbian手机通用(转)
- 下一篇: 运营日常工具使用