基于深度学习的医院口罩佩戴检测系统研制
2024-12-31鄢小虎王姗翟金龙
摘" 要:针对医院人流量大、检测时间短、干扰因素多的特点,对医院口罩佩戴检测系统的设计进行了研究。制作医院口罩佩戴检测数据集,利用LabelImg工具对口罩佩戴的位置和类别进行标注。为了减少光照对检测性能的影响,对图像进行白化处理。选择YOLOv5模型进行检测,将迭代次数设置为不同的值,训练模型并比较评价指标值,找到合适的迭代次数。构建基于Flask和ECharts的展示页面,实现了对医院视频监控画面的实时检测,减少了误检和漏检,节省了人力物力。
关键词:深度学习;口罩佩戴;目标检测;Flask框架
中图分类号:TP391.4" 文献标识码:A" 文章编号:2096-4706(2024)12-0151-04
Development of Hospital Mask Wearing Detection System Based on Deep Learning
YAN Xiaohu1, WANG Shan2, ZHAI Jinlong3
(1.School of Undergraduate Education, Shenzhen Polytechnic University, Shenzhen" 518055, China; 2.The Central Hospital of Wuhan, Tongji Medical College of Huazhong University of Science and Technology, Wuhan" 430014, China; 3.School of Computer Science and Software Engineering, University of Science and Technology Liaoning, Anshan" 114051, China)
Abstract: According to the characteristics of large flow of people, short detection time and many interfering factors, the design of hospital mask wearing detection system is studied. The detection data set of hospital mask wearing is made, and the position and category of mask wearing are marked by using the LabelImg tool. In order to reduce the influence of illumination on the detection performance, the image is whitened. The YOLOv5 model is selected for detection, the number of iterations is set to different values, and the model is trained and the evaluation index values are compared to find the appropriate number of iterations. The display page based on Flask and ECharts is constructed to realize real-time detection of hospital video surveillance pictures. It reduces 1 detection and missed detection, and saves manpower and material resources.
Keywords: Deep Learning; mask wearing; target detection; Flask frame
0" 引" 言
口罩是预防呼吸道传染病的重要防线,可以有效地减少飞沫的传播,极大地降低病毒感染的风险。在呼吸道疾病高发等特殊情况下对进出医院的人员进行口罩佩戴检测非常必要。然而,对口罩佩戴情况进行人工检查不仅耗费大量的人力资源,还容易出现误检、漏检等情况。随着人工智能技术的发展,利用监控摄像头采集图像,结合深度学习方法可以实现人脸口罩佩戴的实时准确检测,对医院防控呼吸道疾病传播具有重要的应用价值[1-3]。
目标检测算法主要分为传统检测算法和基于深度学习的检测算法[4,5]。相比传统检测算法,基于深度学习的检测算法在速度、精度和泛化性方面都有极大的提升,已成功应用于口罩佩戴检测领域[6]。本文针对医院人流量大、检测时间短、干扰因素多的特点,设计基于深度学习的口罩佩戴检测系统,选择实时性和精度较好的YOLOv5作为检测算法,利用AJAX(Asynchronous JavaScript And XML)技术实时传输数据,构建基于Flask和ECharts的展示页面。针对正确佩戴口罩、不规范佩戴口罩、未佩戴口罩三种情况,本文建立端到端模式的深度神经网络[7,8],对口罩佩戴情况进行检测和提醒。对比分析不同迭代次数时的模型性能,选择评价指标最优的模型,利用摄像头、计算机和显示屏等设备对进出医院的人员进行实时口罩佩戴检测,节省了大量的人力物力,提高了医院防控呼吸道疾病传播的效率。
1" 目标检测算法
1.1" 传统的目标检测算法
传统的目标检测算法建立在手工提取图像特征的基础上,具体流程如图1所示。
如图1所示,传统的检测算法首先对输入的待检测图像选定候选区域;然后,在候选区域内进行特征提取,常用的算法包括Haar、SIFT(Scale-Invariant Feature Transform)、HOG(Histogram of Oriented Gradient)等;最后,对提取的特征进行分类,常用的分类器包括支持向量机、Adaboost等。由于医院人流量大、背景多样和干扰因素多,手工设计特征方法的鲁棒性不好。同时,传统方法检测过程烦琐、计算量大,无法满足口罩佩戴实时检测的要求[9]。
1.2" 基于深度学习的目标检测算法
基于深度学习的目标检测算法通常利用卷积神经网络提取特征,然后通过分类回归层完成目标的分类和定位,主要包括两阶段检测算法和单阶段检测算法。两阶段算法的结构分为两部分,以Faster R-CNN为例,其首先利用RPN(Region Proposal Network)网络判断候选框是否为目标,再经分类定位的多任务损失判断目标类型[10]。两阶段算法准确度较高,但检测时间长,难以满足医院实时检测的要求。单阶段算法在生成候选框的同时进行分类和回归任务,包括YOLO、SSD等算法。
由于YOLOv5算法的运行速度快且检测精度高,本文选择YOLOv5作为医院口罩佩戴检测的算法,其结构如图2所示。
YOLOv5的网络结构主要由输入端、主干网络、颈部以及输出端四个部分组成。输入端对图像进行预处理;主干网络实现特征提取,主要包括切片结构、卷积模块、瓶颈层和空间金字塔池化;颈部为特征融合网络,采用自顶向下和自底向上联合的融合方式,能较好地融合多尺度特征;最后,针对冗余的预测框,利用非极大值抑制等操作,获得最优的目标框。相比其他算法,YOLOv5的结构更小巧,配置更灵活,检测速度更快,能更好地满足医院口罩佩戴图像实时检测的需求。
根据模型深度和宽度的不同,YOLOv5可分为YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四种模型。随着深度和宽度的增加,YOLO模型的检测速度变慢但精度有所提升,可根据应用场景选择适合的模型进行检测。由于医院口罩佩戴检测系统对实时性要求较高,本文选择YOLOv5s模型,以达到实时检测的目的。
2" 基于深度学习的口罩佩戴检测算法
2.1" 开发环境
本文口罩佩戴检测算法的开发环境如表1所示。
YOLOv5s算法在PyCharm 2022环境下利用PyTorch框架开发,通过带GPU的高性能计算机对模型进行训练。
2.2" 数据集
收集整理包含正确佩戴口罩、不规范佩戴口罩、未佩戴口罩三种情况的图像数据,利用LabelImg工具标注口罩在图像中的具体位置和所属类别。实验数据集共包含1 173张图像,分为训练集、测试集与验证集,数据集的详细划分如表2所示。
2.3" 评价指标
为了验证本文人脸口罩佩戴检测算法的可行性和有效性,选取准确率P、召回率R、平均精度均值mAP作为评价模型性能的指标。P表示实际是正类并且被预测为正类的样本占所有预测为正类的样本的比例;R表示实际是正类并且被预测为正类的样本占所有实际为正类样本的比例;mAP表示各个类别平均精度的均值,用于衡量多个目标类别的平均检测精度。
2.4" 模型训练与分析
由于医院干扰因素多,为了减少光照对检测性能的影响,对原始图像进行白化处理。假设图像P有m行n列,每个像素的值为Pij,图像的均值和方差分别为:
(1)
(2)
经过白化处理后,图像的每个像素值为xij:
(3)
将迭代次数设置为不同值,对比分析准确率、召回率、平均精度均值三个评价指标的值。当迭代次数设置为200时,模型在训练集和验证集上的性能较优。因此,本文将此时训练得到的模型参数作为最终参数值进行保存和使用。
3" 医院口罩佩戴检测系统设计与实现
本文中医院口罩佩戴检测系统利用YOLOv5s作为后台检测算法,通过AJAX技术实时传输数据,利用Flask和ECharts搭建Web前端展示页面。
3.1" 基于AJAX的前后端数据实时交互
为了实现对医院进出人员口罩佩戴情况的实时检测,本文采用AJAX技术实现前后端数据的交互。AJAX使用JavaScript和XML实现异步数据的传输,可快速高效地异步调用文本、JSON等数据,其工作原理如图3所示。
如图3所示,相比传统Web应用程序的交互方式,AJAX在用户界面和Web服务器之间增加了AJAX引擎,实现了用户操作与服务器响应的异步化。传统Web应用如果更新内容,需重载整个页面;AJAX应用将部分数据交给AJAX引擎来处理,通过与服务器进行少量数据交换,实现网页异步更新。当需要从服务器读取新数据时,AJAX引擎才与服务器进行数据交互。AJAX技术减轻了服务器的负担,提高了数据传输的效率,有利于实现医院口罩佩戴情况的实时检测。
3.2" 基于Flask和ECharts的展示页面
Flask是一个基于Python语言的Web框架,相比其他框架更灵活、轻便、安全。Flask主要基于Werkzeug WSGI工具箱和Jinja2模板引擎,其强大的插件库可以让用户实现个性化的功能定制。Flask框架的工作流程如图4所示。
在基于深度学习的医院口罩佩戴检测系统中,Flask框架将检测算法的视图函数分配给URL,当用户访问该URL时,系统执行分配好的视图函数,获取函数的返回值并将其显示到Web页面上,展示效果如图5所示。
如图5所示,系统可以同时对医院视频画面中多张人脸的口罩佩戴情况进行实时准确的检测。当正确佩戴口罩时,会在界面上用红色框标识,并配有文字with_mask和置信度;当佩戴口罩不规范时,会在界面上用橙色框标识,并配有文字mask_weared_incorrect和置信度;当没有佩戴口罩时,会在界面上用粉色框标识,并配有文字without_mask和置信度。当检测到不规范佩戴口罩或未佩戴口罩时,系统右上角会弹出“口罩佩戴异常”的警告。
ECharts是由百度开发的一款基于JavaScript的数据可视化图表库,包含柱状图、折线图、饼状图、雷达图等类型。本文利用ECharts从多个角度对口罩佩戴检测数据进行统计分析,如图6所示。
如图6所示,系统对正确佩戴、不规范佩戴和未佩戴三种情况进行统计,以饼图形式绘制统计结果,并计算出每种口罩佩戴情况的占比。
3.3" 讨论与展望
基于深度学习的医院口罩佩戴检测系统选择YOLOv5作为检测算法,利用AJAX技术传输数据,通过Flask和ECharts构建展示页面。该系统可对医院进出人员口罩佩戴情况进行实时准确地检测,将不同口罩佩戴情况分别进行展示,统计每天三种口罩佩戴的人数及占比,对不佩戴口罩和不规范佩戴口罩的情况进行提醒,从而能极大地节约人力资源,减少误检、漏检等情况。由于医院现场环境的复杂性和多样性,可以通过数据集扩充、模型改进、参数优化等方式进一步提升检测算法的性能。
4" 结" 论
针对医院人流量大、检测时间短、干扰因素多的特点,本文设计了基于深度学习的医院口罩佩戴检测系统。选择YOLOv5s模型作为检测算法,将摄像头采集的视频图像作为输入,利用训练好的YOLOv5s模型对口罩佩戴情况进行检测。在视频画面上绘制出人脸的边界框,并在边界框的上方输出口罩佩戴的检测结果,包括正确佩戴口罩、不规范佩戴口罩、未佩戴口罩三种情况。构建基于Flask和ECharts的Web页面,利用AJAX技术传输检测结果,并在显示器上实时展示。本文设计的口罩佩戴检测系统极大地节省了人力物力,减少了误检、漏检等情况,提高了防控呼吸道疾病传播的效率。
参考文献:
[1] 吴昱昊,王会成,朱云强.基于YOLOv5的人脸口罩检测研究与实现 [J].现代信息科技,2023,7(4):98-100.
[2] 牛作东,覃涛,李捍东,等.改进RetinaFace的自然场景口罩佩戴检测算法 [J].计算机工程与应用,2020,56(12):1-7.
[3] 苑颖,刘旭峰.基于YOLOv5的疫情防控口罩佩戴检测系统设计与实现 [J].现代信息科技,2023,7(7):65-68+73.
[4] 谢星星,程塨,姚艳清,等.动态特征融合的遥感图像目标检测 [J].计算机学报,2022,45(4):735-747.
[5] 聂光涛,黄华.光学遥感图像目标检测算法综述 [J].自动化学报,2021,47(8):1749-1768.
[6] 韩毅,郭圆辉,王旭彬.基于卷积神经网络的智能抓取系统研究 [J].河南科技,2021,40(35):17-20.
[7] 彭雨诺,刘敏,万智,等.基于改进YOLO的双网络桥梁表观病害快速检测算法 [J].自动化学报,2022,48(4):1018-1032.
[8] 袁扬,马浩文,叶云飞,等.基于YOLOv3算法的盲道识别研究 [J].河南科技,2022,41(6):20-23.
[9] 楼立志,张涛,张绍明.基于DPM和R-CNN的高分二号遥感影像船只检测方法 [J].系统工程与电子技术,2019,41(3):509-514.
[10] REN S,HE K,GIRSHICK R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
作者简介:鄢小虎(1986—),男,汉族,湖北武汉人,高级工程师,博士,研究方向:计算机视觉、机器学习、智能优化算法。