顧思思 胡麗霞
(湖南科技學(xué)院計算機與通信工程系,湖南 永州 425199)
基于OpenCV的嵌入式人臉識別門禁系統(tǒng)設(shè)計
顧思思 胡麗霞
(湖南科技學(xué)院計算機與通信工程系,湖南 永州 425199)
針對傳統(tǒng)門禁系統(tǒng)“認物不認人”的使用缺陷和安全隱患,本文設(shè)計了一款基于人臉識別技術(shù)的門禁管理系統(tǒng)。其搭建的嵌入式開發(fā)平臺選用S3C2440B為微處理器,WinCE6.0為操作系統(tǒng)。同時系統(tǒng)移植了OpenCV視覺函數(shù)庫,調(diào)用AdaBoost及PCA算法的相關(guān)庫函數(shù)完成人臉圖像的檢測與識別并最終將識別結(jié)果作用于門鎖的開關(guān)控制。相比于傳統(tǒng)的門禁管理系統(tǒng),本設(shè)計更為安全方便、自動化程度更高,同時也給用戶帶來更為輕松便捷的使用感受。
S3C2440B;人臉識別;PCA;OpenCV
近年來,隨著圖像處理和生物鑒別技術(shù)的不斷進步,采用人臉作為身份認證的人臉識別技術(shù)在多個場合被廣泛應(yīng)用。相比于其它的生物識別技術(shù),如指紋識別、虹膜識別等,人臉識別技術(shù)更符合人類固有的識別習(xí)慣,它具有人體特征不可復(fù)制的唯一性因此不易被外人盜用,識別過程無需與人體直接接觸因此隱蔽性更好。這些特點也使得它非常適合于門禁控制領(lǐng)域?;谌四樧R別技術(shù)的智能化門禁管理系統(tǒng),可以解決傳統(tǒng)機械式或者刷卡、密碼驗證等門禁系統(tǒng)信息介質(zhì)攜帶麻煩、易丟失、密碼易遺忘、復(fù)制和被盜用的隱患,使得門禁管理更為安全方便、自動化程度更高,同時也能給用戶帶來更為輕松便捷的使用感受。OpenCV是一種開源的跨平臺計算機視覺庫,它實現(xiàn)了圖像處理和計算機視覺領(lǐng)域的很多通用算法,在人臉檢測與識別方面也有許多現(xiàn)成的函數(shù)可供使用。而嵌入式系統(tǒng)具有穩(wěn)定性好、實時性強以及系統(tǒng)精簡的優(yōu)點,并且還可支持網(wǎng)絡(luò)通信。因此,把OpenCV移植到嵌入式操作系統(tǒng)中,將人臉識別技術(shù)與嵌入式技術(shù)相結(jié)合,設(shè)計開發(fā)一款基于OpenCV的嵌入式人臉識別門禁管理系統(tǒng),就能集合這些技術(shù)的優(yōu)點,從而安全高效可靠地對被監(jiān)測區(qū)域進行智能化管理。
系統(tǒng)硬件設(shè)計是整個設(shè)計的底層,是系統(tǒng)執(zhí)行和實現(xiàn)的基礎(chǔ)。對于系統(tǒng)的硬件設(shè)計,首先應(yīng)通過調(diào)研了解用戶的實際需求后確定系統(tǒng)具體的設(shè)計功能;然后根據(jù)需求分析,劃分出系統(tǒng)功能模塊并選定好元器件;接著根據(jù)系統(tǒng)的設(shè)計方案進行印刷電路板的設(shè)計與焊接;最后進行電路板的檢查與調(diào)試。
2.1 系統(tǒng)需求分析
本文設(shè)計的人臉識別門禁系統(tǒng),主要區(qū)分準入者、訪客及非法入侵者三大類人群。在進行系統(tǒng)需求分析時,本人參考了現(xiàn)有的家用可視對講門禁系統(tǒng)功能,并在此基礎(chǔ)上添加人臉識別模塊,將識別結(jié)果作用于門鎖的開關(guān)和報警器的控制。綜合來看,本系統(tǒng)應(yīng)具有以下功能:
(1)圖像采集與識別
人臉識別門禁系統(tǒng),是采用人臉特征圖像作為身份認證的手段,并以此作為依據(jù)控制門鎖的開關(guān)。因此,系統(tǒng)首先就需要通過外置攝像頭采集來訪者的人臉圖像,并將采集到的人臉圖像傳輸給嵌入式系統(tǒng)進行快速準確的識別和判斷。攝像頭的圖像采集要求可通過近距離紅外檢測和鍵盤按鍵兩種方式進行觸發(fā)。
(2)圖像顯示和語音播報
攝像頭探測到的人臉圖像后,該圖像應(yīng)能在用戶終端的LCD屏上進行顯示,以便用戶對訪客進行直觀的確認。同時,語音播報功能主要是對用戶進行操作語音的提醒。
(3)用戶信息數(shù)據(jù)庫管理
系統(tǒng)應(yīng)能夠方便地添加、刪除或者修改用戶信息數(shù)據(jù)庫中的信息。
(4)門禁控制與報警
當(dāng)系統(tǒng)根據(jù)圖像識別結(jié)果判斷來訪者為準入者時,將控制電門鎖直接打開。當(dāng)圖像識別結(jié)果不匹配并且檢測到門鎖被直接打開時,將警報響起。
2.2 系統(tǒng)總體框圖設(shè)計
根據(jù)需求分析,本文所設(shè)計的嵌入式人臉識別門禁管理系統(tǒng)應(yīng)包含如下幾個功能模塊:核心控制模塊、圖像采集模塊、門禁控制模塊、鍵盤控制模塊、LCD顯示模塊、語音輸出模塊以及用于存放用戶信息數(shù)據(jù)和圖像數(shù)據(jù)的存儲模塊。系統(tǒng)總體結(jié)構(gòu)框圖如下圖1所示:
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
2.3 系統(tǒng)硬件電路設(shè)計
系統(tǒng)選用微處理器S3C2440B[1-3]為系統(tǒng)核心控制模塊。S3C2440B是三星公司開發(fā)生產(chǎn)的一款基于ARM920T內(nèi)核的16/32位RISC結(jié)構(gòu)微處理器。其采用MMU AMBA BUS和Harvard的高速緩存結(jié)構(gòu),具有獨立的8字長16kB指令緩存器和16kB數(shù)據(jù)緩存器[4]。同時它帶有camera接口,支持更大分辨率液晶屏,還有一套通用的外設(shè)接口,無需再額外擴展外圍器件,其高性能、低功耗、高集成度且全靜態(tài)設(shè)計,非常適合于對成本和功率要求高的應(yīng)用。
篡改書名,成為如今一些出版機構(gòu)的“時尚”。不過這種惡習(xí)并非今日始,早在明朝,許多書商在刻印書籍的時候也有這種惡習(xí)。他們每每刻印一部書,往往就要隨意篡改這部書的書名甚至是篡改書里的內(nèi)容。
圖像采集模塊選用了OV9650攝像頭進行圖像采集,國內(nèi)大部分的OEM商都對OV9650提供了S3C2440的camera接口在WinCE5.O/6.0下的驅(qū)動支持,因此可以直接使用。但其模擬視頻輸出接口并不能和S3C2440的camera接口直接連接,因此在硬件電路設(shè)計上需要增加一塊SAA7113解碼芯片,并通過S3C2440的IIC總線對其相關(guān)寄存器進行配置。同時,使用電源轉(zhuǎn)換芯片ASIII7,向攝像頭提供所需的1.8V和2.5V電壓。圖像采集模塊實物圖如下圖2所示。
圖2 圖像采集模塊實物圖
門禁控制模塊主要功能是根據(jù)系統(tǒng)核心板對人臉圖像的識別結(jié)果進行門鎖的開關(guān)控制,也是整個系統(tǒng)的核心功能部件。目前市場上的門禁控制器主要采用RS485和TCP/IP進行通訊,并在功能結(jié)構(gòu)上融合消防報警、遠程控制和智能家居聯(lián)動控制[5]。本系統(tǒng)選用RS485接口的門禁控制器,通過下圖3中的RS232轉(zhuǎn)RS485通訊轉(zhuǎn)換電路與核心板的RS232接口進行數(shù)據(jù)通訊。當(dāng)模塊獲取到核心板發(fā)出的用戶準入信號時,控制繼電器的閉合,從而打開門磁電鎖。同時,門禁控制器將定時檢測門磁電鎖的運行狀態(tài),當(dāng)發(fā)現(xiàn)門禁系統(tǒng)遭受破壞時,及時發(fā)送警報信息。
圖3 RS232轉(zhuǎn)RS485電路圖
系統(tǒng)的語音輸出模塊主要是通過音頻電路來實現(xiàn)系統(tǒng)執(zhí)行狀態(tài)的語音提醒和聲音響應(yīng),從而體現(xiàn)系統(tǒng)的人性化設(shè)計理念。當(dāng)系統(tǒng)確認來訪人員是準入者后,可發(fā)出“歡迎回家”等聲音,當(dāng)系統(tǒng)確認來訪人員是訪客身份時,可發(fā)出“您不能直接進入,請與住戶聯(lián)系”等聲音。
LCD顯示模塊則是通過LCD驅(qū)動板與S3C2440的FPC-40接口進行轉(zhuǎn)接,從而驅(qū)動各種類型的液晶顯示屏,從而顯示攝像頭采集的人臉信息。
由于S3C2440B本身只有彼此獨立的16KB的數(shù)據(jù)cache和16KB的地址cache,而人臉識別過程需要處理的圖像信號數(shù)據(jù)量較大,因此,需要擴展外部內(nèi)存才能更好地工作。同時,由于門禁系統(tǒng)實時性要求較高,圖像數(shù)據(jù)的處理速度也要求較高,因此也需要比較快的存儲器接口。本系統(tǒng)的外部存儲模塊就選用了并接的兩片SDRAM芯片HY57V561620FTP[7]來進行存儲空間的擴展,在獲取共64MB存儲容量的同時,使得總線寬度達到32位,增加了訪問速度。
嵌入式系統(tǒng)的軟硬件均可根據(jù)用戶需求進行裁剪,以完成特定要求和預(yù)先定義的任務(wù),這樣可以降低成本、體積和功耗,提高系統(tǒng)可靠性。嵌入式常用的操作系統(tǒng)有Linux、WinCE、Peo、QNx、Eeos等,其中WinCE操作系統(tǒng)為用戶提供了非常豐富的應(yīng)用程序和驅(qū)動程序,同時操作界面十分友好。因此,本設(shè)計在嵌入式開發(fā)平臺上安裝Windows CE6.0操作系統(tǒng),從而實現(xiàn)人臉圖像提取、處理、識別和門禁控制整個過程的控制。
WinCE操作系統(tǒng)的移植過程分為BootLoader移植和系統(tǒng)鏡像移植兩大部分。其中BootLoader是操作系統(tǒng)的引導(dǎo)程序,主要完成系統(tǒng)鏡像的加載和啟動。本系統(tǒng)選用目前較為常用的Uboot作為引導(dǎo)程序,使用SD卡啟動Windows CE6.0操作系統(tǒng)鏡像。并添加FAT32文件協(xié)議驅(qū)動,以實現(xiàn)開機自動燒寫鏡像[6]。
Windows CE6.0操作系統(tǒng)的移植則主要包含在VC6.0編譯平臺中安裝PlatformBuild插件、系統(tǒng)內(nèi)核定制、編譯生成鏡像文件以及固化和更新鏡像文件四個步驟。其中WinCE6.0的內(nèi)核定制又包含增加BSP包、選用基礎(chǔ)類庫、組件、通用驅(qū)動和shell以及定制第三方組件等。
3.2 OpenCV庫移植
OpenCV庫是一個開源的計算機視覺庫,由一系列C函數(shù)和少量C++類構(gòu)成,可以運行在Linux、Windows和Mac OS操作系統(tǒng)上。其在人臉檢測和人臉識別方面提供有許多現(xiàn)成的比較成熟的庫函數(shù)可供使用,因此,本系統(tǒng)將其移植到Windows CE6.0系統(tǒng)中,協(xié)助完成嵌入式人臉識別門禁管理系統(tǒng)的人臉檢測和識別工作。
首先,通過VC6.0編譯軟件將OpenCV安裝路徑下的cxmisc.h、cxswitcher.cpp及cxerror.cpp文件打開,分別在相應(yīng)位置添加入WINCE定義并進行編譯,從而將cvcore工程文件移植到WinCE6.0中。
接著,在OpenCV安裝路徑下找到cvtypes.h和_cvkdtree. hpp文件,修改并進行編譯,從而將cv工程文件移植到WinCE6.0中。
3.3 人臉識別門禁系統(tǒng)的設(shè)計
嵌入式人臉識別門禁系統(tǒng),其工作的主要流程是,通過鍵盤或者紅外線觸發(fā)攝像頭采集來訪者的人臉圖像,利用OpenCV庫中的cvCreateCamaraCapture庫函數(shù)來捕獲人臉圖像,對人臉圖像進行灰度圖轉(zhuǎn)換等預(yù)處理后,系統(tǒng)調(diào)用cv-Load函數(shù)從磁盤中加載所選的Harr特征分類器。接著,系統(tǒng)利用cvHaarDetectObjects函數(shù)來確定出人臉位置,以減少檢測區(qū)域從而便于接下來的人臉識別處理過程中的人臉特征提取。系統(tǒng)選用主成份分析法(PCA)對捕獲的人臉圖像數(shù)據(jù)進行降維處理以及提取人臉圖像的特征向量。選用Adaboost算法訓(xùn)練出人臉特征的強分類器,并根據(jù)其特征矩陣的權(quán)重進行人臉圖像的分類,從而通過分類器完成人臉圖像識別。根據(jù)與系統(tǒng)人臉數(shù)據(jù)庫的特征匹配結(jié)果,確定來訪者的身份和準入許可,同時控制門鎖打開和語音電路播放。系統(tǒng)流程如下圖4所示:
圖4 嵌入式人臉識別系統(tǒng)流程圖
本文對基于OpenCV的嵌入式的人臉識別門禁系統(tǒng)從系統(tǒng)總體結(jié)構(gòu)、硬件芯片選型、系統(tǒng)平臺搭建到軟件設(shè)計過程,進行了一系列詳細的說明。該門禁系統(tǒng)集合了嵌入式系統(tǒng)和人臉識別技術(shù)的優(yōu)勢,相比于用PC機或者單片機芯片控制的門禁系統(tǒng),本系統(tǒng)更為精簡,具有效率高、成本低、智能化程度強和擴展性好等諸多優(yōu)勢,具有廣闊的商業(yè)應(yīng)用前景。
[1]S3C2440B微處理器芯片用戶手冊[S].三星電子有限公司,2007.
[2]張浩,楊春燕.S3C2440B芯片及應(yīng)用[J].電子設(shè)計工程,2011,19(24):26-29.
[3]廖日坤.ARM嵌入式應(yīng)用開發(fā)技術(shù)白金手冊[M].北京:中國電力出版社,2005.
[4]魏娜.嵌入式人臉識別門禁系統(tǒng)的研究[D].河北工業(yè)大學(xué),2012.
[5]廖東.基于人臉識別技術(shù)的可視化對講門禁系統(tǒng)應(yīng)用研究[D].廣東工業(yè)大學(xué),2013.
[6]HY57V561620CProductDataSheet. HynixSemiconductors.June05,2004.
The Design of Embedded Face Recognition Entrance Guard System Based on OpenCV
Gu Sisi Hu Lixia
(Hunan University of Science and Engineering,Yongzhou 425199,Hunan)
Aiming to the defects and potential safety hazard of traditional entrance guard system,this paper designs an entrance guard management system based on the technology of face recognition.The embedded development platform choses S3C2440B as microprocessors,WInCE6.0 as an operating system.At the same time,the system transplants OpenCV,invokes the AdaBoost and functions of PCA algorithm,in order to complete face image detection and face recognition.Finally,the recognition result will acts on the door lock switch control.Compared to the traditional entrance guard management system,the design is safer and more automatic,which brings easier and more convenient experience to users.
S3C2440B;face recognition;PCA;OpenCV
TP391.41
A
:1008-66609(2015)04-0033-03
顧思思,女,湖南永州人,碩士,講師,研究方向:多值邏輯、圖像處理與模式識別。
湖南科技學(xué)院校級科研項目,項目編號:14XKY111。