树莓派物联网防疫门禁系统设计

2024-09-24 00:00:00尹文杰付彤刘林一楼子畅谈杰焦禹涵
物联网技术 2024年5期
关键词:树莓派门禁系统云平台

摘 要:针对疫情形势下人工检测温度及口罩佩戴情况费时费力且风险高的问题,设计了一套物联网防疫门禁系统。本设计使用OpenCV采集人脸信息,使用MLX90614温度采集模块采集温度信息,将采集到的人脸和温度信息传入主控树莓派中进行接收并识别,最终使用BY8301语音模块进行语音播报提醒,将获取到的人脸数据和体温信息同时发送到物联网云平台,物联网云平台将长时间持续接收、显示以及比对相关数据,并且可以在移动设备或云端同步进行查看,大大降低人力消耗及接触风险,有效地控制人员的出入,并且可以在第一时间了解到出入人员的相关情况。

关键词:树莓派;云平台;物联网;OpenCV;MLX90614;门禁系统

中图分类号:TP399 文献标识码:A 文章编号:2095-1302(2024)05-0-03

0 引 言

新冠疫情的爆发给全球造成了重大影响,一些人流量较大的公共场所基本都会配备相关的工作人员进行测体温、检查口罩佩戴、查验行程码等工作。这种传统的检测方法存在人力浪费、人工成本高、工作人员感染风险高等问题。因此,开发一套实时的、低成本的物联网防疫门禁系统迫在眉睫。

目前国内已有许多公司和研究机构开发了针对疫情的防疫门禁系统[1],这些系统通常使用人脸识别、体温检测、智能语音等技术来识别和跟踪疫情形势下的高风险人群。例如,将摄像头模块切换为广角摄像头搭配YOLO可实现景区人流量采集检测;将二维码检测切换为门禁卡识别;将OpenCV[2]人脸检测应用于图书馆、宿舍楼、公司等场所,可以检测是否为在编人员,将数据上传至云端就可以填写完成出勤表[3]等。

树莓派相较于单片机,优点在于其与其他模块属于拔插式接触,且存储信息在SD卡中,可实现功能模块的灵活替换,在疫情结束后可实现快速转型。

因此,本设计将树莓派作为控制核心模块,具有接口丰富、功耗较低、处理速度快的优点。通过WiFi实现树莓派与物联网云平台主机服务器之间的数据交互,并且只需一至两人即可完成大范围的管理,大大节省了人力。采用的多重验证方式,包括口罩识别和温度检测等,可以确保人员信息准确性和场所的安全性。同时,该系统还具有数据可追溯性、操作简单方便等优点,适用于各种场所的防疫工作[4]。

1 总体方案设计

如图1所示,防疫门禁系统由五部分组成:MLX90614温度采集模块、摄像模块、云端华为云平台、BY8301语音模块、显示模块。以树莓派为主控,可以实现多个硬件设备的连接和协同工作,并提供了丰富的计算机视觉和机器学习工具库,使得整个系统更加智能化和高效化。

将MLX90614温度采集模块输出的温度以及摄像模块采集的人脸数据传入树莓派并显示在显示屏上,并将所需的信息例如温度数据及人脸截图发送到华为云平台,华为云平台对数据进行实时监测;而树莓派做出判断后会在显示屏显示相应信息并控制BY8301语音模块做出相应操作,包括是否开启门锁。

2 硬件设计

2.1 硬件选型

根据本系统开发要求及设定,主控采用树莓派4B进行控制操作。树莓派采用4B 8G版本,其拥有四核64位处理器,主频1.5 GHz,相比树莓派3B版本,处理器性能提升了三倍以上之多;并且拥有两个HDMI接口,支持4K分辨率的视频输出,也保留了40个GPIO引脚,可兼容连接其他传感器设备。其拥有的8 GB运行内存可以更轻松地运行多个程序且不受内存限制的影响,相较于单片机来说在图像处理方面则更具优势。因此本项目采用树莓派这种功能强大、体积小巧的单板计算机作为项目主控。

温度采集模块使用MLX90614。MLX90614具有简单易用和高精度的优点,并且采用独特空间补偿技术以及温度稳定相应和线性相应,能够降低噪声干扰,进而提高测量精度;可以测量的物体表面温度范围为-70~380 ℃,在工业生产控制和家居智能化等领域被广泛应用。因此本设计选用MLX90614红外线非接触式温度传感器进行温度测量。该模块内置一个微控制器,可以通过I2C接口与控制器进行通信,从而实现数据的获取和设置。最后MLX90614温度传感器将数据转换为数字输出。

语音模块使用BY8301作为主控芯片,实现语音的录制、保存、播放和删除等功能,适用于各种语音提示、语音提醒和语音导航等应用场景。采用SPI总线通信协议,内置

8 MB的闪存存储器,可存储多达510条不同长度的语音信息。BY8301语音模块具有结构紧凑、功能强大、易于集成和操作等优点,被广泛应用于各种语音提示、教育玩具、智能家居、汽车电子等领域。

2.2 硬件设计

如图2所示,物联网防疫门禁系统将树莓派作为控制核心模块,外接电源模块、体温检测模块、显示模块、语音模块。

首先,树莓派会对数据进行初始化,读取MLX90614温度传感器采集的温度数据,摄像头获取的人脸佩戴口罩情况以及健康码情况。当任何一个条件不符合时则进行报警并上传云端,华为云会将数据储存至当日行程表,并告知管理者。当三个条件都符合的时候,则开门并上传数据至云平台,并存储至当日行程表[5]。

3 软件设计

3.1 口罩识别算法设计

本设计的口罩识别算法采用基于OpenCV的Python程序算法。本算法主要采用OpenCV中提供的级联分类器(Cascade Classifier)来训练模型,实现对是否佩戴口罩的检测。

首先需准备训练集和测试集数据,包括口罩佩戴状态下的人脸图片和无口罩佩戴状态下的人脸图片,并对这些图片进行预处理。之后使用Haar-like算法对每个训练图片进行特征提取,并将提取出的特征送入分类器进行训练。训练结束后,将得到一个可以判定口罩佩戴状态的分类器。该算法使用cascade分类器,并且基于Haar特征级联进行检测[6],具有速度快、准确性高等优点。

该算法通过像素分析对每个摄像头视频帧内的人脸进行特征提取,并输入到训练好的分类器中进行判别。最后,得出的结果为人脸是否佩戴口罩的标记信息。口罩识别算法设计流程框图如图3所示。

3.1.1 OpenCV

OpenCV是一个基于Python编程语言的开源计算机视觉和机器学习库,可以用于处理图像和视频数据,实现各种计算机视觉应用,如目标检测、人脸识别、手势识别等。OpenCV最初是由英特尔公司开放源代码计划支持开发的,它提供了一系列丰富的函数和类,可以进行图像或视频数据读取、处理、分析、可视化等各种操作。OpenCV为开发者提供了快速、高效地实现各种图像和视频处理任务的工具,广泛应用于数码相机、智能手机、摄像头、物联网设备[7]等领域中。

在Python中导入OpenCV库—cv2,再利用OpenCV自带的基于Haar的级联分类器实现人脸识别模型文件haarcascade_frontalface_default.xml,即可实现包括人脸检测以及对裁剪的人脸进行灰度处理在内的功能[8]。

3.1.2 训练分类器

OpenCV自带许多识别模型文件,但并没有针对口罩识别的模型文件,因此需要训练一个识别口罩的分类器。分类器的核心采用CNN分类方法,对于训练模型,首先需要找到包含佩戴口罩以及未佩戴口罩的大量图片数据的数据集。佩戴口罩的图片视为正样本,未佩戴口罩的图片视为负样本。

对于经过灰度处理后的图片并不能直接进行训练,部分照片中脸和口罩占比比较小,其他部分例如肩膀、手臂、手等部位会对训练模型产生噪音干扰。要对图片进行预处理,先裁剪处理,并处理掉不合格的灰度图图片数据。

正样本:仅包含被检测物体的样本,并且距离边界尽量要小,图片尺寸大小一致,所有照片的像素必须一致,这里采用官方推荐使用的20*20像素。负样本:不包含被检测物体的样本,图片尺寸大小无要求。图片数据数量越多越好,尽量大于1 000,且本设计识别推荐正负样本比例为1:3,本模型采用500正样本、1 500负样本作为训练图片数据。

利用opencv_createsamples.exe为正样本生成样本文件,负样本不需要。再利用OpenCV自带训练级联分类器的工具opencv_traincascade.exe进行模型训练,训练过程将迭代地构建和调整级联分类器模型,以使其能够尽可能准确地检测出目标物体,运行最后即可得到相应的xml模型文件[9]。该模型可以被导入到应用程序中,用于实时图像处理和目标检测任务即对于口罩的识别。

3.2 主控制器程序

需要安装Python环境和相关支持库,并编写人脸识别、温度检测、报警提醒和数据上传云平台、用户出入记录等数据存储的相关程序代码。

树莓派主程序流程如图4所示。首先,当人员靠近时,MLX90614温度传感器采集温度数据,获取人员体表温度信息后,在一定范围内进行判断。如果人员体温正常,则门禁控制器开启门禁;如果人员体温超出预设范围,检测到温度超过37 ℃,则门禁不予开启,使用语音提示模块发出报警并通过云端告知管理者。监测的温度数据实时呈现在显示屏上,且系统根据MQTT协议将数据发送到华为云平台,记录人员的信息并生成行程表。管理人员即可在云端查看到当前数据。

人员靠近同时,摄像头捕捉人脸信息,通过OpenCV进行人脸口罩识别,将实时影像显示在屏幕上,然后截取人脸图像并上传云平台存至行程表。若识别结果为佩戴口罩,则开启门禁;识别结果为未佩戴口罩则会语音提示报警并通过云端告知管理者。

在疫情期间,还需人员出示健康码,由摄像头识别QR CODE,识别为红码会语音提示报警并通过云端告知管理者;识别为绿码并且佩戴口罩,以及温度正常方可进入[10]。

3.3 物联网云平台设计

华为云物联网云平台是华为云提供的一种面向物联网设备和应用的云计算服务平台。该平台为用户提供全面的设备接入、数据管理、运营管理等一系列物联网服务。它具有高可靠性、高安全性和高扩展性。华为云物联网云平台可以支持多种接入协议,并且提供了丰富的开发工具和API接口,帮助用户快速搭建自己的物联网应用。华为云物联网云平台是一个功能齐全、安全可靠的物联网云服务平台,可以满足各种物联网应用场景需求。

如图5所示,在物联网防疫门禁系统中,终端设备为主控树莓派,设备管理负责通过MQTT协议传输数据以及采集设备数据,物联网应用负责对人体温度、人脸数据的显示、存储等应用的管理。

4 实验结果

当摄像头检测到人员靠近时,会先对其温度进行测量,如果温度正常,则会进行口罩的识别;如果温度不正常,则会报警,提醒工作人员并记录人脸信息上传到云端。温度正常,会对是否佩戴口罩进行检测,如果佩戴口罩会出现如图6(a)所示的图像,并开启门禁;如果未佩戴口罩则会出现如图6(b)所示的图像并发出警报,提醒工作人员,且将数据上传云端。

5 结 语

针对疫情形势下的门禁系统的设计问题,本文方法的优势和创新在于:以Python为语言及树莓派为主控,使用 OpenCV实现实时检测是否佩戴口罩,MLX90614温度采集模块采集温度,数据通过WiFi上传云端并生成信息。制作了一个功能完备、价格低廉、方便操控移植的装置。使用高精度温度传感器,可以对用户体表温度进行准确的检测和判断。所有用户出入记录等数据都保存在云端,具有良好的数据可追溯性。整个操作流程简单明了,无需复杂的操作流程。同时,语音提示模块也为用户及管理人员提供了友好的操作提示。实验证明,该门禁系统具有高安全性、高精度温度检测和数据可追溯性等优点,适用于大多数场所的防疫工作,此方案可行,具有实际使用价值。

参考文献

[1]安徽省铜陵市天井湖社区.安康码智慧门禁系统助力守好铜陵社区防疫线[J].中国建设信息化,2022,28(3):46-47.

[2]徐杰,李捍东.基于单片机与OpenCV的门禁系统[J].计算机时代,2022,40(5):63-65.

[3]王卓群,易超.新型智能防疫门禁系统的设计与应用[J].电子元器件与信息技术,2021,5(5):219-223.

[4]娄子豪,陈晓谦.基于Raspberry pi的智能宿舍门禁控制系统[J].数码世界,2020,19(3):30.

[5]张颖兴,宣扬,张俊豪,等.基于树莓派的智能防疫门禁系统设计[J].信息技术与信息化,2022,47(5):209-212.

[6]胡北辰.基于OpenCV的人脸图像识别系统设计与实现[J].佳木斯大学学报(自然科学版),2022,40(2):123-126.

[7]张绿云,韦肖雨,李琳.基于Python与OpenCV的人脸识别系统设计与实现[J].电脑知识与技术,2022,18(10):87-88.

[8]汪小艺,王珺,魏志强,等.基于人脸识别的图书馆智能门禁系统[J].电子产品世界,2021,28(4):65-67.

[9]詹可强,林建辉,朱天宝.基于卷积神经网络的人脸口罩检测系统设计与实现[J].哈尔滨师范大学自然科学学报,2022,38(5):58-63.

[10]刘军军.基于STM32和树莓派的智能门禁系统[J].电子技术,2021,50(10):24-25.

作者简介:尹文杰(2002—),男,本科,研究方向为电子技术应用。

付 彤(1992—),女,硕士,讲师,研究方向为计算机视觉。

刘林一(2001—),男,本科,研究方向为电子技术应用。

楼子畅(2000—),男,本科,研究方向为电子技术应用。

谈 杰(2001—),男,本科,研究方向为电子技术应用。

焦禹涵(2001—),男,本科,研究方向为电子技术应用。

收稿日期:2023-04-23 修回日期:2023-05-18

基金项目:辽宁省2022年大学生创新创业训练计划项目(S202213198003)

猜你喜欢
树莓派门禁系统云平台
基于多种生物特征识别的RFID门禁系统设计
基于单片机的安全门禁系统研究设计
电子制作(2019年11期)2019-07-04 00:34:32
解析社区蓝牙门禁系统
智能安全防盗探测小车
科教导刊(2016年27期)2016-11-15 22:32:51
一种基于树莓派的门禁系统快速构建方法
高职院校开展基于云平台网络教学的探索与思考
中国市场(2016年36期)2016-10-19 04:43:09
企业云平台建设研究
基于云平台的微信互联式教学法的探索与实践
企业导报(2016年11期)2016-06-16 15:36:34
基于单片机的小区门禁系统设计
基于云平台的高职院校开放性职业培训工作体系建设研究
企业导报(2016年5期)2016-04-05 14:19:22