关于Python控制系统的设计口罩检测和人脸识别系统
关于 Python 控制系统的设计口罩检测和人脸
识别系统
0 引言
学校实验室对学生自由开放后,采用纸质方式进行出入信息记录,管理工作较烦琐,出错
率较高,因此,对学生自主进出实验室采用智能化管理十分有必要[1].且在当今新冠肺炎疫情
形势下,本系统加入了口罩检测功能,即可无人值班也能规范进出者的一些行为。
1 系统硬件设计
1.1 系统总体设计
本系统包括两大部分,分别是 STC51 控制端和 Python 核心端。STC51 硬件模块主要通过
内部接入的定时程序进行测距命令驱动超声波模块进行测距,并将 STC51 通过 UART 与上位
机连接,实现 Python 与STC51 的信息交互[2].Python 核心系统通过检测来自单片机的信号,识
别是否为驱动 Open CV 的指令,当 Open CV 开启摄像头则立即进行口罩检测与人脸识别功
能,并通过 GUI 界面显示出来,最终系统根据识别结果判别是否向单片机下达电机驱动指令。
总体结构如图 1所示。
图1 系统总体设计框图
1.2 STC51 辅助系统
STC51 辅助系统主要包括超声波测距模块、步进机驱动模块和蜂鸣器提示模块。
超声波测距采用 HY-SRF05 型号,此模块可向外界发送一定频率的声波,且其精确测量
2~450 cm 传感距离,精度可达 3 mm.当检测到前方有遮挡物时,声波就会被反射回来,被模块
接受后,开始计时,记录高电平时间,由时间数据可计算出距离[3].
步进机驱动模块采用 28BYJ-48 的型号,其是 4相永磁式减速步进电机,采用的转动方式
是八拍模式,而齿轮内部有 8个定子,每 8个节拍为一循环,转子一圈需要 64 节拍,由齿轮的
减速比 1 64∶可得,每 64 节拍转动 5.625°,通过计算算出 90°需要 1 024 节拍,在程序中设置
转动的正反方向,每个方向都转动 1 024 节拍,并设置标志位和延时[4],一旦转动 90°时就会停
止转动,一段时间后进行反转,以此达到门禁作用[5].
蜂鸣器提示模块采用无源蜂鸣器,单片机加以 0.5~4.5 k Hz 的频率可驱动内部蜂鸣器发出
特定音频,即只要对蜂鸣器设置一定的工作频率,让蜂鸣器以设定的频率工作,就会发出特定
的提示音。
1.3 Python 控制系统
Python 控制系统主要包括基于 py Serial 与单片机进行串口通信的模块、基于 Open CV 的摄
像头触发和人脸标识、基于 CNN 的口罩检测和人脸识别。其 Python 控制系统流程图如图 2所
示。
当单片机测距成功后,单片机通过 UART 串口把数据通过 py Serial 告知 Python,使之调用
open CV 打开摄像头进行人脸标识,人脸标记成功之后再通过卷积神经网络对其进行口罩检测
和人脸识别[6],最后把识别的结果与 My SQL 中的数据进行比对,然后通过 PYQT 界面展示出
来,最后也可以把人员识别的信息记录在数据库,方便管理员查询。
2 系统软件设计
2.1 基于 Open CV 的人脸检测和图像处理
为提高系统的可靠性,应首先进行图像预处理,这里使用 Open CV 中自带的基于 Haar 特
征的级联分类器进行面部检测[7].其库具有级联人脸分类器,库中包含人脸识别模块。仅通过
加载级联文档,即可检测动态或静态图像中的面部。文档格式为 XML,文件名为
haarcascade_frontalface_default.xml.首先,根据摄像机代码从计算机摄像机调用Video Capture 函
数,然后使用 cap.read()方法在摄像机中读取图像。之后,使用 capture Frame()函数从输
入图像中检索边框,并检索框架,并使用 detect Multi Scale()函数完成人脸识别。Python 控
制系统如图 2所示。
图2 Python 控制系统
2.2 口罩检测和人脸识别
通过构建Tensor Flow+Keras+Open CV 的模型来进行口罩检测,此模型的数据集来源于网
络,包括 2000 幅戴口罩图片,580 幅无口罩的人脸。然后将这些图像链接于用 Tensor Flow 框
架构成的 CNN 模型,最后通过系统的摄像头来检测人们是否佩戴口罩。首先,对上述的两类
图像进行是否戴口罩的分类,然后通过旋转、拉伸等办法改变图像,使数据增强;之后再将增
强后的数据分为训练集和检验集[8],通过 CNN 建立模型,再对模型进行预训练和训练,之后导
入检测程序,最后把是否检测到口罩的信息通过 GUI 界面显示出来[9].
人脸识别通过 CNN 实现。CNN 由卷积层、池化层、连接层组成。通过卷积层对由 Open
CV 检测后的图像进行特征提取,小部分的层进行边缘、线等低级特征提取,更多的层迭代此
低级特征以提取更复杂的特征。后用池化层对卷积层训练的特征图进行二次采样。最后,形成
卷积层+合并层的复合层,应用于模型任务。同时,将所有特征图重新形成为 1×N 矢量,然后
连接复合层进行模型训练[10],之后导入识别程序可完成。
2.3 人机交互界面设计
为提高用户体验,本系统设计了一套GUI 界面。其可分为识别界面和管理界面(如图 3所
示)。用户可在识别界面内看到自己的基本信息及出入时间,也用于未戴口罩提醒及戴口罩显
示的功能。管理员可进入管理界面,进行人脸信息注册、模型训练、删改学生信息等操作[11].
图3 GUI 界面流程图
摘要:
展开>>
收起<<
关于Python控制系统的设计口罩检测和人脸识别系统 0 引言 学校实验室对学生自由开放后,采用纸质方式进行出入信息记录,管理工作较烦琐,出错率较高,因此,对学生自主进出实验室采用智能化管理十分有必要[1].且在当今新冠肺炎疫情形势下,本系统加入了口罩检测功能,即可无人值班也能规范进出者的一些行为。 1 系统硬件设计 1.1 系统总体设计 本系统包括两大部分,分别是STC51控制端和Python核心端。STC51硬件模块主要通过内部接入的定时程序进行测距命令驱动超声波模块进行测距,并将STC51通过UART与上位机连接,实现Python与STC51的信息交互[2].Python核心系...
相关推荐
-
RS232串联接口的通讯程序论文
2023-06-28 84 -
倒车雷达系统的研究与设计
2023-06-28 141 -
浴室水温控制系统设计(开题报告+论文+答辩PPT)
2023-06-29 183 -
基于GPRS无的数传模块设计
2023-06-29 84 -
高速喷水织布机单片机控制系统设计
2023-06-29 102 -
电阻炉温度控制系统(论文+DWG图纸)
2023-06-29 196 -
基于可调度性与全局延迟的分布式嵌入系统实时通信中的总线访问优化
2023-06-29 82 -
(修改)基于STM32的智能住宅系统设计
2023-07-08 321 -
基于Arduino的智能避障小车的设计机械控制毕业设计
2023-07-14 150 -
基于单片机的温室大棚的监测与控制系统设计-单片机毕业设计-自动化电子毕设资料
2024-01-21 133
作者:闻远设计
分类:其它行业资料
价格:免费
属性:4 页
大小:223.51KB
格式:DOCX
时间:2024-03-17

