趙娟
[摘? ? 要] 人臉識(shí)別是公共安全領(lǐng)域的研究重點(diǎn)。通過人臉識(shí)別技術(shù)進(jìn)行人臉跟蹤、人臉檢測(cè)、人臉比對(duì)來比較人臉的視覺特征信息從而進(jìn)行身份鑒別。隨著移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,移動(dòng)終端人臉識(shí)別應(yīng)用日益廣泛。文章主要探討人臉識(shí)別在Android系統(tǒng)中的實(shí)現(xiàn)以及用戶安全登錄,包括人臉檢測(cè)、特征提取和特征識(shí)別。
[關(guān)鍵詞] 人臉識(shí)別;系統(tǒng)開發(fā);Android
1? ? ? 背? ? 景
隨著互聯(lián)網(wǎng)的發(fā)展,人臉識(shí)別技術(shù)被廣泛地應(yīng)用于各種領(lǐng)域。基于Android的人臉識(shí)別具有非常廣闊的發(fā)展前景,本文基于Android,重點(diǎn)研究人臉識(shí)別技術(shù)應(yīng)用,并對(duì)應(yīng)用開發(fā)的關(guān)鍵技術(shù)進(jìn)行闡述,最后介紹了實(shí)現(xiàn)Android系統(tǒng)人臉識(shí)別應(yīng)用的功能模塊。
對(duì)于人臉識(shí)別技術(shù),目前的算法分為2種。一種是在線人臉識(shí)別,比如face++、百度AI等,通過傳遞人臉圖片給服務(wù)器處理返回接口。這種方式的優(yōu)點(diǎn)是:服務(wù)器算法強(qiáng)大、識(shí)別準(zhǔn)確率高、支持大規(guī)模人臉識(shí)別數(shù)據(jù)。比如,能支持10萬人對(duì)比。這種方式的缺點(diǎn)是:慢、需要良好網(wǎng)絡(luò)環(huán)境的支持。相機(jī)預(yù)覽幀率一般都在30 fps 以上,一般用戶使用網(wǎng)絡(luò)處理一張圖片都需要至少1 s以上,那么如果需要在手機(jī)上實(shí)時(shí)展示處理結(jié)果幾乎不太可能。另外一種是離線人臉識(shí)別, 人臉對(duì)比算法在本地,人臉數(shù)據(jù)也在本地,完全是離線環(huán)境也能夠正常運(yùn)行。隨著Android手機(jī)運(yùn)算性能的提高,算法已經(jīng)足夠高效,處理一張人臉圖片可以在100 ms以內(nèi),對(duì)于應(yīng)用,完全的離線人臉簽到考勤適合小公司,類似以前那種指紋機(jī),需要通過SD卡導(dǎo)出,但是一般安卓手機(jī)都有網(wǎng)絡(luò),實(shí)際上可以通過網(wǎng)絡(luò)同步方式同步到服務(wù)器。這種方式的優(yōu)點(diǎn)是: 識(shí)別快、體驗(yàn)好、無網(wǎng)絡(luò)也可以正常使用。所以在Android環(huán)境下,綜合考慮使用離線人臉識(shí)別,較適合當(dāng)今的技術(shù)發(fā)展。
目前,人臉識(shí)別已應(yīng)用在安全認(rèn)證、預(yù)警防控、刑事偵查等各個(gè)方面。在國(guó)內(nèi),人臉識(shí)別的應(yīng)用大都還停留在PC機(jī)上,基于移動(dòng)設(shè)備的研究很少。而且,隨著移動(dòng)信息安全意識(shí)的提高,在移動(dòng)終端上進(jìn)行人臉識(shí)別具有廣闊的發(fā)展前景,設(shè)計(jì)實(shí)現(xiàn)基于Android的人臉識(shí)別系統(tǒng),可更好地滿足移動(dòng)終端的電子簽到、人員識(shí)別與警務(wù)需求。本文選擇基于face++的人臉識(shí)別算法實(shí)現(xiàn)人臉特征提取、特征識(shí)別與檢測(cè)。
2? ? ? 系統(tǒng)實(shí)現(xiàn)
2.1? ?系統(tǒng)功能實(shí)現(xiàn)
開發(fā)基于Android的人臉識(shí)別系統(tǒng),包括系統(tǒng)開發(fā)工具的選擇、開發(fā)環(huán)境的搭建以及系統(tǒng)各功能模塊的實(shí)現(xiàn),為以后進(jìn)一步研究基于Android平臺(tái)人臉檢測(cè)和識(shí)別算法奠定基礎(chǔ)。系統(tǒng)實(shí)現(xiàn)過程分為以下幾個(gè)階段。系統(tǒng)經(jīng)過開發(fā)之后,實(shí)現(xiàn)的功能見表1。
2.2? ?系統(tǒng)數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
對(duì)于本系統(tǒng)而言,首先需要建立一個(gè)存放用戶信息的數(shù)據(jù)庫(kù)。在實(shí)現(xiàn)系統(tǒng)識(shí)別功能之前,需要導(dǎo)入進(jìn)行簽到、識(shí)別的全體用戶信息。因?yàn)楸鞠到y(tǒng)采用Android開發(fā)平臺(tái),一般可以從關(guān)系數(shù)據(jù)庫(kù)導(dǎo)入到嵌入式SQLite中,便于系統(tǒng)對(duì)這些數(shù)據(jù)進(jìn)行后期處理和調(diào)用、比對(duì),用戶信息包括三部分內(nèi)容,即身份信息、圖像信息和簽到信息。身份信息是指用戶的基本身份數(shù)據(jù),如身份證號(hào)、性別、住址等;圖像信息則指用戶的人臉圖像數(shù)據(jù),包括人臉樣本信息、照片等此種越多越好,有利于進(jìn)行比對(duì)識(shí)別;簽到信息包括簽到時(shí)間、簽到地點(diǎn)等,可以采用地理定位進(jìn)行地圖實(shí)名制簽到等。這些用戶信息結(jié)合在一起,形成一個(gè)完整的用戶信息。對(duì)于不同的應(yīng)用,可對(duì)實(shí)體屬性進(jìn)行相應(yīng)的增刪。比如說,如果該系統(tǒng)應(yīng)用于校園中,以學(xué)生為用戶,則其屬性可以添加學(xué)號(hào)、導(dǎo)師姓名等,其主鍵也可進(jìn)行靈活調(diào)整。
2.3? ?系統(tǒng)人臉識(shí)別的實(shí)現(xiàn)
圖像處理方法有很多,可根據(jù)需要,有選擇地使用相應(yīng)的方法。通常使用的方法有膚色提取。膚色提取是指對(duì)臉部區(qū)域的顏色提取。在確定臉部區(qū)域上,獲取則比較準(zhǔn)確,成功率達(dá)到95%以上,并且速度快,工作量小。由于圖像在不同環(huán)境中受到不同光線的影響,其亮度就變得或暗或亮。對(duì)圖像的亮度進(jìn)行調(diào)整,主要采取的措施是對(duì)圖像進(jìn)行光線的補(bǔ)償。
高斯平滑:在圖像的采集過程中,由于各種因素的影響,圖像中往往會(huì)出現(xiàn)一些不規(guī)則的隨機(jī)噪聲,如數(shù)據(jù)在傳輸、存儲(chǔ)時(shí)發(fā)生的數(shù)據(jù)丟失和損壞等,這些都會(huì)影響圖像的質(zhì)量,因此需要將圖片進(jìn)行平滑操作以此來消除噪聲。
對(duì)比度增強(qiáng):將所要處理的區(qū)域和周圍圖像區(qū)域進(jìn)一步拉開,使其對(duì)比度更加明顯,主要通過像素的聚集來實(shí)現(xiàn),如表2所示。
現(xiàn)在有很多人臉識(shí)別的技術(shù)可以使用,但筆者認(rèn)為還是離線端的SDK比較實(shí)用。推薦其效率比OpenCV要高,檢測(cè)速度很快,20 ms左右就可以檢測(cè)出來;獲取特征點(diǎn)(人臉比對(duì))的效率也很高,基本上在200 ms左右。
目前在筆者的應(yīng)用內(nèi)主要使用了 Face++ 的人臉檢測(cè)功能,本文和大家分享一下其集成過程和一些使用心得。Face++ 的集成過程非常簡(jiǎn)單,在官方文檔上有說明支持的系統(tǒng)為 5.0 及以上系統(tǒng),但其實(shí)在 4.4 系統(tǒng)上也可以運(yùn)行。Face++的優(yōu)勢(shì)除了多角度檢測(cè)之外,其每次檢測(cè)并不獨(dú)立,即這一次的檢測(cè)結(jié)果會(huì)指導(dǎo)下一次的檢測(cè),所以Face++在檢測(cè)到人臉之后,識(shí)別的時(shí)間會(huì)大幅減少。而 Seeta FD 的檢測(cè)每次都是獨(dú)立的,所以在無人臉的情況下,Seeta 的檢測(cè)速度要快于Face++, 但是檢測(cè)到人臉之后,因?yàn)閼?yīng)用整體的計(jì)算量增加,導(dǎo)致 Seeta 的檢測(cè)速度降低的非常明顯,大大慢于Face++。
本系統(tǒng)采用Android開發(fā)平臺(tái)和人臉識(shí)別技術(shù)。Android系統(tǒng)具有以下特征:Android開放的平臺(tái)允許任何移動(dòng)終端廠商加入到Android聯(lián)盟中,Android技術(shù)不受運(yùn)營(yíng)商的制約,Android平臺(tái)提供給第三方十分廣泛、自由的環(huán)境。
2.4? ?系統(tǒng)特征
在此系統(tǒng)開發(fā)過程中,人臉識(shí)別技術(shù)較其他的技術(shù)比較具有以下特征:
(1)通過使用最大類間方差法(OTSU)自適應(yīng)調(diào)整閾值,使膚色分割更為精確,并僅對(duì)分割后的區(qū)域采用Adaboost算法進(jìn)行人臉檢測(cè)。這種自適應(yīng)膚色分割與Adaboost相結(jié)合的人臉檢測(cè)方法,更加細(xì)化了人臉預(yù)估位置,對(duì)Android平臺(tái)攝像頭采集過程中存在的光照、陰影等影響具有很好的抗干擾能力。
(2)對(duì)Shearlet變換得到多尺度多方向的人臉特征進(jìn)行編碼融合,并將融合后的尺度圖像進(jìn)行分塊加權(quán)級(jí)聯(lián),可以顯著提高人臉識(shí)別效果。
(3)Shearlet自適應(yīng)加權(quán)融合特征的稀疏表征人臉識(shí)別算法利用加權(quán)融合的Shearlet特征構(gòu)造字典,對(duì)光照、表情、姿態(tài)以及局部形變等影響擁有較好的改觀性。
4? ? ? 總? ? 結(jié)
目前,我國(guó)從事人臉識(shí)別行業(yè)的單位越來越多,如北京奧運(yùn)會(huì)實(shí)名制入場(chǎng)票證系統(tǒng)將人臉識(shí)別技術(shù)推向新的高度,為人臉識(shí)別技術(shù)的應(yīng)用打下了堅(jiān)實(shí)基礎(chǔ)。各大火車站、高鐵安檢區(qū)域人臉識(shí)別系統(tǒng)開始招標(biāo),如鄭州客運(yùn)中心站安檢區(qū)域已安裝使用身份識(shí)別的高科技人臉識(shí)別安檢系統(tǒng)。人臉識(shí)別相關(guān)的研究已經(jīng)取得很大的進(jìn)展。
主要參考文獻(xiàn)
[1]王成浩,李鑫宇,李麗娟.Android開發(fā)技術(shù)的學(xué)習(xí)及應(yīng)用研究[J].信息與電腦:理論版,2019(3):89-90.