东南大学成贤学院电子与计算机工程学院 何榕程 丁克伟 肖佳鑫 司创利 郁佳佳
2019年末爆发新型冠状肺炎,对全球造成了巨大的冲击。疫情期间,在某些公共场所进行活动时如果未按要求佩戴口罩将会造成疫情传播的风险。因此,不论是在公共场合还是其他地点能正确有效的佩戴口罩都是非常必要的,此举能够有效地提醒人们正确佩戴口罩,降低人员交叉感染的风险,保障自己以及他人的生命健康,通过人工智能算法实现试试的监控人们是否佩戴口罩具有很重要的意义和价值。
本文提出的算法模型在最终测试时输入同时出现一个或多个目标媒体时,可以准确的进行有效识别,兼顾检测的实时性和准确性两方面。最终测试结果表明,我们改进后的YOLOv4算法,在检测速率和检测精度方面都有显著提高。本文提出了一种已YOLOv4为基础的改进的YOLO网络的检测算法,主要采用CIoU作为边框回归损失函数,使预测框更接近真实框,可以加快模型的收敛速度。
YOLOv4是一种基于回归的目标检测算法,具有较快的检测速度和精度,能够很好的实现一些目标检测任务。相对于YOLOv3算法,改进后的YOLOv4引入了Mosaic,Lable Smoothing平滑等技巧来提升神经网络的准确率。
本文采用CIoU作为边框回归损失函数,损失函数如式(1)所示:
其中:α是用于做trade-off的参数,v是用来衡量长宽比一致性的参数,b和bt分别表示预测框和真实框的中心点,ρ表示欧式距离,c表示预测框和真实框的最小外界矩形的对角线距离。α和v的计算方法如式(2)所示:
口罩佩戴检测数据集主要来自网络爬虫,部分针对性训练数据集由自己制作。样本图像中标注为佩戴口罩(masked)和未佩戴口罩(no masked)。仿照PASCAL VOC格式处理口罩数据集,将标注信息归一化处理,公式如式(3)所示:
其中,(width,heigh)为图片的原始宽高,(xmin,ymin)为原始样本边界框的左上角位置信息,(xmax,ymax)为原始样本边界框的右下角位置信息,(x,y)为目标归一化处理后的中心点坐标和宽,(w,h)为中心点坐标和高。
训练集共包含11000张不同的图片,验证集包含2400张图片,根据YOLOv4的算法要求将数据集转换成VOC2007数据集格式,并使用LableImg标注软件进行标注,标注的标签类别使用masked、no masked两类。同时数据集包含了不同遮挡物、不同角度等多尺度以及不同人物数量的口罩佩戴信息,有利于提高在检测口罩佩戴情况时的鲁棒性和精确度。
试验采用了Darknet深度学习框架,演示环境为Ubuntu20.04、CUDA10.1、cuDNN7.6.5、OpenCV4.1、GTX1050-4G、Python3.9。训练设置如下:输入尺寸为416×416,IOU阈值为0.5每次迭代训练样本数为32、分16个批次,最大迭代次数设置为10000,学习率为0.001;迭代次数分别4500和5000时,学习率衰减为0.1,Class参数为训练检测的目标数,由于本目标检测的目的为是否佩戴口罩,将class参数设置为2,两种即戴口罩mask和未佩戴口罩no mask。修改好后,修改编译文件Makefile,生成可操作的执行文件进行模型训练。最终得到的训练时间为142h。
训练完成后,从日志文件中读取每次迭代的损失值,并绘制Loss-mAP曲线,显示结果如图1所示。
图1 mAP、Loss曲线
由图3知,当迭代次数为9000次后,Loss值基本稳定在1.25左右,本文选择目标检测算法的评价指标为平均精度均值(mean Average Precision,简称mAP)。
图3 Jetson Nano检测效果
在已有的数据集下最终得到的响应时间在60-70ms左右,模型精度为93.6%,Loss为1.2494。该网络取得了不错的检测效果。在测试集上的部分检测效果如图2所示,佩戴口罩和未佩戴口罩分别使用绿色和紫色框架标出并且标有masked,no masked字样,使输出结果进一步可视化。
图2 检测效果
将本文算法与其他主流目标检测算法性能指标进行对比,对比结果如表1所示。
表1 不同检测算法性能指标对比
从最终结果来看,本算法与上面4种算法相比具有更高的精度,精度上都有所提高,mAP提高至93.6%。综上,本文的YOLO算法在性能上有一定优势。
本文最终设备包含了物理摄像头,无线网卡,Jetson nano主板,散热风扇,64GSD卡等。检测效果如图3所示。
结束语:预防新型冠状肺炎的方式主要是阻断其来源及其传播,而戴口罩是阻断病毒的最有效的方式。本文基于这样的背景,实现了一种通过定位人脸与口罩的检测任务,对采集到的目标图片以及视频中提取特征并进行分析分类,从而达到判断目标是否正确有效地佩戴口罩。本文提出的采用改进的YOLOv4模型的口罩佩戴识别方法可应用在口罩佩戴识别系统中,通过CIoU改进后的YOLO v4网络,并将其部署于设备上,能够满足疫情期间,应用于公众场所并能够准确的检测出人们是否佩戴口罩,对防疫工作做出很大的贡献,具有重大的应用意义。