李明進(jìn), 白景文
(電子科技大學(xué)成都學(xué)院 微電子技術(shù)系,成都611731)
隨著人臉識別[1]廣泛應(yīng)用于各個(gè)場所,如超市人臉消費(fèi)機(jī)、小區(qū)人臉門禁系統(tǒng)等,隨之而來的安全性問題開始逐漸被大家重視,其中一項(xiàng)則是人臉非活體與活體[2-3]的辨別。近年來,關(guān)于非活體檢測方面的研究主要集中在:基于微觀紋理,基于動態(tài)信息,基于多光譜和基于多特征融合的方法?,F(xiàn)在融合方案做得比較好的是采用多傳感器融合技術(shù),使用紅外對管進(jìn)行用戶距離判別與圖像傳感器用深度學(xué)習(xí)算法進(jìn)行二分類來判斷是否存在欺詐。多特征多方法的融合固然能取得較高的準(zhǔn)確率,但是由于耗時(shí),對設(shè)備要求高,缺乏推廣性。而基于動態(tài)信息的非活體檢測方法,要求目標(biāo)人像進(jìn)行一些面部動作,如眨眼、點(diǎn)頭等等。這類方法明顯的缺點(diǎn)是需要用戶必須花時(shí)間做一些相應(yīng)的動作?;谖⒂^紋理的分析是以靜態(tài)圖像為分析對象,例如基于二進(jìn)制統(tǒng)計(jì)殘差特征進(jìn)行分辨活體人臉[4]與基于圖像色彩紋理的人臉活體檢測算法研究[5],以上兩種方法是計(jì)算活體與需要被檢測的人臉都進(jìn)行提取,由差值來進(jìn)行判斷。此類方法因?yàn)樾枰O(jiān)控的變量和影響結(jié)果質(zhì)量的因素繁多,涉及到被檢測人像的光亮、素材質(zhì)量、人臉紋理、素材圖片色彩質(zhì)量,以及該人臉的標(biāo)準(zhǔn)活體等,在實(shí)現(xiàn)上受判斷因素影響較大。
為了簡化以及減少影響因素同時(shí)提高普遍適用性,本文基于非活體人臉的背景邊框與光亮特征兩種特性,對識別非活體的依據(jù)進(jìn)行研究。本文的主要工作包括:①基于LSD設(shè)計(jì)出一個(gè)具有較好魯棒性的矩形邊框檢測算法,用于檢測非活體人臉的背景邊框,如手機(jī)框、身份證、照片等矩形框,并且能在有遮擋、光亮噪聲等情況下均能識別。②通過實(shí)驗(yàn)對于一個(gè)固定的場所,給出人臉區(qū)域光亮的特征。③使用手機(jī)框、身份證、照片作為實(shí)驗(yàn)素材,驗(yàn)證融合矩形邊框檢測和光亮特征的人臉非活體檢測算法,分析優(yōu)勢與不足。
LSD[6]算法是一種線段檢測算法,具有速度快、精度高(達(dá)到亞像素級)。LSD 算法運(yùn)用兩個(gè)重要概念gradient(梯度)和level-lines(水平線)。創(chuàng)建單位向量場由每個(gè)像素點(diǎn)計(jì)算得到的角度組成,給定一個(gè)范圍值τ,滿足τ并且像素點(diǎn)具有相同角度的歸為對應(yīng)的連通域,并生成對應(yīng)的待定域,每個(gè)待定域?qū)嵸|(zhì)是一條待定的線段。當(dāng)一個(gè)由待定域越細(xì)長時(shí),那么就更有可能是直線段,使用一個(gè)矩形覆蓋該待定域,計(jì)算矩形的主要方向與覆蓋待定域水平角度的差值。若滿足τ,則歸類這些像素點(diǎn),由這些值得到這個(gè)區(qū)域的NFA值,由NFA值判斷是否線段;如果小于1,那么這個(gè)矩形可以被認(rèn)為是一條線段。
本文將上述提取的線段進(jìn)行矩形特征[7]提取,分為兩大類:邊線特征[8]提??;角點(diǎn)特征[9]提取。
邊線特征提取是為了應(yīng)對矩形被某些物體遮擋的情況或者殘缺矩形的情況,矩形的邊是斷裂的,或者是不連續(xù)的線段,普通的方法是不能把這些斷裂的線段識別為矩形的一條邊,但是這些線段共同的特點(diǎn)是θ和ρ相近,所以針對以上描述,把邊類特征細(xì)化為:同一水平位置線段可組合為一條線段,左右方向延伸的線段。同理,線段與線段能形成的90°夾角的整合為角點(diǎn)特征。
1.2.1 同一水平直線位置的直線特征提取
判斷直線之間的位置關(guān)系主要使用極坐標(biāo)的ρ和θ,ρ代表直線到原點(diǎn)的距離,θ 代表該距離向量的方向。在進(jìn)行位置判斷之前,首先定義一個(gè)距離閾值ρ閾和一個(gè)角度閾值θ閾。根據(jù)在同一直線上兩線段的ρ和θ相等的原理,對每條線段的ρ 和θ 進(jìn)行篩選,當(dāng)滿足:
記直線A和直線B為同一水平位置特征(見圖1)。
圖1 A,B,C為同一水平位置特征
1.2.2 組合關(guān)系的特征提取
為了避免噪聲造成輪廓斷裂的影響,對同一水平直線進(jìn)行再提取新的特征關(guān)系,方法是判斷兩直線端點(diǎn)距離:
式中:str1與end1分別為直線A 的始端點(diǎn)和尾端點(diǎn);str2與end2分別為直線B的始端點(diǎn)和尾端點(diǎn)。比較所有Gap,將最小的Gap 值列為兩直線的最小距離Gapmin,然后確定一個(gè)直線距離閾值Gap閾,當(dāng)滿足
記直線A和B為可組合直線(見圖2)。
圖2 A,B為可組合線段關(guān)系
1.2.3 同一水平直線的左右延伸特征提取
為了方便對矩形的有效邊進(jìn)行最大延伸檢測,對直線之間的左右位置關(guān)系進(jìn)行處理,在同一水平直線的基礎(chǔ)上進(jìn)行新的特征提取,具體流程如圖3 所示。
圖3 線段左右延伸關(guān)系提取流程
根據(jù)上述流程分別確定兩條直線相互的左右關(guān)系和包含關(guān)系,如圖4 和圖5 所示。
圖4 直線B為直線A的右延伸直線
圖5 直線A包含直線B
1.2.4 角點(diǎn)基本特征提取
(1)確定角點(diǎn)基本特征的方法是判斷兩線段端點(diǎn)距離,兩條線段間端點(diǎn)距離最小記為Gapmin,給定一個(gè)距離閾值Gap閾,當(dāng)滿足:
則認(rèn)為這兩條線段滿足本文提出的角點(diǎn)特征的要求,之后得該夾角的角點(diǎn)數(shù)據(jù),稱為該夾角的角點(diǎn)Pt角。
(2)角點(diǎn)的線段位置屬性提取。依據(jù)角的兩條線段之間關(guān)系對位置屬性進(jìn)行分類:有交點(diǎn)夾角,無交點(diǎn)夾角,延長一條線段后有交點(diǎn)夾角。
具體流程如圖6 所示。角點(diǎn)的屬性類型如圖7所示。
1.2.5 角點(diǎn)方向特征提取
為了明確矩形線段檢索順序,同時(shí)也為了保證找到矩形的完整和可靠性,把角點(diǎn)特征細(xì)分為4 類,即一個(gè)矩形的4 個(gè)不同位置的4 類頂角,在這之后依據(jù)矩形4 個(gè)頂角之間固有的關(guān)系,實(shí)現(xiàn)提出的聚類特征矩形檢測算法。
圖6 角點(diǎn)線段位置屬性提取流程
圖7 角點(diǎn)屬性詳解
角點(diǎn)方向特征提取流程如圖8 所示。
圖8 方向角提取流程
先從輪廓線段中任取一條直線作為起始線段,跟蹤與起始線段成左上角點(diǎn)特征的線段標(biāo)號。確認(rèn)矩形左上角之后,對新標(biāo)記的線段跟蹤與其成右上角特征的線段標(biāo)號,并確認(rèn)矩形右上角。之后依次是右下角,左下角,最后記錄4 個(gè)角的位置,并將其順時(shí)針依次連接,得到矩形。詳細(xì)流程如圖9、10 所示。
提取直線相應(yīng)特征后創(chuàng)建一個(gè)總庫用于記錄所得到所有直線對應(yīng)的所有特征,而每一條直線與其余直線的相應(yīng)特征建立一個(gè)子庫存放于總庫中。如果該直線與另一條直線滿足之前相應(yīng)的邊角特征,那么就在該直線的總特征庫中的相應(yīng)子特征庫中記錄另一條直線標(biāo)號。相應(yīng)地,另一條直線的總特征庫中的相應(yīng)子特征庫也記錄該直線的標(biāo)號。
某直線總特征庫:①邊類特征庫。同一水平直線特征庫,左可組合直線特征庫,右可組合特征庫,包含直線特征庫。②角點(diǎn)特征庫。左上角特征庫,右上角特征庫,右下角特征庫,左下角特征庫。
圖9 基于線段特征的矩形檢測
圖10 每層循環(huán)詳細(xì)流程
本文利用基于深度學(xué)習(xí)[10-11]、目標(biāo)檢測算法[12]進(jìn)行人像位置提取。2014 年,Girshick 等設(shè)計(jì)了R-CNN框架,使目標(biāo)檢測取得巨大突破。流程大致可分為:首先使用Selective search 算法從輸入的圖像中提取region proposal;其次為使CNN 有標(biāo)準(zhǔn)的輸入需要將region proposal 的大小進(jìn)行歸一化;然后使用AlexNet提取特征;最后利用多個(gè)SVM進(jìn)行分類[12],同時(shí)使用線性回歸微調(diào)定位框。但是該方法在對region proposal特征提取階段計(jì)算量大且速度慢,而且訓(xùn)練步驟繁多。之后為了使算法更準(zhǔn)確并且速度更快,相繼有人提出了SPP-Net、Fast R-CNN[13]、RPN特征提取深層網(wǎng)絡(luò)的Faster R-CNN[14]和對于Faster R-CNN 的改進(jìn)算法[15]。
本文使用CNN模型實(shí)現(xiàn)對目標(biāo)圖片進(jìn)行人臉檢測后,對檢測出的人臉的位置進(jìn)行記錄,方便與之后矩形框位置進(jìn)行對比。
為了更準(zhǔn)確地辨別活體與非活體,預(yù)先通過訓(xùn)練獲取的環(huán)境亮度在每個(gè)時(shí)間段的光亮特征曲線,以及包括人臉在每個(gè)時(shí)間段出現(xiàn)在攝像頭不同位置的亮度特征。當(dāng)需要進(jìn)行辨別非活體時(shí),對目標(biāo)人臉進(jìn)行亮度值提取后與該時(shí)間段場所對應(yīng)的亮度值進(jìn)對比,若亮度值差異達(dá)到設(shè)定的閾值,則認(rèn)為是非活體。
人臉反欺騙檢測的整體流程如圖11 所示,當(dāng)使用身份證、打印照片檢測結(jié)果為非活體時(shí),表明反欺騙檢測成功。
圖11 人臉反欺騙的檢測流程
圖12 為手持身份證人像面實(shí)驗(yàn)素材,手指對身份證有所遮擋。圖13 為人手持人像照片實(shí)驗(yàn)素材。對實(shí)驗(yàn)素材進(jìn)行LSD 輪廓提取得到的結(jié)果如圖14、15所示。之后對照片中的矩形框和人像位置進(jìn)行提取得到的結(jié)果如圖16、17 所示。
實(shí)驗(yàn)素材1 由于得到的矩形框與人像位置結(jié)果圖的情況為矩形框包含人像,所以可以由此得出這張人臉為非活體。實(shí)驗(yàn)素材2 由于矩形框內(nèi)的人臉被該矩形框完全包含,所以認(rèn)為該人臉為非活體,而照片外的人臉并沒有被矩形框完全包含,所以該人臉被認(rèn)為活體。由上述結(jié)果可以得出,該方法有效解決了矩形框斷裂和矩形框遮擋帶來的不良影響,更快速、有效地對人臉的活體與非活體做出判斷。
圖12 實(shí)驗(yàn)素材1
圖13 實(shí)驗(yàn)素材2
圖14 實(shí)驗(yàn)素材1的LSD結(jié)果
圖15 實(shí)驗(yàn)素材2的LSD結(jié)果
圖16 實(shí)驗(yàn)素材1矩形框與人像位置結(jié)果
圖17 實(shí)驗(yàn)素材2矩形框與人像位置結(jié)果
現(xiàn)有的人臉識別易遭到各式各樣的攻擊,給系統(tǒng)的活體識別帶來挑戰(zhàn)。如何增強(qiáng)檢測精度、縮短耗時(shí)、增加魯棒性能、提高泛化能力成為目前的人臉識別系統(tǒng)的研究熱點(diǎn)。本文介紹了一種基于邊框和人臉亮度特征的人臉非活體檢測的研究方法,重點(diǎn)是基于矩形框檢測,人像位置以及人像光亮特征的差異,提出了一種可以作為非活體檢測依據(jù)的研究方法,該方法表現(xiàn)出了對紙張攻擊,屏幕攻擊有很強(qiáng)的反欺騙性,并且耗時(shí)短,可普遍應(yīng)用。實(shí)驗(yàn)中對身份證照片、打印照片等進(jìn)行測試,結(jié)果表明,矩形框檢、人像位置、光亮特征都擁有較高的檢測精度,并且矩形框檢測能有效避免噪聲、矩形框不完整等不良因素帶來的誤檢與漏檢。該研究可以作為常用場合非活體檢測的依據(jù)或方法。后續(xù)工作將對無邊框圖像和面具攻擊進(jìn)行反欺騙研究。