作者:雲時之間
來源:知乎
鏈接:https://zhuanlan.zhihu.com/p/162334650
編輯:王萌
在一些業務需要中,需要識別場景中的用戶是否爲"真人",因此需要活體檢測技術,這篇文章將針對當前行業中的活體檢測技術進行總結。
一:活體檢測面臨的問題
在人臉檢測之中,***者往往會通過PA(presentation attacks)對系統進行***,常見的PA操作包括打印照片,虛假錄製視頻,面部僞裝,3D-人臉面具等方式,如果沒有活體檢測,系統的安全性會比較低。在2017年之前,行業主要的實現方向是使用傳統的機器視覺方法,在17年之後,較多的使用CNN卷積網絡來輔助性能,在2019年CVPR中就有多篇關於活體檢測的paper,已成熱門方向。
二:常見活體檢測方式調研
Ⅰ:基於傳統圖像處理的活體檢測
傳統的活體檢測主要的思路是捕捉圖像的紋理,從而進行分類。
這類方法整體的流程大致如下:
1:圖像預處理,對圖像進行裁剪,對齊,分割等操作,同時對圖像的空間進行變換和疊加,通過從時域到頻域,空域或者改變其顏色空間來進行操作。
2:使用如SIFT,HOG,LBP,SURF以及各種魔改變種來對圖像的特徵進行提取。
3:使用如降維,編碼,多通道組合的方法進行進一步的特徵提取,進行分類前的預處理
4:使用SVM/LR等特徵分類器進行二分類
Ⅱ:傳統方法論文思想總結:
①:通過活體和PA***紋理統計特性不一致,基於紋理特徵進行分類
比較具有代表性的論文:
1:Face Spoofing Detection Using Colour Texture Analysis
通過HSV空間人臉多級LBP特徵 + YCbCr空間人臉LPQ特徵
Link:https://ieeexplore.ieee.org/abstract/document/7454730
2: Face anti-spoofing based on color texture analysis
通過觀測在頻域上分佈不同,先區分活體還是照片*** (因爲照片中的人臉提取的頻域分佈不同),若判別上述結果是活體,再設計一個紋理LBP分類器,來區分活體還是屏幕***(因爲屏幕視頻中人臉頻率分佈與活體相近)
Link:https://ieeexplore.ieee.org/abstract/document/735128
在這類論文中,活體和PA紋理不一致,如下圖
可以通過LBP(局部二值)來提取其紋理特徵,再對LBP進行分類:
使用到的模型架構:
②:基於紋理統計特性進行分類
代表論文:
1:Chromatic cooccurrence of local binary pattern for face presentation attack detection
Link:https://ieeexplore.ieee.org/document/8487325
模型架構:
②:On the effectiveness of local binary patterns in face anti-spoofing
Link:https://ieeexplore.ieee.org/abstract/document/6313548
模型架構:
③:LBP-TOP based countermeasure against face spoofing attacks
模型架構:
④:Face Liveness Detection with Component Dependent Descriptor
這篇文章也是用的紋理統計,但是比較有意思的是使用了面部分割的方法
模型流程:
1:檢測面部位置,將面部分割爲輪廓,面部,左右眼,鼻,嘴,六個區域
2:提取面部特徵,LBP+HOG,將不同部位進行特徵聯結
3: SVM分類器進行二分類
以上爲比較傳統的機器學習的活體檢測方法,雖然這些算法有一些歷史,但大致流程不變,我們仍可以學習其處理的內核精神,下一篇文章將介紹下現在比較主流的基於深度學習的活體檢測!
五:參考文章
活體檢測Face Anti-spoofing綜述 - Fisher Yu餘梓彤的文章 - 知乎
https://zhuanlan.zhihu.com/p/43480539
CVPR & AAAI 2020 |人臉活體檢測最新進展 - Fisher Yu餘梓彤的文章 - 知乎 https://zhuanlan.zhihu.com/p/114313640