祝江土
(浙江九陽光電有限公司,浙江衢州,324100)
通過人臉識別技術限制重復投票的電子投票系統的設計
祝江土
(浙江九陽光電有限公司,浙江衢州,324100)
將人臉識別技術應用于電子投票系統中,限制重復投票行為。首先分析了該電子投票系統的結構,給出了人臉識別技術在限制重復投票行為中的應用場景。針對電子投票系統對人臉識別算法的需求以及投票人圖像采集背景簡單和光照變化較小的特點,分析了適用于本系統的基于AdaBoost的人臉檢測方法以及基于特征臉的人臉識別方法,給出了通過OpenCV實現的基于人臉識別方法的身份認證子系統的設計流程,并介紹了基本投票子系統各模塊的功能。最后對身份認證子系統的性能進行了分析。
電子投票系統;人臉識別;人臉檢測;重復投票; 身份認證
傳統的投票系統通過發放紙質的選票的方式進行,通過人工方式對投票結果進行統計。這種方式費時費力,統計出錯的概率較大。
隨著計算機技術和電子技術的發展,自動的電子投票系統可以克服人工投票系統的弊端,由電子投票機代替傳統的投票箱,投票過程和投票結果統計完全由電子設備自動完成。但是,如何避免同一投票人多次重復投票成為該系統投票統計結果可信度的關鍵因素。
為了提高自動系統投票統計結果的可信度,限制同一投票人多次重復投票,需要對投票人的身份進行判斷,例如可以通過刷卡、指紋等身份信息判定投票人是否為重復投票。在人體特征信息中,指紋、虹膜等信息是目前已知的具有唯一性的人體特征,但提取這種人體特征需要投票人在投票前主動驗證身份,比如指壓指紋采集儀,并且人的十只手指指紋不盡相同,不同的手指可能輸出不同的識別結果,因此無法避免同一個人重復投票。而虹膜雖然是可靠性較高的生物識別技術,但是要求投票者的眼睛對準虹膜圖像采集儀,給投票操作帶來諸多不便。
人體的面部特征的唯一性雖然不及指紋和虹膜,但從統計角度看,其重復率也較低,因此在中小規模的投票活動中可以作為身份識別的依據。本文所設計的電子投票系統即通過人臉識別技術限制重復投票行為,增加投票結果的可信度。安裝在電子投票機前的攝像頭采集投票人的圖像信息,提取投票人的人臉圖像,與已完成投票的投票人的人臉圖像比對,以此判斷當前投票人是否為首次投票。通過人臉圖像限制重復投票的方式,投票人無需額外操作,滿足了系統無操作要求的特點。
1.1 系統結構
本文所設計基于人臉識別技術的投票系統在傳統的電子投票系統之上增加了身份判別環節,用于判斷當前投票人是否為重復投票,若為重復投票,則屏蔽該投票人的投票操作。因此,該系統包含身份認證子系統和基本投票子系統兩部分,如圖1所示。
投票操作的流程包括了身份認證和基本投票操作兩個階段。身份認證階段對當前投票人的是否為首次合法投票進行認證,通過人臉識別技術實現。安裝在電子投票機前的攝像頭采集當前投票人的圖像,身份認證子系統檢測并提取當前投票人的人臉圖像,通過人臉識別算法判斷所提取的人臉圖像是否存在于由已經完成投票的投票人的人臉圖像組成的人臉數據庫中,若存在,表明當前投票人為二次或多次投票,系統屏蔽基本投票操作;否則,為首次正常投票。系統的操作示意和實現流程分別如圖2、圖3所示。

圖1 系統實現框圖

圖2 系統操作示意圖

圖3 系統實現流程
1.2 系統需求
目前,人臉識別算法無法達到100%的準確性,最好的人臉識別系統也必須在一定的系統環境下達到最佳的識別效果。因此,本文將人臉識別技術應用在限制電子投票系統的重復投票中,亦是在一定的條件下,盡可能的限制重復投票行為的發生。
1)識別率:此系統不要求能夠識別待識別目標的具體身份,只要判斷待識別人臉是否在人臉數據庫中即可。此處將識別率定義為正確區分待識別人臉是否存在于人臉數據庫的比率。誤識主要包括兩個方面:將不在人臉數據庫中的待識別人臉誤判為存在于人臉數據庫,導致正常的首次投票無法完成;將存在于人臉數據庫中的待識別人臉誤判為不在人臉數據庫中,重復投票行為發生。出于對投票結果可信度的考慮,應盡可能避免第二種誤判的發生。
2)識別時間:電子投票系統要求對投票人身份判別的時間要求盡可能短,要求在數秒時間內對投票人是否為重復投票做出判斷,識別時間應控制在3s以下。
3)訓練集構造:訓練集由已經完成投票的投票人的人臉圖像構成,由于無法要求投票人主動配合采集不同表情、不同姿態的訓練樣本,為了盡可能提高訓練分類器的分類精度,系統設計時采用多攝像頭策略。由多個攝像頭采集不同角度的圖像,盡可能克服姿態對識別結果的影響。
基于人臉識別技術的去偽電子投票系統包括身份認證子系統和基本投票子系統兩大部分。身份認證子系統的功能是對投票人是否為首次合法投票進行認證,從而決定當前投票人是否有權投票,主要包括投票人圖像采集、人臉圖像檢測與提取以及身份判別三個部分組成。基本投票子系統部分提供管理員對投票過程的管理、結果統計與發布、投票操作人機界面等功能。
2.1 投票人圖像采集
當投票人準備投票時,攝像頭采集投票人的圖像,借助OpenCV工具可以方便從攝像頭的視頻數據流中捕獲投票人圖像數據。如前文所述,為了消除拍攝角度對識別精度的影響,系統采用了多攝像頭策略,在投票人的正前方、正前方左、右側分別安裝攝像頭,分別捕獲不同角度的人臉圖像,盡可能獲得正面人臉圖像,三攝像頭的安裝示意如圖2所示。
2.2 人臉圖像檢測與提取
人臉識別的前提是從采集的投票人圖像數據中檢測人臉的位置并提取人臉圖像數據。人臉檢測算法主要有:基于知識的方法、模板匹配方法和基于統計的方法等?;谥R的人臉檢測方法通過對人臉的先驗知識得到的人臉判決規則實現對圖像中人臉的檢測,如,Yang 和 Huang 在[1]中提出的基于知識的分層人臉檢測方法?;谀0迤ヅ涞姆椒ㄖ?,預先得到了描述人臉特征的的標準模板,通過計算待檢測圖像與標準模板的相關性實現人臉的檢測,如靜態模板法[2-3]和彈性模板法[4-5]?;诮y計的人臉檢測方法則是首先通過大量“人臉”和“非人臉”樣本訓練分類器,訓練好的分類器對待檢測圖像所有可能位置進行“人臉”和“非人臉”的分類,從而實現人臉的檢測,如,特征子空間法、人工神經網絡、支持向量機等。
在該自動投票系統中,所采集的投票人圖像的背景相對簡單,光照條件較好,但要求人臉檢測具有較高的實時性。Viola and Jones 提出的基于簡單矩形特征和AdaBoost的人臉檢測系統檢測準正面人臉的速度達到了每秒15幀以上[6],可以滿足系統實時性要求,本系統將采用此算法實現人臉的檢測。
AdaBoost人臉檢測方法是一種基于積分圖、級聯檢測器和AdaBoost算法的方法,其基本思想是將大量分類能力一般的弱分類器通過一定方法組合起來,構成一個分類能力很強的強分類器,再將若干個強分類器級聯成分級分類器,完成圖像的搜索。通過級聯強分類器進行人臉檢測過程如圖4所示。
2.3 身份判別
身份判別的作用是根據提取的人臉圖像搜索人臉數據庫,根據人臉識別算法判斷當前人臉圖像是否存在于人臉數據庫中,若存在表明為重復投票,若不存在表明為首次投票,判斷過程通過人臉識別技術實現。
基于特征臉(Eigenface)[7]的人臉識別方法由M.Turk和A.Pentland提出,直到現在仍然是最流行的人臉識別算法之一,已經成為事實上的基準測試算法,但其性能容易受到光照和面部姿態變化的影響。Belhumeur等在PCA(principle components analysis )的基礎上,采用線性判別分析(LDA, linear discriminant analysis)的方法對人臉進行識別,提出的Fisherface方法[8]同樣也是目前主流的人臉識別方法之一。基于Gabor小波變換和彈性圖匹配的人臉識別方法較好地利用了人臉的結構信息和局部灰度分布信息,具有良好的識別效果,其缺點是時間復雜度高,實現復雜。基于局部特征分析的方法也

圖4 級聯強分類器實現人臉檢測
基于AdaBoost的人臉檢測算法獲得了很高的實時性,但訓練過程相對復雜,OpenCV提供的函數和分類器為人臉檢測提供了方便,人臉檢測過程包含以下三個步驟:加載分類器、加載待檢測圖像以及檢測。
1)加載分類器,OpenCV提供的“haarcascade_frontalface_ alt.xml”文件是使用自舉分類器的級聯對“人臉”前臉特征進行學習訓練所得到的分類器的參數,通過cvLoad函數載入該文件。
2)加載待檢測圖像,通過cvLoadImage函數分別加載當前投票人的三個不同角度的圖像。
3)檢測,cvHaarDetectObjects函數使用針對某目標物體訓練的級聯分類器在圖像中找到包含目標物體的矩形區域,并將這些區域作為一系列的矩形框返回。
檢測到圖像中的人臉位置之后,提取人臉數據,歸一化為統一大小的人臉圖像,供下一步身份判別使用。是一種重要的識別方法,但該方法已商業化為著名的FaceIt系統,其技術實現細節沒有公開。此外,隱馬爾可夫模型[8](HMM,Hidden Markov Model)、奇異值分解[9](SVD, Singular Value Decomposition)、獨立元分析(ICA, Independent Component Analysis)等方法也在人臉識別中得到了應用。
該電子投票系統對人臉識別算法的需求同樣需要較低的時間開銷,本系統擬采用基于特征臉的方法,盡管其受光照和人臉姿態影響較大,但如上文所述訓練集中的人臉圖像由已經完成投票的投票人組成,這些圖像和待識別的投票人的人臉圖像采集時的光照條件基本一致,并且如[10]所述“同一個人臉由于光照和視角不同得到的人臉圖像間的差異要比不同人臉圖像間的差異大”, 因此,在一致的光照條件下,特征臉法的性能可以滿足系統需求。
基于特征臉的人臉識別方法也稱為基于PCA的人臉識別方法,其核心思想是構造一個使不同人臉圖像之間差異最大化的本征空間,然后將人臉圖像投影到這個本征空間中并進行識別。特征臉方法的基本思想簡述如下,詳細介紹參見[7]。
假設M幅大小為N×N像素的人臉圖像作為學習樣本,將每幅圖像看作長度為N2的列向量,記為x1,x2,...,xM,M幅人臉圖像的平均值向量μ表示為:

μ代表了M幅人臉的平均臉,每個人臉圖像與平均臉的差值用向量Фj表示。

定義M個訓練樣本的協方差矩陣為:

Sw是一個N2×N2的矩陣,直接計算其特征值和特征向量的計算量較大,為了降低計算量,構造一個低維M×M的矩陣L=XTX,

設λi和vi分別為矩陣L的特征值及其對應的特征向量,則Sw的特征向量為:

由式(5)得到的特征向量ui被稱為特征臉,構成了人臉空間的一個子空間的正交基,該人臉圖像集中的每個人臉均可精確表示為特征臉的線性組合,這些特征臉形成了一個低維子空間,稱為“人臉子空間”,每張人臉圖像在該低維子空間上的投影即作為識別特征。
訓練集中的每一個人臉圖像通過(6)所示的簡單運算投射到“人臉子空間”,

特征值越大,與之對應的特征向量對表示人臉圖像的影響也越大,因此,m(m<M)個最大特征值對應的特征向量來表征人臉就足以用于人臉識別。
假設式(6)中特征向量ui對應的特征值按遞減的順序排列,則前m個特征向量代表了特征值最大的m個特征向量。m 個權值wi(i=1,2,…,m)構成了權值向量WT=[wi,w2,…wm]。權值矢量即用作人臉識別,識別過程包括以下步驟:
1) 獲得M個人臉圖像訓練樣本;
2) 計算矩陣L,得到其特征值和特征向量,選擇m個最大特征值對應的特征向量;
3) 根據(5)計算得到m個特征臉ui;
4)對于訓練集中每個已知個體的人臉圖像,根據(6)計算各自的權矢量Wk,定義到訓練集中已知個體的最大允許距離門限θε;
5) 對于待識別的人臉圖像,計算它的權矢量W以及到訓練集中每個已知個體的歐氏距離εk;
如果最小距離εi<θε,待識別的人臉識別為對應的個體;反之,如果最小距離εi>θε,表明待識別人臉不在訓練集中。

在特征臉方法的基礎之上,在本系統中,不需要識別投票人的具體身份,只要判斷當前投票人是否存在于訓練樣本中。因此,設計時,設定判決門限vθ,當待識別人臉圖像在“人臉子空間”上投影與訓練集在“人臉子空間”上投影的最小距離小于vθ時,表明待識別人臉存在于訓練樣本中,即當前投票人為重復投票,否則,當前投票人為首次投票,并將當前投票人的人臉圖像加入到訓練樣本中。
為了盡可能減小人臉姿態對識別結果的影響,系統采用了多攝像頭策略,圖2中的三個攝像頭分別采集不同角度的投票人的圖像。在上述5)中計算歐氏距離時,分別計算三個攝像頭所采集的人臉圖像到到訓練集中每個已知個體的歐氏距離,kiε (i = 1, 2,3),取三者的最小值εk=min{εk,1,εk,2,εk,3}。計算待識別人臉到訓練集中所有樣本的距離εk,取最小距離εmin=min{εk}。如果εmin<θv,判決當前投票人為重復投票,反之為首次投票,將人臉圖像加入到訓練集中,并開啟基本投票操作功能。身邊判別流程如圖5所示。

圖5 基于特征臉法的身份判別流程
2.4 基本投票子系統設計
系統根據身份認證的結果決定是否開啟投票操作,若當前投票人認證為首次投票,則開啟投票操作,由當前投票人完成投票操作。基本投票子系統的設計過程與一般軟件設計過程類似,此處不詳細介紹設計過程,僅對基本功能簡單介紹。
基本投票子系統實現了投票操作的人機接口,主要功能模塊包括:管理員模塊和用戶投票操作模塊。
管理員實現對投票過程的管理,包括:候選人信息的編輯、增加、刪除,設置投票規則,如設置每一個投票人最大投票數,投票結果統計,投票結果發布等。
用戶投票操作模塊實現了投票人與電子投票系統的人機接口,提供候選人的基本信息,記錄投票人的投票操作,檢查當前投票人的投票結果是否有效,例如:檢查是否多選等,生成當前投票人的投票結果,根據當前投票人的投票結果更新候選人的得票數等。
身份認證子系統身份判別時間是本系統考慮的主要性能指標之一,身份判別時間主要包括人臉檢測時間和人臉識別時間。采用了實時性較強的AdaBoost人臉檢測算法,對于一幅640x480的圖像,在處理機型號為2.66 GHz Pentium D系統中,人臉檢測時間為475ms左右。
人臉識別時間主要包括兩部分的消耗:訓練時間和識別時間?;谔卣髂樂椒ǖ娜四樧R別需要計算訓練集人臉圖像的特征值和特征向量,以及用于識別的權向量,當訓練集中人臉數目增多時,特征值和特征向量的計算將占用較多時間,實驗中,當訓練集中的人臉圖像增加到300幅時,每幅人臉圖像大小為110x90像素,訓練時間為18.85s左右。
由于識別時,只要計算待識別人臉圖像到訓練集中人臉圖像在“人臉子空間”中的歐氏距離,用時相對較少,訓練集中的人臉圖像為300幅時,識別時間約為 32ms。
可以發現,包含300幅人臉圖像的訓練集在身份認證階段所消耗的時間約為19.4s。顯然19.4s的認證時間用于投票操作前的身份判斷是不能接受的。然而,根據該投票系統的特點可以發現,用于判斷當前投票人是否是首次投票的訓練集由已經完成投票的投票人的人臉圖像構成,而與當前投票人的人臉圖像無關,因此,耗時較多的訓練過程可以在上一個投票人的投票過程中由后臺進程并發完成。在這樣的方式下,投票前的身份判別時間僅包括人臉檢測時間和識別時間,訓練集規模達到300幅時,身份判別時間僅為0.5s,可以滿足應用需求。
人臉識別技術已經在很多需要身份識別的地方得以應用,本文將人臉識別技術用電子投票系統中,限制重復投票行為的發生,并得到較好的效果。然而,受到人臉識別精度的限制,目前的技術還無法做到100%的識別精度,因此,需要進一步改進人臉識別算法。另外一方面,身份認證的時間依賴于訓練集的大小,即身份認證時間隨已完成投票的投票人的數目增長,這同樣在一定程度上制約了人臉識別技術在大規模投票系統中的應用。因此,實時的人臉識別算法以及其它關鍵技術決定了人臉識別技術是否能夠在電子投票系統中成功應用。
[1] G. Yang, T. S. Huang. Human face detection in complex background [J]. Pattern Recognition, 1994, 27(1): 53-63.
[2] 徐信,郝曉麗,王芳.基于 Adaboost 算法的遠距離人臉檢測[J].計算機工程與設計, 2015, 36(4): 983-986.
[3] R.Burnelli,T.Poggio.Template matching: matched spatial filters and beyond[J].Pattern Recognition, 1997, 30(5): 751-768.
[4] A.L.Yuille, P. Hallinan, D. Cohen. Feature extraction from faces using deofrmbale templates[J]. Jounral of Computer Vision, 1992, 8(2): 99-111.
[5] 葉亮.一種基于變形模板匹配的人臉檢測方法[J].計算機工程, 2004, 30(11): 115-117.
[6] P. Viola, M. Jones. Rapid object detection using a boosted cascade of simple features. CVPR, 2001, 511-518.
[7] M.Turk,A. Pentland. Eigenfaces for recognition[J].Journal of Cognitive Neuroscience, 1991, 3(1): 71-86.
[8] 沈杰,王正群,鄒軍.一種基于嵌入式隱馬爾可夫模型的人臉識別方法[J].揚州大學學報(自然科學版),2008,11(1): 58-62.
[9] 孫靜靜,張宏飛,孫昌.一種基于奇異值分解的人臉識別新方法[J].科學技術與工程,2010,10(25): 6204-6208.
[10] P.N. Belhumeur, J.P. Hespanha, D.J. Kriegman. Eigenfaces vs. Fisherfaces: recognition using class specific linear projection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1997, 19(7): 711-720.
全新Fluke電機診斷工具采用Veros機器學習技術新產品提高電機效率并縮短停工時間
美國華盛頓州,埃弗雷特2017年4月27日消息——Fluke和Veros Systems達成協議,在資產性能和條件監測技術方面進行合作,旨在提高對電機驅動機器的效率和可靠性的洞察力。Fluke 438-II電機效率和電氣性能綜合測試儀是此次合作后推出的第一款工具。
福祿克是關鍵工業設備維護領域電能質量儀器和技術的領先供應商。Fluke 438-II分析三相電能質量測量數據,并采用由Veros研發的創新方法來計算電機輸出扭矩、轉速、馬力和效率。利用上述信息,工程師和技術人員可以在電機運轉期間評估系統性能和檢測過載條件,無需使用速度計、應變計或其他侵入式傳感器等機械傳感器。該技術融合了Fluke 430系列和Veros技術,進一步提高了業內識別能量浪費和維護關鍵機械的能力。
Design of the Electronic Voting System with Repetitious Voting Restricted by Face Recognition Technology
Zhu Jiangtu
(Zhejiang Joinan Linghting Co., Quzhou Zhejiang,324100)
Face recognition technology is applied in the electronic voting system to restrict repetitious voting operations. The structure of the electronic voting system is firstly analyzed and then the application scenario of face recognition technology in restricting repetitious voting is introduced. For the electronic voting system’s requirements on face recognition algorithm and the characteristics that the background of the voters’ images is simple and the illumination condition varies little, this paper analyzes face detection method based on AdaBoost and face recognition method based on Eigenface respectively, both of which meet the requirements of this system, presents the design flow of the identity recognition sub-system based on face recognition with OpenCV, and describes functions of each model of the basic voting sub-system briefly. Finally, performance analysis of the identify recognition sub-system is shown in this paper.
electronic voting system; face recognition; face detection; repetitious vote; identity recognition