基于ARM的人脸识别门禁系统设计

2022-06-15 01:21严辉徐勉吴强
现代信息科技 2022年2期
关键词:门禁系统人脸识别

严辉?徐勉?吴强

摘  要:通过对嵌入式技术以及人脸识别的研究,提出了在基于IMX6ULL处理器上,搭建人脸识别门禁系统。根据系统的功能需求给出了系统总体框架以及各个功能模块的实现方案,包括图像采集模块、存储模块和输入输出模块的硬件设计和系统的软件实现。该系统运行稳定,效率高,满足人脸识别门禁系统的设计要求。

关键词:人脸识别;门禁系统;IMX6ULL

中图分类号:TP36;TP391.4          文献标识码: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  引  言

随着社会经济的快速发展,人民生活水平的不断提高,人们的安防理念也逐步提升。门禁系统作为安防的基础,其所具备的智能化、自动化等特点,受到了大多数用户的青睐。在追求更加安全,稳定的同时,对其成本以及便携性也有了更高的要求,因此对门禁系统的研究尤为重要。

在门禁系统中,人脸识别技术相比于其他生物特征识别方式,有着更加自然、直接、友好等优势。传统的人脸识别门禁系统一般搭建在PC机上,由于其便携性和灵活性不够,并且成本高,所以在运用方面受到一些限制[1,2]。嵌入式系统是可以针对需求来定制的一种专用计算机系统,运用非常广泛。随着嵌入式技术的快速发展,处理器的性能也在不断提高,嵌入式系统的运算速度更快,处理数据的能力更强,并且它的体积更便于携带,将嵌入式系统与人脸识别技术相结合,可以发挥出嵌入式系统体积小、成本低、专用性强,以及人脸识别的交互友好性、安全性等一系列特點[3]。

本文深入探讨了嵌入式人脸识别门禁系统的设计,在基于IMX6ULL处理器的嵌入式系统上,进行了主要的硬件模块设计以及介绍了系统的软件实现,给出了系统的环境搭建以及系统的性能测试。

1  系统总体设计

人脸识别门禁系统的主要工作是采集人脸图像并进行一系列图像处理,处理后的数据与人脸库中的数据进行比对,通过识别的结果判断是否开启门禁[4]。系统的总体结构设计如图1所示。

根据不同的功能可以划分为主控模块、图像采集模块、存储模块以及输入输出模块。主控模块为整个系统的核心,由硬件和软件两部分组成,硬件由IMX6ULL处理器扩展外围电路而成,软件为人脸检测、人脸识别算法的应用程序实现,该模块主要负责各个模块的调度和数据处理;图像采集模块,通过前端摄像头采集人脸图像,实时显示在显示屏上,并传给主控模块进行数据处理;存储模块,主要存储嵌入式Linux操作系统、应用程序以及用户的人脸数据库;输入输出模块,主要为触摸显示屏运行人机交互的GUI界面程序,以及整个系统最后的执行机构,通过主控模块的识别结果发送相应的信号来控制电子门锁的开关状态。

2  系统硬件设计

2.1  IMX6ULL处理器

处理器是嵌入式门禁系统的核心,系统采用基于ARM Cortex-A7架构的IMX6ULL处理器,主频可达792 MHz,自带1个SDRAM控制器、4个I2C接口、1个摄像头接口、1个RGB LCD控制器、2个以太网接口以及众多的通用IO口等,板载512 MB的DDR3用于系统内存,以及8 GB的EMMC作为系统存储器,可挂载Linux操作系统和应用程序的运行,以及数据的存储。该处理器功耗低、性能好,能满足人脸识别门禁系统的要求。

2.2  摄像头接口电路设计

采用ATK-OV5640摄像头模块,OV5640是一款CMOS类型的数字图像传感器,集成了有源晶振、LDO和自动对焦功能,该传感器支持输出最大为500万像素的图像,支持自动图像控制功能与图像质量控制,可以提高采集人脸图像的质量,同时支持RGB、YUV、YCbCr等图像输出格式。该传感器的高像素、低噪音和低串扰以及自带的嵌入式微处理器,极大的方便应用程序对图像数据进行处理。摄像头连接示意图如图2所示。

OV_D[7:0]为8位数据的输出,与IMX6ULL的CSI_DATA[7:0]连接;OV_PIXCLK为像素时钟输出,OV_VSYNC为帧同步信号输出,OV_HSYNC为行同步信号输出,OV_PWDN为掉电使能,OV_RESET为复位信号,分别与IMX6ULL的CSI_PIXCLK、CSI_VSYNC、CSI_HSYNC、CSI_PWDN、CSI_RESET相连接。摄像头模块通过SCCB串行摄像头控制总线进行配置,由传输时钟信号的OV_SCL和传输数据信号的OV_SDA组成,SCCB的传输协议类似I2C协议,因此连接到IMX的I2C2上[5,6]。AVDD接模拟电源,该芯片需要2.45 V到3.0 V的模拟电压,为了节省电源芯片,这里采用2.8 V。DVDD为1.5 V核电压,可以内部供应,所以外接电容后再接地。A38C4759-205F-4634-AD7C-11164E5A035B

2.3  LCD与触摸屏接口电路设计

系统采用ATK-7016这款TFT LCD+触摸屏相结合的电容触摸屏。IMX6ULL自带LCD控制器eLCDIF,用于连接RGB LCD接口的屏幕,由于RGB LCD内部没有内存,需要在SDRAM中分配一段内存作为RGB LCD屏幕的显存。eLCDIF通过DOTCLK接口与屏幕连接,包括DOTCLK像素时钟信号、HSYNC水平同步信号、VSYNC垂直同步信号和ENABLE数据使能信号。驱动IC选择FT5426触控芯片,通过24根数据线和4个IO连接主控制器:复位引脚RST,中断引脚INT,SCL与SDA为I2C引脚[7]。LCD连接示意图如图3所示。

R[7:0]、G[7:0]和B[7:0]这24根数据线分别连接着IMX6ULL的LCD_DATA[23:16 15:8 7:0],VSYNC,HSYNC,DOTCLK,ENABLE信号线连接IMX6ULL的LCD_VSYNC,LCD_HSYNC,LCD_CLK,LCD_ENABLE,由于这些IO均为复用引脚,还需要配置相关寄存器将这些IO复用为LCD功能[8,9]。主控制器通过I2C接口来读取驱动IC里面的触摸坐标数据,为了减小CPU的占用率,采用轮询的方式不断查询是否有触摸点按下,而不采用中断的方式。所以将SCL、SDA连接到IMX的I2C2上,INT与RST分别连接到SNVS_TAMPER9与GPIO1_IO9上。

2.4  存储模块电路设计

IMX6ULL作为核心处理器,运行Linux操作系统,应用程序以及人脸识别算法,需要较大的内存空间。因此,本系统的存储器使用一片外接的512 MB的DDR3芯片,型号为NT5CC256M16EP。DDR3是在SDRAM的基础上扩大数据的传输速率,本质上还是SDRAM。IMX6ULL内置SDRAM控制器

A[14:0]為地址线,列地址为A0~A9,共10根,行地址为A0~A14,共15根。BA[2:0]为BANK选择线,实现一片DDR的8个BANK选择,因此DDR总容量为8BANK×2^10×2^15×2=512 MB。DQ[15:0]为16根数据线,因此数据宽度为16位,通过数据选通引脚LDQS与UDQS进行数据选择,LDQS选通低字节DQ0~7,UDQS选通高字节DQ8~15。(RAS)、(CAS)、(WE)分别为行选通信号、列选通信号和写使能信号。DDR3采用差分时钟线,CK和(CK) 为时钟信号,所有的控制和地址信号都在CK的上升沿和(CK)的下降沿相交处采集[10]。

2.5  电磁锁电路设计

系统运行的结果通过电磁锁来反馈,由于处理器芯片引脚电流驱动能力有限,需通过继电器实现对电磁锁的控制。电磁锁电路设计如图5所示。

IMX6ULL处理器的GPIO口与三极管相连,通过三极管放大电路增加电流驱动能力。当GPIO口输出高电平时,三极管Q1处于饱和导通状态,电源给继电器线圈通电,继电器吸合,常开触点变为常闭触点,电磁锁通电使开关打开;当GPIO口输出低电平时,三极管Q1断开,继电器触点由闭合转为断开,电磁锁断电使开关闭合。为了降低三极管Q1的功耗,接1 kΩ的电阻R1限流。由于线圈中的电流在断开的情况下不能立刻变为零,导致线圈两端会产生一个较大的反向电动势,所以与继电器反向并联一个保护二极管D1,抑制浪涌,防止三极管被反向击穿。

3  系统软件设计

3.1  系统软件总体设计

根据人脸识别门禁系统的具体功能设计需求,将软件系统分为五个功能模块:人脸采集模块、人脸识别模块、人脸注册模块、LCD显示模块以及门锁控制模块[11]。在主线程下分别创建各个模块的子线程,方便对系统的升级及优化。系统总体设计如图6所示。

3.2  主流程设计

系统上电后首先进行各设备的初始化,包括摄像头设备、显示屏设备等;通过获取的视频帧,检测每一帧人脸数据,当检测到人脸后,对人脸图像进行灰度化、直方图均衡化等一系列预处理降噪;然后对人脸数据进行特征提取;最后通过与人脸库中的人脸特征数据进行比对,若匹配成功则发送相应的信号打开电控锁开启门禁。系统主程序的具体流程如图7所示。

3.3  人脸采集程序设计

人脸采集程序通过摄像头采集人脸图像,并将其以文件的形式保存在存储器中,同时将采集到的人脸传送至液晶屏显示。人脸采集程序具体流程如图8所示。

人脸采集部分采用V4L2规范的视频设备接口框架。首先打开摄像头设备文件并进行初始化工作,包括获取摄像头驱动信息、设置图像格式;然后向内核申请视频采集数据的缓冲区,并将申请到的内存缓冲区映射到用户空间;最后开始采集人脸图像,底层部分完成视频的采集,应用程序取出帧缓冲并完成访问后,将帧缓冲重新入队;如果不继续采集图像则关闭摄像头设备停止图像采集。

3.4  人脸识别程序设计

人脸识别主要作用是判断采集到的人脸数据是否在已建立好的人脸数据集中,若存在则返回数据库中的人脸信息。首先采用Adaboost算法进行人脸检测,并提取人脸特征;然后计算该人脸特征与数据库中已存在特征人脸的欧氏距离;最后判断此距离与程序预设的阈值的大小,若小于设定的阈值,则识别成功,此人脸存在于数据库中,为合法人脸[12]。人脸识别程序具体流程如图9所示。

4  系统开发环境

根据人脸识别门禁系统的实际需求,选择QT Creator作为应用程序的开发工具。QT作为跨平台的C++图形库和用户界面语言库,为应用程序开发者提供界面设计所需的所有功能,并具有丰富的API,函数接口简单,易于编程,支持嵌入式开发。A38C4759-205F-4634-AD7C-11164E5A035B

OpenCV是一个开源计算机视觉库,采用C/C++语言编写,具有良好的移植性,可以Linux等各种主流的操作系统平台运行。本系统在嵌入式Linux环境下对OpenCV进行编译,将编译好的OpenCV库移植到系统的根文件系统的/usr/lib目录,应用程序采用其提供的有关图像信号处理和人脸识别算法相关的接口,极大程度地提高了系统的开发效率。

5  系统测试

通过对系统软硬件的设计以及开发环境的搭建,成功实现了人脸识别门禁系统的设计。系统测试主要是对人脸识别精度以及识别效率进行测试,系统运行画面如图10所示。

系统预设注册了40张人脸数据,包括35张ORL人脸以及5张实验室人员人脸。通过5次实验进行注册人脸与未注册人脸识别,实验结果如表1所示。实验表明该系统具有较高的识别精度与识别效率。

6  结  论

本文详细介绍了基于IMX6ULL处理器的人脸识别门禁控制系统的设计,给出了系统的硬件模块设计以及相关的软件实现方案。通过测试表明,本系统的人脸识别成功率较高,并具有较好的稳定性与安全性,满足人脸识别门禁系统的设计要求。嵌入式系统与人脸识别技术相结合的智能门禁系统,成本低、专用性强、交互性友好,可拓展性强。本系统还有许多地方需要改进,比如随着样本数量的增加识别精度会有所下降,缺乏活体检测等。所以,在中小型场所的门禁控制应用中,本系统有着一定的推广价值。

参考文献:

[1] 张建楠.基于嵌入式的人脸识别智能门禁系统研究与设计 [D].杭州:杭州电子科技大学,2020.

[2] 王会来,邵军,吕雪栋,等.人脸识别技术在智能楼宇中的应用研究 [J].科技创新与应用,2021,11(20):182-184.

[3] 张燕,任安虎,王磊.人脸识别智能门禁系统的优化设计技术 [J].单片机与嵌入式系统应用,2020,20(4):55-58.

[4] 魏昂.基于ARM的智能接触控制系统的硬件设计与实现 [D].北京:北京交通大学,2018.

[5] 王佳超,王思懿,李党娟,等.基于FPGA图像采集系统的硬件电路设计 [J].自动化仪表,2020,41(3):76-79+83.

[6] 陈培英,王承林,胡红林,等.基于ARM及ZigBee的智能家居远程监控系统实现路径[J].现代电子技术,2017,40(19):41-44.

[7] 陈文明.大屏幕TFT-LCD驅动电路设计 [J].光电技术应用,2019,34(1):35-40.

[8] 刘义平.音视频采集硬件电路设计及实现 [J].电子技术与软件工程,2021(13):88-89.

[9] 邬慧敏,吴琨愉,吴巍,等.基于IMX6UL核心板的多旋翼无人机通用接口的设计与实现 [J].机电工程技术,2019,48(8):99-102.

[10] 陈一波,杨玉华,王红亮,等.基于DDR3-SDRAM的图像采集与显示系统 [J].电子器件,2017,40(3):702-707.

[11] 刘宇皓.基于ARM的通用型人脸识别系统软件设计与实现 [D].成都:电子科技大学,2021.

[12] 冯晶.基于AdaBoost算法的人脸检测系统研究及其SoC实现 [D].南京:南京航空航天大学,2017.

作者简介:严辉(1962—),男,汉族,安徽合肥人,副教授,安徽建筑大学,本科,方向:计算机控制和嵌入式系统应用;徐勉(1995—),男,汉族,安徽安庆人,硕士研究生在读,研究方向:嵌入式系统。A38C4759-205F-4634-AD7C-11164E5A035B

猜你喜欢
门禁系统人脸识别
门禁系统在地铁综合监控系统中的应用相关探究
人脸识别的“国标”来了
一个简易的校园智能门禁系统的设计
关于门禁系统在地铁综合监控系统中的运用分析
基于地铁BAS系统建设门禁系统的方案思路分析
中科视拓开放商业版本人脸识别算法
人脸识别好用但不能滥用
基于门禁系统在地铁综合监控系统中的实践分析
荣耀畅玩7C:人脸识别
iPhoneX来了!