李 雄,文開(kāi)福,鐘小明,楊 輝,秦德浩
(1.江西合力泰科技有限公司 博士后科研工作站,江西 吉安 343700;2.華東交通大學(xué) 軟件學(xué)院,南昌 330013)
隨著企業(yè)管理制度的逐漸完善,企業(yè)對(duì)考勤數(shù)據(jù)的真實(shí)性、安全性及可靠性愈發(fā)重視。傳統(tǒng)的證件、密碼、射頻卡等考勤方式,無(wú)法避免代打卡、成本高、不易攜帶或保管等現(xiàn)象,促使了生物特征識(shí)別技術(shù)的發(fā)展。生物特征識(shí)別技術(shù)是指將計(jì)算機(jī)與生物傳感器等高新科技結(jié)合,通過(guò)識(shí)別個(gè)體固有的生理特征或行為特征進(jìn)行個(gè)人身份鑒定。當(dāng)前,常見(jiàn)的生物特征識(shí)別技術(shù)有指紋、聲音、人臉、虹膜及多種生物特征混合識(shí)別等[1-2]??傮w而言,生物特征識(shí)別技術(shù)具有高安全及便利等特點(diǎn)。
隨著硬件和算法的發(fā)展,與其他生物特征識(shí)別技術(shù)相比,人臉識(shí)別的非接觸式、易采集和友好等特點(diǎn),使得該技術(shù)被廣泛關(guān)注。人臉識(shí)別在實(shí)際應(yīng)用中還面臨一些挑戰(zhàn),如因化妝、佩戴飾品引起的人臉變化、光照環(huán)境變化可能降低識(shí)別的準(zhǔn)確率,如何正確區(qū)分偽造的人臉圖像等。
深度學(xué)習(xí)的概念來(lái)源于人工神經(jīng)網(wǎng)絡(luò),是指包含有多隱層的神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)可以通過(guò)組合低層特征構(gòu)造更為抽象的高層表示,以發(fā)現(xiàn)數(shù)據(jù)的本質(zhì)特征表示。本文闡述了人臉識(shí)別考勤管理系統(tǒng)的原理,介紹了深度學(xué)習(xí)的相關(guān)概念及原理。并在此基礎(chǔ)上,應(yīng)用Java和Python語(yǔ)言構(gòu)建了B/S架構(gòu)的應(yīng)用系統(tǒng)。該應(yīng)用系統(tǒng)具有界面友好、操作方便等特點(diǎn)。
考勤管理系統(tǒng)采集真實(shí)、可靠的考勤數(shù)據(jù)將有利于企業(yè)正確掌握員工的工作狀態(tài)。因此,有必要提高識(shí)別準(zhǔn)確率及優(yōu)化系統(tǒng)響應(yīng)效率等,本文將采用活體檢測(cè)及深度學(xué)習(xí)技術(shù)達(dá)到這一目的。
人臉識(shí)別技術(shù)在廣泛應(yīng)用的同時(shí),也出現(xiàn)了針對(duì)人臉識(shí)別的身份偽造攻擊,比如照片人臉攻擊、視頻人臉攻擊及三維人臉模型攻擊等方式。當(dāng)前,主要采用基于人臉的活體檢測(cè)技術(shù)以應(yīng)對(duì)這些身份偽造攻擊技術(shù)[3]。
在線活體檢測(cè)接口具有準(zhǔn)確率較高、便于使用等特點(diǎn),該接口具有3個(gè)方面能力:人臉基礎(chǔ)信息獲取,其包括人臉框位置、人臉空間旋轉(zhuǎn)角度、人臉置信度等信息的獲?。蝗四樫|(zhì)量檢測(cè),判斷人臉的遮擋、光照、模糊度、完整度等質(zhì)量信息;基于圖片的活體檢測(cè),基于單張圖片,判斷圖片中的人臉是否為2次翻拍。本系統(tǒng)使用在線活體檢測(cè)接口以應(yīng)對(duì)身份偽造,提高數(shù)據(jù)的真實(shí)、可靠性。
人臉識(shí)別的準(zhǔn)確率受到其姿勢(shì)、光照、遮擋及表情等因素的影響,如何提取人臉的有效特征,快速、準(zhǔn)確地區(qū)分個(gè)體是該研究中的主要問(wèn)題[4]。早期研究者利用主成分分析法(Principal Component Analysis,PCA),將人臉圖像的全局特征映射至低維特征子空間,僅關(guān)注全局特征將使得人臉識(shí)別方法魯棒性較低。一些研究者提出結(jié)合局部特征如局部2值模式等方法。然而,這些方法仍面臨識(shí)別準(zhǔn)確率不足的困難。
深度學(xué)習(xí)模型是一種以數(shù)據(jù)為驅(qū)動(dòng)的特征提取方法,該模型從大量數(shù)據(jù)中分層地提取抽象特征,并對(duì)不同層級(jí)的特征加以非線性組合,以達(dá)到抽取數(shù)據(jù)本質(zhì)特征的目標(biāo)。隨著模型訓(xùn)練算法、計(jì)算硬件及模型正則等技術(shù)的發(fā)展,深度學(xué)習(xí)模型被廣泛應(yīng)用于目標(biāo)檢測(cè)、圖像標(biāo)注、圖像識(shí)別及醫(yī)學(xué)圖像診斷等研究領(lǐng)域[5]。
卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種前饋神經(jīng)網(wǎng)絡(luò),CNN是一種讓權(quán)重在不同位置共享的神經(jīng)網(wǎng)絡(luò)。該網(wǎng)絡(luò)先選擇一個(gè)局部區(qū)域去掃描整張圖片,該區(qū)域被稱(chēng)之為特征檢測(cè)器(Feature Detector)。如圖1所示[6],典型的卷積神經(jīng)網(wǎng)絡(luò)主要由輸入層、卷積層、下采樣層(池化層)、全連接層和輸出層組成。
圖1 卷積神經(jīng)網(wǎng)絡(luò)的典型結(jié)構(gòu)
設(shè)第i層的特征圖為Hi,則卷積層Hi的生成過(guò)程可描述為式:
Hi=f(Hi-1?Wi+bi)
(1)
式中:Wi為傳遞至第i層的權(quán)值向量;符號(hào)?為卷積操作,bi為偏移向量。激勵(lì)函數(shù)f,一般使用不飽和非線性函數(shù)ReLU函數(shù)如式(2)。相較于飽和非線性函數(shù),不飽和非線性函數(shù)能較好地避免梯度爆炸或梯度消失問(wèn)題,也能提高模型訓(xùn)練速度[7-8]。
f(x)=max(0,x)
(2)
卷積層之后的下采樣層通常有兩點(diǎn)作用:一個(gè)是降維;另一個(gè)則是保持特征尺度不變性。原始圖像經(jīng)過(guò)卷積層和下采樣層的交替變換后,再接入一個(gè)全連接網(wǎng)絡(luò)利用所提取的特征對(duì)圖像進(jìn)行分類(lèi)。分類(lèi)計(jì)算的結(jié)果是一個(gè)關(guān)于標(biāo)簽概率分布的向量:
Y(i)=P(L=li|H0;(W,b))
(3)
式中:H0為原始圖像。式(3)為原始圖像經(jīng)過(guò)一系列的特征提取、組合變換后,得到標(biāo)簽概率。深度神經(jīng)網(wǎng)絡(luò)中權(quán)值參數(shù)W是利用訓(xùn)練數(shù)據(jù)反復(fù)訓(xùn)練模型,使得損失函數(shù)最小化確定下來(lái)。常見(jiàn)的損失函數(shù)有均方誤差:
(4)
E(W,b)=L(W,b)+ω×WTW
(5)
式中:ω用以控制正則化的強(qiáng)度。CNN訓(xùn)練過(guò)程采用的是梯度下降算法。通過(guò)訓(xùn)練誤差的反向傳播,逐層修正網(wǎng)絡(luò)中的權(quán)值參數(shù)W和偏值參數(shù)b:
(6)
(7)
學(xué)習(xí)速率η控制學(xué)習(xí)步長(zhǎng)。
深度學(xué)習(xí)的廣泛應(yīng)用得益于諸多優(yōu)秀的開(kāi)源深度學(xué)習(xí)框架[9]。目前,常用的深度學(xué)習(xí)框架有Tensorflow、Caffe、Torch及Theano等。Keras是封裝了Tensorflow、Computational Network Toolkit (CNTK)和Theano的高層神經(jīng)網(wǎng)絡(luò)應(yīng)用程序接口API,Keras由純Python編寫(xiě)而成并基于Tensorflow、Theano以及CNTK后端。Keras具有高度模塊化和可擴(kuò)充特性,能快速方便用戶(hù)搭建神經(jīng)網(wǎng)絡(luò)原型,且還支持卷積神經(jīng)網(wǎng)絡(luò)(Convolurional Neural Network,CNN)模型與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型。為便于高效訓(xùn)練模型,Keras同時(shí)支持中央處理器(Central Procesing Univ,CPU)及圖形處理器(Graphics Procesing Unit,GPU)訓(xùn)練模式。
為平衡圖像識(shí)別準(zhǔn)確度和模型訓(xùn)練成本等因素,Keras提供了友好的微調(diào)(Fine-tuning)模式。該模式支持用戶(hù)導(dǎo)入已訓(xùn)練好的網(wǎng)絡(luò)參數(shù)至深度網(wǎng)絡(luò)結(jié)構(gòu),并在深度網(wǎng)絡(luò)結(jié)構(gòu)之上搭建定制的神經(jīng)網(wǎng)絡(luò),再使用用戶(hù)特定的數(shù)據(jù)集對(duì)定制網(wǎng)絡(luò)的參數(shù)進(jìn)行訓(xùn)練。具體過(guò)程如下:
(1)提取VGG16中Bottleneck特征。普遍認(rèn)為,更深的網(wǎng)絡(luò)具有比淺網(wǎng)絡(luò)更強(qiáng)的表達(dá)能力,更能抽取復(fù)雜的特征。而 VGG16[10]共有16層,其中有13個(gè)卷積層和3個(gè)全連接層。由于大尺寸卷積核將導(dǎo)致訓(xùn)練過(guò)程所需學(xué)習(xí)的網(wǎng)絡(luò)參數(shù)過(guò)大,故VGG網(wǎng)絡(luò)采用3×3尺寸的卷積核以描述橫、豎及斜對(duì)角像素的變化。VGG采用分段卷積網(wǎng)絡(luò),并采用Maxpooling技術(shù)。同時(shí)還采用了逐層訓(xùn)練法,使得網(wǎng)絡(luò)更深且更寬。因此,理論上也能提取更為復(fù)雜的特征。
當(dāng)深度網(wǎng)絡(luò)模型中包含的參數(shù)較多時(shí),為避免網(wǎng)絡(luò)模型的欠擬合,需建立較大規(guī)模的數(shù)據(jù)集,但訓(xùn)練成本高昂。本文研究中,Keras中直接提供了VGG16接口,可直接將已訓(xùn)練好的網(wǎng)絡(luò)參數(shù)導(dǎo)入,從而避免計(jì)算資源的浪費(fèi)。
(2)接入分類(lèi)層并參數(shù)微調(diào)。與其他人臉識(shí)別技術(shù)不同[11-12],VGG16訓(xùn)練是基于ImageNet數(shù)據(jù)集[13-16],是從上百萬(wàn)圖片中提取的關(guān)于1 000個(gè)類(lèi)別樣本的分類(lèi)特征,但其并不側(cè)重于關(guān)注人臉區(qū)分的特征。為了更準(zhǔn)確地識(shí)別人臉,本文在Bottleneck特征之后接入一個(gè)Flatten層、兩個(gè)Dense以及Softmax輸出層,并使用員工注冊(cè)的人臉圖像數(shù)據(jù)集對(duì)Flatten層、Dense層中的網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào),如圖2所示。值得注意的是,該訓(xùn)練過(guò)程中,VGG16網(wǎng)絡(luò)中的13個(gè)卷積層的參數(shù)被固化。即在利用員工頭像數(shù)據(jù)集訓(xùn)練時(shí),VGG16網(wǎng)絡(luò)參數(shù)并不發(fā)生改變。
圖2 VGG16網(wǎng)絡(luò)中Bottleneck特征
系統(tǒng)采用B/S結(jié)構(gòu)設(shè)計(jì),分為服務(wù)器端和主機(jī)端。企業(yè)員工上班/下班時(shí),在各自的工作機(jī)位上通過(guò)瀏覽器訪問(wèn)考勤管理系統(tǒng),從而進(jìn)行打卡。員工工作機(jī)位可以是帶有攝像頭的筆記本或是外接攝像頭的臺(tái)式機(jī),考勤管理系統(tǒng)通過(guò)攝像頭捕捉用戶(hù)的人臉信息。系統(tǒng)的物理實(shí)現(xiàn)方案,如圖3所示。
圖3 系統(tǒng)物理實(shí)現(xiàn)方案
管理員通過(guò)瀏覽器訪問(wèn)考勤管理系統(tǒng),查看員工的考勤記錄、登記用戶(hù)的請(qǐng)假信息等。應(yīng)用服務(wù)器、數(shù)據(jù)服務(wù)器上存放了注冊(cè)用戶(hù)的人臉樣本信息、用戶(hù)基本信息及考勤信息等。
人臉識(shí)別考勤管理系統(tǒng)主要由用戶(hù)打卡、用戶(hù)管理、考勤管理及考勤統(tǒng)計(jì)等功能模塊組成。用戶(hù)打卡模塊的功能是采集用戶(hù)的人臉圖像,軟件根據(jù)人臉信息,登記用戶(hù)打卡時(shí)間;員工管理模塊的功能是對(duì)新用戶(hù)進(jìn)行注冊(cè),對(duì)注冊(cè)用戶(hù)的個(gè)人信息進(jìn)行維護(hù);考勤管理模塊的功能是實(shí)現(xiàn)企業(yè)考勤規(guī)則的定義比如節(jié)假日、上班時(shí)間及下班時(shí)間等以及考勤記錄的查詢(xún)、更改等;考勤統(tǒng)計(jì)模塊的功能是對(duì)員工考勤信息進(jìn)行統(tǒng)計(jì)。具體的軟件層次圖,如圖4所示。
圖4 軟件層次圖
系統(tǒng)經(jīng)過(guò)開(kāi)發(fā)、測(cè)試及部署后的實(shí)際運(yùn)行效果如圖5所示。
系統(tǒng)測(cè)試結(jié)果:準(zhǔn)確率為93.6%,響應(yīng)時(shí)間為0.53 s。仿真實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)的準(zhǔn)確率和響應(yīng)時(shí)間能較好地滿(mǎn)足企業(yè)的考勤需求。進(jìn)一步分析發(fā)現(xiàn),識(shí)別錯(cuò)誤通常是由于用戶(hù)簽到/簽退時(shí),人臉圖像發(fā)生了抖動(dòng),導(dǎo)致圖像模糊或者圖像不完整。
(a)登陸頁(yè)面
(b)打卡頁(yè)面
相較于其他人臉特征提取方法,深度學(xué)習(xí)方法具有無(wú)人工干預(yù)、準(zhǔn)確率高等優(yōu)點(diǎn)。但其訓(xùn)練過(guò)程需要較高的運(yùn)算資源,且訓(xùn)練數(shù)據(jù)集所需規(guī)模較大。就深度學(xué)習(xí)及模式識(shí)別現(xiàn)有發(fā)展趨勢(shì)看,深度學(xué)習(xí)將在人臉識(shí)別領(lǐng)域被廣泛應(yīng)用,并將改變大部分傳統(tǒng)應(yīng)用系統(tǒng)的業(yè)務(wù)流程及性能。