基于Android平臺的人臉識別系統(tǒng)設計與實現_第1頁
基于Android平臺的人臉識別系統(tǒng)設計與實現_第2頁
基于Android平臺的人臉識別系統(tǒng)設計與實現_第3頁
基于Android平臺的人臉識別系統(tǒng)設計與實現_第4頁
基于Android平臺的人臉識別系統(tǒng)設計與實現_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、    基于android平臺的人臉識別系統(tǒng)設計與實現    劉亮摘 要 人臉識別是公共安全領域的研究重點。本文首先通過分析比較,采用基于adaboost的算法檢測人臉,基于ldp的特征臉算法實現特征提取和特征識別。然后選擇opencv計算機視覺庫來實現人臉檢測和人臉識別。最后,通過jni調用本地opencv代碼實現android平臺的人臉識別系統(tǒng)?!娟P鍵詞】android平臺 人臉檢測 人臉識別系統(tǒng)1 引言近年來,信息安全越來越受到人們關注,身份驗證和識別技術成為眾人矚目的焦點,生物特征識別技術和人工智能技術不斷更新發(fā)展,其中,人臉識別技術因具有并發(fā)性

2、、非接觸性、非強制性、操作簡單等特點,被越來越廣泛地運用到各個領域中。android系統(tǒng)是目前移動設備的主流操作系統(tǒng)之一,在移動操作系統(tǒng)市場份額中占據了主導地位。隨著人們在移動領域信息安全意識的提高,在移動平臺上進行人臉識別具有廣闊的發(fā)展前景,同時也面臨諸多挑戰(zhàn)。本文結合android移動終端的特點,研究基于android的人臉識別系統(tǒng)的實現,更好地滿足移動領域信息安全方面的市場需求。2 人臉識別原理人臉識別技術是一種基于生理特征的識別技術,通過計算機提取人臉特征,并根據這些特征進行身份驗證的一種技術。廣義的人臉識別過程包括人臉圖像采集及預處理、人臉檢測與特征提取和人臉的對比與識別三大部分,其

3、原理如圖1所示。人臉檢測的算法有很多種,典型的有特征抽取算法、人臉小波檢測、基于模板匹配、神經網絡、支持向量機方法、adaboost算法等。本文選擇adaboost算法實現人臉檢測。人臉識別技術包括特征提取和特征識別,實現方法可概括為3類:基于幾何特征方法(歐式距離判別法)、基于模板方法(特征臉方法、神經網絡方法等)和基于模型方法(隱馬爾科夫方法)。本文選擇基于ldp的特征臉算法實現人臉特征提取與特征識別。3 人臉識別算法3.1 圖像預處理現實生活應用人臉檢測與識別系統(tǒng)時,人臉的圖像是在各種隨機的場景下由攝像頭或照相機拍攝的,因此受到光照變化、背景色彩、設備質量以及人臉姿態(tài)等因素的影響,需要對

4、其進行預處理,主要包括光照補償、濾波去噪處理和幾何歸一化的處理,經過這些處理,后期操作中將得到較好的識別效果。首先定位人眼。為了提高定位效率,先確定人眼在人臉圖像中的大概位置,然后基于這個大致的范圍,采用灰度積分投影和灰度差分積分投影相結合的方法精確定位人眼:m(y)=kphori(y)- dhori(y)其中,k為系數,k phori(y)為灰度積分投影,dhori(y)為灰度差分積分投影。其次是臉部圖像的幾何變換和剪裁,根據所檢測到的人眼位置,通過圖像旋轉、剪裁、縮放等手段,使得臉部圖像中人眼是對齊的且不包含背景、額頭、耳朵和下巴,并將處理后的臉部圖像縮放到70×70固定大小。再

5、次是分離直方圖均衡,這個過程能夠使得每一個臉部圖像都具有相同的對比度以及亮度。最后是圖像平滑,圖像平滑能夠有效地減少圖像的噪聲。3.2 人臉檢測自適應增強(adaptive boosting,adaboost)是一種需要監(jiān)督的機器學習算法。特征選取和特征計算決定了adaboost算法的運行速度。viola等人提出了基于haar特征的adaboost人臉檢測算法。本文使用haar 特征進行特征提取。基于特征的檢測能對選定區(qū)域的狀態(tài)進行編碼。矩形特征是對輸入圖像使用矩形進行提取特征。haar特征是一些由黑白矩形組成的特征,臉部的一些特性可以用矩形特征簡單地描述,矩形特征值是兩個不同的矩形區(qū)域像素和

6、之差。如果圖像特征表示眼睛的顏色比臉頰上端的顏色深??梢杂锰卣髦祦砭幋a特征,特征值定義為:v=sum黑-sum白其中,sum黑、sum白分別表示黑色和白色矩形覆蓋區(qū)域的像素和。使用viola等人提出的積分圖像的概念,可加快矩形特征的計算速度。進而計算出haar特征的特征值,定義積分圖中位置(x,y)處的值為待測圖像位置(x,y)處的上方和左側所有像素之和。s(x,y)=s(x,y?1)+i(x,y)c(x,y)=c(x?1,y)+s(x,y)其中,c(x,y)為積分圖在(x,y)點處的值,i(x,y)為原圖像素點(x,y)處的灰度值,s(x,y)表示一行灰度值的累加和。初始時s(x,-1)=0

7、,c(-1,y)=0。弱分類器對正負樣本分類的準確率應大于 1/2,這樣訓練算法最終收斂。一個弱分類器 h(x,f,p,):其中 1 表示人臉,0 表示非人臉。計算在每個特征f下的所有樣本特征值,并進行排序。然后掃描一遍排好序的特征值,從而確定特征f的一個最后閾值,最終訓練成一個弱分類器。所有迭代得到的弱分類器,并按照定的權值疊加起來,得到一個強分類器。將多個強分類器連接起來,得到adaboost級聯(lián)分類器。如圖2所示。3.3 人臉特征的提取局部二值模式lbp(local binary patterns)是一種從局部紋理定義中衍生出來的算法,所謂的紋理是圖像分析中常用的鑒別特征,它所含有的信息

8、能夠表征物體表面的變化。由于其優(yōu)秀的分類特性和計算的簡便性,使得其廣泛的運用于圖像檢索、人臉分析和工業(yè)檢測等領域。ojala等人提出的lbp算子的模板大小被定義為3x3,以此模板依次掃描圖像中的像素點,將該模板的中心點位置的灰度值與周圍位置的8個灰度值相比較,若鄰域位置的灰度值大于中心位置的灰度值則該鄰域位置標記為l,相反標記為0;將這中心像素點周圍的8個像素點順時針依次連接組成8位二進制數;將該二進制數轉換為十進制數,替代中心像素點位置的像素值。 gc代表中心像素位置的灰度值大小,p為該中心位置周圍鄰域像素點的個數,gi(i=o,l,.,p-1)是周圍第i個像素位置的灰度值。則以(xc,yc

9、)為中心位置的一個局部鄰域的紋理特征可以表示為:ldp算法結合了lbp的優(yōu)點,在其基礎上考慮到特征的方向性,能更有效和更為魯棒的描述人臉。與lbp碼相類似,我們需要對得到的卷積結果進行二值化處理,需要選定一個閾值。這里我們對返回的卷積結果的絕對值b0,b1,b2,b3,b4,b5,b6,b7從大到小進行排序,取其中第k個大小的值為閾值,大于該閾值的賦值為1,相反為0。ldp算子對于存在噪聲和非均勻的光照變化的圖像具有更好的魯棒性。4 android平臺人臉識別系統(tǒng)設計4.1 android jni技術本文所研究的人臉識別算法是由c語言實現,并且調用了opencv庫,這樣相對于使用java語言實

10、現有較高的執(zhí)行效率。android系統(tǒng)應用層采用的java語言,但android系統(tǒng)中也提供了jni接口使得在android程序中能方便的調用c語言或其他語言。jni位于本地庫與java框架層之間,其結構如圖3所示。4.2 系統(tǒng)功能模塊android平臺上的人臉檢測與識別系統(tǒng)主要由圖像采集模塊、人臉圖像預處理模塊、人臉檢測模塊、人臉注冊模塊和人臉識別模塊等共五個模塊組成。圖像采集模塊:利用android平臺攝像頭進行圖像采集,調用opencv庫,實現調用攝像頭、對拍攝的物體進行自動對焦、連續(xù)拍照等功能,快速獲取圖像幀的信息。人臉圖像預處理模塊:對采集到的圖像幀進行光照補償、濾波去噪處理和幾何歸

11、一化的處理等處理。人臉檢測模塊:經預處理的圖像采用adaboost人臉檢測方法獲取人臉,并對裁剪出的人臉圖像進行標記。人臉注冊模塊:經過訓練后可以輸入姓名,然后可連續(xù)錄制十張照片,并按照人臉檢測中的步驟提取出10張人臉照片保存到sd卡中,將人臉姓名和編號按順序寫入facen.txt文件中。人臉識別模塊:根據測試者人臉圖像計算人臉ldp特征,得到識別結果。如果測試者的人臉特征在我們設置的閾值的內則,輸出識別人臉的姓名,否則提示人臉庫中無此人,請擺正人臉配合識別。本文設計并實現了基于android的人臉識別系統(tǒng)。針對android平臺的硬件能力有限的特點,開發(fā)了一種適用于android平臺的系統(tǒng)資

12、源消耗較少的人臉識別系統(tǒng)。系統(tǒng)開發(fā)過程中主要使用了adaboost人臉檢測算法和基于ldp特征臉的人臉識別算法,采用opencv視覺開源庫在android平臺上加以實現,目前該入臉識別系統(tǒng)已經達到較高的識別水平,具有很好的實用性和應用前景。參考文獻1陳會安,李強.java和android開發(fā)實戰(zhàn)詳解m.北京:人民郵電出版社,2014.2hughes a.android mobile security:a comprehensive evaluationof its feats and flawsd.utica coi.i.ege,2015.3趙麗紅,劉紀紅.人臉檢測方法綜述j.計算機應用研究,2004,21(09):l-4.4張恒喜,史爭軍.基于sqljte的android數據庫編程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論