王宇龍,劉開元
?
基于面部特征點運動的活體識別方法
王宇龍,劉開元
(廣州大學計算機科學與教育軟件學院,廣東 廣州 510006)
提出一種應用于手機移動端基于深度學習反照片及反視頻的生物識別方法,該方法利用面部動作數(shù)據集訓練一個LSTM網絡,通過用戶配合輸入一段隨機動作順序的視頻,對視頻預處理后提取面目特征特點得到特征點數(shù)據,最后將特征點數(shù)據放入循環(huán)神經網絡判斷視頻是否發(fā)生了偽造攻擊。實驗結果表明,該方法能夠有效抵御照片攻擊和視頻回放攻擊。
活體識別;面部特征點;深度學習;LSTM
生物識別技術是運用聲學、光學、生物傳感器等,采集人體的身體特征和行為特征,運用計算機處理相關數(shù)據,對個人身份進行辨別的技術[1]。人臉識別技術作為生物識別技術的一個分支,通過識別人臉生物特征,從而區(qū)分本體與偽造樣本,抵御偽造攻擊?,F(xiàn)在智能穿戴設備已普及,絕大部分智能穿戴設備(如手機)的信息采集能力較弱,除了圖像和音頻外無法獲得其他信息,因此人臉識別技術是目前最理想的手機移動端生物識別技術,構建一個能夠抵抗偽造攻擊的面部識別系統(tǒng)對手機移動端人臉檢測至關重要。
人臉識別系統(tǒng)面臨3種欺騙攻擊:使用合法用戶的照片、使用合法用戶的視頻、使用合法用戶的三維模型或面具頭套。其中,照片欺騙和視頻欺騙是攻擊人臉識別系統(tǒng)最頻繁的方法。本文著重研究對照片欺騙和視頻欺騙的防御。
近年來,人臉識別活體檢測領域迅速發(fā)展。Olga等[2]認為應將活體檢測技術系統(tǒng)分為運動信息分析、紋理信息分析、活體部位分析3種,并討論了基于真?zhèn)螆D像存在的非剛性運動、噪聲差異、人臉背景依賴等特性形成的分類器性能。在紋理信息分析方向上,Galbally[3]提出一種基于圖像紋理質量評價的方法來增強生物特征識別的安全性,該方法只需要一張圖片就可以區(qū)別真?zhèn)?,但對采樣攝像頭的分辨率要求很高,因此該方法的應用場景有一定的限制;在運動信息分析方向上,Pinto等[4]針對視頻回放攻擊提出一種基于visual rhythm analysis的活體檢測方法,利用對傅里葉變換后的視頻計算垂直和水平的視覺節(jié)奏,利用3種特征(灰度共生矩陣GCLM、LBP、HOG)對visual rhythm表征和降維,使用SVM分類器和PLS(偏最小二乘)來辨別視頻真?zhèn)危捎诓蓸釉O備限制、維護成本較高等缺點,很難大面積推廣。在活體部位分析中,Kim等[5]提出一種基于圖片失真屬性分析的檢測方法,但由于需要采集4種屬性并且建立數(shù)據庫比對,需處理的數(shù)據量相對較大,不便于在手機端推行。此外,還有大量學者針對活體識別技術提出了見解[6-12],這些方法與之前的方法相比具有更高的安全性,可以更好地抵御偽造攻擊。但這些方法對信息采集裝置的要求很高,兼容性不好,故難以大面積在手機移動端推廣。
本文提出一種環(huán)境需求低、欺騙代價高、便捷易推廣、可用于手機移動端的單攝像頭人臉識別方法。該方法基于面部動作特征點數(shù)據庫訓練的LSTM(long short-term memory)網絡模型,通過對正負樣本的學習后LSTM網絡模型能夠識別面部動作以及不同動作之間的切換是否來自照片或者視頻偽造,并且通過面部動作的隨機排序使攻擊者無法針對一個固定的動作序列進行視頻偽造。
2.1.1 人臉檢測與對齊
由于LSTM神經網絡本身不具備空間信息感知能力,因此如果直接將人臉圖像作為LSTM神經網絡的輸入數(shù)據,則必須將其拉升為一維數(shù)據,這樣勢必會丟失輸入數(shù)據作為圖像的空間信息。為了保證人臉圖像的空間信息,本文通過人臉對齊算法將人臉圖像轉化為帶有空間信息的人臉特征點向量,這種方法雖然丟失了許多面部細節(jié),但是保留了人臉的面部輪廓和表情特征,而這正是本文所需要的數(shù)據。
本文使用HOG+CNN算法[13]進行人臉識別,以及使用Kazemi等[14]發(fā)表于CVPR 2014上的ERT(ensemble of regression tress)算法進行人臉特征點識別,ERT算法是一種基于回歸樹的人臉特征點識別算法,這種方法通過建立一個級聯(lián)的梯度提升決策樹(GBDT)使人臉形狀從當前形狀一步一步回歸到真實形狀(如圖1所示,其中為弱回歸器迭代的次數(shù))。
圖1 人臉對齊流程
2.1.2 算法分析
1) 級聯(lián)回歸器
級聯(lián)回歸器的公式如下。
2) 級聯(lián)回歸中的單GBDT回歸樹
算法1 弱回歸器r
Initialise,=0:
For=1,…,
Set for=1,…,
Update
基于面部動作序列的活體檢測方法概述如下。
1) 系統(tǒng)初始化,載入訓練好的LSTM網絡模型。
2) 對輸入的視頻流進行人臉檢測。
3) 檢測到人臉后,產生一個隨機的面部動作序列并且指導用戶按順序執(zhí)行面部動作。
4) 計算得到用戶的人臉特征點,并輸入LSTM網絡模型進行面部動作判斷。
5) 檢測過程中如果某一幀人臉消失無法檢測,則回到步驟2)重新開始檢測。
6) 得到LSTM網絡模型的面部動作判別結果序列,比對結果序列是否與步驟3)中產生的隨機面部動作序列相同。
2.3.1 基于特征點數(shù)據的動作識別
在通常情況下,人臉識別系統(tǒng)面臨著3種欺騙手段:1) 使用合法用戶的照片;2) 使用合法用戶的視頻;3) 使用合法用戶的三維模型或面具頭套。
其中,三維建模或面具頭套是最具威脅的偽造方式,一個足夠精細的三維建模能夠在程序的控制下做出任何偽造者想要的動作或者表情,這對識別系統(tǒng)是致命的,但這也要求偽造者獲得合法用戶幾乎所有的面部細節(jié),除非合法用戶主動暴露否則幾乎無法獲得,因此本文主要針對前2種欺騙手段,通過運用LSTM神經網絡對人臉特征點的分布以及運動軌跡進行分類,從而區(qū)分用戶的合法性。
通過實驗對比,偽造者嘗試通過使用合法用戶的照片進行欺騙時的面部特征點位置和運動軌跡與正常的合法用戶的面部特征點位置是不同的。例如,圖2是搖頭動作時的側臉圖,其中,圖2(a)為合法用戶的面部特征點分布,圖2(b)為照片欺騙時的面部特征點分布。
當偽造者嘗試通過使用合法用戶的視頻進行欺騙時,由于系統(tǒng)生成的動作序列是隨機的,因此偽造者無法在動作序列未知的情況下獲得合法用戶的完整合法視頻,只能通過將包含合法用戶面部動作的視頻進行合成來獲得正確序列的偽造視頻。由于偽造視頻是合成的,所以不同面部動作時間的銜接動作會十分生硬甚至沒有銜接動作,而合法的用戶視頻不同面部動作之間的銜接會更為自然、平滑,這些區(qū)別同樣也會在特征點序列中展現(xiàn)出來。
圖2 合法/偽造特征點圖
本文通過LSTM神經網絡學習點頭、搖頭、微笑3個面部動作的運動軌跡特征和不同面部動作之間銜接時的運動軌跡特征,從而正確區(qū)分合法的用戶視頻和照片欺騙或者合成視頻重放欺騙。
2.3.2 算法分析
RNN(recurrent neural network)[15]是一種專門設計用于處理序列問題的網絡結構,能讓輸入的信息持久化,其網絡結構如圖3所示,RNN通過循環(huán)結構將信息沿序列傳遞下去,使任意序列節(jié)點RNN的輸出都是與以往節(jié)點的信息緊密相關的。
圖3 RNN結構
隨著研究的不斷深入,研究人員發(fā)現(xiàn)隨著輸入序列長度的變化,RNN的效果會越來越差,出現(xiàn)這個問題的關鍵是RNN在處理輸入間隔不同的數(shù)據信息時并不是“一視同仁”的,隨著這個間隔的不斷增大,RNN的學習能力會不斷遞減,最終導致與RNN間隔最短的信息權重最大,間隔越大的信息權重越小甚至沒有,從而出現(xiàn)長期依賴(long-term dependencies)問題。
為了解決長期依賴問題,Hochreiter與Schmidhuber[16]于1997年提出了一種經過改良的RNN模型LSTM網絡,這種網絡結構通過增加門(gates)結構和狀態(tài)信息來避免長期依賴問題,其網絡結構如圖4所示。
每個節(jié)點中包含3個門結構來控制節(jié)點對狀態(tài)信息的影響,門是一種讓信息選擇式通過的方法。它包含一個sigmoid神經網絡層和一個 pointwise 乘法操作,sigmoid層輸出0~1的數(shù)值,描述當前信息的通過百分比,0代表“不許任何信息通過”,1就指“允許所有信息通過”。狀態(tài)信息則會穿過循環(huán)神經網絡上的所有節(jié)點,每個輸入序列在經過處理后得到的信息不再只傳給下一個輸入序列,而是經過加權后傳入狀態(tài)信息中。狀態(tài)信息就像一條光纖,保證了不同節(jié)點的信息傳遞不受間隔距離的影響。LSTM增加的門包含遺忘門(forget gates)、傳入門(input gate)以及輸出門(output gate),分別控制當前時間點下數(shù)據的輸入、修改和輸出。
遺忘門的算法公式為
輸入門的算法公式為
圖4 LSTM網絡結構
輸出門的算法公式為
由于輸入門僅對上一節(jié)點的狀態(tài)信息中需要更新的部分進行了更換,但是當前時間節(jié)點的信息中仍包含之前狀態(tài)信息中沒有的信息。例如,上一節(jié)點傳入了“你好”,輸入門僅對已存在的部分進行更新,如將主語“你”更新為“你們”,但是并沒有添加原句子中不存在的部分。因此,輸出門的作用在于從當前時間點的輸入x中抽取出需要傳遞的新信息并與當前的狀態(tài)信息C進行整合,并與樣本標注進行比對,通過最小化交叉熵對模型進行訓練。
算法2 LSTM回歸器LSTM
Initialise,=0:
For=1,…,
Set for=1,…,
Fit a LSTM networkLSTM(,)
Update
為了測試本文提出的算法對活體人臉和欺騙攻擊的辨別能力,本文采集構建了一個人臉動作視頻的數(shù)據庫。該數(shù)據庫基于logitech C270采集,每個測試樣本包含12個采集視頻和6個合成視頻,其中,采集視頻包含活體的點頭、搖頭、微笑3個面部動作之間相互切換的視頻片段以及有照片遮擋的3個面部動作之間相互切換的視頻片段,而合成視頻則是通過視頻拼接合成的面部動作切換視頻,每個視頻分辨率為640×480,采樣頻率為25幀/秒,每個視頻片段時長大約20 s,一共采集了8個人,共144個視頻片段,其中,挑選了12個合法用戶視頻、12個照片欺騙視頻和12個合成偽造視頻,共36個視頻片段作為測試集,其余作為訓練集。
本實驗所使用的平臺配置為I7-7700K處理器,16 GB內存,GTX1080顯卡,人臉特征點檢測采用dlib庫,該庫實現(xiàn)了基于ERT算法的人臉特征檢測模型;面部動作識別以及活體檢測使用的是基于Tensorflow平臺的LSTM神經網絡模型。在使用GPU加速的情況下系統(tǒng)的處理速度能達到30幀/秒,表明本文所提出的方法可以在有實時要求的項目背景下使用。
實驗模型參數(shù)設置如下。
本文的ERT算法模型采用的為68點人臉特征預訓練模型,LSTM 網絡為3層隱藏層,每層節(jié)點數(shù)設置為256個,為了避免過擬合,所有LSTM網絡共享一套權值;訓練過程的誤差傳遞使用隨機梯度下降(SGD)的方法,學習率設置為 0.1,對于誤差的更新則采用批處理的形式,每次由16個樣本一起更新,即batch設置為16個,dropout設置為0.2,狀態(tài)機序列長度設置為50,輪回次數(shù)設置為2 000,選擇在評估數(shù)據集上性能最好的一組參數(shù)作為訓練的模型參數(shù)輸出。
本文通過測試集中的36個視頻片段測試了本文方法的活體檢測性能,其結果如表1所示。
表1 本文方法的活體檢測性能結果
實驗結果顯示,在36個樣本的測試集中只在分辨合成視頻中發(fā)生了誤識別,誤識別樣本數(shù)為1;照片欺騙則全部樣本都成功識別。需要注意的是,實驗的前提假設為攻擊者已經獲得了合法用戶的照片以及合法用戶部分面部動作片段,能夠在通過視頻合成的方式得到正確動作序列的面部視頻的情況下,實驗所用的測試樣本較少,因此在實際環(huán)境中的各項數(shù)值會更高。
眾所周知,由于神經網絡模型屬于黑盒算法,因此對于實驗的結果以及算法參數(shù)是難以解釋的,為了能讓本文所使用的LSTM網絡模型能夠有個直觀的解釋,本文計算得到了搖頭動作下合法用戶(valid users)和照片欺騙(forge)下不同面部區(qū)域的特征點近距離均值變化圖作為參考。
圖5顯示了面部中左眼(left eye)、左眉(left eyebrow)、右眼(right eye)、右眉(right eyebrow)、鼻尖(nose top)、鼻梁(nose bridge)、上唇(top lip)、下唇(bottom lip)、下巴(chin)共9個區(qū)域的特征點距離均值變化,其中,橫坐標為幀數(shù),縱坐標為當前幀特征點與上一幀對應特征點的平均距離。不難發(fā)現(xiàn),除了眼部和眉毛區(qū)域以外,照片欺騙視頻和合法用戶視頻的特征點距離均值的分布和振幅都有較大的差異。
同樣,本文計算得到合法用戶不同面部動作之間變換時面部特征點的位移變化量如圖5所示。
圖5 特征點變化
圖6是合法用戶視頻以及合成視頻搖頭切換到點頭的100幀影像片段,從圖中可以看出,合成的視頻在動作切換過程中特征點位移變化量會有一個非常大的峰值,然后恢復到正常狀態(tài),這是由于合成視頻在2個面部動作之間過度不自然導致的。
圖6 合法/偽造視頻用戶影像片段
由圖6和實驗結論可知,不論是照片欺騙還是合成視頻回放攻擊,在面部特征點的分布和變化量等特征上都與合法用戶視頻有較大區(qū)別,通過LSTM神經網絡進行特征學習是行之有效的。
本文提出了利用面部特征點和LSTM神經網絡的方法進行人臉認證中的活體檢測。該方法主要通過獲得合法用戶與偽造攻擊(照片欺騙,合成視頻)中人臉面部特征點的分布和運動等特征數(shù)據,利用LSTM神經網絡對這些特征數(shù)據進行學習和分析判別從而區(qū)分出兩者的不同以達到活體檢測的效果。
活體檢測作為一種反攻擊措施,其性能評價通常著重為攻擊行為的實時成本和破解的難易程度,因為要求一種反攻擊措施做到理論上的不可破解是極難的,和密碼學領域一樣,所有的加密算法理論上都可以通過暴力方法破解,而這些算法能夠實用化的原因在于破解成本過高。對于本文所提出的活體檢測方法,有效的攻擊手段為:1) 合法用戶高精度的三維模型或者頭套;2) 合法用戶完整的正確面部動作序列視頻。
對于第一種攻擊手段,偽造者需要借助專業(yè)設備來獲得合法用戶完整而詳盡的面部信息,這在用戶不主動配合的情況下幾乎是不可能的;對于第二種攻擊手段,偽造者需要在系統(tǒng)給出隨機序列后的極短時間內獲得合法用戶的正確面部動作序列視頻,或者合成出一段難辨真假的偽造視頻,前者在合法用戶不主動配合的情況下同樣是難以完成的,后者在短時間內也是無法完成的。
綜上所述,以上2種攻擊手段都需要很高的技術要求或時間成本,因此本文所提出的活體檢測方法在真實的項目環(huán)境中是能夠有效抵擋偽造攻擊的。
[1] 徐子明.生物識別技術概況及其應用.[J]科學技術創(chuàng)新, 2017, (35): 191.
XU Z M. Biometrics technology and its application[J]. Science and Technology Innovation, 2017, (35): 191.
[2] OLGA K, NASER D. 2DFace liveness detection: an overview[C]//International Conference of the Biometrics Special Interest Group (BIOSIG). 2012: 1-12.
[3] GALBALLY J, MARCEL S, FIERREZ J. Image quality assessment for fake biometric detection: application to iris, fingerprint, and face recog-nition[J]. IEEE Transactions on Image Processing, 2014, 23(2): 710-724.
[4] PINTOA, SCHWARTZ W R, PEDRINI H, et al. Using visual rhythms for detecting video-based facial spoof attacks[J]. IEEE Transactions on Information Forensics and Security, 2015, 10(5): 1025-1038.
[5] KIM W, SUH S, HAN J J. Face liveness detection from a single image via diffusion speed model[J]. IEEE Transactions on Image Processing, 2015, 24(8): 2456-2465.
[6] CHINGOVSKA I, ANJOS A, MARCEL S, et al. On the effectiveness of local binary patterns in face anti-spoofing[C]//Biometrics Special Interest Group. 2012:1-7.
[7] ANJOS A, MARCEL S. Counter-measures to photo attacks in face recognition: a public database and a baseline[C]//International Joint Conference on Biometrics. 2011:1-7.
[8] TAN X, LI Y, LIU J, et al. Face liveness detection from a single image with sparse low rank bilinear discriminative model[C]//European Conference on Computer Vision. 2010:504-517.
[9] ZHANG Z, YAN J, LIU S, et al. A face antispoofing database with diverse attacks[C]//Iapr International Conference on Biometrics. 2012:26-31.
[10] SUN L, PAN G, WU Z, et al. Blinking-based live face detection using conditional random fields[C]//International Conference on Advances in Biometrics. 2007:252-260.
[11] BAO W, LI H, LI N, et al. A liveness detection method for face recognition based on optical flow field[C]//International Conference on Image Analysis and Signal Processing. 2009:233-236.
[12] BHARADWAJ S, DHAMECHA T I, VATSA M, et al. Computationally efficient face spoofing detection with motion magnification[C]//IEEE Conf Comput Vis Pattern Recognit Workshops (CVPRW).2013:105-110.
[13] ZHANG K, ZHANG Z, LI Z et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10):1499-1503.
[14] KAZEMI V, SULLIVAN J. One millisecond face alignment with an ensemble of regression trees[C]//2014 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2014: 1867-1874.
[15] CHEN S H, HWANG S H, WANG Y R. An RNN-based prosodic information synthesizer for mandarin text-to-speech[J]. IEEE Transactions on Speech & Audio Processing, 1998, 6(3):226-239.
[16] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8):1735.
Living body recognition method based onfacial feature point motion
WANG Yulong, LIU Kaiyuan
School of Computer Science and Education Software, Guangzhou University, Guangzhou 510006, China
A kind of living body recognition method was proposed, which was applied in mobile terminal and based on the deep learning. A facial movements LSTM network was trained using data sets. When users input a random sequence of video, user’s facial feature point data can be gained and whether the video forgery attacks happened will be determined by input user’s facial feature point data into circulation neural network. The test data shows that the proposed method can be protected effectively from photograph attack and video replay attack.
living body recognition, facial feature point, deep learning, LSTM
TP301.6
A
10.11959/j.issn.2096-109x.2018044
2018-03-27;
2018-05-04
王宇龍,1836925420@qq.com
國家自然科學基金資助項目(No.61772007);廣東省科學技術規(guī)劃重點基金資助項目(No.2016B010124014)
The National Natural Science Foundation of China (No. 61772007), Science and Technology Planning Key Project of Guangdong Province(No. 2016B010124014)
王宇龍(1991-),男,江蘇徐州人,主要研究方向為深度學習與信息安全。
劉開元(1991-),男,安徽宣城人,主要研究方向為算法優(yōu)化、深度學習與圖像處理。