APP下载

基于深度学习的安全帽智能识别系统设计与实现

2022-04-29郭普特李铖杰韦天健

中阿科技论坛(中英文) 2022年4期
关键词:安全帽特征图像

郭普特 郑 斌 黄 敏 苏 洁 李铖杰 韦天健 刘 宇

(长沙理工大学计算机与通信工程学院,湖南 长沙 410114)

0 引言

建筑业是国民经济的重要物质生产行业,它与整个国家的经济发展和人民的生活质量息息相关,但近几年来,建筑行业的安全事故一直呈现上升趋势,究其原因,对安全帽的忽视是很重要的一个因素。正确佩戴安全帽能够在一定程度上避免事故的发生,然而,工人不戴安全帽的不安全行为时有发生,主要原因是安全帽智能检测系统市场的空缺,依靠安全管理人员监控来提醒工人佩戴安全帽,不光监控时效性差、监控范围具有局限性以及无法全程监控等,还会导致人力成本的增加。

考虑到检测现场作业人员安全帽佩戴情况的任务对实时性要求很高,团队首先考虑了实时性强且准确度也可靠的YOLO系列模型。其中,YOLOX是该系列中性能最强大的模型版本,但YOLOX、YOLOv4和YOLOv5模型对边缘设备的架构不具有广泛的兼容性,考虑到这一点,本文研究采用工业制造最常用的 YOLOv3[7-9]检测模型来实现检测任务。YOLOv3(You Only Look Once V3)模型作为端到端目标检测模型的代表,不仅具有良好的实时性,同时具有较高的准确性。本文基于YOLOv3模型设计了安全帽检测算法,并通过PyQt5创建了可视化界面,实现了跨平台功能的同时方便了远程终端的智能监控,测试过程中视频检测的FPS基本保持在20以上,mAP达到86.7%(数据集由本团队制作,测试集共1518张图片,测试设备为Nvidia AGX Xavier)

1 系统架构

1.1 整体架构

基于深度学习安全帽智能识别系统可分为两个子系统,分别为以目标检测算法为主体的安全帽识别系统和以用户操作为主体的智能终端交互系统。系统框架如图1 所示。

图1 系统整体架构图

1.2 系统运行环境及框架版本要求

在检测过程中,性能的开销主要来源于神经网络对特征图的卷积等操作和网络中各层参数在存储系统中频繁的调度。本系统所采用的YOLOv3模型本身具有较好的并行性,但由于其运行时存储的图像数据和模型参数会占用较大的存储空间,所以过小的运行内存将会导致其检测性能下降,因此需要使用拥有更大内存空间的运算平台来支撑本系统的正常运行,本系统使用Nvidia AGX Xavier作为计算平台。

本系统设计的另一个目标为跨平台运行,为实现该运行效果,上位机系统开发阶段要求所有功能均使用PyQt5框架提供的库函数以保证系统的兼容性。本系统采用的PyQt版本为5.13.0。

2 基于深度学习的目标检测算法实现

2.1 YOLOv3模型框架

YOLO3模型的网络结构如图 2 所示,主要由三部分组成,分别是特征提取网络、特征增强结构和目标检测层。模型检测的过程中,首先将摄像头捕获的图像信息送入特征提取网络Darknet-53进行特征提取,该骨干网络通过一系列的下采样操作来提取图像中不同层级的特征信息,其中残差结构通过将残差块的主干网络处理后的特征图和原始特征图进行叠加来抑制反向传播时梯度消失的发生,该结构使得深层网络在进行训练的时候也能稳定地收敛。其次,在特征增强网络中采用类FPN结构(特征金字塔结构),即连续地将Darknet-53骨干网络中间层特征图和后一层特征图的上采样结果进行拼接,以融合不同层级特征图中的语义信息。最后,得到 13×13、26×26、52×52 三种不同尺寸的特征图输出,以适用于图像中不同大小的安全帽目标检测。

图2 YOLOv3模型结构图[10]

2.2 Soft-NMS 优化

传统的NMS(非极大值抑制)算法有一定的缺陷,如当两个物体在图像中距离较近时,NMS算法会将得分较低的检测框直接删除,最后可能导致漏检的情况。针对该问题,本文采用Bodla等[11]提出的Soft-NMS算法,该算法的核心是“合理降低重叠预测框的置信度”,如果图像中同一个物体有多个重叠的预测框,此时通过排序算法选出得分最高的预测框,再计算其他预测框和得分最高预测框的IoU值,值越大则该预测框置信度被降低得越多,经过一轮操作后即可滤除重复的预测框,而保留正确的预测框。传统NMS算法和Soft-NMS算法处理效果对比如图3中(a)、(b)所示。

图3 Soft NMS优化对比图

2.3 图像增强

对于卷积神经网络的训练,数据集中图像的数量和质量会直接影响模型最终的检测性能。模型训练的数据集由团队在实地中拍摄采集而来,对已有的训练图像数据做图像增强等预处理,能够在一定程度上优化训练的质量,本文从以下两个方面来完成图像增强的操作:

(1)受到张等[12]提出的视觉相干图像混合算法的启发,应用Mixup算法防止特征增强过程中检测目标发生畸变。采取保留图像几何特征的方式进行混合,可以成功减轻网络中由于批量数据的变换所带来的扰动,同时提升对复杂图像的检测能力。

11号矿体:该矿体的构成为一套矿条和平行的扁豆体,在5~8线展布,总长为2 500 m,厚度为16.4~108.4 m,平均为42.7 m,走向呈北北东方向,倾向南东,倾角为80°~85°。

(2)同时结合传统的数据预处理方式,包括随机的颜色抖动、随机翻转、旋转和裁剪图像,以提高泛化精度并避免过度拟合。

2.4 IoU 度量优化

IoU是一种度量在特定数据集中检测相应物体准确度的一个标准。但IoU作为度量和损失函数时存在以下问题:

(1)若图像中两个对象不重叠,IoU值将为零,则不能反映两个对象之间的距离,在该情况下如果使用IoU作为损失函数的参考值,则梯度将为零,将无法对模型进行优化。

(2)IoU不能正确地区分两个目标之间不同的对齐形式,更确切地说,不同方向上有相同交叉级别的两个重叠对象的IoU会完全相同。

针对存在的问题,本文采用了GIoU[13]的方法来计算损失,即首先计算两个框的最小闭包区域的面积,同时计算出 IoU,再计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用IoU减去这个比重得到GIoU,如公式(1)所示:

2.5 基于深度学习的目标检测模型训练及方案实现

基于深度学习的目标检测模型的训练步骤如下:

使用Python3.6.9+Pytorch1.7.0+CUDA10.2 搭建模型运行平台,通过迁移学习算法加载已经ImageNet数据集上预训练好的模型参数,提高下游任务的学习效率。

实地采集图像数据,使用Labelimg工具给图像数据打上标签,制作成模型训练、测试数据集。

使用图像增强算法对训练数据集进行扩充。

将数据集接入模型,使用NAdam优化器来实现对模型的优化,同时采取余弦退火算法对学习率进行一个动态调节。

根据全插值方法把数据准确率与召回率构成的p-r曲线的函数进行求积分操作以获得AP,通过求出所有类别物体(未佩戴安全帽的工人和已佩戴安全帽的工人)的平均AP获得mAP的值。

将训练好的模型参数导入网络中,构建成系统中的目标检测模型。

通过以上步骤训练得到的模型即可实现视频图像中安全帽的实时检测。

3 交互设计与实现

3.1 显示界面模块

图像显示模块的主要作用是将神经网络处理后的检测结果信息显示在GUI界面上,上位机显示效果如图4所示。

图4 界面布局设计

团队使用PyQt5 平台中的QGraphicsView作为显示图像的控件,方便读取 QImage 中的内容并进行显示。

3.2 界面元素布局模块设计

PyQt5为开发者提供了QVBoxLayout、QHBoxLayout、QGridLayout等基本布局管理类[14],这些基本布局管理类可以通过相互嵌套来实现自适应窗口大小的功能,本系统采用了QVBoxLayout和QHBoxLayout的嵌套来实现该功能,为用户设计了“打开文件”“开始/暂停”“打开摄像头/退出系统”的功能按键,实现了对本地视频文件的读入、对工地现场摄像头进行操作等智能化功能。

3.3 文件存储模块设计

PyQt5中的QImage提供了文件读取、存储的功能,同时提供了编辑图像单个像素点的接口,使得开发程序得到了简化。QImage支持读取和保存图片的数据格式包括JPG、JPEG、PNG、BMP等。

4 基于深度学习的安全帽智能识别系统测试

本文在Nvidia AGX Xavier平台上针对1518张测试数据集进行了测试,其中包括了对密集人群检测效果和远距离安全帽检测效果的测试,测试效果如图5(a)、(b)所示。

图5 检测效果图

从检测结果来看,系统的核心功能达到了团队的预期目标,系统实时检测的效率较高,对密集人群和远距离安全帽的检测效果达到了理想的效果,其他正常环境下出现误测的情况较少。同时对是否佩戴安全帽的工人采用了两种不同颜色的检测框来区分(白色为没有佩戴安全帽,绿色为正确佩戴安全帽),为监控人员了解施工人员的安全帽佩戴情况提供了良好的参考依据。

5 结论

本文采用改进后的YOLOv3模型实现了对安全帽的实时准确检测,并基于PyQt5开源框架开发了用于展示检测结果的跨平台远程终端智能交互界面,最终实现的智能检测系统填补了建筑行业安全帽智能识别系统的空缺,给现场作业人员的安全带来了有效的保障。但是该系统依然存在一些缺陷,比如检测效果受到光照条件影响较大、系统对运行平台的算力要求较高等问题,在今后的研究中,团队将针对这些问题继续对检测模型进行优化改进。

猜你喜欢

安全帽特征图像
根据方程特征选解法
小小安全帽,生命保护伞
离散型随机变量的分布列与数字特征
浅析p-V图像中的两个疑难问题
巧用图像中的点、线、面解题
有趣的图像诗
爆笑四格
不忠诚的四个特征
危险
趣味数独等4则