基于STM32人脸识别门禁设计【完整版】
下面是小编为大家整理的基于STM32人脸识别门禁设计【完整版】,供大家参考。
基于 2 STM32 人脸识别门禁设计
邱爽刘俊伯 摘要:本文制作了一个以 STM32F429 单片机为核心控制器件,以 以 0 0V5640 摄像头为图像采集设备,以 7 7 寸 寸 B RGB 屏作为显示设备,继电器连接电磁锁为硬件执行部分的人脸识别门禁系统,通过检测,系统功能稳定,且相对易于实现,具有一定的使用价值。
关键词:人脸识别;STM32;门禁设计 1 引言 随着科技的快速发展和人们物质生活水平的不断提高,人们对居住方面的要求也越来越高,门禁控制作为保护家庭财产与安全的重要一环,越来越受到人们的关注与重视。
传统的刷卡与密码式门禁系统因为其易失性、较单一性等缺点,逐渐被各种生物技术取代,其中人脸识别具有非接触式、安全性能高、识别率较高等特点,将其引入到门禁系统中,具有广泛的商业前景与市场价值,本文将人脸识别技术与门禁系统相结合,设计了一种使用方便,可靠性较高,应用范围广泛的门禁系统。
2 系统总体设计 以 STM32F4 系列单片机为微控制器,OV5640 摄像头为图像采集设备,继电器、电磁锁为执行设备构成,总体框图如下图1 所示
使用时,系统用户需要先在设备中 添加需要的人脸模板,再对着采集图片 信息的摄像头按键进行实时识别,结果正确时会返回所添加的人脸识别模板编号,并进行开锁。
3 软件设计 软件设计总体结构框图 2 所示 3.1 图像采集 9 STM32F429 先将 B SCCB 总线初始化,然后初试化 I DCMI 接口,将 将 I DCMI 接口配置为帧中断,再由 B SCCB 线对摄像头的工作参数进行配置,包括图像输出的格式,输出的大小等。系统初始化的参数设置完成之后,自动开启 DCMI 传输获取人脸图像数据,最后微处理器通过 DMA 将 OV5640 采集到的人像图像数据传递到数据缓存区中,每获得一帧图像数据后产生中断操作,系统进入 DCMI 的中断服务函数,然后将缓存区的一帧图像数据发送出去,实现一帧图像的采集和发送。
3.2 图像传输 是 采用的是 C I2C 协议实现嵌入式通信。LWIP 是开源的轻量级IP 协议,可以只用少量 RAM 和 ROM 就可以运行,不以操作系统作为支持依旧可以运行,可以说这是一种嵌入式系统中运用 TCP 或 IP 中最适合的实现运行协议方式。
3.3 图像显示与存储 , 由于从服务器发送到客户端是实时的,G JPEG 静态图像数据流
将 可以直接将 G JPEG 数据流显示和操作,所以客户端需要通过调用库来实现,G JPEG 数据流的显示:当在液晶显示屏操作界面上点击 KEY_UP者 (添加新的人脸模板)或者 KEY0 (识别人脸)后,客户端开始不断地接收图像数据,在接收到一幅完整的图像数据的 G JPEG 数据流后,将数据保存在缓存区中。
在此过程中,以 9 STM32F429 芯片的片上内存并不足以支撑一设 张图片的存储或者缓存,所以增加了外设 d SDCard 来提升存储空间,对于 SDCard ,2 STM32 提供了两种读写的方式, SPI和 和 SDIO ,实验采用了后者即 O SDIO 模式对 d 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 硬件设计 本设计所用到的硬件主要有 9 STM32F429 、 开发板、0 OV5640 摄像头、D SD 卡、电磁锁、继电器和 7 7 寸 寸 B RGB 屏幕( 1024*600 ),0 OV5640 摄像头连接单片机 9 STM32F429 开发板的 I DCMI 接口。图 3 为实物图片。摄像头采集到的图片信息以 DMA 方式把DCMI 接口接收到的信息送到 FSMC 接口。最后通过 FSMC 接口再连接到 RGB 屏(40P 的 FPC 排线连接),收集到的图像信息再经过一系列的处理之后再呈现出真实的图像效果。
其中电磁锁功率比较高,由于 O stm32IO 口单独承受不了电磁锁的负载,便用到了继电器,4 stm32F4 需要承载 7 7 寸 寸 B RGB 屏供 和摄像头,可再为继电器提供 V 5V 电感线圈需要的电压,但后面连接电磁锁(功率较大)的电源可根据具体电磁锁所需电压来添加,其中继电器信号为 4 PB4 通用 O IO 口。
5 结束语 本文介绍了基于 STM32 单片机实现人脸识别门禁系统的设计及过程,设计以 4 F4 高性能单片机、0 ov5640 摄像头、继电器电磁锁主要模块实 现了人脸识别门禁功能,通过测试,录入人脸模板的用户可以通过人脸识别进行开锁,整个程序代码采用 L HAL 库形式编写,可移植性强,系统兼容性高,在生活
中具有一定的使用价值。
参考文献:
[1]顾思远.基于 STM32 的人脸识别门禁系统设计[A].南京:南京工程学院,2022 [2]胡慧之.基于 STM32 的人脸识别门禁系统的设计[A].无锡:无锡城市职业技术学院,2022 [3]强宇佶.智能家居嵌入式人脸识别门禁系统的设计与实现[A].桂林:桂林理工大学,2022 [4]张心怡.智能人脸识别考勤系统[A].襄阳:湖北文理学院物理与电子工程学院,2022
推荐访问:基于STM32人脸识别门禁设计 门禁 完整版 识别