傅緯球
廣東天波信息技術股份有限公司
基于Android系統智能終端在人臉識別上的應用開發探討
傅緯球
廣東天波信息技術股份有限公司
隨著對信息安全的重視,人臉識別技術被廣泛的應用于各種領域。基于Android系統智能終端在人臉識別上的應用開發具有非常廣闊的發展遠景,同時將面臨著巨大的挑戰,本文結合Android系統智能終端的特點,從基于Android系統智能終端在人臉識別上的應用開發的難點入手,并對應用開發的關鍵技術進行闡述,最后介紹了實現Android系統智能終端人臉識別應用的功能模塊。
Android系統;智能終端;人臉識別;應用開發
隨著現代社會發展Android系統智能終端得到了極大范圍的普及,各種信息鋪天蓋地充斥于網絡中,這就要求對信息安全加以保護,如何使身份驗證和識別技術更加便捷和安全成為新時期信息安全研究的重點,這樣生物特征識別技術和人工智能技術孕育而生,這其中人臉識別技術因具有并發性、非接觸性、非強制性、操作簡單等特點,獨樹一幟被廣泛的應用于各種領域。Android系統是當前智能終端設備的主流操作系統之一,它伴隨著智能終端設備的普及也逐漸在智能網絡中占據主導地位,基于Android系統智能終端在人臉識別上的應用開發具有非常廣闊的發展遠景,同時將面臨著巨大的挑戰,本文將結合基于Android系統智能終端的特點,在現有技術基礎上,實現對人臉識別的速度化、準確化、便攜化等處理的智能終端設備。
由于基于Android系統智能終端在人臉識別上的應用是對人臉特征數據的處理,而這種識別技術又受制于目前研究水平,如基于LBP特征的人臉檢測技術和基于Fisher特征的人臉識別技術,同時在人臉檢測的處理上又存在著多種算法的困擾,如有特征抽取算法、人臉小波檢測、基于模板匹配、神經網絡、支持向量機方法、Adaboost算法等,所以在基于Android系統智能終端在人臉識別上的應用開發中一定要注意開發的應用各種算法的選取。
智能終端在人臉識別上的應用開是基于Android系統的,但是由于Android系統是基于移動設備上的,它在軟件開發上與傳統的PC設備開發不同,同時介于智能終端在數據處理上其運算速度和內部存儲也無法與PC設備比擬,另一方面數據在傳輸方式上也存在著多種選擇,因此在開發基于Android系統智能終端在人臉識別上的應用時,需要注意如下幾個關鍵點。
2.1 Android系統智能終端人臉識別應用程序的特點
基于Android系統智能終端在人臉識別上的應用,在軟件使用中要每個應用都建立一個獨立的進程,而且每個進程都運行于一個Dalvik虛擬機中,并通過其內部設置的權限來控制對應用的使用權限。
2.2 Android系統智能終端人臉識別應用開發框架技術
Android系統智能終端人臉識別應用在開發過程中,如果選擇一種合適的開發框架將會對開發起到事半功倍的效果。目前,國內外相關的Android系統智能終端應用軟件的開發框架有很多,這其中包括Afinal、xUtils、ThinkAndroid、LoonAndroid、KJFrameFo?rAndroid。
2.3 Android系統智能終端人臉識別應用開發中語言的選擇
在目前的人臉識別算法多數是基于C語言完成的,而且在這種算法中往往會調用Opencv庫,這樣在算法上有較高的執行效率但這與Android系統的開發語言不同,為實現兩者之間的相互調用,必須使用JNI接口。Android系統應用層采用的Java語言,An?droid系統中提供的JNI接口使得在Android程序中能方便的調用C語言或其他語言。
2.4 Android系統智能終端人臉識別應用數據存儲技術
由于人臉識別應用中識別過程離不開對原始人臉特征數據庫的調用和存儲,基于Android系統智能終端的數據存儲方式有兩種,它們分別是:本地數據庫、網絡數據庫。而網絡端的云存儲越來越成為主流。
2.5 Android系統智能終端人臉識別應用數據計算方式
在人臉識別應用中識別過程在實現采集人臉特征數據與人臉特征數據庫的計算比對都離不開數據計算,Android系統智能終端的數據計算有兩種,它們分別是:智能終端設備本地中央處理器的計算、基于網絡的云計算。由于智能終端人臉識別應用本地計算是嵌入于Android系統平臺的,其計算能力相對有限,而基于網絡的云計算可以利用網絡中的大型計算機的超級運算速度或是采用全網絡接近于無限分布計算的并行計算能力,其兩者運算能力有著天壤之別,目前網絡的云計算有逐步取代智能終端設備本地計算的趨勢。
2.6 Android系統智能終端人臉識別應用數據的傳輸
Android系統智能終端人臉識別應用中的數據傳輸應該采用實時傳輸方式,在Android系統中基于無線網絡的傳輸方式可以極大的提高智能終端人臉識別應用的使用范圍,在無線傳輸方式中也正經歷著由4G逐漸向5G的轉變過程,目前雖然5G技術標準尚未確立,但其應用空間將非常廣闊,因此在開發此類應用中必須為這種方向預留一定的發展余地。
基于Android系統智能終端人臉識別應用,其主要由圖像采集模塊、人臉圖像預處理模塊、人臉檢測模塊和人臉識別模塊等共四個模塊組成。
3.1 圖像采集模塊
圖像采集模塊主要是利用Android系統智能終端攝像頭進行圖像采集,通過Android系統中JNI接口調用Opencv庫,實現調用攝像頭、對拍攝的物體進行自動對焦、連續拍照等功能,快速獲取圖像幀的信息。
3.2 人臉圖像預處理模塊
人臉圖像預處理模塊是對采集到的圖像幀進行處理,處理后把圖像的外界影響因素盡量降低,如光照,角度等,主要涉及的操作有幾何變換、剪裁;直方圖均衡;使用雙邊濾波器減少噪聲;去掉一些剩余頭發和人臉圖像背景。
3.3 人臉檢測模塊
人臉檢測模塊就是經預處理的圖像選定正負樣本,提取其LBP特征,并用直方圖表示,并利用Adaboost人臉檢測方法循環多次進行人臉分類判斷,人臉檢測檢測器通過大量的人臉和非人臉圖片進行訓練,存在XML文件中。在得到每個像素的LBP編碼描述后,采用統計直方圖方法可得到圖像的LBP直方圖描述。
3.4 人臉識別模塊
人臉識別模塊是根據測試者人臉圖像計算人臉LBP特征,得到識別結果。如果測試者的人臉特征在我們設置的閾值的內,則輸出識別人臉的姓名,否則提示人臉庫中無此人,請擺正人臉配合識別。
本文中基于Android系統智能終端人臉識別應用應該是了結合當前流行的技術標準,也就是應該建立在基于Android系統平臺的4G實時云計算的系統中,針對Android系統智能終端的硬件能力有限的特點,開發中利用Android平臺的4G傳輸方式實時將人臉圖像預處理模塊得到的數據上傳,利用網絡資源建立強大的云計算功能完成Adaboost人臉檢測算法和基于LDP特征臉的人臉識別算法,并將OpenCV視覺開源庫存儲云大數據中心,在Android系統智能終端直接顯示運行結果。同時,Android系統平臺所具有的開放性與便捷性特點,在充分結合人臉識別系統之后,提升了信息的安全等級,具有廣闊的發展前景。
[1]王娜.基于手機平臺的人臉檢測系統的研究[J].電視技術,2014,36(11)114-117
[2]吳迪.智能環境下基于視聽信息多層級融合的身份識別[D].蘭州:蘭州理工大學,2014.
[3]蔡芷鈴,林柏鋼,姜青山.基于人臉識別技術的Android平臺隱私保護系統設計[J].信息網絡安全,2014(9):50-53.
[4]楊文璐,郭明.基于Kinect的實時人臉識別系統[J].計算機應用與軟件,2014,31(5):64-67,214.
[5]周勇,張嘉林,王桂珍,等.Android平臺下人臉識別系統的研究與實現[J].南京工程學院學報(自然科學版),2013(1):53-57.