張欣怡 龔迅煒 方文卿
摘要:本文旨在開發(fā)一款基于云平臺(tái)下的身份認(rèn)證系統(tǒng)。擬采用基于MTCNN人臉檢測(cè)、人臉矯正、人臉動(dòng)作活體檢測(cè)、人臉特征提取、相似度計(jì)算以及用戶習(xí)慣算法,綜合一套身份認(rèn)證服務(wù)器平臺(tái)。本文通過提出活體人臉認(rèn)證與用戶行為習(xí)慣算法進(jìn)行身份認(rèn)證,防范非賬戶用戶或是欺騙行為。
關(guān)鍵詞:人臉檢測(cè);深度學(xué)習(xí);MTCNN人臉檢測(cè);活體檢測(cè);用戶習(xí)慣算法
中圖分類號(hào):TP18 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)13-0091-03
近年來,游戲、直播的行業(yè)不斷發(fā)展,其涉及到充值、打賞、轉(zhuǎn)賬等操作更加快速便捷,在面對(duì)誘導(dǎo)消費(fèi)時(shí),心智不成熟的兒童極易沖動(dòng)消費(fèi),導(dǎo)致未成年人網(wǎng)絡(luò)娛樂性消費(fèi)糾紛頻發(fā)。為減少這一負(fù)面結(jié)果,本文旨在開發(fā)一款活體人臉認(rèn)證云平臺(tái)系統(tǒng),利用在線平臺(tái)刷臉識(shí)別,在支付前判斷是否為本人操作。
許多場(chǎng)合中人臉識(shí)別認(rèn)證身份的技術(shù)存在過多缺陷,比如光照問題、姿態(tài)問題等;用戶變化姿態(tài)就可能存在識(shí)別不出的問題,或有采用圖片或者3D建??衫@開人臉識(shí)別檢測(cè)。早期人臉識(shí)別應(yīng)用中,主要采用機(jī)器學(xué)習(xí)技術(shù)和人工設(shè)計(jì)局部特征的組合,將人工設(shè)計(jì)的紋理和特征描述量作為訓(xùn)練數(shù)據(jù),通過尋找底層特征與算法分析,得到相應(yīng)的判別結(jié)果。本文采用MTCNN[1]人臉檢測(cè)加以矯正算法、動(dòng)作活體檢測(cè)算法[2]、進(jìn)行相似度比對(duì)并融合用戶習(xí)慣算法,形成了一套較為完整的身份認(rèn)證服務(wù)系統(tǒng)。
1系統(tǒng)構(gòu)架與設(shè)計(jì)
身份認(rèn)證服務(wù)云平臺(tái)是由建立在終端設(shè)備、云平臺(tái)的服務(wù)端和供用戶點(diǎn)擊交互的App端組成。系統(tǒng)分為三層,包括數(shù)據(jù)采集層、云端處理層和數(shù)據(jù)持久化層。系統(tǒng)硬件部分實(shí)現(xiàn)人臉檢測(cè)、活體檢測(cè)和人臉特征提取的功能。服務(wù)器端包括云端數(shù)據(jù)控制、人臉認(rèn)證服務(wù)以及用戶習(xí)慣記錄等內(nèi)容。App端負(fù)責(zé)采集信息認(rèn)證以及與用戶之間的交互顯示。核心技術(shù)分別為基于深度學(xué)習(xí)的人臉體征提取和識(shí)別模型、人臉動(dòng)作活體檢測(cè)算法、MTCNN人臉檢測(cè)算法以及識(shí)別非法攻擊方法。
1.1終端技術(shù)實(shí)現(xiàn)
終端設(shè)備基于深度學(xué)習(xí)的人臉活體檢測(cè)和用戶習(xí)慣算法,識(shí)別是否為本人操作,反饋是否允許繼續(xù)當(dāng)前用戶操作的指令。
終端運(yùn)行流程如下:
1)終端開啟后,硬件完成初始化,從服務(wù)器獲取設(shè)置;
2)通過攝像頭采集數(shù)據(jù),將視頻傳輸給服務(wù)器端;
3)通過檢測(cè)算法識(shí)別是否為本人操作,根據(jù)用戶習(xí)慣判斷風(fēng)險(xiǎn);
4)若登錄風(fēng)險(xiǎn)大,反饋非本人操作不允許繼續(xù)操作的信息。
處理流程圖如圖2所示。從App端獲取視頻數(shù)據(jù),關(guān)鍵幀提取后繼續(xù)人臉檢測(cè)判斷是否有人,判斷該時(shí)刻設(shè)備是否為習(xí)慣設(shè)備,判斷是否為本人操作而非其他欺騙手段,最后反饋到App端,是否允許繼續(xù)操作。
1.2 數(shù)據(jù)庫設(shè)計(jì)
本身份認(rèn)證云平臺(tái)所管理的信息為:賬號(hào)信息、身份信息、人臉特征信息、用戶登錄習(xí)慣信息。用戶在App端注冊(cè)賬號(hào)時(shí),填寫真實(shí)身份信息,進(jìn)行人臉錄入,交互信息將傳給服務(wù)器端。計(jì)入基本信息后,存儲(chǔ)相應(yīng)的賬號(hào)信息,代表身份的人臉特征以及登錄設(shè)備與地址等初始用戶習(xí)慣到相應(yīng)表中。
1.3 服務(wù)端實(shí)現(xiàn)
服務(wù)器端主要使用Web、Java和Mysql等技術(shù)共同開發(fā)完成,服務(wù)端和App端之間通過HTTP建立連接,進(jìn)行通信。服務(wù)器端記錄用戶和設(shè)備信息,并將記錄上傳到服務(wù)器的終端設(shè)置、識(shí)別數(shù)據(jù)、特殊情況記錄等,用戶可以隨時(shí)在App端查看這些數(shù)據(jù)信息。
2系統(tǒng)功能實(shí)現(xiàn)
2.1 系統(tǒng)功能流程
本系統(tǒng)功能算法流程圖如圖3所示,首先抽取目標(biāo)視頻的關(guān)鍵幀,通過MTCNN算法進(jìn)行人臉檢測(cè)實(shí)現(xiàn)動(dòng)作活體檢測(cè)并抓取最優(yōu)人臉;判定為活體后再通過MTCNN算法進(jìn)行人臉檢測(cè)并進(jìn)行矯正;通過face_recognition[3]提取人臉特征得到512維的特征向量;再對(duì)人臉特征進(jìn)行相似度計(jì)算,與相似度閾值對(duì)比,最后得到結(jié)果輸出是否為本人操作。
2.2 基于MTCNN人臉采集算法
本文采用將MTCNN集成的人臉檢測(cè)算法,該算法將面部檢測(cè)與對(duì)準(zhǔn)集成,輕便快捷、精度更高。本文所用模型通過在較大規(guī)模的數(shù)據(jù)集上進(jìn)行訓(xùn)練,對(duì)人臉信息進(jìn)行重復(fù)學(xué)習(xí),泛化能力強(qiáng)、魯棒性好,減少了因復(fù)雜背景干擾的影響。
MTCNN總體為三層網(wǎng)絡(luò)結(jié)構(gòu),其算法原理為:先在輕量級(jí)的CNN框架下快速生成候選窗口,再優(yōu)化候選對(duì)象,最后生成最終的邊界框確認(rèn)人臉。對(duì)其所確定的5個(gè)臉部特征關(guān)鍵點(diǎn)進(jìn)行仿射變化,通過兩眼距離計(jì)算角度做矯正,得到一個(gè)人臉姿勢(shì)正確的圖像。
2.3 基于動(dòng)作活體人臉檢測(cè)
普通的靜默人臉識(shí)別系統(tǒng)容易被具有欺騙性的情況所偽造通過檢測(cè),易受外部欺騙[4]。本文所用的基于動(dòng)作活體人臉檢測(cè)技術(shù),基于啟發(fā)式的算法模型,如通過眨眼、搖頭的組合動(dòng)作的檢測(cè),可以在用戶無感的情況下進(jìn)行,有著更好的用戶體驗(yàn)。既兼顧了本系統(tǒng)輕便快捷的優(yōu)點(diǎn),防止了部分用戶欺騙性手段,提高了不同環(huán)境下識(shí)別準(zhǔn)確率,增強(qiáng)用戶體驗(yàn)感。
本系統(tǒng)采用的動(dòng)作活體檢測(cè)算法描述如下,通過人臉特點(diǎn)檢測(cè)算法檢出如圖4所示的68個(gè)關(guān)鍵點(diǎn),人臉在進(jìn)行眨眼、張嘴、搖頭等動(dòng)作時(shí),相應(yīng)關(guān)鍵點(diǎn)的比例距離會(huì)產(chǎn)生變化。如進(jìn)行張嘴檢測(cè)時(shí),判斷關(guān)鍵點(diǎn)63和67之間的距離大于一定閾值時(shí),則視為張嘴動(dòng)作。
2.4 人臉特征的提取與對(duì)比
根據(jù)人臉檢測(cè)模型和5個(gè)特征區(qū)域裁剪出人臉區(qū)域,通過人臉特征提取算法,提取出特征長度為512的特征向量。將提取到的特征向量與存于系統(tǒng)數(shù)據(jù)庫中的本人數(shù)據(jù)特征對(duì)比,計(jì)算相似度。若超過閾值,則認(rèn)為當(dāng)前檢測(cè)的人臉符合,如圖5所示。
在計(jì)算相似度時(shí),根據(jù)兩個(gè)向量:當(dāng)前樣本提取的向量[X(x1,x2, ... ,xn)],和原樣本向量[Y(y1,y2, ... ,yn)],對(duì)其計(jì)算歐氏距離:[dist(X,Y)=i=1n(xi-yi)2]得到結(jié)果,將此結(jié)果與訓(xùn)練到的閾值對(duì)比,即可判斷出是否為本人操作。
2.5用戶行為習(xí)慣算法
筆者采用KDE算法[5]監(jiān)控用戶使用習(xí)慣的風(fēng)險(xiǎn)性程度。其核心設(shè)計(jì)過程是通過統(tǒng)計(jì)和預(yù)測(cè)某個(gè)時(shí)間段登錄的概率值,若某用戶通常登錄時(shí)間是上班的時(shí)間,因此凌晨時(shí)間登錄就會(huì)被標(biāo)記為風(fēng)險(xiǎn)行為。在其進(jìn)入系統(tǒng)后進(jìn)行操作,對(duì)其進(jìn)行特征分析,User-Profile聚合一個(gè)用戶在一段時(shí)間內(nèi)產(chǎn)生的所有行為數(shù)據(jù)的數(shù)量,通過KDE重新組織統(tǒng)計(jì)數(shù)據(jù),并檢測(cè)對(duì)比此模式是否發(fā)生明顯變化。如經(jīng)過此雙重確定后,則認(rèn)定為風(fēng)險(xiǎn)賬戶,將采取一定的積極措施保護(hù)賬戶信息。
3實(shí)驗(yàn)結(jié)果與分析
通過在互聯(lián)網(wǎng)上采集非用戶本人的圖像與視頻等訓(xùn)練數(shù)據(jù)集,進(jìn)行測(cè)試是否符合活體信息。圖像可通過圖6所示人臉獲取過程,但無法通過圖7所示活體檢測(cè)過程。因無法通過規(guī)定的活體眨眼和張嘴等隨機(jī)靜默動(dòng)作,會(huì)被識(shí)別為非活體而認(rèn)為非法入侵。
本系統(tǒng)能快速高效識(shí)別并反饋,通過人臉特征檢測(cè)點(diǎn)比對(duì),反饋得到非本人操作而視為非法入侵。只有在活體且為本人操作的情況下,才會(huì)檢測(cè)成功通過本系統(tǒng)的驗(yàn)證,如圖8所示。
4結(jié)束語
針對(duì)目前盜刷、誤刷、誘導(dǎo)性消費(fèi)等問題,本文設(shè)計(jì)了基于云平臺(tái)的身份認(rèn)證系統(tǒng),有效保障用戶使用的安全性,防止其他技術(shù)手段的欺騙行為。隨著各大保護(hù)用戶隱私政策的推出,以及手機(jī)應(yīng)用的普遍化和廣大用戶的安全意識(shí)提高,本系統(tǒng)會(huì)有越來越廣泛的應(yīng)用市場(chǎng),能實(shí)現(xiàn)很高的商業(yè)價(jià)值與社會(huì)價(jià)值。
參考文獻(xiàn):
[1] Zhang K P,Zhang Z P,Li Z F,et al.Joint face detection and alignment using multitask cascaded convolutional networks[J].IEEE Signal Processing Letters,2016,23(10):1499-1503.
[2] 皮家甜,楊杰之,楊琳希,等.基于多模態(tài)特征融合的輕量級(jí)人臉活體檢測(cè)方法[J].計(jì)算機(jī)應(yīng)用,2020,40(12):3658-3665.
[3] 田曦初,蘇寒松,劉高華,等.基于InsightFace的改進(jìn)教室人臉識(shí)別算法及其應(yīng)用[J].激光與光電子學(xué)進(jìn)展,2020,57(22):304-314.
[4] 陳祥闖,付曉峰.人臉識(shí)別和年齡估計(jì)在網(wǎng)游防沉迷中的應(yīng)用[J].技術(shù)與市場(chǎng),2021,28(1):41-42.
[5] 房玉琢,許志勇,趙兆.基于近似核密度估計(jì)的近場(chǎng)多聲源定位算法[J].通信學(xué)報(bào),2017,38(1):106-116.
【通聯(lián)編輯:唐一東】