單目可見光靜默活體檢測 Binary or Auxiliary Supervision論文解讀

2021-01-18 我愛計算機視覺

點擊我愛計算機視覺標星,更快獲取CVML新技術


前段時間,52CV正式運營子品牌OpenCV中文網公眾號,旨在分享最新的OpenCV實用技術與計算機視覺突破,無意中分享了兩篇活體檢測的代碼:

CVPR 2019 活體檢測比賽第二名、第三名方案開源

OpenCV活體檢測

(強烈推薦大家點擊上述連結關注OpenCV中文網)


不想竟然引起了52CV人臉識別群友們的熱切關注,後來新開了活體檢測群,群內籌劃後續系統性總結相關論文和數據集。


今天的文章來自52CV群友王哲的知乎專欄活體檢測論文分享,原文地址:

https://zhuanlan.zhihu.com/p/60155768


該文解讀了CVPR 2018 活體檢測論文《Learning Deep Models for Face Anti-Spoofing: Binary or Auxiliary Supervision》。



原論文作者來自美國密西根州立大學。

所屬範疇:單目可見光靜默活體

簡介:

作者認為現存大多數活體算法用binary classification監督不夠合理,也不能說明預測結果的依據(模型是否學習到真正的活體與攻擊之間差異),故提出CNN-RNN框架,採用pixel-wise的深度圖監督方式和sequence-wise的rPPG信號監督方式(如下圖),並提出高解析度+豐富PIE的數據集SiW;試驗在cross-test取得了state-of-the-art。

主要貢獻:

提出用深度圖和rPPG信號作為CNN學習的監督信息,提高模型泛化能力;

提出CNN-RNN框架,支持深度圖和rPPG信號的end-to-end訓練;

發布全新數據集,包含多種PIE和其他影響因素,並取得sota。

方法介紹:

首先我們看rPPG是什麼,Remote Photoplethysmography (rPPG)是在不接觸人體皮膚的情況下,跟蹤如心率等重要信號的技術。作者引用了很多文獻來解釋rPPG的發展,然而結論卻是,分析這種信號的解決方案太容易實現了,那麼它一定很容易受到PIE變化的影響!因此,作者用RNN來學習從人臉視頻到rPPG信號的映射,對於PIE變化可能不夠魯棒,但是足夠區分真人和攻擊。

1. Face Anti-Spoofing with Deep Network

如Figure 2所示,先用CNN提取特徵,用深度圖做監督信息,然後把預測的深度圖和最後一層的特徵圖輸入到non-rigid registration layer,獲得aligned後的特徵圖,再用aligned的特徵圖和rPPG監督信息訓練RNN,使其通過視頻序列獲得區分真人和攻擊的能力。

2. 深度圖監督

深度圖是二維圖像的三維信息表達,表示不同區域和相機之間不同距離。這種表達比二維標籤傳達出更多的信息,可以從根本上區分真人與列印、視頻回放的攻擊方式。作者用DeFA估計3D信息(具體的沒太看懂),考慮到絕對深度不方便訓練也沒太大作用,就將深度歸一化到[0, 1],再用z-Buffer算法把歸一化的z值映射回2D圖像,這樣作為CNN部分pixel-wise監督信息的「ground truth」就產生了。

3. rPPG 監督

rPPG信號最近已經被用到活體識別領域了,為face liveness提供時域信息,這類信息與血液流動高度相關。傳統的rPPG信號提取方法有三個弊端:對姿態太敏感,很難跟蹤某個特定的面部區域;對光照敏感,額外的光照會影響皮膚反光的總量;對於活體識別而言,從視頻提取的rPPG信號可能無法與真實視頻區分。

作者認為用RNN去估計rPPG信號可以有效解決上述所有問題,假設,同一subject的視頻在不同PIE條件下的ground truth rPPG信號是相同的。由於同一人的心跳在視頻中(拍攝時間小於5分鐘)是相似的,所以假設有效。作者把某個subject的constrained(PIE 無變化)視頻中提取出的rPPG信號作為這個subject所有rPPG信號的groundtruth。這種可持續的監督信息有助提升CNN和RNN的魯棒性。作者用DeFA提取人臉區域用於計算兩個正交色度信號,然後FFT變換至頻域。

4. CNN網絡

作者用了全卷積網絡,包含三個block,每個block的輸出都resize到64*64再合併。合併後的feature分別輸入到兩個分支,第一個分支用於估計深度圖,目標函數:

D為CNN參數,Nd為訓練集樣本總數。第二個分支輸入到non-rigid registration layer。

5. RNN網絡

RNN網絡基於圖像序列估計rPPG信號,然後FFT變換到頻域,目標函數:

R是RNN參數,Fj是frontalized feature map,Ns是圖像序列的總數。作者在FFT之後對FFT求Loss,那麼bp的時候怎麼FFT過乘求導呢?先IFFT麼?既然FFT沒有參數,為什麼不把fc的輸入接入loss呢,不解。

6. 實現

1)ground truth

作者按照2. 中方法生成深度圖的ground truth,並把攻擊樣本的深度設為一個平面,如全部設為「0」;同樣,按照3. 中方法生成rPPG的ground truth,並做L2歸一化,攻擊樣本的rPPG設為「0」

2)訓練策略

作者合併CNN和RNN,做端到端訓練。CNN部分需要的數據需要打亂所有subject的所有樣本,再分成多個batch,以此來維持訓練的穩定性和模型的泛化能力,但是RNN模型需要某個subject的較長視頻序列來利用跨幀的時域信息。這兩方面是互相矛盾的,也對顯存要求很高,為此作者設計了two-stream 策略:第一個stream滿足CNN,輸入為RGB圖片和深度圖「ground truth」;第二個stream滿足RNN,輸入是視頻序列,深度圖「ground truth」,預測的3Dshapes和rPPG 「ground truth」。訓練時,交替訓練兩個stream,訓練CNN時只更新CNN參數,訓練RNN時更新CNN和RNN的參數(很難理解,怎麼通過non-rigid registration反傳回去的)。

3)測試

輸入視頻序列,得到預測的深度圖和rPPG信號,計算最後的

得分:

為常數權重,用來合併兩個輸出。

4)Non-rigid registration 層

作者設計non-rigid registration層,用於RNN輸入數據的預處理。這一層用預測的稠密3Dshape align CNN輸出的feature map的activations,確保RNN跟蹤和學習到不同人臉同一部分的變化。如下圖,該層有三個輸入:CNN輸出的feature map T,估計的深度圖Dhat,3D shape S;首先把Dhat二值化,得到V,然後計算V和T的內積,得到U,相當於把V當成T的mask來使用。

最後,用S frontalize U(不理解):

作者認為該層對整個網絡有三個貢獻:輸入數據被對齊,RNN在學習特徵是不受到面部姿態和表情的影響;減少feature map中背景的影響;對於攻擊樣本,深度圖幾乎接近0,因此和feature做內積時,極大弱化了feature map的activation,有利於RNN學習並輸出的rPPG信號為0,因此,rPPG loss也有助於CNN產生值為0的深度圖。

實驗與結論:

作者在tf框架下進行試驗,學習率為 3e-3,10個epoch,CNN stream batch 為10,CNN-RNN stream batch 為2,視頻序列長度為5,公式(6)中為0.015,公式(7)的閾值為0.1。作者用APCER,BPCER,ACER,HTER作為測試的metric,ablation 測試結果如下:


Model 1: CNN + pooling layer + fc layer + softmax

Model 2: CNN + depth map

Model 3: CNN + RNN + depth map + rPPG(w/o non-rigid registration)

Model 4: 作者提出的框架

作者用SiW數據集中的20個subject進行試驗,顯然本文提出的框架效果最好,作者還研究了不同視頻長度對結果的影響,見下圖,視頻序列越長取得效果越好,對顯存要求也就越高。

其他測試結果如下:

其他

1)可視化

從下圖可以看到,輔助的監督信息是有效的。


CV君在網上找了下,目前還未發現該文有開原始碼,如果各位讀者有推薦的相關代碼,歡迎留言。


加群交流


關注活體檢測相關技術,歡迎加入52CV-活體檢測交流群,下方掃碼CV君拉你入群,驗證信息請務必註明:活體檢測(不然不會通過好友驗證)。

喜歡在QQ交流的童鞋可以加52CV官方QQ群:702781905。

(不會時時在線,如果沒能及時通過還請見諒)

長按關注我愛計算機視覺

相關焦點

  • 活體檢測3:Binary or Auxiliary Supervision
    如圖1,我們提出了一個深度模型,該模型使用來自空間和時間輔助信息的監督,而不是二進位監督,目的是從人臉視頻中穩健地檢測人臉pa。    這些輔助信息是根據我們關於活面和欺騙面之間關鍵差異的領域知識獲得的,其中包括兩個視角:空間和時間。
  • 火眼金睛——比度計光聲分子影像檢測活體甲基汞
    目前,對於甲基汞的檢測主要包括氣相色譜(GC)、高效液相色譜(HPLC)、毛細管電泳(CE)、耦合特異性探測如原子螢光光譜(AFS)或電感耦合等離子體質譜(ICP-MS)等,但這些方法樣品的預處理十分繁瑣,且不能檢測活體樣本。
  • 百度大腦領先活體檢測+合成圖鑑別 讓人臉「照片活化」無從遁形
    其實,國內有不少企業都在做著這方面的嘗試,以國內AI技術領先的百度為例,據了解,百度大腦人臉識別已經能夠提供6種離線/在線活體檢測服務,支持有動作、語音、唇語、RGB靜默活體、3D結構光深度靜默活體、近紅外靜默活體等多種防作弊手段,商家或者用戶可靈活組合使用這些技術服務來滿足各類場景需求,保障業務安全。
  • 虹軟用離線「活體檢測」賦能開發者刷臉商用密鑰
    因此,保障人臉識別安全性的核心技術「活體檢測」已成為企業在商業化落地時必須突破的壁壘。而近日這道昂貴的圍牆或將不復存在,全球領先的智能視覺技術提供商ArcSoft虹軟通過旗下人工智慧開放平臺,推出了業內首款離線免費的「活體檢測」技術。將如此核心的技術免費開放,虹軟會有怎麼樣的AI生態布局野望?
  • 登NIST競賽榜單,獲BCTC增強級活體認證:小視再攀高峰
    ,通過了人臉採集、圖像質量分類、活體檢測等多個測試項。測試結果顯示,在不同光線 (正常光,強光,弱光,逆光,陰陽光,冷暖色光等)、不同距離、不同角度等測試環境下,該紅外活體算法能夠有效防禦二維靜態紙質圖像(多種材質、呈現方式、裁剪方式等)、二維靜態電子圖像、二維動態視頻、三維逼真面具以及三維逼真頭模等假體的攻擊。
  • 身份識別之人臉活體檢測
    隨著科技的不斷發展,人臉識別技術越發的成熟,在金融、門禁、考勤、人證合一等領域中廣泛應用,而活體檢測是人臉識別中的重要環節,在近年來也得到了越來越多的關注。  一、活體檢測的常用方法  1、普通攝像頭活體檢測  二、雖然沒有配合指令的動作響應,但真實的人臉也不是絕對靜止的,總有一些微表情的存在,比如眼皮和眼球的律動、眨眼、嘴唇及其周邊面頰的伸縮等。
  • 史上最全 OpenCV 活體檢測教程!
    答案是使用 OpenCV 進行活體檢測,這正是本文要討論的內容。那麼,如何將基於 OpenCV 的活體檢測功能結合到你自己的人臉識別系統中呢?本文接下來將給出答案。基於 OpenCV 的活體檢測在本教程的第一部分,我們將對活體檢測進行討論,包括「活體檢測是什麼?」以及「為什麼我們需要活體檢測來改進人臉識別系統?」
  • 活體檢測很複雜?僅使用opencv就能實現!(附源碼)
    為了使人臉識別系統更安全,我們不僅要識別出人臉,還需要能夠檢測其是否為真實面部,這就要用到活體檢測了。基於啟發式的算法(Heuristic-based algorithms),包括眼球運動、嘴唇運動和眨眼檢測;光流算法(Optical Flow algorithms),即檢查從3D對象和2D平面生成的光流的差異和屬性;3D臉部形狀,類似於Apple
  • CVPR 2019 | 騰訊AI Lab解讀六大前沿方向及33篇入選論文
    騰訊 AI Lab 今年有多篇與人臉相關的研究論文入選 CVPR,涉及到跨年齡人臉識別、人臉活體檢測和、多視角 3D 人臉重建、人臉面部動作單位強度估計、人臉識別系統的對抗攻擊研究等方向。其中,在人臉活體檢測方面的研究與我們支持的雲智慧眼業務密切相關,這是我們在公司內首推而且在 H5 場景下屬於業界首創的靜默活體檢測技術(靜默活體檢測指的是不需要用戶交互配合即可完成人臉活體檢測,非常易用。
  • 大學生畢業論文檢測 高效修改重複率的經驗解讀
    大學生畢業論文檢測是確保畢業論文是否合格,提前知道結果,並進行修改,然爾很多的大學生畢業論文檢測時,系統反饋了報告,卻表示看不懂,只知道 一片紅的,頭痛!!我們的畢業論文要怎麼修改呢?以下小編,分享修改重複率的經驗,高效修改重複率。
  • Interim Notification on Supervision of 2012 Annual Reports of...
    Annual report supervision is a long-term and on-going measure.With respect to the supervision of 2012 annual report, the CSRC combined on-site and non-on-site supervision, regarding the latter as the focus of the first half of the year.
  • tf.keras.losses.binary_crossentropy
    loss越小,表示模型預測結果與真實值偏差越小binary_crossentropy,二分類交叉熵,與sparse_categorical_crossentropy類似,可以更精確的評估預測效果與sparse_categorical_crossentropy不同,binary_crossentropy是一個二分類損失評估,而前者是一個多分類,也就是說
  • 人臉識別雙目模組自助機應用活體檢測
    我們來講一下關於人臉識別雙目模組自助機應用活體檢測的問題。人臉識別是基於人的臉部特徵信息系統進行身份識別的一種生物識別技術,傳統的面部識別技術具有基於可見光圖像的人臉識別,現在使用的是基於主動近紅外圖像的多光源人臉識別技術。
  • CVPR精彩論文解讀:對當下主流CNN物體檢測器的對比評測
    雷鋒網(公眾號:雷鋒網) AI科技評論按:雖然CVPR 2017已經落下帷幕,但對精彩論文的解讀還在繼續Faster RCNN、SSD、YOLO、 R-FCN等諸多檢測算法百花齊放,每種方法都在各自的維度上達到當時的state-of-the-art。而由於各種不同方法在實驗時所使用的特徵提取網絡、圖像解析度、軟硬體架構等諸多因素不盡相同,目前對於不同的檢測方法一直缺乏一個實際的公平比較。這篇論文主要討論多種物體檢測算法在速度、精度做不同權衡時的表現,進而指導實際應用中對物體檢測器的選擇。
  • CVPR論文解讀:非常高效的物體檢測Mimic方法
    雷鋒網 AI科技評論按:雖然CVPR 2017已經落下帷幕,但對精彩論文的解讀還在繼續下文是Momenta高級研發工程師蔣雲飛對此次大會收錄的 Mimicking Very Efficient Network for Object Detection 一文進行的解讀。
  • 人臉識別有什麼漏洞,活體檢測又是怎麼防偽?
    隨著人臉識別技術日益成熟,商業化應用越來越廣泛,人臉登錄、人臉支付、人臉乘梯、人臉閘機等等,在安防、金融、教育、醫療等領域廣泛應用,人臉識別技術的智能快捷在國內得到迅速發展,但人臉識別極其容易被照片、視頻、仿真模具等方式矇混過關,網上也頻頻傳出各種破解方法,因此人臉識別系統具備活體檢測功能成為必然
  • 英文早點 | 2019年2月12日:Nonbinary,男女之外,性別的第三個選項
    血液檢測是測量乳酸水平的一種方法,但是這在比賽或速度競賽中並不實用。因此,科學家的目標是找到一種方法,通過測量唾液中的乳酸來監測肌肉耐力。帕洛阿爾託研究中心(簡稱PARC)和加州大學聖地牙哥分校的研究人員說,他們已經實現了這個目標。
  • 如何查看論文檢測報告?
    如今,無論是畢業論文還是職稱論文又或者是期刊上的投稿文章,都需要檢測重複率。論文通過查重系統進行檢測後,查重系統會給出一份查重報告,我們可以通過查重報告了解自己論文的重複性,今天paperfree小編來教大家怎麼來解讀論文查重報告。
  • 復旦張凡團隊 在近紅外螢光壽命活體成像領域取得重要進展
    這篇以《螢光壽命工程化的近紅外第二窗口納米顆粒解鎖活體多重成像》(「Lifetime engineered NIR-II nanoparticlesunlock multiplexed in vivo imaging」)為題的論文,提出將近紅外螢光壽命成像技術運用於活體多重檢測當中,有望成為一種全新的腫瘤精準診斷方法。這也是復旦大學通過交叉學科研究取得的又一重大成果。
  • 輪廓檢測論文解讀 | Richer Convolutional Features| CVPR | 2017
    0 概述論文名稱:「Richer Convolutional Features for Edge Detection」論文連結:https://openaccess.thecvf.com/content_cvpr_2017/papers/Liu_Richer_Convolutional_Features_CVPR_2017_paper.pdf