劉奇聰
(四川大學計算機學院,成都 610065)
隨著科學技術的進步,人們急需在日常生活中使用安全高效的個人認證方法。隨著深度學習技術的出現和計算能力的快速發(fā)展,自動人臉識別系統(AFRS)的精度和效率在過去十年里得到了很大的提高,促進了AFRS在許多應用中的部署。但是,AFRS的安全問題仍然是一個大問題。例如,人們可以通過使用面部照片、視頻或3D人臉面具輕易地欺騙AFRS。這嚴重阻礙了AFRS的普及。
許多研究人員提出了許多解決方案來解決人臉防偽問題。一些研究人員提出使用LBP[3],DoG[4],HOG[5]和LBP-TOP[6]等手動提取的紋理(或外觀)特征來區(qū)分真實的人臉與虛假的人臉。有人提出了眨眼和嘴唇運動等臉部運動特征來區(qū)分真實臉部和假面部。其他方法也被用于人臉防偽,包括三維臉部結構分析、傅立葉光譜分析、光流分析。深度學習在計算機視覺領域取得了重大突破,如圖像分類、目標檢測和人臉識別。這激勵研究人員使用深度學習技術來解決人臉防偽的問題。
與現有的從原始人臉圖像提取特征的方法不同,本文提出將人臉圖像轉換為邊緣圖,并在面部邊緣圖上使用卷積神經網絡自動學習人臉防偽征。在圖1中,列舉出了真是的人臉與虛假的人臉以及他們的邊緣圖??梢钥闯?,邊緣地圖可以放大真人臉和假人臉之間的差異,同時抑制人臉圖像中的噪點。我們在兩個公共數據庫上進行的評估實驗證明,面部邊緣圖的這種特征有助于人臉防偽,特別是對于跨數據庫的欺騙攻擊。
在本節(jié)中,我們將介紹我們提出的方法的兩個關鍵組件:面部邊緣圖提取和人臉防偽特征學習。
在我們提出的方法中,首先應用了人臉檢測以及特征點定位。臉部對齊基于五個特征點,瞳孔、鼻尖以及嘴角。請注意,在此步驟之后,我們將圖像轉換為灰度圖像。然后將這些人臉圖像歸一化為100×100的大小,并裁剪為64×64的大小,以鼻尖所在的位置做為圖像的中心點,瞳孔的位置與圖像邊緣的距離為24個像素。這樣圖像的大部分背景被消除。然后我們使用OpenCV 3.0中提供的Sobel算子來對圖像進行X軸和Y軸的邊緣檢測。所得到的邊緣圖按照一定比例疊加。圖2是我們方法圖像預處理的過程。
圖1 左側為真實的人臉圖像,右側為虛假的人臉圖像,以及各自的邊緣圖
在這一部分我們將詳細介紹人臉防偽特征學習的網絡結構。在我們提出的方法中,我們使用三個卷積層,三個池化層和兩個全連接層。在卷積層中,使用歸一化層。在每個卷積層之后使用共享層。ReLU非線性也被用于每個卷積層的輸出。第一個全連接層位于第三個池化層之后。另一個是Softmax層。圖3是網絡結構的結構圖。
在本節(jié)中,我們首先介紹實驗中使用的數據庫以及實驗結果。
在本文中,我們使用了兩個公共數據庫:CASIA Face Anti-Spoofing Database[1]和MSU Mobile Face Spoofing Database(MFSD)[2]。 CASIA人臉防偽數據庫人臉數據變化,虛假的臉孔來源于真實人臉的高質量臉部圖像。有三種類型的圖像質量:低質量,正常質量和高質量。有三種人臉欺騙攻擊,即切割照片攻擊,視頻攻擊和歪曲照片攻擊。在這個數據庫中包含600個視頻剪輯。每個人包含12個視頻片段(3個真正的視頻和9個假的)。我們將視頻剪輯解碼成圖像并保存為JPEG圖像用于數據預處理。MSU人臉防偽數據庫包含來自35個人的280個視頻片段,根據真實數據與虛假數據的采集設備的不同,該數據庫可以分為6個部分:1)高分辨率iPad(安卓平板攝像頭)拍攝,2)移動設備iPhone(或Android手機)攝像頭3)照片Android攝像頭 4)高分辨率 iPad(電腦)攝像頭,5)iPhone/筆記本電腦攝像頭6采集自電腦攝像頭的打印照片。MSU數據庫自帶使用MATLAB代碼將視頻解碼成圖像格式的數據。在圖表1中包含了兩個數據的視頻數據與圖像數據的數量。
圖2 圖像預處理過程
圖3 網絡結構示意圖
表1 數據庫中數據數量
為了得到可靠的實驗結果,我們做了兩個實驗:1)使用CASIA數據庫的訓練分類器并在CASIA和MFSD數據庫上進行測試2)使用CASIA和MFSD作為訓練數據集選取MFSD部分數據做為測試集進行測試。我們所做的實驗是在具有Intel i7 CPU,NVIDIA Ge-Force GTX 980Ti顯卡和32 GB內存的電腦上進行的。我們用一個開源框架“Caffe”來實現我們提出的方法?!癈affe”是一個有效的框架,已被廣泛用于深度學習,尤其是深度卷積神經網絡。在第一個實驗中,我們使用CASIA數據庫作為訓練集,其中5000張假面圖像和2000張真實面孔作為內部測試集。我們從MFSD中選擇4000張假面和2000張真實圖像作為外部測試集。第二個實驗我們使用所有的CASIA數據庫和MFSD的一部分作為訓練集,我們選擇MFSD作為訓練集留下3000個圖像(2000個假和1000個真實)的測試集。在表2中展示了兩次實驗的實驗精度。
我們設計了一個實驗來證明我們提出的方法與文獻[2]中提到的方法相比將會表現得很好。這兩種方法都在CASIA[1]中進行了訓練,并在MFSD[2]中進行了測試。在文獻[2]中,作者使用IDA(Image Distortion Analysis)和SVM來進行臉部活性檢測。我們使用CNN和提出的網絡結構和灰度圖像訓練了一個分類器。在表3顯示了我們的方法和作者在文獻[2]中的結果。
表2
在本文中,我們提出了一種基于DCNN的人臉檢測方法。在MFSD上測試的實驗表明,我們取得了良好的表現效果。由于用于訓練分類模型的圖像都是偏轉角度較小的正面圖像,當測試頭像偏轉角度較大的圖像時,該模型地表現不夠好。在接下來的工作中,我們將提高泛化能力,以適應不同的角度。
[1]Z.Zhang,J.Yan,S.Liu,Z.Lei,D.Yi,S.Z Li.A Face Anti-Spoofing Database with Diverse Attacks.In Biometrics(ICB),2012 5th IAPR International Conference on.IEEE,pp.2631(2012)
[2]D.Wen,H.Han,A.K.Jain.Face Spoof Detection with Image Distortion Analysis.In IEEE Transactions on Information Forensics and Security,pp.746-761(2015)
[3]J.Yang,Z.Lei,S.Liao,S.Z.Li.Face Liveness Detection with Component Dependent Descriptor.In Biometrics(ICB),International Conference(2013)
[4]X Tan,Y Li,J Liu,L Jiang.Face Liveness Detection from A Single Image with Sparse Low Rank Bilinear Discriminative Model.In Computer Vision ECCV,pp 504-517(2010)
[5]J.Komulainen,A.Hadid,M.Pietikainen.Context based Face Anti-Spoofing.In Biometrics:Theory,Applications and Systems(BTAS)(2013)
[6]T.de Freitas Pereira,A.Anjos,J.M.De Martino,S.Marcel.:LBP-TOP Based Counterm easure Against Face Spoofing Attacks.In Computer Vision ACCV Workshops,pp121-132(2012)