基于STM32的智能身份识别与红外防疫测温系统

2022-08-28 07:44丁一峰李永铖尹宏钊客鑫林彭根德
现代信息科技 2022年10期
关键词:串口测温人脸

丁一峰,李永铖,尹宏钊,客鑫林,彭根德

(黑龙江科技大学 电气与控制工程学院,黑龙江 哈尔滨 150022)

0 引 言

当前,新冠疫情还未得到完全控制,新型冠状病毒的传播仍然是人们关注的焦点。识别口罩是否正确佩戴已成为一个初步阻断病毒传播的途径。鉴于此,我们设计开发一款智能身份识别与红外防疫测温系统。该系统基于K210 开发模块来训练我们需要的人脸口罩模型,不但训练时间比较短,而且训练效果也比较好,同时结合YOLOv5 算法实现人脸口罩的识别。该系统在拥挤的场所能识别出入场人员是否佩戴口罩,并检测他们的体温。对防止新冠肺炎疫情的传播起到很好的保障作用。

1 系统整体方案设计

基于STM32 的智能身份识别与红外防疫测温系统,以STM32 单片机作为控制的核心,采用K210 智能AI 模块进行口罩的识别,获取摄像头画面并将监测到的画面实时传输到显示屏上,在获取每一帧画面的同时,对画面进行分析判断,将符合条件的识别结果通过串口发送给单片机控制器,单片机在接收到K210 的识别结果后,通过语音模块进行相应的语音播报提示,结果为“口罩正确佩戴”后由红外测温模块测得人员的体温,然后通过语音模块播报结果。如果测得的温度正常,单片机驱动舵机旋转。图1为系统整体流程图。

图1 系统整体流程图

2 系统功能模块设计与实现

2.1 STM32 主控芯片

该系统的主控芯片采用STM32F103C8T6 单片机,该芯片具有64 kB Flash、72 MHz CPU,可搭配各种外设使用,此外,还设有各种串口通信接口,支持各种串口通信。STM32 芯片部分的编程主要采用C 语言,它起到核心控制的作用,负责K210 识别模块、语音播报模块以及红外测温模块的信号传递接收。本系统使用单片机的串口与K210 模块进行数据传输,并使用RAM 临时存储K210 模块发来的人脸识别信息。同时,在电路设计中还引入了芯片的其他引脚,为后续的调试和添加其他功能奠定基础。

2.2 K210 智能AI 模块

本系统采用pyAI-K210 模块,该模块是由01Studio 设计研发的,其接口兼容Micro-Python 的pyBoard,具备视觉和听觉能力,包含RISC-V 64 位双核CPU,每个核心内置独立的FPU。K210 模块的核心功能是机器视觉与听觉。该模块主要运用Python 语言进行编程,先通过采集大量的口罩佩戴情况照片来训练自己的口罩识别库,该系统可以对不同颜色、不同型号以及不同材质的口罩进行准确的识别。在检测到某人口罩佩戴与否后,就会将检测结果通过该模块串口发送给单片机的串口,接收引脚建立通信关系进行数据的传输,将口罩佩戴与否的识别结果通过该通路发送给STM32 单片机。图2是K210 智能AI 模块的实物图。

图2 K210 智能AI 模块的实物图

2.3 人脸口罩识别算法

该系统的人脸口罩检测识别算法采用YOLOv5 算法,分为人脸检测和佩戴口罩识别两部分,如图3所示,K210模块首先对输入的图像进行一帧一帧的人脸检测;口罩佩戴识别算法对图像中的人脸区域按照一定的比例扩展,并裁剪出人脸区域子图像,采用图像分类的方法对整个人脸区域子图像进行二分类,从而得到口罩佩戴与否的识别结果。

图3 人脸佩戴口罩识别过程图

YOLOv5 算法还在目标确定步骤中提出了候选区域框(anchor box)。候选区域框通常是指一个固定长度和宽高比的初始范围,在建模训练中,最初候选框参数越是贴近于实际边界框架,建模越易于训练,而预测的边界框架也就会越来越符合实际边界框架。综上所述,最初候选框参数设定的优劣直接影响目标识别的速度以及对目标框定位的准确度。

所以,初始YOLOv5 算法中的所有anchor 参数都必须通过数据集进行适当的调节。要获取最优预测中的anchor参量,可使用K-Means 聚类算法对训练集上标记目标框的长宽高度展开聚类分析。基于YOLOv5 算法网络结构的特点,寻找九个聚类分析法中的最宽高维度,将其视为网络配置文档中所有anchor 参量的平均值,从而使用K-Means 聚类算法来实现对9 组初始候选框的参数控制。

2.4 语音播报模块

本系统采用JQ8900 MP3 中文语音合成芯片——一款性价比更高,音效更自然的中高端语音合成芯片。JQ8900 MP3 通过异步串口(UART)通信接收要合成的文本数据,实现文本到语音(或TTS 语音)的转换。JQ8900 MP3 在文本/数字/字符串的识别中更智能、更精确,语音合成更自然、更易懂。本芯片有7 个触发IO 口,最多支持19 段语音触发播放,7 个IO 口一对一对地触发播放和3×4 矩阵方式。该模块在使用的时候电压范围为3.3 V ~5.2 V,在电源输入口串有一颗二极管做防反接,有0.6 V 压降,这样可以保证供电电压在正常范围内。其芯片的IO 为3.3 V 电平,为了确保使用安全,我们在IO 端口处串联1 K 阻值的电阻。本系统中的语音播报模块已将特定的文字存入SD 卡中,与STM32 单片机的引脚相连接。通过触发特定的引脚来播报特定语音,当系统通电时,语音播报模块会发出开机欢迎语,提醒用户把手部靠近测温传感器模块并播报出用户的体温值,也可以提醒用户正确佩戴口罩。

2.5 红外测温模块

本系统所采用的非接触式红外测温传感器型号为GY-614V3BAA,包含2 根电源线,分别连接到+3.3 V 和GND,还有两根串行通信线。非接触式红外线测量又叫辐射测量,通常采用热电或光电探测器作为检测器件。此高温检测系统比较简单,能够进行大规模的测量,也可能是被测物质上某一个点的高温检测;可以是便携式,也可以是固定式,使用起来较为方便;它的制作工序简单,测温时不接触被测物体,具有响应时间短、不干扰被测温场、使用寿命长、操作便捷等一系列优点。适用于家庭、酒店、图书馆、大中型企事业单位等,也可作为医院、大学、海关、机场等综合性公共场所的配套设施,还可配备给医务人员在门诊时使用。其中红外模块先接收中断信号,进行数据的分析,接下来保存接收到的数据,最后完成终端的返回操作。在本系统中的K210 智能AI 模块识别到被检测者正确佩戴口罩后,红外测温模块将测量结果通过串口通信发送给STM32 单片机,判断被检测者的体温是否正常。图4为红外测温模块工作过程。

图4 红外测温模块工作过程

3 测试结果

该系统目前已经过大量的实验测试。通过控制变量法对多种情况进行模拟测试,实验结果如表1所示。我们用纸张遮挡面部如图5所示,或者用手遮挡面部如图6所示,该系统给出的测试结果为未正确佩戴口罩。此外,我们还对多种不同材质、不同型号以及不同颜色的口罩进行测试,该系统均可正确识别,如图7所示。当然该系统也可以对未佩戴口罩的人员进行识别分辨,如图8所示。YOLOv5 算法超快的识别速度以及接近100%的正确率,使该系统可以真正发挥防疫功能。

图5 用纸张遮挡面部

图6 用手遮挡面部

图7 佩戴口罩

图8 未佩戴口罩

表1 系统实验测试结果

我们也就该系统的非接触式体温检测功能进行了与医用级红外体温计的实验对比,体温测量误差精度达到±0.1 ℃,测试结果如表2所示,整个系统的各功能模块都能够正常稳定运行信息交互功能。

表2 系统体温检测实验测试结果

4 结 论

本文提出一种基于STM32 的智能身份识别与红外防疫测温系统,该系统由STM32F103C8T6 芯片、K210 开发识别模块、屏幕显示模块、语音播报模块以及红外测温模块组成,可安放在人口密集的场所,实现准确且零接触的疫情防控。所运用的YOLO 算法会对目标的大小和形状以及目标与目标经常出现的位置之间的关系建立模型。虽然初始图像、特征图像和检测图像甚至是艺术图像,存在像素级别上的不同,但物体的形状和其他信息是相似的,由此YOLO 就可以对人脸口罩进行很好的识别。中国、美国、英国、澳大利亚等各国政府都在致力于通过非接触式身份验证设备来升级现有系统,以解决COVID-19 大流行期间的安全问题,从而推动人脸口罩识别系统市场的增长。

猜你喜欢
串口测温人脸
智能防疫测温机器人朔州“上岗”
玻璃窗上的人脸
肯尼亚:测温枪需及时校准
智力考场:有趣的图片测试
MCS—51单片机中的多串口通讯技术的应用
“领家系”可爱脸VS“高冷系”美人脸
高速CCD像机的测温系统标定方法
全国计算机等级考试机房准备工作探讨
长得象人脸的十种动物
微机串口的测试诊断