基于红外传感与图像处理的无线通道测温系统的设计

2022-12-28 08:41周惠刘洋朱秀委白思思通信作者
医疗装备 2022年23期
关键词:测温红外口罩

周惠,刘洋,朱秀委,白思思(通信作者)

1 温州医科大学附属第一医院 (浙江温州 325015);2 温州医科大学眼视光学院 (浙江温州 325035)

据统计,新型冠状病毒肺炎疫情暴发至今国内外确诊总人数累计高达2.4亿,尽管已研发出有效的重组灭活疫苗,但想要完全消灭病毒不是短时间内能实现的。在此背景下设计的无线通道测温系统可安装在人员流动较密集的各入口位置,如火车站、校园等入口处,进行高效快速的体温筛查,对及时发现潜在感染源、阻断疫情快速传播具有良好的帮助。

日常接触式体温测量不利于疫情防控,存在较大交叉感染风险。因此,具有测量速度快、非接触式测量等优点的红外测温技术在体温筛查中被大量使用。有研究报道红外测温可替代探头温度计在尸体上记录耳温,用以估计死后时间间隔[1]。但基于热像仪的测温方式价格较高,而本研究设计的基于GY-906温度传感器的通道测温系统成本低、精度高、且应用范围广,发展前景好。

红外测温仪一般用于检测物体表面温度,无法直接应用于人体温度检测。利用红外测温技术对目标进行温度测量时,随着工作距离的增大,大气透过率逐渐减小,导致测温准确度降低。因此,准确度试验距离必须在制造商规定的工作距离范围内[2]。

本研究将图像处理技术与红外测温技术相结合,提出一种基于红外测温(Infrared Temperature Measurament,ITM)和OpenMV4机器视觉模块的非接触式通道测温方法。拟采用OpenMv4 H7 Plus 和红外温度传感器GY-906测得相应信息,然后借助单片机处理系统,结合软件算法修正等实现实时体温显示和口罩佩戴情况的检测与预警;并加入无线模块,将数据上传至PC 端,在上位机上实时显示,以便对实时数据进行记录和分析。

1 系统方案

1.1 系统概述

本系统为基于正点原子STM32F103ZET6最小系统板设计的无线通道测温装置,同时使用GY-906型红外测温传感器与DS18B20型数字温度传感器进行温度校准补偿,结合人体发射率、距离等影响测温准确度的因素拟合出符合实际温度值的相关函数,将GY-906型红外测温传感器放置于摄像头上方,以实现对人体面部中额温度的检测。前额部分面积较宽阔且平坦,适合用作温度采集[3]。此外利用图像处理技术对OpenMV4机器视觉模块捕捉的图像进行识别,一方面结合Haar 算子及TF 特征检测判断是否有行人通过,TF 特征检测是一种用于设备端特征提取的开源深度学习算法框架[4];另一方面通过构建神经网络模型来分析捕捉人脸佩戴口罩信息。将体温数据、实时图像传输至上位机显示并分析,当通过行人体温值大于单片机设定阈值时,启动报警模块达到实时监控的目的。

1.2 系统设计总体方案

1.2.1 系统框图

本研究设计的测温系统主要由正点原子STM32F103ZET6最小系统板微控制器、OpenMV4 H7 Plus 机器视觉模块及STM32单片机的外围电路,如电源模块、通用串行总线转TTL 接口、A/D 转换电路等组成。系统中的测温及温度补偿功能主要由STM32单片机来完成,测得的温度值再由串口通信上传至上位机平台;实时图像显示及口罩检测部分借助OpenMV4机器视觉模块检测人脸来实现目标人物的检测,最终得到的数据及图像统一通过WIFI 模块传送至上位机平台实时显示,见图1.

图1 通道测温系统框图

1.2.2 测温与校准

GY-906型红外测温传感器支持带有10 K 上拉电阻的集成电路总线(inter integrated circuit,IIC)接口,温度范围为-40~125℃,误差约为0.5℃,其测得的数据为物体表面温度,但物体表面温度的发射率与人体不同,无法直接等同于人体温度,需将传感器的发射率通过带电可擦可编程只读存储器(electrically erasable programmable read only memory,EEPROM)[5]转换成人体发射率。此外,环境温度、测温距离、空气流通等因素均对测温数据的准确性有影响。其中,环境温度的变化对测温结果准确性的影响最大。因此本研究加入DS18B20数字传感器用以校准环境温度带来的误差。单片机同时采集环境温度及人体表面温度,统计数据后进行计算并进行温度补偿。

1.2.3 图像捕捉及传输

电荷耦合器件(charge coupled device,CCD)的感光元件可将外界光线转化为电信号,电信号经模/数转化装置变成计算机能识别的数字信号,数字信号通过编码、解码、压缩最终合成图像或视频。相同像素的感光元件,尺寸越大,单位像素的面积就越大,具有500万高清像素的OV5640摄像头所记录的画面也更加细腻清晰。通过WIFI 模块将得到的图像经浏览器网络传输形成视频流,再将其传输到Visual Studio 自制上位机平台显示。

2 硬件设计方案

2.1 测温模块

GY-906红外测温传感器模块,包括光学系统、光电探测器、信号放大器和信号处理及输出等部分。采集物体发出的红外电磁波,将红外信号转化成电信号,经过放大、整形、模数转换后成为数字信号[6],单片机接收相关数据进行处理。红外测温传感器实物图及原理图如图2所示。STM32单片机通过串行总线与红外数据采集模块进行通信,通信协议采用IIC 协议。IIC 总线由串行数据线和串行时钟线及上拉电阻组成,通过对串行数据线和串行时钟线高低电平时序的控制,来产生IIC 总线协议所需要的信号进行数据传递。

图2 GY-906红外测温传感器模块实物图及原理图

2.2 校准模块

本系统采用DS18B20型数字温度传感器模块及人体发射率校准来实现测量温度校正与补偿。DS18B20型数字温度传感器具有体积小、硬件开销低、抗干扰能力强、精度高等特点,在工作温度-10~85℃精度误差仅为±0.5℃。通过内部温度采集、A/D 转换等将温度值按规定格式转换为数据输出,并采用简单算法将数据还原为温度值。DS18B20型数字温度传感器的分辨率可达到12位,可以满足环境温度测量的需要[7]。

2.3 报警模块

报警部分采用S8050三极管驱动,当设定的外接I/O单片机输入高电平时,蜂鸣器即可发声。STM32单片机对采集到的数据A/D转换成温度值并进行判断分析,当测得实时温度值大于设定温度阈值(37.3℃)时,发送命令抬高报警模块引脚使之发出警报声,提醒体温异常。

2.4 摄像头模块

OpenMV4 H7 Plus 机器视觉模块采用STM32H7处理器,标配OV5640摄像头,显示效果良好,内置的图像处理算法可通过Micro Python 语言实现对人脸图像的处理,实时捕捉图像,并对图像中是否有人脸且是否佩戴口罩进行判断分析。

2.5 WiFi 模块

OpenMV4配套的ATWINC1500 WiFi 模块,在连接无线局域网络后,可以借助socket 网络接口,使用TCP/UDP收发数据以实现网络通信、文本传输、视频流传输等功能。本研究采用该模块获取网络时间、并使用视频流一帧帧地传输图片以实现实时视频显示。

3 软件设计方案

本装置的软件编程涉及MDK、OpenMV IDE、Edge Impulse、Visual Studio 等部分,本系统的软件流程如图3所示,图中涵盖了各部分的独立处理流程及不同部分的交互通信。

图3 软件流程图

3.1 体温检测

GY-906红外测温传感器模块采用MLX90614系列测温芯片,最大温度范围为-70~380 ℃,如需较小的测温范围,可通过SMBus 修改EEPROM 中相应控制字来改变测温范围,从而提高精度[8]。GY-906红外测温传感器模块的精度与温度关系范围图如图4所示。

图4 GY-906红外测温传感器模块精度-温度关系图

SMBus 工作时序如图5所示,当单片机读取GY-906红外测温传感器模块数据时,先向从器件发送器件地址和写数据命令,未收到应答信号则再次发送器件地址,收到则发送所要进行的操作命令字节,再次收应答信号,未收到全部重发。随后从器件连续向单片机发送要读取的字节和错误信息码,单片机每收到一个字节,单片机发给从器件一个应答信号。当读取到数据之后对数据按照公式(1)及(2)进行计算,得出可直接阅读的温度值。

图5 SMBus 读写时序

式中T为校准前温度,Data 为SMBus 读取的数据,Tc为补偿后温度,Te为环境温度。

3.2 口罩检测

将数据集上传到Edge Impulse 后自行训练神经网络模型进行分类识别。将数据集按照一定的比例分为建模集和测试集,主要分为数据集采集、上传、训练以及部署4 个步骤。(1)需要收集带有口罩和没有佩戴口罩的人脸数据集,本研究中总共收集了大约5 000 张人脸图像作为检测口罩佩戴情况的数据集;(2)将数据集上传到网站后可通过API Key 实现OpenMV IDE 和Edge Impulse 的连通,按照8‥2 比例将数据集分为训练集和测试集;(3)进行分类训练的数据集将会形成特性,对其中的数据进行可视化处理;在特征资源管理器中分离良好的集群更便于机器学习模型学习[9],3D 集群分离图(图6a)可以看出,本研究所上传的佩戴口罩的数据集和无口罩的数据集具有较好的分离特性,随后可以通过设置训练周期数、学习率等参数建立迁移学习模型(图6b)并进行数据增强处理;(4)训练完成后,将使用测试数据来检验模型,训练模型的准确率为84.3%,其中误差可能是由于数据集中目标特征不够明显,如头发遮住大半的人脸,或数据集中并未出现口罩导致出现任何分类都不匹配的数据(图7)。根据上述结果,可以知道在完成了训练设计、模型训练和模型验证的步骤后,此次建立的神经网络模型已经可以较为准确的进行口罩佩戴情况的检测。

图6 3D 机器学习模型

图7 训练模型成功率

3.3 视频传输

连接WiFi 模块的OpenMV4可传输压缩的JPEG 图像、视频流。本系统采用Micro Python 内置的socket 网络模块来传输数据、图片或MJPEG视频流。WiFi 通过自建一个AP 热点,将电脑连接到AP 热点上,在浏览器中输入带特定端口的网址(192.168.1.1:8080)即可直接查看OpenMV4的图像和数据。此外,WiFi 模块还具有编程功能,可通过WiFi 对OpenMV4进行重新编程实现数据的控制。

采用OpenMV4内置库函数实现视频传输功能,初始化WINC 后将模式设置为AP 热点模式,通过自设热点来传输视频流。从感光元件中截取一张照片后,将图像压缩至适合JPEG 图像传输的压缩质量,向客户端发送视频的头文件及压缩后图片,循环图片传输过程即可得到视频流。传输过程中需在while 循环中创建服务器套接字以绑定服务器和端口,实现实时监听。

3.4 上位机平台

创建一个Winform 窗体应用后,放置不同容器、文本、视频控件,并设置相应控件属性,在对应区域放置Button、Label、TextBox 等控件即可完成上位机界面的设计。开发环境为Visual Studio2017,运行环境为.Net Framework 4.5.2。

测温部分通过C#提供的计时器类进行定时-2 s扫描串口,将可用串口实时显示到当前TextBox 控件;视频显示部分采用基于Chrome Canary 内核的Webview2控件,实现与网页通信。上位机显示平台最终效果图如图8所示。

图8 上位机显示平台

4 系统调试及实物展示

4.1 红外测温系统补偿测试

将拟合好的温度误差补偿公式写入STM32单片机,使单片机控制红外测温传感器GY-906、DS18B20,分别测量环境温度和目标温度,代入补偿公式即可获到补偿后的人体温度值。为验证补偿公式准确性,选择不同距离进行额头温度测量,查看温度补偿效果。距离在10~50 cm 之间,补偿后的温度值与实际温度值之间的差值较小,保持在0.3 ℃之内。当距离大于60 cm 后,补偿温度值与实际温度之间的差值开始变得更加的明显,补偿温度曲线迅速降低[10]。在对环境温度进行误差校正后,测温传感器GY-906在20~50 cm 之间距离范围内测量精确度得到有效提升(表1和图9)。

图9 补偿后不同距离测量效果

表1 补偿后不同距离测温数据

4.2 口罩识别功能测试

建立神经网络模型可较好的捕捉目标特征,完成口罩佩戴情况识别功能。此外,在OpenMV IDE中可输出检测效果为戴口罩和未戴口罩的概率。其中,检测到为正脸佩戴口罩时,识别准确度更高;当用侧脸佩戴口罩进行检测时,识别准确度欠佳,推测为进行人脸识别时头发的干扰因素,导致人脸范围较小引起目标特征无法精准捕捉。口罩识别神经网络模型建立后导入测试集进行在线检测,准确率高达100%,模型验证结果如图10所示。

图10 测试模型准确率

4.3 实物硬件组装及展示

根据上述方案制作通道测温系统,包括测温装置及拍摄装置两部分。经测试,GY-906红外传感器模块固定在OpenMV4机器视觉模块正上方,可较准确地测量人脸额部温度。另外,在摄像头模块外加补光灯及固定夹,可稳固安装在任意需要进行测温筛查的通道内(图11)。行人由入口处经过测温通道,站在指定范围内进行体温筛查及口罩佩戴情况检查[11]。由GY-906采集红外数据,发送至单片机,经温度补偿后将数据通过串口传送至上位机显示。若测得人体温度大于单片机设定的阈值,发出警报。同时摄像头检测到环境范围内存在行人,捕捉口罩特征进行口罩佩戴情况检测,再通过固定在OpenMV4上的WiFi模块将视频流传输上位机平台显示。

图11 实物效果图

5 结论

本研究设计的非接触式通道测温系统及口罩佩戴情况检测装置,可直观、方便地远程对行人进行检测,成本低、体积小、易携带,在疫情防控工作中能够起到很好地预防和监控作用。

猜你喜欢
测温红外口罩
网红外卖
闪亮的中国红外『芯』
戴口罩的苦与乐
因为一个口罩,我决定离婚了
硬线测温探头在离心式压缩机组的应用
8路红外遥控电路
TS系列红外传感器在嵌入式控制系统中的应用
雾霾口罩
变压器光纤测温探头的安装固定
基于DS18B20的单片机测温系统