嚴(yán)輝?徐勉?吳強(qiáng)
摘? 要:通過對嵌入式技術(shù)以及人臉識別的研究,提出了在基于IMX6ULL處理器上,搭建人臉識別門禁系統(tǒng)。根據(jù)系統(tǒng)的功能需求給出了系統(tǒng)總體框架以及各個(gè)功能模塊的實(shí)現(xiàn)方案,包括圖像采集模塊、存儲模塊和輸入輸出模塊的硬件設(shè)計(jì)和系統(tǒng)的軟件實(shí)現(xiàn)。該系統(tǒng)運(yùn)行穩(wěn)定,效率高,滿足人臉識別門禁系統(tǒng)的設(shè)計(jì)要求。
關(guān)鍵詞:人臉識別;門禁系統(tǒng);IMX6ULL
中圖分類號:TP36;TP391.4 ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A文章編號:2096-4706(2022)02-0001-05
Abstract: Through the research on embedded technology and face recognition, a face recognition access control system based on IMX6ULL processor is proposed. According to the functional requirements of the system, the overall framework of the system and the implementation scheme of each functional module are given, including the hardware design of image acquisition module, storage module and input-output module and the software implementation of the system. The system has stable operation and high efficiency, and meets the design requirements of face recognition access control system.
Keywords: face recognition; access control system; IMX6ULL
0? 引? 言
隨著社會經(jīng)濟(jì)的快速發(fā)展,人民生活水平的不斷提高,人們的安防理念也逐步提升。門禁系統(tǒng)作為安防的基礎(chǔ),其所具備的智能化、自動化等特點(diǎn),受到了大多數(shù)用戶的青睞。在追求更加安全,穩(wěn)定的同時(shí),對其成本以及便攜性也有了更高的要求,因此對門禁系統(tǒng)的研究尤為重要。
在門禁系統(tǒng)中,人臉識別技術(shù)相比于其他生物特征識別方式,有著更加自然、直接、友好等優(yōu)勢。傳統(tǒng)的人臉識別門禁系統(tǒng)一般搭建在PC機(jī)上,由于其便攜性和靈活性不夠,并且成本高,所以在運(yùn)用方面受到一些限制[1,2]。嵌入式系統(tǒng)是可以針對需求來定制的一種專用計(jì)算機(jī)系統(tǒng),運(yùn)用非常廣泛。隨著嵌入式技術(shù)的快速發(fā)展,處理器的性能也在不斷提高,嵌入式系統(tǒng)的運(yùn)算速度更快,處理數(shù)據(jù)的能力更強(qiáng),并且它的體積更便于攜帶,將嵌入式系統(tǒng)與人臉識別技術(shù)相結(jié)合,可以發(fā)揮出嵌入式系統(tǒng)體積小、成本低、專用性強(qiáng),以及人臉識別的交互友好性、安全性等一系列特點(diǎn)[3]。
本文深入探討了嵌入式人臉識別門禁系統(tǒng)的設(shè)計(jì),在基于IMX6ULL處理器的嵌入式系統(tǒng)上,進(jìn)行了主要的硬件模塊設(shè)計(jì)以及介紹了系統(tǒng)的軟件實(shí)現(xiàn),給出了系統(tǒng)的環(huán)境搭建以及系統(tǒng)的性能測試。
1? 系統(tǒng)總體設(shè)計(jì)
人臉識別門禁系統(tǒng)的主要工作是采集人臉圖像并進(jìn)行一系列圖像處理,處理后的數(shù)據(jù)與人臉庫中的數(shù)據(jù)進(jìn)行比對,通過識別的結(jié)果判斷是否開啟門禁[4]。系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。
根據(jù)不同的功能可以劃分為主控模塊、圖像采集模塊、存儲模塊以及輸入輸出模塊。主控模塊為整個(gè)系統(tǒng)的核心,由硬件和軟件兩部分組成,硬件由IMX6ULL處理器擴(kuò)展外圍電路而成,軟件為人臉檢測、人臉識別算法的應(yīng)用程序?qū)崿F(xiàn),該模塊主要負(fù)責(zé)各個(gè)模塊的調(diào)度和數(shù)據(jù)處理;圖像采集模塊,通過前端攝像頭采集人臉圖像,實(shí)時(shí)顯示在顯示屏上,并傳給主控模塊進(jìn)行數(shù)據(jù)處理;存儲模塊,主要存儲嵌入式Linux操作系統(tǒng)、應(yīng)用程序以及用戶的人臉數(shù)據(jù)庫;輸入輸出模塊,主要為觸摸顯示屏運(yùn)行人機(jī)交互的GUI界面程序,以及整個(gè)系統(tǒng)最后的執(zhí)行機(jī)構(gòu),通過主控模塊的識別結(jié)果發(fā)送相應(yīng)的信號來控制電子門鎖的開關(guān)狀態(tài)。
2? 系統(tǒng)硬件設(shè)計(jì)
2.1? IMX6ULL處理器
處理器是嵌入式門禁系統(tǒng)的核心,系統(tǒng)采用基于ARM Cortex-A7架構(gòu)的IMX6ULL處理器,主頻可達(dá)792 MHz,自帶1個(gè)SDRAM控制器、4個(gè)I2C接口、1個(gè)攝像頭接口、1個(gè)RGB LCD控制器、2個(gè)以太網(wǎng)接口以及眾多的通用IO口等,板載512 MB的DDR3用于系統(tǒng)內(nèi)存,以及8 GB的EMMC作為系統(tǒng)存儲器,可掛載Linux操作系統(tǒng)和應(yīng)用程序的運(yùn)行,以及數(shù)據(jù)的存儲。該處理器功耗低、性能好,能滿足人臉識別門禁系統(tǒng)的要求。
2.2? 攝像頭接口電路設(shè)計(jì)
采用ATK-OV5640攝像頭模塊,OV5640是一款CMOS類型的數(shù)字圖像傳感器,集成了有源晶振、LDO和自動對焦功能,該傳感器支持輸出最大為500萬像素的圖像,支持自動圖像控制功能與圖像質(zhì)量控制,可以提高采集人臉圖像的質(zhì)量,同時(shí)支持RGB、YUV、YCbCr等圖像輸出格式。該傳感器的高像素、低噪音和低串?dāng)_以及自帶的嵌入式微處理器,極大的方便應(yīng)用程序?qū)D像數(shù)據(jù)進(jìn)行處理。攝像頭連接示意圖如圖2所示。
OV_D[7:0]為8位數(shù)據(jù)的輸出,與IMX6ULL的CSI_DATA[7:0]連接;OV_PIXCLK為像素時(shí)鐘輸出,OV_VSYNC為幀同步信號輸出,OV_HSYNC為行同步信號輸出,OV_PWDN為掉電使能,OV_RESET為復(fù)位信號,分別與IMX6ULL的CSI_PIXCLK、CSI_VSYNC、CSI_HSYNC、CSI_PWDN、CSI_RESET相連接。攝像頭模塊通過SCCB串行攝像頭控制總線進(jìn)行配置,由傳輸時(shí)鐘信號的OV_SCL和傳輸數(shù)據(jù)信號的OV_SDA組成,SCCB的傳輸協(xié)議類似I2C協(xié)議,因此連接到IMX的I2C2上[5,6]。AVDD接模擬電源,該芯片需要2.45 V到3.0 V的模擬電壓,為了節(jié)省電源芯片,這里采用2.8 V。DVDD為1.5 V核電壓,可以內(nèi)部供應(yīng),所以外接電容后再接地。A38C4759-205F-4634-AD7C-11164E5A035B
2.3? LCD與觸摸屏接口電路設(shè)計(jì)
系統(tǒng)采用ATK-7016這款TFT LCD+觸摸屏相結(jié)合的電容觸摸屏。IMX6ULL自帶LCD控制器eLCDIF,用于連接RGB LCD接口的屏幕,由于RGB LCD內(nèi)部沒有內(nèi)存,需要在SDRAM中分配一段內(nèi)存作為RGB LCD屏幕的顯存。eLCDIF通過DOTCLK接口與屏幕連接,包括DOTCLK像素時(shí)鐘信號、HSYNC水平同步信號、VSYNC垂直同步信號和ENABLE數(shù)據(jù)使能信號。驅(qū)動IC選擇FT5426觸控芯片,通過24根數(shù)據(jù)線和4個(gè)IO連接主控制器:復(fù)位引腳RST,中斷引腳INT,SCL與SDA為I2C引腳[7]。LCD連接示意圖如圖3所示。
R[7:0]、G[7:0]和B[7:0]這24根數(shù)據(jù)線分別連接著IMX6ULL的LCD_DATA[23:16 15:8 7:0],VSYNC,HSYNC,DOTCLK,ENABLE信號線連接IMX6ULL的LCD_VSYNC,LCD_HSYNC,LCD_CLK,LCD_ENABLE,由于這些IO均為復(fù)用引腳,還需要配置相關(guān)寄存器將這些IO復(fù)用為LCD功能[8,9]。主控制器通過I2C接口來讀取驅(qū)動IC里面的觸摸坐標(biāo)數(shù)據(jù),為了減小CPU的占用率,采用輪詢的方式不斷查詢是否有觸摸點(diǎn)按下,而不采用中斷的方式。所以將SCL、SDA連接到IMX的I2C2上,INT與RST分別連接到SNVS_TAMPER9與GPIO1_IO9上。
2.4? 存儲模塊電路設(shè)計(jì)
IMX6ULL作為核心處理器,運(yùn)行Linux操作系統(tǒng),應(yīng)用程序以及人臉識別算法,需要較大的內(nèi)存空間。因此,本系統(tǒng)的存儲器使用一片外接的512 MB的DDR3芯片,型號為NT5CC256M16EP。DDR3是在SDRAM的基礎(chǔ)上擴(kuò)大數(shù)據(jù)的傳輸速率,本質(zhì)上還是SDRAM。IMX6ULL內(nèi)置SDRAM控制器
A[14:0]為地址線,列地址為A0~A9,共10根,行地址為A0~A14,共15根。BA[2:0]為BANK選擇線,實(shí)現(xiàn)一片DDR的8個(gè)BANK選擇,因此DDR總?cè)萘繛?BANK×2^10×2^15×2=512 MB。DQ[15:0]為16根數(shù)據(jù)線,因此數(shù)據(jù)寬度為16位,通過數(shù)據(jù)選通引腳LDQS與UDQS進(jìn)行數(shù)據(jù)選擇,LDQS選通低字節(jié)DQ0~7,UDQS選通高字節(jié)DQ8~15。(RAS)、(CAS)、(WE)分別為行選通信號、列選通信號和寫使能信號。DDR3采用差分時(shí)鐘線,CK和(CK) 為時(shí)鐘信號,所有的控制和地址信號都在CK的上升沿和(CK)的下降沿相交處采集[10]。
2.5? 電磁鎖電路設(shè)計(jì)
系統(tǒng)運(yùn)行的結(jié)果通過電磁鎖來反饋,由于處理器芯片引腳電流驅(qū)動能力有限,需通過繼電器實(shí)現(xiàn)對電磁鎖的控制。電磁鎖電路設(shè)計(jì)如圖5所示。
IMX6ULL處理器的GPIO口與三極管相連,通過三極管放大電路增加電流驅(qū)動能力。當(dāng)GPIO口輸出高電平時(shí),三極管Q1處于飽和導(dǎo)通狀態(tài),電源給繼電器線圈通電,繼電器吸合,常開觸點(diǎn)變?yōu)槌i]觸點(diǎn),電磁鎖通電使開關(guān)打開;當(dāng)GPIO口輸出低電平時(shí),三極管Q1斷開,繼電器觸點(diǎn)由閉合轉(zhuǎn)為斷開,電磁鎖斷電使開關(guān)閉合。為了降低三極管Q1的功耗,接1 kΩ的電阻R1限流。由于線圈中的電流在斷開的情況下不能立刻變?yōu)榱?,?dǎo)致線圈兩端會產(chǎn)生一個(gè)較大的反向電動勢,所以與繼電器反向并聯(lián)一個(gè)保護(hù)二極管D1,抑制浪涌,防止三極管被反向擊穿。
3? 系統(tǒng)軟件設(shè)計(jì)
3.1? 系統(tǒng)軟件總體設(shè)計(jì)
根據(jù)人臉識別門禁系統(tǒng)的具體功能設(shè)計(jì)需求,將軟件系統(tǒng)分為五個(gè)功能模塊:人臉采集模塊、人臉識別模塊、人臉注冊模塊、LCD顯示模塊以及門鎖控制模塊[11]。在主線程下分別創(chuàng)建各個(gè)模塊的子線程,方便對系統(tǒng)的升級及優(yōu)化。系統(tǒng)總體設(shè)計(jì)如圖6所示。
3.2? 主流程設(shè)計(jì)
系統(tǒng)上電后首先進(jìn)行各設(shè)備的初始化,包括攝像頭設(shè)備、顯示屏設(shè)備等;通過獲取的視頻幀,檢測每一幀人臉數(shù)據(jù),當(dāng)檢測到人臉后,對人臉圖像進(jìn)行灰度化、直方圖均衡化等一系列預(yù)處理降噪;然后對人臉數(shù)據(jù)進(jìn)行特征提取;最后通過與人臉庫中的人臉特征數(shù)據(jù)進(jìn)行比對,若匹配成功則發(fā)送相應(yīng)的信號打開電控鎖開啟門禁。系統(tǒng)主程序的具體流程如圖7所示。
3.3? 人臉采集程序設(shè)計(jì)
人臉采集程序通過攝像頭采集人臉圖像,并將其以文件的形式保存在存儲器中,同時(shí)將采集到的人臉傳送至液晶屏顯示。人臉采集程序具體流程如圖8所示。
人臉采集部分采用V4L2規(guī)范的視頻設(shè)備接口框架。首先打開攝像頭設(shè)備文件并進(jìn)行初始化工作,包括獲取攝像頭驅(qū)動信息、設(shè)置圖像格式;然后向內(nèi)核申請視頻采集數(shù)據(jù)的緩沖區(qū),并將申請到的內(nèi)存緩沖區(qū)映射到用戶空間;最后開始采集人臉圖像,底層部分完成視頻的采集,應(yīng)用程序取出幀緩沖并完成訪問后,將幀緩沖重新入隊(duì);如果不繼續(xù)采集圖像則關(guān)閉攝像頭設(shè)備停止圖像采集。
3.4? 人臉識別程序設(shè)計(jì)
人臉識別主要作用是判斷采集到的人臉數(shù)據(jù)是否在已建立好的人臉數(shù)據(jù)集中,若存在則返回?cái)?shù)據(jù)庫中的人臉信息。首先采用Adaboost算法進(jìn)行人臉檢測,并提取人臉特征;然后計(jì)算該人臉特征與數(shù)據(jù)庫中已存在特征人臉的歐氏距離;最后判斷此距離與程序預(yù)設(shè)的閾值的大小,若小于設(shè)定的閾值,則識別成功,此人臉存在于數(shù)據(jù)庫中,為合法人臉[12]。人臉識別程序具體流程如圖9所示。
4? 系統(tǒng)開發(fā)環(huán)境
根據(jù)人臉識別門禁系統(tǒng)的實(shí)際需求,選擇QT Creator作為應(yīng)用程序的開發(fā)工具。QT作為跨平臺的C++圖形庫和用戶界面語言庫,為應(yīng)用程序開發(fā)者提供界面設(shè)計(jì)所需的所有功能,并具有豐富的API,函數(shù)接口簡單,易于編程,支持嵌入式開發(fā)。A38C4759-205F-4634-AD7C-11164E5A035B
OpenCV是一個(gè)開源計(jì)算機(jī)視覺庫,采用C/C++語言編寫,具有良好的移植性,可以Linux等各種主流的操作系統(tǒng)平臺運(yùn)行。本系統(tǒng)在嵌入式Linux環(huán)境下對OpenCV進(jìn)行編譯,將編譯好的OpenCV庫移植到系統(tǒng)的根文件系統(tǒng)的/usr/lib目錄,應(yīng)用程序采用其提供的有關(guān)圖像信號處理和人臉識別算法相關(guān)的接口,極大程度地提高了系統(tǒng)的開發(fā)效率。
5? 系統(tǒng)測試
通過對系統(tǒng)軟硬件的設(shè)計(jì)以及開發(fā)環(huán)境的搭建,成功實(shí)現(xiàn)了人臉識別門禁系統(tǒng)的設(shè)計(jì)。系統(tǒng)測試主要是對人臉識別精度以及識別效率進(jìn)行測試,系統(tǒng)運(yùn)行畫面如圖10所示。
系統(tǒng)預(yù)設(shè)注冊了40張人臉數(shù)據(jù),包括35張ORL人臉以及5張實(shí)驗(yàn)室人員人臉。通過5次實(shí)驗(yàn)進(jìn)行注冊人臉與未注冊人臉識別,實(shí)驗(yàn)結(jié)果如表1所示。實(shí)驗(yàn)表明該系統(tǒng)具有較高的識別精度與識別效率。
6? 結(jié)? 論
本文詳細(xì)介紹了基于IMX6ULL處理器的人臉識別門禁控制系統(tǒng)的設(shè)計(jì),給出了系統(tǒng)的硬件模塊設(shè)計(jì)以及相關(guān)的軟件實(shí)現(xiàn)方案。通過測試表明,本系統(tǒng)的人臉識別成功率較高,并具有較好的穩(wěn)定性與安全性,滿足人臉識別門禁系統(tǒng)的設(shè)計(jì)要求。嵌入式系統(tǒng)與人臉識別技術(shù)相結(jié)合的智能門禁系統(tǒng),成本低、專用性強(qiáng)、交互性友好,可拓展性強(qiáng)。本系統(tǒng)還有許多地方需要改進(jìn),比如隨著樣本數(shù)量的增加識別精度會有所下降,缺乏活體檢測等。所以,在中小型場所的門禁控制應(yīng)用中,本系統(tǒng)有著一定的推廣價(jià)值。
參考文獻(xiàn):
[1] 張建楠.基于嵌入式的人臉識別智能門禁系統(tǒng)研究與設(shè)計(jì) [D].杭州:杭州電子科技大學(xué),2020.
[2] 王會來,邵軍,呂雪棟,等.人臉識別技術(shù)在智能樓宇中的應(yīng)用研究 [J].科技創(chuàng)新與應(yīng)用,2021,11(20):182-184.
[3] 張燕,任安虎,王磊.人臉識別智能門禁系統(tǒng)的優(yōu)化設(shè)計(jì)技術(shù) [J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2020,20(4):55-58.
[4] 魏昂.基于ARM的智能接觸控制系統(tǒng)的硬件設(shè)計(jì)與實(shí)現(xiàn) [D].北京:北京交通大學(xué),2018.
[5] 王佳超,王思懿,李黨娟,等.基于FPGA圖像采集系統(tǒng)的硬件電路設(shè)計(jì) [J].自動化儀表,2020,41(3):76-79+83.
[6] 陳培英,王承林,胡紅林,等.基于ARM及ZigBee的智能家居遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)路徑[J].現(xiàn)代電子技術(shù),2017,40(19):41-44.
[7] 陳文明.大屏幕TFT-LCD驅(qū)動電路設(shè)計(jì) [J].光電技術(shù)應(yīng)用,2019,34(1):35-40.
[8] 劉義平.音視頻采集硬件電路設(shè)計(jì)及實(shí)現(xiàn) [J].電子技術(shù)與軟件工程,2021(13):88-89.
[9] 鄔慧敏,吳琨愉,吳巍,等.基于IMX6UL核心板的多旋翼無人機(jī)通用接口的設(shè)計(jì)與實(shí)現(xiàn) [J].機(jī)電工程技術(shù),2019,48(8):99-102.
[10] 陳一波,楊玉華,王紅亮,等.基于DDR3-SDRAM的圖像采集與顯示系統(tǒng) [J].電子器件,2017,40(3):702-707.
[11] 劉宇皓.基于ARM的通用型人臉識別系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn) [D].成都:電子科技大學(xué),2021.
[12] 馮晶.基于AdaBoost算法的人臉檢測系統(tǒng)研究及其SoC實(shí)現(xiàn) [D].南京:南京航空航天大學(xué),2017.
作者簡介:嚴(yán)輝(1962—),男,漢族,安徽合肥人,副教授,安徽建筑大學(xué),本科,方向:計(jì)算機(jī)控制和嵌入式系統(tǒng)應(yīng)用;徐勉(1995—),男,漢族,安徽安慶人,碩士研究生在讀,研究方向:嵌入式系統(tǒng)。A38C4759-205F-4634-AD7C-11164E5A035B