APP下载

基于STM32人脸识别门禁设计

2022-06-10邱爽刘俊伯

江苏广播电视报·新教育 2022年6期
关键词:人脸识别

邱爽 刘俊伯

摘要:本文制作了一个以STM32F429单片机为核心控制器件,以0V5640摄像头为图像采集设备,以7寸RGB屏作为显示设备,继电器连接电磁锁为硬件执行部分的人脸识别门禁系统,通过检测,系统功能稳定,且相对易于实现,具有一定的使用价值。

关键词:人脸识别;STM32;门禁设计

1引言

随着科技的快速发展和人们物质生活水平的不断提高,人们对居住方面的要求也越来越高,门禁控制作为保护家庭财产与安全的重要一环,越来越受到人们的关注与重视。

传统的刷卡与密码式门禁系统因为其易失性、较单一性等缺点,逐渐被各种生物技术取代,其中人脸识别具有非接触式、安全性能高、识别率较高等特点,将其引入到门禁系统中,具有广泛的商业前景与市场价值,本文将人脸识别技术与门禁系统相结合,设计了一种使用方便,可靠性较高,应用范围广泛的门禁系统。

2系统总体设计

以STM32F4系列单片机为微控制器,OV5640摄像头为图像采集设备,继电器、电磁锁为执行设备构成,总体框图如下图1所示

使用时,系统用户需要先在设备中

添加需要的人脸模板,再对着采集图片

信息的摄像头按键进行实时识别,结果正确时会返回所添加的人脸识别模板编号,并进行开锁。

3软件设计

软件设计总体结构框图2所示

3.1图像采集

STM32F429先将SCCB总线初始化,然后初试化DCMI接口,将 DCMI接口配置为帧中断,再由SCCB线对摄像头的工作参数进行配置,包括图像输出的格式,输出的大小等。系统初始化的参数设置完成之后,自动开启 DCMI 传输获取人脸图像数据,最后微处理器通过DMA将OV5640采集到的人像图像数据传递到数据缓存区中,每获得一帧图像数据后产生中断操作,系统进入 DCMI 的中断服务函数,然后将缓存区的一帧图像数据发送出去,实现一帧图像的采集和发送。

3.2图像传输

采用的是 I2C协议实现嵌入式通信。LWIP是开源的轻量级IP协议,可以只用少量RAM和ROM就可以运行,不以操作系统作为支持依旧可以运行,可以说这是一种嵌入式系统中运用TCP或IP 中最适合的实现运行协议方式。

3.3图像显示与存储

由于从服务器发送到客户端是实时的,JPEG 静态图像数据流可以直接将JPEG 数据流显示和操作,所以客户端需要通过调用库来实现,JPEG 数据流的显示:当在液晶显示屏操作界面上点击KEY_UP(添加新的人脸模板)或者KEY0(识别人脸)后,客户端开始不断地接收图像数据,在接收到一幅完整的图像数据的JPEG数据流后,将数据保存在缓存区中。

在此过程中,以STM32F429芯片的片上内存并不足以支撑一张图片的存储或者缓存,所以增加了外设SDCard来提升存储空间,对于SDCard,STM32提供了两种读写的方式,SPI和SDIO,实验采用了后者即SDIO模式对SDCard进行读写。

3.4人脸识别核心算法

采用了正点原子提供的stm32f429人脸识别库,

使用方法:

第一步:調用atk_frec_initialization函数,初始化人脸识别库

第二步:调用atk_frec_add_a_face函数,添加人脸模板(如果已经有了,可以忽略次步)

第三步:调用atk_frec_load_data_model函数,加载所有模板到内存里面(仅在添加新模板后需要,如没有添加新模板,则可忽略此步)

第四步:调用atk_frec_recognition_face函数,获取识别结果.

第五步:调用atk_frec_delete_data函数,可以删除一个人脸模板

第六步:如果不想再用识别库,则调用atk_frec_destroy函数,释放所有内存,结束人脸识别.

4硬件设计

本设计所用到的硬件主要有STM32F429开发板、OV5640摄像头、SD卡、电磁锁、继电器和7寸RGB屏幕(1024*600),OV5640摄像头连接单片机STM32F429开发板的DCMI 接口。图3为实物图片。摄像头采集到的图片信息以DMA方式把DCMI 接口接收到的信息送到FSMC接口。最后通过FSMC接口再连接到RGB屏(40P的FPC排线连接),收集到的图像信息再经过一系列的处理之后再呈现出真实的图像效果。

其中电磁锁功率比较高,由于stm32IO口单独承受不了电磁锁的负载,便用到了继电器,stm32F4需要承载7寸RGB屏和摄像头,可再为继电器提供5V电感线圈需要的电压,但后面连接电磁锁(功率较大)的电源可根据具体电磁锁所需电压来添加,其中继电器信号为PB4通用IO口。

5结束语

本文介绍了基于STM32单片机实现人脸识别门禁系统的设计及过程,设计以F4高性能单片机、ov5640摄像头、继电器电磁锁主要模块实现了人脸识别门禁功能,通过测试,录入人脸模板的用户可以通过人脸识别进行开锁,整个程序代码采用HAL库形式编写,可移植性强,系统兼容性高,在生活中具有一定的使用价值。

参考文献:

[1]顾思远.基于STM32的人脸识别门禁系统设计[A].南京:南京工程学院,2020

[2]胡慧之.基于STM32的人脸识别门禁系统的设计[A].无锡:无锡城市职业技术学院,2018

[3]强宇佶.智能家居嵌入式人脸识别门禁系统的设计与实现[A].桂林:桂林理工大学,2020

[4]张心怡.智能人脸识别考勤系统[A].襄阳:湖北文理学院物理与电子工程学院,2019

猜你喜欢

人脸识别
人脸识别的“国标”来了
中科视拓开放商业版本人脸识别算法
人脸识别好用但不能滥用
荣耀畅玩7C:人脸识别
iPhoneX来了!
“人脸识别”人工智能测谎仪研发成功