潘虹 曹曉紅 程盼 黨小娟

摘要: 人臉識別是一種生物特征識別技術,它的原理是:通過將已經存儲的人臉圖像與人的面部特點和表情的分析比較,達到自動識別的目的。本文設計的基于人臉識別技術的考勤系統具有以下優點:(1)防止冒名考勤的行為;(2)縮短考勤驗證時間,節省時間;(3)認證身份的準確性高。
關鍵詞: 人臉識別,Android系統,PCA算法
中圖分類號: G647.3;TP391.41??? 文獻標識碼: A??? 文章編號: 1672-9129(2018)09-0124-02
Absrtact:? face recognition is a biometric recognition technique. Its principle is: automatic recognition can be achieved by comparing the stored face image with human facial features and expressions. The attendance system based on face recognition has the following advantages: (1) preventing the behavior of false attendance; (2) shortening the time of attendance verification and saving time; (3) high accuracy of authentication identity.
Key words:? face recognition Android system PCA algorithm
1? 緒論
隨著時代的發展,智能手機也迅速發展起來,Android 操作系統成為最受歡迎的系統之一,在移動環境下進行人臉識別技術的研究也成為新的研究方向。人臉識別具有非侵犯性好、安全性高、應用環境廣泛等特性,在身份認證方面具有獨特的優勢[1]。
對人臉進行識別,要經過人臉檢測、人臉圖像特征提取和身份判定等這幾個關鍵過程[2],本文主要對相關算法進行了研究和優化,并設計實現了基于人臉識別技術的考勤系統。
主要工作如下:
(1)對經典的人臉檢測算法進行探討和研究,總結了這些算法的缺點和優點。
(2)對PCA算法進行分析,并優化了PCA算法的計算過程,使得復雜度減少,提高了人臉識別速度。
(3)在安卓平臺上對基于人臉識別技術的考勤系統進行設計和實現。
2? 算法研究
本文對PCA算法進行分析,并對該算法進行改進和優化。人臉識別要經過特征提取和匹配兩個過程。
2.1 特征提取的方法。人臉識別技術中最重要的一步就是特征提取,圖像中包含了很多信息,但是有些信息是多余的,因此用特征提取方法來對圖像進行降維是很有必要。
特征提取的方法包括:基于幾何特征的提取方法、模板匹配的提取方法、基于統計特征的人臉識別算法、基于隱馬爾可夫(HMM)的方法、基于神經網絡的人臉識別算法等方法,這些算法各有自己的優點和缺點[3]。接下來介紹本文所采用的算法。
2.2 算法研究。本文所采用的算法是應用較為廣泛的人臉識別算法 PCA方法,它具有特征提取和降維優勢。PCA經常用于減少輸入圖像的維數,同時保留輸入圖像中最有用的特征。
(1) K-L變換。在人臉識別中最需要處理的問題就是如何降維,K-L 變換就是一種應用較為廣泛的消除人臉特征之間的相關性的人臉識別方法。
協方差矩陣公式如下:
設 n 維矩陣 x,則 x 的均值為
a= 1 n ∑ n i-1 Xi??????? (2.1)
每個量和均值的差
φi=Xi-a???????? ?(2.2)
則協方差矩陣為
C =? 1 n ∑ n i - 1 iiT?????????? (2.3)
(2) 最近鄰分類。最近鄰法分類器是一種比較輸入數據和模板數據在空間中距離的分類方法。計算公式如下:
設 x,y 是 n 維空間中的兩個點,則歐式距離:
d(x,y) = ||x-y|| = [∑ n i-1 (xi -yi )2 ] 1 2?????? (2.4)
3? 開發技術
3.1 開發技術簡介。在移動終端上進行人臉識別技術的研究具有重要的意義,這項技術能夠應用于很多領域,例如考勤系統、門禁系統、隱私保護等。本文設計的考勤系統所采用的技術是Android開發工具,本章將對Android開發工具進行詳細介紹。
Android 是一種基于 Linux 內核的操作系統,它是一個源碼開放的平臺,使得開發者能夠免費使用資源,容易學習,操作起來方便簡單。
3.2 開發環境搭建。
(1)JDK。首先下載JDK軟件并安裝,JDK是 Java 開發的基礎環境和核心部分。安裝好JDK之后,需要進行環境變量配置:PATH、CLASSPATH、JAVAHOM。
(2)Eclipse和ADT。Eclipse軟件是開發Android的工具,它是一款免安裝的軟件,打開軟件時需要設置Workspace的路徑,最后將ADT進行安裝[6]。
(3)SDK。在 Android 開發中,SDK為開發者提供了重要的庫文件和其它開發工具。可以在網上下載SDK的壓縮包,它是一款免安裝的軟件,解壓縮即可。最后需要配置環境變量。
(4)OpenCV。OpenCV提供了豐富視覺處理算法。
4? 系統實現
本文實現了基于人臉識別技術的考勤系統,該系統主要用于對員工進行考勤。首先,利用攝像頭對員工進行圖像采集,形成人臉庫;然后員工進行考勤時,采用基于 PCA特征提取算法提取人臉的特征向量。然后進行身份匹配。最后輸出人臉識別結果。
5? 總結
隨著信息時代的發展,Android系統的大力發展,基于安卓平臺對人臉識別技術進行研究非常熱門,本文通過對典型的人臉識別技術進行研究,總結出其優點和缺點。并對PCA算法進行改進和優化,最終在Android平臺上實現了基于人臉識別技術的考勤系統,該系統有以下優點:(1)防止冒名考勤的行為;(2)縮短考勤驗證時間,節省時間;(3)認證身份的準確性高。
參考文獻:
[1]侯夢華. 基于機器視覺的實時目標檢測系統研究[D]. 廣州:廣東工業大學, 2008.
[2]靳薇. 面向身份認證的人臉識別及應用[D]. 西安:西安電子科技大學, 2011.
[3]唐赫. 基于 PCA 和神經網絡的人臉識別算法研究[J]. 軟件導刊, 2013, 06: 33-34.