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