基于人脸口罩识别的传染病防护系统研究
2021-11-08黄晟谭周文
黄晟 谭周文
摘要:该文针对新冠肺炎疫情,设计了一套基于STM32单片机的智能型传染病安全防护系统。该系统可以在人流量较大的公共场所对人群进行口罩佩戴识别检测及体温测量,对未佩戴口罩和体温较高的人进行语音警报和显示;同时通过WIFI将视频数据传输到远程电脑,由电脑实时监控行人信息,实现远程监控,人脸口罩识别是基于EDGE IMPULSE在线网站训练我们所需要的人脸口罩模型。
关键词:STM32;EDGE IMPULSE;体温测量;远程监控
中图分类号:TB277 文献标识码:A
文章编号:1009-3044(2021)27-0003-00
1 引言
目前,新冠肺炎疫情依旧是大家关注的焦点且急需解决的问题。识别人们是否佩戴口罩需求已经成为普遍问题。针对此现象作者设计开发了一套人脸口罩识别+体温检测系统,本系统是基于EDGE IMPULSE在线网站训练我们所需要的人脸口罩模型,在网站上我们可以进行Transfer Learning 这样训练出来的效果相对不错,并且所用的时间短。该系统对人们进入人流密集场所时进行戴口罩识别和体温检测。为防止新冠肺炎疫情传播起到良好的保障作用。
2 研究背景分析
人脸识别技术在中国的开展研究起步于20世纪末尾,最早阶段技术方案是基于人脸的特征识别,这阶段算法比较少,大多都是使用人脸的数据库进行特征匹配实现人脸的识别,第二阶段人脸识别慢慢地实现了算法检测,著名的有美国的FERET人脸识别算法,这时的人脸识别慢慢地迈入了商业化,第三阶段人脸识别真正的使用了机器自动识别,这一阶段出现了采用神经网络采集的方法,实现多视角人脸识别,也出现了进行三维可变形模型的方法对图像进行拟合估算出人脸的三维形状,目前包括百度AI、阿里、腾讯等大厂都在开发在线口罩识别的工具。并且众多的目标检测模型包括Faster RCNN、SSD、YOLO也得到了更大的推广和发展。
3 系统结构
项目的整体功能设计框图如图1所示。主要的研究内容有语音合成模块、摄像头模块、Wi-Fi模块和红外线测温模块、OLED模块等。
系统可以通过Openmv4摄像头模块采集实时视频信息,利用人脸口罩检测模型训练后的算法进行视频口罩的分析,分析完毕后将处理的结果返回给STM32F407处理器进行第二次处理,这时会通过ESP8266 WIFI模块将视频信息传入电脑,电脑上会显示实时画面,实现远程监控。如检测到有人没有佩戴口罩,处理器会控制语言模块进行语音提示,同时LED灯会声光报警。与此同时,红外线测温模块将测量人体体温并显示在OLED屏上。
4 系统软件硬件设计
4.1摄像头口罩识别控制设计
本次项目使用的是OpenMV, 它是一个开源、低成本、功能强大的机器视觉模块,它集成了OV7725摄像头芯片,提供Python编程接口。使用者们可以用python语言使用OpenMV提供的机器视觉功能[1]。它与MCU的连接如图2。
Openmv会首先进行人脸口罩的识别,获得结果后通过USART传给MCU结果。人脸口罩识别首先需要准备大量的人脸口罩图片称为数据集,大量的不同的数据通过高效的算法才能训练出一个有效的模型,概念如图3,这种方式叫作深度训练模型训练。
通用的步骤是首先定义算法公式,也就是神经网络的数据处理算法,目前常用的是inceptionV4,mobilenet等,然后确定loss,也就是选择优化器,来让loss最小,接着对数据进行迭代训练,使输出的结果loss达到比较小,最后算法或者平台会对整个测试集进行准确率的评估。
使用Openmv可以通过EDGE IMPULSE在线网站训练我们的模型,网站上我们可以进行Transfer Learning,大大减少了我们训练的时间,最后平台会自己进行准确率评估,当错误率在5%以下时,这个训练出来的模型就具有一定的实用性。
4.2 wifi模块设计
项目使用的是ESP8266EX,有较多的GPIO口,支持SPI、I2C、UART通信,MCU通过串口传输AT指令实施对ESP8266的控制。具体电路图如下图4所示。
4.3 语音合成模块使用
本次使用的语音合成模块为SYN6288-A,主控通过串口发送指令,SYN6288解码合成语音,通过外接的喇叭实现声音的转化。
通过URAT传输发送数据,以数据帧格式进行。当检测出未戴口罩后MCU会发送数据和命令,合成语言,SYN6288解码后合成语言,通过喇叭实现播放。
4.4人体体温检测模块设计
系统采用MLX90614模块检测人体体温, 因为物体红外辐射能量的大小和波长的分布与其表面温度关系密切。因此,通過对物体自身红外辐射的测量,能准确地确定其表面温度,红外测温就是利用这一原理测量温度的。红外测温器由光学系统、光电探测器、信号放大器和信号处理及输出等部分组成电路图如图7[3]。
5 系统测试结果
本系统每采样20次得到一次数据集输出,首先我们将得到的数据进行限幅滤波,去掉比较大的误差值,然后进行中值滤波,将数据的中间几位取算数平均根,经过这样的数据处理,数据浮动频率会大大减小,数据变得相对更稳定,不会长时间的跳动,并经过大量采样输出数据值与实际温度值非常接近。
参考文献:
[1] 金椿柏,姚宇航,蔡煜廷,等.基于无人机进行火场搜救设备的研究设计[J].电子制作,2018(18):21-22.
[2] 邹益民,庹超超,宗敏.一种基于手机WiFi的无线测控技术及其应用[J].工业仪表与自动化装置,2017(2):43-46.
[3] 浦丽华.铁路专用轻便型红外测温仪检定方法的探讨[J].上海铁道科技,2014(1):64-65,49.
【通联编辑:闻翔军】