孫語瞳,于林韜,武博宇
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
基于OpenBR的身份識別系統(tǒng)應(yīng)用
孫語瞳,于林韜,武博宇
(長春理工大學(xué) 電子信息工程學(xué)院,長春 130022)
OpenBR——開源生物識別系統(tǒng),是一個(gè)可以提供快速高效開發(fā)環(huán)境的系統(tǒng)。正是因?yàn)樗且粋€(gè)用于研究新方法、改進(jìn)現(xiàn)有算法、對接商業(yè)系統(tǒng)、測試識別性能并且可以自動(dòng)部署生物系統(tǒng)的框架才使得應(yīng)用此方法實(shí)現(xiàn)面部識別成為可能。對利用OpenBR提供的生物識別算法設(shè)計(jì)工具,經(jīng)過正臉檢測、規(guī)范化、特征描述、特征提取、特征對比匹配等一系列步驟對圖片數(shù)據(jù)進(jìn)行處理,最后將得到的匹配分?jǐn)?shù)經(jīng)過決策算法成為通過人臉識別實(shí)現(xiàn)身份識別的依據(jù)進(jìn)行了研究。通過實(shí)驗(yàn)結(jié)果得出設(shè)計(jì)的決策算法可以得到90%以上識別率??梢詰?yīng)用于考勤、駕駛員身份識別等領(lǐng)域。
OpenBR;人臉識別;決策設(shè)計(jì)
隨著多媒體技術(shù)的高速發(fā)展,生物識別在當(dāng)今視覺領(lǐng)域中開始得到越來越多的重視,同時(shí)也為越來越多的實(shí)際應(yīng)用提供了適合其特定模式的算法。而作為人的生物特征之一的人臉特征也因?yàn)樗囊撞杉⒎墙佑|等優(yōu)勢得到了越來越廣泛地關(guān)注和應(yīng)用。人臉識別,顧名思義就是對已知人臉進(jìn)行分類的過程。就像人們看到人臉時(shí),就能識別出他們是否是自己的家人、朋友或者名人等等。近幾年人臉識別發(fā)展迅猛,在不知不覺中它已經(jīng)悄無聲息地走進(jìn)了人們的日常生活,比如越來越多的銀行、券商和企業(yè)開始借助人臉識別進(jìn)行身份核實(shí),大大提高了工作效率;基于人臉識別系統(tǒng)的社會保障金領(lǐng)取也方便了大批出行不便的老人;證件照查重、嫌疑犯檢索等更是可以快捷地協(xié)助公安機(jī)關(guān)破案。
利用開源生物識別系統(tǒng)OpenBR實(shí)現(xiàn)的身份識別可以應(yīng)用到例如企業(yè)考勤、身份識別門禁等領(lǐng)域。OpenBR不僅提供了供設(shè)計(jì)和評估使用的生物識別算法工具,還為終端用戶提供了應(yīng)用生物識別技術(shù)的接口。它可以實(shí)現(xiàn)分離生物識別過程中的組件,這也讓研究人員可以在這個(gè)能實(shí)現(xiàn)再部署的系統(tǒng)中更專注于算法中特定的步驟。
這個(gè)項(xiàng)目最重要的技術(shù)成就可以說就是用一種新的圖像識別語言來表達(dá)算法。語言中的每一個(gè)詞對應(yīng)著一個(gè)執(zhí)行特定圖像轉(zhuǎn)換的插件,允許對算法中的獨(dú)立步驟高度解耦。這些詞結(jié)合在一個(gè)明確定義的模板登記和對比算法中。語言已經(jīng)足夠靈活到可以不需要額外的開發(fā)就可以表達(dá)大多數(shù)已有的開源面部識別算法。在工程中嵌入這種語言使得開發(fā)在保證效率和對本地軟件可部署性的同時(shí)享受到無編譯算法設(shè)計(jì)和參數(shù)探索的優(yōu)勢。在實(shí)踐中這種語言也提供了一種簡明且明確的方式讓其他研究者去熟悉這個(gè)項(xiàng)目。
使用OpenBR功能最主要的方式就是使用br命令應(yīng)用程序,形同于openbr的API接口。輸入一個(gè)br命令也被認(rèn)為是在寫入一個(gè)簡短的程序,可以隨意設(shè)置指定參數(shù)并且按照指定順序執(zhí)行。
下式中算法描述用引號括住,以免造成解釋錯(cuò)誤。
表達(dá)式1在BioID數(shù)據(jù)集[1]上訓(xùn)練特征臉?biāo)惴?/p>
表達(dá)式2使用表達(dá)式1訓(xùn)練得到的算法計(jì)算MEDS[2]數(shù)據(jù)集的相似矩陣
具體的實(shí)例充分證明了br的性能,通過訓(xùn)練、執(zhí)行和對經(jīng)典的Eigenfaces[3]算法進(jìn)行評估演示了一個(gè)典型的OpenBR工程。表達(dá)式1中展示了如何訓(xùn)練人臉識別算法。這種算法其實(shí)就是一種注冊模板并且對兩種模板進(jìn)行比較的方法。訓(xùn)練需要指定被訓(xùn)練的數(shù)據(jù)和訓(xùn)練完成時(shí)訓(xùn)練模型的保存地址。注意,訓(xùn)練模型文件沒有擴(kuò)展。
下面來介紹一下其他兩個(gè)現(xiàn)有的開源面部識別系統(tǒng)。分別是來自科羅拉多州立大學(xué)(CSU)[11]和OpenCV的解決方案[4]。CUS的基線算法包括兩個(gè)算法:局部PCA(LRPCA)[11]和具有顏色空間和隊(duì)列化標(biāo)準(zhǔn)的LDA[5]??蚣苡蒔ython編寫并且為Windows和Mac均提供了安裝說明。但是它不僅對編程語言的要求比較高而且對API的定義也不夠完善,這使得很難將工作整合到新的應(yīng)用中去。OpenCV庫中包含Eigenface[3]—基于PCA理論的特征臉識別算法;Fisherface—基于LDA理論的特征臉識別算法。LDA與Eigenface中用到的PCA有相似之處,都是將原有數(shù)據(jù)進(jìn)行整體降維映射到低維空間的方法。其中的文獻(xiàn)和實(shí)例都演示了怎樣與面部識別API進(jìn)行交互。但是卻缺乏現(xiàn)代的面部識別算法并且對于有細(xì)密紋理的眼部定位不準(zhǔn)確。它不能像OpenBR那樣用簡明的語言來表達(dá)算法。表1對現(xiàn)有的開源面部識別算法進(jìn)行了對比。
表1 現(xiàn)有的開源面部識別算法比較
OpenBR適用于Windows,Mac和Linux系統(tǒng),Android和ios端口以及其他常見的平臺。此處應(yīng)用于Windows系統(tǒng)。此外,OpenBR的編譯需要OpenCV計(jì)算機(jī)視覺庫,Qt應(yīng)用程序框架,CMake跨平臺構(gòu)建系統(tǒng)。OpenBR最主要的兩個(gè)軟件構(gòu)件分別是“openbr”共享庫和命令行應(yīng)用程序“br”。解決方案堆棧如圖1所示。
圖1 OpenBR的解決方案堆棧
OpenBR的其中一個(gè)優(yōu)勢就是簡單易用性,它用一個(gè)一致且簡單的方式來表達(dá)生物特征的識別算法,即用字符串來定義注冊圖片的技術(shù)和比較圖像的方法。通過字符串定義算法有很多優(yōu)勢,比如同時(shí)解放了大量非常相似的頭文件的創(chuàng)建與維護(hù)。運(yùn)行時(shí)也無需再編譯就可以實(shí)現(xiàn)算法調(diào)參。最重要的一點(diǎn)是由于強(qiáng)行解耦了算法開發(fā)中的每一步,這保證了較好的軟件開發(fā)體驗(yàn),可以直接從描述中理解所實(shí)現(xiàn)的算法,還具備了算法修改以及重用獨(dú)立步驟的優(yōu)點(diǎn)。
OpenBR存儲圖像的方式是將圖像存儲為一個(gè)優(yōu)化標(biāo)識,而不是存儲整個(gè)原圖片用于對比。模板是一個(gè)相對通用的生物概念,將原始圖片生成這個(gè)優(yōu)化模板的過程,稱之為模板注冊。這樣操作的目的是為了生成一個(gè)小型、精確且可以快速匹配的模板。
OpenBR有文件和模板兩個(gè)處理數(shù)據(jù)的對象。文件(系統(tǒng))通常用于存儲磁盤文件路徑與元數(shù)據(jù)。模板是圖片和文件的容器,可以包含一個(gè)或多個(gè)圖片。一個(gè)模板代表著生物在不同階段的注冊,同時(shí)可以通過變換做出改進(jìn),通過距離(distance)實(shí)現(xiàn)與其他模板的對比。
所用到的算法是光譜采樣結(jié)構(gòu)子空間特征(4SF)算法[8],它是一種基于統(tǒng)計(jì)學(xué)習(xí)的算法研究。原本用于研究人口統(tǒng)計(jì)資料[2]和年紀(jì)增長[3]對人臉識別性能的影響。4SF相比其它技術(shù)而言優(yōu)勢在于使用的面部特征描述和特征提取在現(xiàn)代臉部識別算法中具有很好的代表性。不僅如此,4SF還通過統(tǒng)計(jì)學(xué)習(xí)對準(zhǔn)確性進(jìn)行了很大程度的改進(jìn),這讓OpenBR像異構(gòu)面部識別那樣在特定的匹配問題中具有訓(xùn)練自己的能力,從而區(qū)別于其他商業(yè)系統(tǒng)。
在對4SF算法與其他三種已有的商業(yè)面部識別算法分別就產(chǎn)生的模板大小和準(zhǔn)確性進(jìn)行對比中得到結(jié)論:OpenBR擁有最小的模板。在準(zhǔn)確性方面,雖然有些商業(yè)系統(tǒng)在一些經(jīng)典的面部識別數(shù)據(jù)下的表現(xiàn)優(yōu)于4SF,然而在一些異構(gòu)面部識別數(shù)據(jù)下的準(zhǔn)確率卻不然。這也體現(xiàn)出了產(chǎn)生新問題時(shí)可以訓(xùn)練系統(tǒng)的好處。OpenBR整體流程圖如圖2所示。
OpenBR對OpenCV級聯(lián)分類框架進(jìn)行了封裝[6],并提供了基于Casecade(FrontalFace)級聯(lián)分類器的正臉識別方法。對于眼睛的檢測,使用的是基于C++、接口為ASEF的人眼識別方法[7]ASEFEyes。ASEF即采用平均合成精確濾波的方法進(jìn)行人眼定位。在訓(xùn)練中利用輸入樣本圖片和合成輸出結(jié)果,在頻域上構(gòu)造相關(guān)濾波器,然后將多個(gè)濾波器進(jìn)行平均,得到最終的相關(guān)濾波器,這樣采用訓(xùn)練的濾波器進(jìn)行定位得到了比較理想的結(jié)果。
在這里借助檢測到的眼睛位置來注冊人臉,并通過仿射變換完成嚴(yán)格的旋轉(zhuǎn)和縮放。也就是說人臉基于人眼位置做旋轉(zhuǎn)扭正。在提取局部二進(jìn)制時(shí)遵循光照預(yù)處理步驟。預(yù)處理使得在不同亮度、人臉圖像旋轉(zhuǎn)角度、拍攝角度、背景、光照位置等條件下得到的圖像更加一致。當(dāng)然這些因素的影響只會被削弱,而不會被完全消除,尤其是當(dāng)人臉方向不一致時(shí),會使人臉中所有元素的位置存在很大的不同,從而造成對人臉的識別異常的困難。
此處基于密集的網(wǎng)格提取 LBP[9]和 SIFT[10]特征來采樣人臉。LBP的提取是通過6×6的滑動(dòng)窗口每次對8×8像素的窗口提取局部二進(jìn)制模型的直方圖。SIFT的提取是從一個(gè)10×10的網(wǎng)格中采樣一百個(gè)SIFT描述符,每個(gè)描述符半徑為12像素。再利用PCA(主成分分析)分解保留95%的方差來壓縮每個(gè)局部區(qū)域,隨即描述符被投射到相應(yīng)的特征空間,然后規(guī)范化到L2范數(shù)單元。
圖2 流程圖
在這一步要做的就是加權(quán)譜抽樣,也就是將每個(gè)區(qū)域的特征向量連接起來,同時(shí)在各個(gè)維度的方差上執(zhí)行隨機(jī)采樣的加權(quán)。在本文中提取12維特征,每個(gè)維數(shù)相當(dāng)于整體特征空間的5%,然后使用LDA(線性判別分析)學(xué)習(xí)每一個(gè)隨機(jī)樣本的空間特征,這樣可以使對面部特征向量的辨別力得到提高。最后,描述符再一次連接到一起并規(guī)范化到L1范數(shù)單元。發(fā)現(xiàn)在空間投影后進(jìn)行規(guī)范化可以大大的提高在許多識別場景模式下的準(zhǔn)確性,這與觀測結(jié)果一致[12]。
這里要用到的L1byte距離度量可以達(dá)到最先進(jìn)的匹配速度,同時(shí)對于準(zhǔn)確率的影響小到幾乎可以忽略不計(jì)。這里使用L1范數(shù)正則化來比較特征向量,將向量轉(zhuǎn)換為8位無符號整數(shù)。這是模板生成的最后一步。L1范數(shù)正則化通過向成本函數(shù)中添加L1范數(shù),使得學(xué)習(xí)得到的結(jié)果滿足稀疏化(sparsity),從而方便了特征提取。
首先要采集實(shí)驗(yàn)所需圖片。在建立圖片集時(shí)使用同等規(guī)格的彩色圖片,在隨后算法中使用字符串加入灰度化對圖片進(jìn)行處理,這樣可以減小圖片原始數(shù)據(jù)量,便于后續(xù)處理時(shí)計(jì)算量更少。該數(shù)據(jù)集在自然光下采集。接受樣本采集者均睜眼正對攝像頭,且與攝像頭的距離固定。
將實(shí)時(shí)采集的待識別圖片與待查找圖片集進(jìn)行一一比對,分別得到一個(gè)匹配分?jǐn)?shù)并排序。取位于前十的分?jǐn)?shù)并輸出對應(yīng)圖片所屬姓名。默認(rèn)匹配分?jǐn)?shù)最高的圖片為本人的幾率最大,如果排列前十的圖片除分?jǐn)?shù)最高的圖片外有五個(gè)與分?jǐn)?shù)最高的圖片來自同一個(gè)人(一共6張,占比為60%),則認(rèn)為待識別的人為匹配分?jǐn)?shù)最高的圖片中的人。
需要說明的是由于實(shí)際應(yīng)用期望的是相似度的值,但是實(shí)際算法中返回值distance,也就是前面所提到的距離,表示的是值越小相似度越高。所以在這里將返回-log(distance+1)以表示值越大時(shí)相似度越高。當(dāng)然也可以通過上述函數(shù)轉(zhuǎn)換為其他距離的輸出。
用于本次測試實(shí)驗(yàn)的數(shù)據(jù)是事先采集好的來自于8位同學(xué)(以下用A、B、C、D、E、F、G、H代替8位同學(xué)的姓名)的80張彩色圖片,每人10張。另外每人仍需各取一張圖片用于測試。其中6位同學(xué)(A、B、C、D、E、F)是戴眼鏡的同學(xué),所以要對他們戴眼鏡的情況也進(jìn)行采集(各10張)。分別記作A(1)、B(1)、C(1)、D(1)、E(1)、F(1)。
用上述的方法標(biāo)記實(shí)驗(yàn)數(shù)據(jù)是為了驗(yàn)證人們在實(shí)時(shí)采集圖像時(shí)是否應(yīng)該嚴(yán)格與圖庫中采集圖片時(shí)戴眼鏡情況保持一致。即驗(yàn)證不保持一致的情況下會對識別的準(zhǔn)確性產(chǎn)生什么樣的影響。
根據(jù)上述實(shí)驗(yàn)方法,分別對數(shù)據(jù)組進(jìn)行實(shí)驗(yàn),圖3為程序運(yùn)行結(jié)果以及以F同學(xué)為實(shí)驗(yàn)對象得到的四組實(shí)驗(yàn)結(jié)果。
圖3 運(yùn)行結(jié)果
下面以表格形式給出實(shí)驗(yàn)結(jié)果。對表格內(nèi)容的說明如下:表2、表5是將F同學(xué)不戴眼鏡的10張圖片放入圖庫中為基礎(chǔ)的實(shí)驗(yàn)得到的結(jié)果,表3、表4則為戴眼鏡的情況。也就是說,表2、3得到的結(jié)論是以采集圖像時(shí)與圖庫中采集圖片時(shí)戴眼鏡情況保持一致為基礎(chǔ)。表4、5得到的結(jié)論則是以采集圖像時(shí)與圖庫中采集圖片時(shí)戴眼鏡情況不一致為基礎(chǔ)。
表2 實(shí)時(shí)采集不戴眼鏡
表3 實(shí)時(shí)采集不戴眼鏡
表4 實(shí)時(shí)采集戴眼鏡
表5 實(shí)時(shí)采集戴眼鏡
表2表明實(shí)時(shí)采集圖片與圖庫采集時(shí)均為不戴眼鏡情況下,匹配分?jǐn)?shù)排在前十的圖片均來自F同學(xué)本人。表3表明實(shí)時(shí)采集圖片時(shí)不戴眼鏡,圖庫采集時(shí)戴眼鏡情況下,匹配分?jǐn)?shù)排在前十的圖片中有九張來自F同學(xué)本人。表4表明實(shí)時(shí)采集與圖庫采集時(shí)均戴眼鏡情況下,匹配分?jǐn)?shù)排在前十的圖片均來自F同學(xué)本人。表5表明實(shí)時(shí)采集時(shí)戴眼鏡,圖庫采集時(shí)不戴眼鏡情況下,匹配分?jǐn)?shù)排在前十的圖片均來自F同學(xué)本人。
由以上實(shí)驗(yàn)結(jié)果可知,實(shí)時(shí)采集圖像時(shí)是否與圖庫中采集圖像時(shí)戴眼鏡情況保持一致對結(jié)果的準(zhǔn)確性產(chǎn)生的影響很小可忽略不計(jì)。
在前人研究基礎(chǔ)上基于OpenBR實(shí)現(xiàn)了身份識別的應(yīng)用。在實(shí)驗(yàn)條件下,得到了較為理想的結(jié)果。然而和目前大多數(shù)人臉識別技術(shù)一樣,在現(xiàn)實(shí)條件下使用時(shí)會不太準(zhǔn)確。這是因?yàn)槟壳暗娜四樧R別技術(shù)對圖像中的光照類型、光照和陰影方向、準(zhǔn)確的人臉定位、面部表情以及人當(dāng)前的心情都十分敏感。由此也可以看出,基于OpenBR的人臉識別應(yīng)用是有很大前景的,研究價(jià)值很高。
[1]Jesorsky O,Kirchberg K J,F(xiàn)rischholz R W. Robust face detection using the hausdorff distance[C].International Conference on Audio- and Video-Based Biometric Person Authentication. Springer-Verlag,2001:90-95.
[2]Founds A,Orlans N,Whiddon G,Watson C.NIST special database 32-multiple encounter dataset II(MEDSII) [DB].www.nist.gov/itl/iad/ig/sd32.cfm,2011.
[3]Turk M.Pentland- eigenfaces for recognition[J].Journal of Cognitive Neuroscience,1991,3(1):71-86.
[4]Bradski G.The Opencv Library[J].Doctor Dobbs Journal,2000,25(11):120-126.
[5]Lui Y M,Bolme D,Phillips P J,et al.Preliminary studies on the good,the bad,and the ugly face recognition challenge problem[C].Computer Vision and Pattern Recognition Workshops.IEEE,2012:9-16.
[6]Viola P,Jones M J.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[7]Bolme D S,Draper B A,Beveridge J R.Average of synthetic exact filters[C].IEEE Conf.on Computer Vision and Pattern Recognition,2009:2105-2112.
[8]Klare B.Spectrally sampled structural subspace features (4SF)[R].In Michigan State University Technical Report,2011.
[9]Ahonen T,Hadid A,Pietikainen M.Face description with local binary patterns:application to face recognition[J].IEEE Transactions on Pattern Analysisamp;Machine Intelligence,2006,28(12):2037-2041.
[10]Lowe D G.Distinctive image features from scaleinvariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.
[11]Phillips P J,Beveridge J R,Draper B A,et al.An introduction to the good,the bad,amp;the ugly face recognition challenge problem[C].IEEE International Conference on Automatic Faceamp;Gesture Recognition and Workshops,2011:346-353.
[12]Cao Z,Yin Q,Tang X,et al.Face recognition with learning-based descriptor[C].ComputerVision and Pattern Recognition. IEEE,2010:2707-2714.
[13]秦雪,王歡,嚴(yán)曄,等.基于圖像邊緣檢測的圖像識別算法[J].長春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2015,38(4):127-131.
Research on the Identity Recognition Based on OpenBR
SUN Yutong,YU Lintao,WU Boyu
(School of Electronic and Information Engineering,Changchun University of Science and Technology,Changchun 130022)
OpenBR——Open Source Biometric Recognition,originated within the MITRE corporation.It is a framework for investigating new modalities,improving existing algorithms,interfacing with commercial systems,measuring recognition performance,and deploying automated biometric systems.The project is designed to facilitate rapid algorithm prototyping,and features a mature core framework,flexible plugin system,and support for open and closed source development.Off-the-self algorithm are also available for specific modalities including Face Recognition,Age Estimation and Gender Estimation.The research content is to complete personal identity verification by using facial recognition model which based on OpenBR.Rapid and efficient development is necessary for modern development,with OpenBR is a very powerful assistant.Application of OpenBR to achieve identification system is a typical demonstration of using biometric framework which gets a nice result.
OpenBR;facial recognition;decision-making
TP31
A
1672-9870(2017)05-0049-05
2017-09-11
孫語瞳(1993-),女,碩士研究生,E-mail:syt18243088925@126.com
于林韜(1972-),男,博士,副教授,E-mail:yulintao@cust.edu.cn