王 輝, 于立君, 毛曉琦, 王雪瑩, 劉朝達
(哈爾濱工程大學 自動化學院, 黑龍江 哈爾濱 150001)
在“創新認知與實踐”課程的教學中,為了提高學生的自主創新能力,設計了人臉活體特征檢測實驗平臺,解決了虛假人臉攻擊的問題。基于Uniform Pattern LBP特征提取的人臉活體特征檢測實驗平臺,提高了實驗的檢測速率和實驗準確率。在不斷分析計算與實際編程調試的過程中,深入理解課程的理論知識,并且實現了理論到實踐的有效轉化。
為了應對常見的人臉攻擊行為,人們提出了相應的檢測人臉活體方法。目前主要有基于人臉圖像屬性的活體特性檢測和基于人臉生理行為活體特性檢測[1]。基于人臉圖像屬性的活體特性檢測主要采用傅里葉頻譜、多光譜成像和三維深度信息[2]獲取等技術,實現分辨活體人臉的目的。此類檢測方法原理簡單且易于使用,但是檢測準確率受光照影響大[3]。基于人臉生理行為的活體特性檢測主要是通過眨眼判斷、嘴巴運動和人機交互等來判斷活體人臉,此類檢測方法準確率高但只能在特定環境下實現,有些活體人臉的檢測方法還需要添加特定檢測設備,如紅外線成像儀設備,氖光燈源,窄帶濾鏡等[4]。
由于偽造人臉圖像在其制作過程中存在細節損失,因此本實驗提出基于人臉真實圖像與欺騙照片之間紋理特征差異的人臉真實性進行判別的方法。該方法中,用于訓練分類器的特征是Uniform Pattern LBP特征向量,將該特征應用于活體檢測是本實驗平臺的創新點。
已存至計算機中的圖像作為輸入圖像,分為兩種:一種是對真人臉進行拍攝所采集到的圖像;二是對人臉照片進行拍攝所采集到的圖像[5]。實驗將完成對輸入圖像的鑒別,進而判斷輸入圖像是真人臉還是假人臉。
人臉活體特征檢測的主要過程包括讀取圖片數據、檢測定位人臉區域、提取Uniform Pattern LBP特征和機器學習部分。
本實驗平臺所用數據庫是REPLAY-ATTACK數據庫中的視頻樣本。要對人臉進行活體檢測,需先從視頻中提取出圖片,即從文件流中讀入數據。為了方便后續特征提取與分類,本實驗從數據庫中提取出大量照片并按照一定規則命名編號[6]。由于數據庫視頻中,人臉有眨眼、轉頭等動作和表情,所以并不是視頻中人臉及五官所處每一時刻都為理想檢測時刻。本實驗在批量讀入視頻文件時,為保證在每個視頻中都能獲得較理想幀圖,對幀圖進行編號。由于視頻內較理想時間段占大半,確定這些時間所對應幀圖編號即可提取出較為理想的圖片。
本實驗選擇用OpenCV自帶的希爾人臉檢測器。將所獲取人臉圖片的核心部分,即人臉區域放大至1.6倍,得到H-face。根據五官對人臉進行分塊,分為左眼、右眼、鼻子、嘴巴、piece5、piece6、piece7、piece8、piece9、piece10、piece11、piece12這12個區域[7]。檢測后的人臉圖像見圖1。

圖1 人臉區域定位及分塊圖像
LBP(local binary pattern)指局部二值模式,它是一種用來描述圖像局部特征的算子。LBP特征的顯著優點有灰度不變性以及旋轉不變性等[8]。因為LBP特征具有計算簡單、效果較好的優點,所以廣泛地被應用在人臉識別和目標檢測中。
(1)
以塊圖像區域的中心為圓心,R為半徑作圓,圓上點p,gp(p=0.1,…,p-1)為像素點灰度值,gc為閾值中心的灰度值,函數S描述領域像素點和中心閾值的關系狀態。LBP算子將會產生2p種模式,這么多的二進制模式不利于紋理的提取、分類、識別及存取[9]。因此,需要對原始的LBP模式進行降維。實驗采用的是改進后的LBP特征來進行機器學習,即Uniform Pattern LBP特征。
Ojala提出的Uniform Pattern LBP特征又被稱為等價模式或均勻模式。Ojala等認為實際圖像中,絕大多數LBP模式最多只包含2次從1到0或從0到1的跳變。因此,Ojala將“等價模式”定義為
(2)
當某個LBP所對應的循環二進制數從0到1或從1到0,最多有2次跳變時,該LBP所對應的二進制就稱為一個等價模式類。除等價模式類以外的模式都歸為混合模式類。表示如下:
(3)
改進后的二進制模式的種類大大減少,而不會丟失任何信息。模式數量從2p種減少為p(p-1)+2種。直方圖和特征向量的維數都會減少,從而減少高頻噪聲帶來的影響[10]。等價模式LBP特征處理后256維數組降至59維,再計算跳變次數,即可得到對圖片Uniform Pattern LBP處理的結果。將原始LBP與Uniform Pattern LBP處理運算速度進行對比,仿真結果見圖2—圖3。

圖2 Uniform Pattern LBP仿真結果圖

圖3 原始LBP仿真結果圖
對同一張圖片,本實驗所采用Uniform Pattern LBP特征處理時間為1 235 ms,而原始LBP特征處理時間則為61 906 ms。即改進后的方法可以提高運算速度。
練,就是讓學生按課本的要求去進行練習,教師設計形式多樣的習題讓學生鞏固。教師要做到習題要求明白,時間足夠,形式多樣,結合自檢或他檢,掌握知識,發揮智力。
本實驗中使用相關機器學習的算法,一種是K-means均值聚類算法來進行編碼,另一種算法是SVM支持向量機進行分類訓練。K-means算法是聚類分析中使用最廣泛的算法之一。它把n個對象根據它們的屬性分為k個聚類以便使所得的聚類滿足:同一聚類中的對象相似度較高;而不同聚類中的對象相似度較低[11]。支持向量機(SVM)的監督學習模型與相關的學習算法可以用于分類和回歸分析的數據進行分析。SVM模型是一個用來表示在空間中的點、映射的樣本,以便盡可能寬地將不同類別劃分出一個明顯的間隙。接著處理新的樣本時映射到同一空間,并且根據樣本之間的差距是否下降來預測和判斷屬于哪一個類別[12]。

實驗平臺的編程環境是VS2013+OpenCV2.4.9,對電腦和軟件相關環境進行配置后就可以正式開始編程。
讀入從REPLAY-ATTACK數據庫中提取出來的人臉圖片,使用人臉檢測器對人臉進行檢測和定位。本實驗選用OpenCV自帶的希爾人臉檢測器。將所獲取人臉圖片的核心部分,即人臉區域放大至1.6倍得到H-face。再將H-face分為12個區域。隨后,對每個小塊進行Uniform Pattern LBP特征提取。對每個小塊分別提取完成后,將所有特征向量連接在一起,得到LBPH,即機器學習所需要的輸入特征。機器學習部分,則是分別讀入真假人臉所提取特征之后,通過學習、訓練最終達到測試活體檢測分類器的目的。基于上述描述人臉活體特征檢測程序框圖見圖4。

圖4 人臉活體特征檢測框圖
將Replay-Attack數據庫和實際創建的數據庫在本實驗平臺上進行實驗,實驗結果表明,該人臉活體特征檢測實驗平臺的準確率及運算速度等方面具有優良的性能。
程序仿真過程中,Testing data為測試數據集,Real+數字為真人臉及編號。True Lable為圖片所屬類別,真人臉是1,假人臉是0。Predict Value為的是圖片經本課題仿真得到的值,與0或1越接近,則代表準確度越高,在反復進行調試后,達到如圖5和圖6較理想結果。仿真結果統計見表1。V為系統運行后判斷被測人臉為真實人臉的概率。

圖5 真人臉測試結果圖

圖6 假造人臉測試結果圖

仿真結果V真人測試結果假人測試結果0.1 分析表1后,可以選擇將仿真值0.5作為真假人臉分界線。仿真結果大于0.5,認為輸入為真人臉,小于0.5則輸入為假造人臉。但選擇0.5為分界線的結果亦存在誤差,90個測試真人臉輸入中會出現6個未被檢測出來,270個測試假人臉輸入中會出現5個未被檢測出來的情況。這說明程序仍需改進。 基于人臉的活體特征檢測是身份認證系統中的重要組成部分,已成為許多高校本科生和研究生的創新實驗項目。本文闡述的基于VS2013+OpenCV人臉活體特征檢測實驗平臺,具有對系統讀入圖像中人臉的真假鑒別功能。該實驗平臺能夠取得較好的檢測效果,證明其有效性。 參考文獻(References) [1] 楊健偉. 面向人臉識別的人臉活體檢測方法研究[D]. 北京:北京郵電大學, 2014. [2] 羅浩. 人臉識別中的活體檢測方法研究[D]. 長沙:湖南師范大學, 2015. [3] Wang P, Dong S, Zhang D, et al. Texture Analysis of Vitrinite Macerals Based on the Uniform Pattern of Round LBP[J]. Journal of Anhui University of Technology, 2014(2):147-151. [4] Chingovska I, Erdogmus N, Anjos A, et al. Face Recognition Systems Under Spoofing Attacks[M]// Face Recognition Across the Imaging Spectrum. Springer International Publishing, 2016. [5] Peng J, Chan P P K. Face liveness detection for combating the spoofing attack in face recognition[C]//Wavelet Analysis and Pattern Recognition(ICWAPR),2014 International Conference, 2014:176-181. [6] 孟子健, 馬江洪. 一種可選初始聚類中心的改進k均值算法[J]. 統計與決策, 2014(12):12-14. [7] 朱峰. 一種基于多尺度 LBPH 特征的快速人臉識別算法[J]. 計算機應用與軟件, 2015(8):315-319. [8] Komulainen J, Hadid A, Pietik, et al. Face spoofing detection using dynamic texture[C]// International Conference on Computer Vision. Springer-Verlag, 2014:146-157. [9] 徐金林,林玉娥. 基于改進的LBP和PCA算法的人臉識別[J]. 電腦知識與技術,2017(17):1-2. [10] 龔聲蓉. 數字圖像處理與分析[M]. 北京:清華大學出版社, 2014. [11] 吳曉平, 周舟, 李洪成. Spark框架下基于無指導學習環境的網絡流量異常檢測研究與實現[J]. 信息網絡安全, 2016(6):1-7. [12] 劉華成. 人臉活體檢測關鍵技術研究[D]. 寧波:寧波大學, 2014. [13] 嵇介曲. 基于LBP算法的人臉識別研究[D].淮南:安徽理工大學,2017.5 結語