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