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

2018-02-24 13:55胡慧之陈从悦惠蕴心秦瑶
电脑知识与技术 2018年34期
关键词:人脸识别

胡慧之 陈从悦 惠蕴心 秦瑶

摘要:为了提高智能门禁的安全性和控制设计成本,本文提出了基于STM32的人脸识别门禁系统的设计方案。系统以STM32单片机为控制核心,以串口触摸屏为人机交互窗口,以家用USB摄像头为图像采集设备,以WIFI模块传输图像数据和匹配结果,实现了刷脸开锁。通过测试,系统功能稳定,且易于实现,具有一定的应用价值。

关键词:STM32;人脸识别;智能门禁;WIFI模块

中图分类号:TP311      文献标识码:A      文章编号:1009-3044(2018)34-0176-02

1 引言

随着科技的迅猛发展和人们物质水平的提高,人们对居住安全的要求也越来越高。门禁控制作为安全防范系统的重要组成部分,越来越受到人们的关注。钥匙、密码键盘、IC卡等传统方式在使用过程中存在取用不便、易丢失、易窃取等缺陷,安全性较低,已无法满足现代人的需要。

近年来,随着生物识别技术的不断发展与成熟,其具有的便携性、非易失性、不会被遗忘、难盗用等优势也逐步应用到门禁系统中。常见的生物识别技术有:指纹、虹膜、语音、人脸等多种识别方式[1]。虽然人脸识别容易受到光照强度、采集角度等诸多因素的影响,但它具有非接触式、可在人們毫无察觉的情况下进行图像采集和不易被仿造、识别率较高的优势,具有广泛的应用价值和市场前景。因此,本文将人脸识别技术和智能门禁系统有机结合,设计了一种使用方便、可靠性高、应用范围广的新型智能门禁系统。

2 系统总体方案设计

本系统主要以 STM32系列单片机作为微控制器,以串口触摸屏为人机交互窗口,以家用USB摄像头为图像采集设备,另外加入了人体红外感应模块、LED灯和语音提示等部件,系统总体设计框图如图1所示。

当人体红外检测模块检测到人体时,USB摄像头采集图像,通过WIFI上传至上位机,与预先存储的用户人脸图像数据进行识别匹配,匹配完成后再将结果经由WIFI发送回STM32单片机。STM32单片机根据接收到的信息控制门锁的开合,并在串口触摸屏上显示相关信息,同时辅以语音提示。若在光线较暗的情况下检测到人体,可由STM32单片机驱动LED灯进行照明,提高人体识别的准确度。

3 硬件设计

3.1 主控模块设计

本系统选用的主控芯片是STM32F103,它是首款基于ARMv7-M体系结构的32位标准RISC(精简指令集)处理器,具有执行代码效率高,外设资源丰富等众多优点。该系列微处理器工作频率设定在72MHz,有高达128K字节的内置Flash存储器和20K字节的SRAM,方便程序编写,而且具有丰富的通用I/O端口。其最小系统电路主要由主控芯片、电源模块、时钟电路、复位电路、JTAG调试接口电路和启动模式选择电路组成。

3.2 WIFI模块

本系统选择OpenWRT WIFI模块实现图像传输、图像的实时显示以及匹配结果的传输,在上位机中使用MySQL数据库存储用户信息及开门记录。OpenWRT是一个高度模块化与自动化的嵌入式Linux系统,装载有强大的网络接口,并且具有很强的扩展性[2]。本WIFI模块的核心芯片是高通AR9331,集成MIPS 24K内核、1个五端口百兆以太网交换机、高速串口和USB2.0 Host/Device接口[3],最高主频400MHz,板载64MB DDR2 RAM和8MB flash;支持 IEEE802.11 b/g/n,无线传输速率最大150Mbps,无线传输距离100m。WIFI模块与STM32单片机的连接如图2所示,通过串口进行通信,WIFI模块的RXD接STM32的TXD,TXD接STM32的RXD。

3.3 串口触摸屏模块

本系统选用可编程的串口触摸屏实现人机交互,它拥有先进的人机界面处理系统和美观的嵌入式图形界面。串口屏是由液晶屏+单片机+存储器三部分构成的,由计算机将图片和汉字点阵通过GpuMaker程序预先存储到串口屏的存储器中,然后由单片机通过串口发送指令调用显示即可。在串口屏上还可以设置热区,当触摸热区时,串口屏会返回热区编号给单片机,单片机识别后进行相应的控制。

本系统选用的4.6寸的串口触摸屏有4 个标准的引出脚+5v、RX、TX、GND;支持波特率2400~256000,存储器8M,自带汉字库,支持横竖屏显示;支持点,线,圆,方框,填充框等基本图形显示;内部集成触摸屏标准界面,支持32个热区。串口屏接口电路如图3所示,VCC5(+5V) 和DGND 对等连接,串口屏的RX接STM32的TX,TX接STM32的RX。

3.4 人体红外检测模块

本系统中使用红外热释电传感器来感应人体,只有当检测到人体时,由单片机启动摄像头进行图像采集并进行数据传输,以此减小系统功耗。本系统选用的红外检测模块是微型SR602人体感应模块,此模块灵敏度高,响应速度快,静态功耗小、体积小巧。模块工作电压为3.3V~15V,可全自动感应,感应距离0~5米;在感应范围内感应到人体后,输出高电平,可重复触发;IC置于铁壳内,抗干扰能力强,EMI小。模块为数字开关量输出,输出脚OUT可直接连接单片机通用I/O端口。

3.5 语音提示模块

本系统选择XFS5152CE语音合成芯片实现系统工作时的状态播报,如:当系统启动时播报“人脸识别门禁系统已就绪!”;当人脸识别成功开锁后,播报“门已打开”等,同时可通过按键来控制音量。XFS5152CE是一款高集成度的语音合成芯片,可实现中文、英文语音合成;并集成了语音编码、解码功能,可支持用户进行录音和播放;除此之外,还创新性地集成了轻量级的语音识别功能,支持30个命令词的识别,并且支持用户的命令词定制需求。它支持UART、I2C、SPI三种通讯方式,UART串口支持4种通讯波特率可设:4800 bps、9600bps、57600bps、115200bps。本系统中采用的是串口通信模式。

4 软件设计

系统软件设计分为单片机程序和上位机程序两部分。单片机部分程序主要由系统主程序、底层驱动程序、各功能模块子程序组成,各程序均由独立的C语言文件编写。主程序流程图如图5所示。系统软硬件配置好后,首先对系统进行初始化处理,确定整个系统正常运行。当在感应区内检测到人体时,打开摄像头进行图像采集并通过WIFI上传至上位机,在上位机中将采集到人脸信息与库中保存的人脸信息进行匹配,匹配完成后再将结果通过WIFI传给单片机,由单片机控制相应部件工作。

上位机软件主要完成人脸识别任务,可以通过软件平台对系统进行开发。选择合适的软件平台,不仅能给开发人员带来方便,而且还能节省开发时间。本文选用Linux操作系统和OpenCV开源计算机视觉库进行系统软件开发。OpenCV应用的系统很多,它的移植性强,其库函数大部分为C函数,源代码完全对外开放,包含很多图像处理和计算机视觉方面的算法,并且代码基本免费,所以对于开发人员来说是一个很好的选择。

5 结束语

本文介绍了基于STM32单片机的智能门禁系统的设计方案及实现过程,系统以高性能单片机、串口触摸屏、摄像头、WIFI模块等核心部件实现了人脸识别门禁功能。通过测试表明,已录入系统的用户可通过人脸识别实现开锁功能,并能通过串口屏人机交互实现删除用户、增加用户等功能。系统的人脸信息采集通过家用USB摄像头,人脸识别功能是通过WIFI传输到上位机上完成,整个系统兼容性高、可移植性强。

参考文献:

[1] 谭铁牛.智能化时代生物识别的机遇与挑战[J].重庆理工大学学报,2015(10).

[2] 张浩.基于WIFI可视化门禁系统的设计与实现.信息技术与信息化方案与应用,2018(4).

[3] 张萍,等.基于Android平台的WIFI遥控智能小车的设计.计算机测量与控制,2018,26(6).

【通联编辑:光文玲】

猜你喜欢
人脸识别
人脸识别 等
揭开人脸识别的神秘面纱
基于(2D)2PCA-LBP 的人脸识别方法的研究
人脸识别在高校安全防范中的应用
基于类独立核稀疏表示的鲁棒人脸识别
基于K-L变换和平均近邻法的人脸识别