摘要:本文基于树莓派Raspberry Pi 4B 卡片式微型计算机,设计一款基于OpenCV人脸识别打卡机以及基于PyQt的PC端的GUI用户应用程序。人脸识别打卡机用于监控区域入口控制人员进出,采集的人员信息将会与与室内运动摄像机采集的用户信息进行匹配。通过对比两次区域采集的信息,从而实现对进入监控区域人员的运动追踪。双重监控信息验证从而保证对监控区域内人员的全方位监控。
关键词:Raspberry Pi 4B、人脸识别、OpenCV、PyQt、运动追踪
1.项目设计架构
本项目以一间唯一出口的矩形房间作为实验监控区域。采用树莓派Raspberry Pi 4B和一个USB免驱摄像模组在监控区域入口搭建一个人脸识别打卡机。打卡机将采集到的人脸数据与现有库内数据进行比较,当采集到数据库内用户人脸信息后则控制继电器模块开门使用户进入监控区域。本项目旨在推广到一些场地较大、人口流动大的会场等,为避免一次检测后有人尾随进入监控区域,特在监控区域天花板对角线放置两个摄像头,实现对监控区域的无死角监控。本项目同时为管理员开发了基于PyQt的用户GUI应用程序,用户可以通过账号密码登录该程序,实时查看监控区域内的两个摄像头采集的现场状况,并且当非用户违法进入后,系统将会发出报警并对该非法用户进行运动监测。在图像上显示出红色框以和用户进行区分。
2.硬件设计
2.1打卡机硬件设计
打卡机控制模块为树莓派Raspberry Pi 4B(4GB版本+32G内存卡),树莓派是基于ARM的微型电脑主板,以SD作为内存硬盘,卡片主板周围有1/2/4个USB接口和一个10/100 以太网接口,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口。并且树莓派Raspberry Pi 4B版本预留了40个引脚,包括GPIO、SPI、I2C、UART、PWM等。
在树莓派外接1080P USB摄像模组,并通过mini HDMI连接5寸800 * 480高清电容触摸显示屏进行显示。树莓派通过GPIO控制12V继电器模块从而控制门锁开关。
2.2室内摄像模块设计
本项目在目标监控区域房间内的天花板按对角线方位放置两个摄像机,用于检测、匹配用户信息。对非法进入目标监控区域的用户进行运动追踪,并发出报警信号。
3.软件设计
3.1软件设计方案对比
本项目最初设计应用时有两种提议,一种是客户端另一种是网页端。
网页端可以让客户在使用的时候不必下载客户端,这样对于客户的机器配置要求降低了非常多。但考虑到网页版建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
客户端版一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。面向相对固定的用户群,对信息安全的控制能力很强。
因此,综合网页版对安全以及访问速度的多重考虑和客户端相较于网页端的性能优势,我们采取设计客户端的方案。
3.2基于PyQt用户应用程序
PyQt是一个创建GUI应用程序的工具包。它是Python编程语言和Qt库的成功融合。Qt库是最强大的库之一。
我们为用户设计的应用程序功能包括:账号密码登录、实时监测目标监控区域、用户人脸信息录入、非法用户进入视频记录等。基本上满足安防监控系统的主要功能需求。
3.3树莓派人脸打卡机
树莓派Raspberry Pi 4B基于OpenCV实现了人脸录入、人脸检测等功能。并且通过继电器模块等实现对用户进入的控制。
用户需先进行人脸录入,模型会在录入期间采集多张用户的人脸照片作为训练样本。由于采集用户照片集时,图像由于光线强度、光线角度、表情等因素不同,我们将对采集到的人脸图像进行预处理。
OpenCV提供了三种人脸识别算法:Eigenfaces、Fisherfaces、LBPH等。相较于Eigenfaces和Fisherfaces,LBPH拥有更高的识别准确率,故本项目采取LBPH人脸识别器进行人脸识别。
LBPH(Local Binary Patterns Histograms)局部二进制编码直方图,建立在LBPH基础之上的人脸识别法基本思想如下:首先以每个像素为中心,判断与周围像素灰度值大小关系,对其进行二进制编码,从而获得整幅图像的LBP编码图像;再将LBP图像分为多个個区域,获取每个区域的LBP编码直方图,继而得到整幅图像的LBP编码直方图,通过比较不同人脸图像LBP编码直方图达到人脸识别的目的,其优点是不会受到光照、缩放、旋转和平移的影响。提高了人脸识别打卡器的适用范围以及适应环境变化能力。
4.结束语
通过本项目的入口+室内“双监控”模式系统,大大提高的用户使用的安全性。不仅有性能优越的树莓派Raspberry Pi 4B作为打卡机的主控,更有基于PyQt的用户GUI应用程序。为用户提供了双保险。如今随着机器学习、计算机视觉等人工智能领域飞速发展,人脸识别技术更是随处可见,手机解锁、体温检测、门禁系统、支付交易等。并且,本项目可通过增添摄像机、升级主控等放置推广至更多的应用场景。
参考文献
[1]周杰,卢春雨,等人脸自动识别方法综述[J].电子学报,XX,28(4):102106
[2]明日科技,赵宁,赛奎春.Python OpenCV从入门到实践[M].长春:吉林大学出版社,2021:246.