李上峰,龐楠楠,湯瑞業(yè)
(西安電子科技大學 電子信息攻防對抗與仿真技術(shù)教育部重點實驗室,西安 710071)
OMAP-L138與OV2460的人臉識別系統(tǒng)
李上峰,龐楠楠,湯瑞業(yè)
(西安電子科技大學 電子信息攻防對抗與仿真技術(shù)教育部重點實驗室,西安 710071)
人臉識別技術(shù)是一項新興的生物識別技術(shù),在門禁考勤系統(tǒng)、出入監(jiān)管系統(tǒng),智能家居系統(tǒng)中都有廣泛的應(yīng)用。針對手持式嵌入式設(shè)備中的低功耗、高性能要求,提出以基于OMAP-L138的異構(gòu)雙核處理器為核心,以200萬像素的OV2640攝像頭為采集前端的人臉識別平臺,基于TI公司SysLink雙核通信組件,滿足識別的精度與速度的要求。實驗采取多組對比試驗的方法,通過優(yōu)化人臉識別算法中的比率,從而達到較高的準確度。
OMAP-L138;OV2640;人臉識別;雙核通信
人臉識別技術(shù)在現(xiàn)代社會生活中發(fā)揮著越來越重要的作用,如智能家居系統(tǒng)、門禁系統(tǒng)、刑事偵查系統(tǒng)等,但是這些系統(tǒng)都是基于PC端的,具有高性能、不可移動特性。由于移動式嵌入式系統(tǒng)受資源限制,低功耗、小體積的人臉識別系統(tǒng)應(yīng)運而生,這需要依靠高性能、低功耗的OMAP-L138雙核處理器,以及高效的人臉識別算法。目前有很多人臉識別算法,比如基于膚色特征的Adaboost算法[1]、Viola-Jones人臉檢測方法[2]、基于連續(xù)型Adaboost算法和Cascade結(jié)構(gòu)的紅外人臉檢測[3]等,這些算法都在PC端有著優(yōu)秀的表現(xiàn),但是基于嵌入式平臺的高效人臉識別系統(tǒng)還在不斷研究中。
1.1 OMAP-L138處理器簡介
OMAP-L138處理器是德州儀器(TI)推出的Davinci系列異構(gòu)多核(DSP+ARM)浮點型工業(yè)級處理器[4],主頻高達456 MHz,可以外接256 MB DDR2內(nèi)存,并且外設(shè)接口豐富,具有低功耗、低成本、壽命長的優(yōu)勢。
1.2 OV2640簡介
OV2640是OV(OmniVision)公司生產(chǎn)的一顆1/4寸的CMOS UXGA(1632×1232)圖像傳感器。該傳感器體積小、工作電壓低,可提供單片UXGA 攝像頭和影像處理器。OmmiVision 圖像傳感器還應(yīng)用獨有的傳感器技術(shù),通過減少或消除光學或電子缺陷(如固定圖案噪聲、拖尾、浮散等),提高圖像質(zhì)量,得到清晰的穩(wěn)定的彩色圖像[5]。
1.3 硬件平臺工作原理
硬件平臺以O(shè)MAP-L138處理器為核心,對于實時數(shù)據(jù)處理要求比較高的場合非常適合,OV2640攝像頭為圖像采集前端,并將人臉識別的結(jié)果顯示在800×600分辨率的LCD屏幕上,如圖1所示。ARM端控制攝像頭采集數(shù)據(jù),并將攝像頭數(shù)據(jù)送到共享內(nèi)存區(qū)域中。DSP端將共享內(nèi)存中圖像數(shù)據(jù)取出,通過人臉識別算法,對識別出的人臉進行標記,并將標記完的圖像傳回到共享內(nèi)存區(qū)中。ARM端讀取共享內(nèi)存區(qū)中的圖像并顯示在LCD屏幕上,完成人臉識別過程。

圖1 人臉識別硬件架構(gòu)框圖
2.1 雙核通信組件介紹

圖2 DSP與ARM端程序運行過程
TI公司提供的雙核通信組件有很多種,主要用于多核處理器之間的并行與同步,可加快開發(fā)周期,降低開發(fā)費用。本系統(tǒng)主要使用的是SysLink異構(gòu)多核通信組件,它為異構(gòu)多核處理器提供基礎(chǔ)的開發(fā)接口,這些接口能大大方便DSP處理器與ARM處理器之間的通信編程。SysLink工具包主要由系統(tǒng)管理(System Manager)、處理器管理(Processor Manager,PM)、核間通信(Inter Processor Communication,IPC)、其他模塊(Utility Modules)等子空間組成。
2.2 雙核通信工作原理
雙核通信的基礎(chǔ)是SysLink工具包,主要是針對操作系統(tǒng)中的應(yīng)用,提供目標平臺上的多核通信以及基礎(chǔ)外設(shè)的控制,每個處理器既可運行HLOS(Higher Level Operating System)、Linux、WinCE等,也可運行RTOS(Real Time Operating System),如SYS/BIOS、QNX等。其中異構(gòu)多核系統(tǒng)中主處理器(Host Processor)肩負著控制從處理器(Slave Processor)的責任。
在雙核通信之前,首先需要初始化SysLink系統(tǒng),建立雙核通信的通道。通道建立完成后,等待雙方處理器握手,確認通信方式。通信方式主要有Notify、MessageQ、ListMp、GateMp、HeapBufMp、HeapMemMp、FrameQ、RingIO,這些通信機制都有各自的優(yōu)缺點,根據(jù)系統(tǒng)功能需要適當選取。
2.3 雙核通信過程實現(xiàn)
首先要安裝好TI公司提供的SysLink組件,這些組件包括bios、mcsdk、pdk、ipc、xdctools、syslink等。編譯完成之后會生成syslink.ko的驅(qū)動模塊,這需要在運行人臉識別程序之前加載到Linux內(nèi)核中。在DSP端運行slaveloader來加載server_dsp.xe674程序,DSP端程序基于BIOS的實時系統(tǒng),主要是實現(xiàn)人臉識別與標記的功能。啟動DSP端程序后運行ARM端host程序host_app,ARM端程序基于Linux-3.3系統(tǒng),主要實現(xiàn)攝像頭采集、LCD顯示程序。
當程序啟動后,ARM端主線程首先完成Syslink/IPC相關(guān)初始化,之后啟動Capture和Playback線程, 這兩個線程各司其職。Capture 線程不斷地采集OV2640 圖像送入 FrameQ 隊列,然后將圖像發(fā)送給DSP端。而Playback 線程不斷地從 FrameQ隊列取出圖像數(shù)據(jù)傳輸?shù)絃CD上進行顯示。在傳輸?shù)紽rameQ隊列中的圖像同時,也會被DSP端的程序不斷地從 FrameQ隊列取出攝像頭采集到的圖像,根據(jù)人臉識別算法進行識別與標記,將識別到的人臉圖像進行標記,并將標記后的圖像送還到FrameQ隊列中,如圖2所示。由于采集、顯示與人臉識別程序運行在不同的內(nèi)核上,從而大大加快人臉識別的過程。
3.1 人臉識別原理簡介
我國民族服飾元素硬性到服裝設(shè)計理念和加工工藝,我國幅員遼闊,不同地區(qū)的人們文化和宗教信仰都是不同的,因此他們對于服裝色彩的理解也具有很大的差異性,例如蒙古族崇尚藍色和白色,但是漢族對于白色比較忌諱。民族服飾存在很大的差異,這也是服裝面料再造設(shè)計過程中可以借鑒的原色。民族服飾的服裝面料制作工藝都是不同的,利用各種制作工藝可以豐富服裝面料再造設(shè)計的方法,例如海南黎錦利用的扎染、制造等工藝,在服裝面料再造設(shè)計當中利用這些工藝,可以使服裝具備海南黎族的民族色彩。
人臉識別技術(shù)是基于人的臉部特征,已經(jīng)有40多年的發(fā)展歷史,利用主分量分析進行降維和提取特征,當送入的圖像或者視頻流中出現(xiàn)人臉特征的時候,確定人臉在圖像中的位置以及五官的方向。在人臉識別中,由一組特征臉基圖像生成一個特征臉子空間,任何一幅人臉圖像(減去平均人臉后)都可投影到該子空間,得到一個權(quán)值向量。計算此向量和訓(xùn)練集中每個人的權(quán)值向量之間的歐式距離,取最小距離所對應(yīng)的人臉圖像的身份作為測試人臉圖像的身份[6]。
3.2 人臉識別算法實現(xiàn)
人臉識別算法有很多種,找到一種適應(yīng)嵌入式平臺的算法就顯得尤為重要,這樣不僅可以縮短開發(fā)周期,而且能降低開發(fā)者的成本。
OpenCV開發(fā)環(huán)境下的人臉識別被眾多的嵌入式平臺采用,主要是因為OpenCV可提供豐富的人臉識別庫,基于OpenCV實現(xiàn)的算法也很多。系統(tǒng)對攝像頭采集的圖像需要進行預(yù)處理,預(yù)處理技術(shù)對將要識別的圖片進行標準化處理是極其重要的。在實際處理過程中,使用灰度圖像的特征臉(PCA)方法。首先需要經(jīng)彩色圖像經(jīng)過灰度處理函數(shù)灰度化,然后采用直方圖均衡化(Histogram Equalization)作為一種自動的標準化臉部圖像亮度和對比度的方法[7]。
在PCA原理中,預(yù)先采集了實驗室里的10人臉部照片,每人20張,總共有200張經(jīng)過預(yù)處理的臉部照片,再利用主元分析的方法,將這200張照片轉(zhuǎn)換成一個代表這些訓(xùn)練圖片主要區(qū)別的“特征臉”集[8]。通過獲取每張照片的像素平均值,生成這些照片的平均像素照片。在比較過程中,特征臉會與平均像素人臉進行比較。在OpenCV人臉識別數(shù)據(jù)庫中,有一個“facedata.xml”文件,這里有已經(jīng)訓(xùn)練好的圖片文件以及代表人的文本文件,可以使用相同的PCA計算,尋找200張圖片的比率,通過不斷優(yōu)化這個比率來提高人臉識別的準確性。
測試了10組同學,每組同學分別識別20次的結(jié)果表明軟件成功識別出了196次。由于人臉識別算法對光照條件十分敏感,所以在實驗室的環(huán)境下進行訓(xùn)練,在其他地方可能不會被識別出來。雖然在算法上進行了預(yù)處理,

[1] Ban Y, Kim S K, Kim S, et al. Face detection based on skin color likelihood[J].Pattern Recognition, 2014, 47(4): 1573-1585.
[2] Paul Viola, Michael J Jones. Robust Real-Time Face Detection[J]. International Journal of Computer Vision,2004,57(2):137-154.
[3] 嚴超, 王元慶. 基于連續(xù)型 Adaboost 算法和 Cascade 結(jié)構(gòu)的紅外人臉檢測[J]. 激光與紅外, 2009, 39(11): 1246-1250.
[4] TI.OMAP-L138 C6000 DSP+ARM Processor Technical Reference Manual (Rev.A),2014.
[5] OmniVision.OV2640_DS, OmniVision Advanced Information Preliminary Datasheet, Version 1.6 February 28, 2006.
[6] DU C, Hong Z H U, LUO L, et al. Face detection in video based on AdaBoost algorithm and skin model[J].The Journal of China Universities of Posts and Telecommunications, 2013(20): 6-24.
[7] Yang M, Crenshaw J, Augustine B, et al.AdaBoost-based face detection for embedded systems[J].Computer Vision and Image Understanding, 2010, 114(11): 1116-1125.
[8] 武勃,黃暢,艾海舟,等.基于連續(xù) Adaboost 算法的多視角人臉檢測[J].計算機研究與發(fā)展,2005,42(9):1612-1621.
李上峰(碩士研究生),主要研究方向為嵌入式圖像處理。

參考文獻
[1] 賀永鵬, 張向前.一種基于FPGA的嵌入式實時以太網(wǎng)[J].電氣傳動,2015(7):70-73.
[2] 王桂云,侯思祖.基于ARM7 的以太網(wǎng)接口的設(shè)計與實現(xiàn)[J]. 微計算機信息, 2009(5):124-125,204.
[3] 岳世為,尹為民.μIP 協(xié)議棧在基于DSP以太網(wǎng)通信系統(tǒng)中的應(yīng)用[J]. 計算機與數(shù)字工程,2010(1): 186-189.
[4] 強明輝, 李東蔚.基于W5300在測試系統(tǒng)通信接口的應(yīng)用研究[J]. 工業(yè)儀表與自動化裝置,2016(5):49-51,95.
[5] 侯義合,張冬冬,丁雷. 基于FPGA+MAC+PHY的千兆以太網(wǎng)數(shù)傳系統(tǒng)設(shè)計 [J].科學技術(shù)與工程,2014(19):275-279.
[6] 史振國,李德和,尹虎.基于FPGA的高效傳輸速率的千兆以太網(wǎng)通信系統(tǒng)設(shè)計[J]. 中國新通信,2016(14):4-5.
[7] Xilinx.UG368 (v1.3),2011.
[8] Marvell Semiconductor. 88E1111 datasheet: integrated 10 /100 /1000 ultra gigabit ethernet transceiver,2010.
朱明輝(碩士研究生),主要研究方向為數(shù)字信號處理。
(責任編輯:楊迪娜 收稿日期:2016-11-15)
Face Recognition System Based on OMAP-L138 and OV2460
Li Shangfeng,Pang Nannan,Tang Ruiye
(Key Laboratory of Electronic Information Counterme and Simulation Technology Ministry of Education,Xidian University,Xi’an 710071,China)
Face recognition technology is an emerging biometrics technology,which has been widely used in the entrance guard system,the access control system,the intelligent home system and so on.In order to meet the requirements of low-power consumption and performance in the handheld embedded devices,the face recognition platform is proposed,which takes the OMAP-L138-based heterogeneous dual-core processor as the core and the OV2640 camera as the acquisition front-end.The TI SysLink dual-core communication components takes into account the recognition of the accuracy and speed requirements.In order to improve the accuracy of the face recognition algorithm,a series of contrast experiments are adopted.
OMAP-L138;OV2640;face recognition;dual-core communication
TP275
A
?迪娜
2016-11-14)