面向小目标的改进YOLOv5安全帽佩戴检测算法

2024-03-03 11:21邓珍荣熊宇旭陈昱任
计算机工程与应用 2024年3期
关键词:安全帽卷积特征

邓珍荣,熊宇旭,杨 睿,陈昱任

1.桂林电子科技大学 计算机与信息安全学院,广西 桂林 541004

2.广西图像图形与智能处理重点实验室,广西 桂林 541004

3.广西建工大都租赁有限公司,南宁 530000

随着社会技术的不断进步,人工智能应用在各个行业都得到了广泛的使用。比如行人检测、智能监控等。在建筑施工行业,由于作业人员长期在高危区域中工作,为了确保工作人员的生命安全,所有人都必须佩戴好安全帽。正确佩戴好安全帽极为重要,安全帽是最为有效的保护手段,能够有效降低外界潜在风险对人的身体损害,确保施工行业的稳定发展。但是近几年的数据显示,在建筑施工行业一直存在着各种安全风险,同时施工人员并没有正确佩戴安全帽,导致各种问题频繁发生,原因包括员工安全意识薄弱,综合素质相对于其他行业来说确实很低,对于各种施工场地的安全风险并没有认真考虑,极易忽略掉安全隐患,导致各种安全事故频频发生。同时施工企业的监管设备也存在过于落后的问题,常规的人工监督管理不仅人员费用高,设备使用繁杂而且人工长时间的监督管理容易疲劳,容易导致监督疏忽或意外安全隐患,不能满足目前高危行业安全监管的要求。

创建一个高效的安全监管设备对于高危行业来说是必不可少的,所以许多研究者利用机器视觉技术来对安全帽的佩戴做检测,目前检测方法分为两种,传统的检测算法通过图像处理等方法来对安全帽做检测,但是检测性能不稳定,在复杂多变的施工场景下,容易受到非目标信息的干扰,鲁棒性和泛用性差,不适用于当前复杂多变的施工场景。

另一种检测方法是使用卷积神经网络来实现的,由于RCNN[1-4]的提出,首次把卷积神经网络应用到目标检测任务中,同时推动了国内深度学习在目标检测上的研究,深度学习的研究学者也提出了不少的基于深度学习的目标检测算法来检测安全帽,与传统的目标检测方法相比,取得了划时代的进步。

目前基于深度学习的目标检测方法主要分为两大类:基于候选区选取(region proposal)的二阶段的目标检测算法和基于回归问题的单阶段的目标检测算法。二阶段检测算法对候选框进行回归和去除冗余得到目标检测结果,主要代表有SPP-NET[5]、RCNN系列算法模型。基于回归问题的单阶段的检测算法是不需要进行候选框生成操作的,而是直接把目标的边界框的定位转化为回归问题,以此来得到目标的位置信息和目标类别信息,这类算法的代表包括YOLO[6-9]系列模型和SSD[10]网络。

在两类算法中,一阶段算法由于省略了候选框,从而让算法的检测速度更快。但二阶段算法的检测准确率和定位精度更高。例如,徐守坤等人[11]在算法的基础上改进了更快的RCNN,模型检测精度和速度都优于一般的目标检测算法,但是算法的实现和训练过程较为复杂,在检测重叠和密集小目标方面仍然有着不足之处;王玲敏等人[12]在YOLOv5中引入注意力机制,预测安全帽的位置,以上的深度学习方法虽然在精度和速度上优于其他算法,但在小目标和密集目标上效果不佳。

针对上述问题本文选用当前优秀的YOLOv5 作为改进前的目标检测算法,YOLOv5相比于其他算法实时性强,但是在重叠和密集的小目标上检测效果较差。本文决定对YOLOv5模型进行改进,使其在检测重叠和密集的小目标任务上取得更好的结果,并满足当前复杂多变的施工场景的要求。

综上,为了满足需求并减少应用端的计算量,对YOLOv5 进行改进:使用Mixup 方法对数据预处理,增强模型泛化性和鲁棒性;将Transformer 融入主干网络提取更丰富的语义特征;在特征融合阶段添加小目标检测层并融入注意力机制,提高对小目标的检测性能,同时采用轻量化的GSConv卷积模块,减少参数量并加快检测速度;检测头对分类和回归进行解耦,加快收敛速度;使用Anchor-free无锚点检测方法,简化算法结构,加快检测速度;使用EIOU 损失函数来优化边框预测的准确度。实验结果表明改进后的YOLOv5 模型在安全帽检测任务中表现出良好的检测性能。

1 相关技术

1.1 YOLOv5结构介绍

YOLOv5 是在2020 年诞生的一种全新的目标检测算法,具有较低的体积,可以被划分为四个不同的版本:s、m、l 和x,这四个版本的权重、模型的宽度和深度是依次增加的,本文选用最小的版本YOLOv5s 进行改进优化。

YOLOv5s的结构包括输入端、主干网络、多尺度特征融合网络、检测头,其网络结构如图1所示。

图1 YOLOv5网络结构图Fig.1 YOLOv5 network structure diagram

1.1.1 输入端

输入端就是对输入的原始图像进行数据处理,常用到的数据增强技术包括Mosaic,主要是对输入的图像进行压缩放大、随机裁剪和随机排列,大大降低了GPU的消耗,丰富了数据集,在不损失小目标特征的情况下,增加了小目标的多样性,从而提高了YOLO模型对小目标的检测性能,接着把图像缩放到模型规定的大小,再进行检测。同时,根据预测的锚框大小和位置,使用自适应锚框计算,以使其适应当前图像的内容,获得最佳预测框。

1.1.2 主干网络(Backbone)

主干网络部分包括Focus、CSP 和SPP 三大模块,Focus对特征图做切片操作,来获得更小的特征图,降低了FLOPS 和提高检测速度。CSP 模块是将原输入数据做分支处理,一个分支进行卷积操作降低通道数,另一个分支进行多个残差结构(Bottleneck)堆叠,然后拼接两个分支,目的是让YOLO 模型学习到更多的特征信息。SPP 模块组合使用三个不同尺度大小的池化核进行最大池化操作,在不降低推理速度的情况下,扩大网络的感受野,解决候选锚框与特征图各层之间的对齐问题。

1.1.3 多尺度特征融合网络(Neck)

Neck模块采用特征金字塔从上向下传递语义信息和路径聚合结构来传递定位信息,提高了特征层之间的交互性,对提取到的有效特征层信息进行交互融合,从而进一步提高模型的检测性能。

1.1.4 检测头(Prediction)

Prediction 中的损失包括分类和回归两部分,YOLOv5模型的损失函数为GIOU Loss,在目标检测后的处理过程中,使用非极大值抑制算法筛选预测框,提高对目标识别的准确率。

1.2 MHSA和CoAtNet

近年来,在计算机视觉领域,基于Transformer[13-14]的模型取得了显著的结果。基于Transformer设计实现的模型有很多,例如,图像分类模型的VIT[15]、目标检测模型的DETR[16],以及江英杰等人[17]改进的目标跟踪算法都取得了很好的效果。UC Berkeley 和Google 基于Transformer 设计了BotNet[18],Bot-Transformer 是一种集成CNN[19-20]和Attention 的强大Backbone。BotNet 将ResNet50[21]使用的Bottleneck的卷积替换成多头注意力机制(multi-head self-attention,MHSA),如图2所示。

图2 ResNet Bottleneck与BotNet网络结构Fig.2 ResNet Bottleneck and BotNet network structure

MHSA 结构如图3 所示,MHSA 引入相对位置编码,能够有效地聚合全局信息,捕获远距离依赖关系,并将对象之间的信息与位置感知有效关联。

图3 Multi-Head Self-Attention网络结构Fig.3 Multi-Head Self-Attention network structure

为了有效地将CNN和Transformer融合,CoAtNet[22]提出了一种基于卷积层和注意力层相互混合的模型结构,将卷积和自注意力通过简单的相对注意自然统一,CNN 和Transformer 以传统方式垂直堆叠,在泛化能力和效率上获得了惊人的效果。为了降低计算复杂度,当特征图达到可管理的水平时,使用下采样操作来减少空间并利用全局相对注意力,这样就降低了特征图的分辨率和计算的复杂性。如图4 所示,CoAtNet 模型作者最终发现C-C-T-T 的排列混合的效果最好,其中C 表示CNN,T表示Transformer。

2 YOLOv5s算法的改进

2.1 添加Mixup数据增强方法

在数据预处理阶段,加入简单有效的Mixup 方法,能够解决YOLOv5模型中存在的过拟合、不平衡表示以及对特定样本的敏感性的问题。Mixup 简单来说就是对两张图像进行叠加融合,同时对不同类别进行建模处理。

核心思想是通过随机加权相加从训练样本中提取两个随机样本,然后根据预测结果,反向推导更新参数。此外,所有的训练过程都只采用混合的新图像训练,并且原始图像不参与训练过程,这种方法在图像识别领域有明显的提升效果。Mixup 的图像混合生成方式比较简单。如公式(1)、(2)所示:

λ∈[0,1]是概率值,λ~Beta(α,α)即λ服从参数都为α的Beta分布。

其中,x为输入向量,y为类别标签,(xi,yi)与(xj,yj)是同一个batch 中随机选择的两个样本及对应标签,λ为从Beta分布中随机采样的数,λ∈[0,1]。Mixup不仅可以增加数据的多样性,而且改善了YOLOv5模型的泛化能力,并提高了对于类别不平衡样本的处理能力,无论对于含噪声标签的数据还是对抗样本攻击,都表现出不错的鲁棒性。

2.2 加入MHSA模块

YOLOv5 的主干网络采用卷积操作来提取特征信息,侧重于提取局部特征,对于全局上下文信息的建模能力相对较弱。这可能导致模型对目标的语义理解不够准确,特别是在复杂场景和小目标的检测中。

为了解决这个问题,引入Transformer 来加强主干网络的语义特征表示,获得更丰富的语义特征信息和更高的计算效率。

借 鉴BoTNet 替 换ResNet 的Bottleneck 为MHSA的设计思想,在原始的YOLOv5 模型基础上将Bot-Transformer引入到主干网络中,提高了YOLOv5模型对长距离依赖关系的建模能力,能够更好地捕捉图像中的重要特征,这种方法提高了对小目标的检测性能,同时减少了参数量,实现了最小化的延迟。

为了降低计算的复杂度,决定把自注意力机制置于网络模型之后,借鉴CoAtNet 设计的C-C-T-T 的排列混合方式,将主干网络的第3 和第4 个Bottleneck 替换为Bot-Transformer。通过这种改进方式,在保证计算复杂度的前提下,有效地融合了CNN和Transformer的优势,提升了模型的特征表达能力和泛化能力。

最后实验数据说明,本文的改进不仅提升了YOLOv5模型的性能,而且在实际应用中具有较低的计算复杂度,这对于实时场景和资源受限的设备具有重要意义。改进后的Backbone模型如图5所示。

图5 YOLOv5结合Transformer网络结构Fig.5 YOLOv5 combined with Transformer network structure

2.3 设计小目标检测层并添加坐标注意力机制

YOLO 系列算法都是采用提取多尺度有效特征图来实现目标检测任务的,采用20×20、40×40、80×80这三种尺度来实现对大、中、小三种不同尺寸目标的检测。但是由于许多目标距离较远,体积很小,在图像或视频中不够清晰,最初用于检测80×80规模小目标的尺度无法完全覆盖更小的目标。因此,添加了一个160×160尺寸的检测层,便于检测较小的目标。为了避免增加过多的计算负担,不与其他尺寸的特征层做融合。

虽然添加了小目标检测层,但由于小目标的像素信息较少,在特征提取过程中,可能会导致小目标的特征在特征图上变得稀疏,信息不够充分,而且小目标通常存在与其他物体的相似度较高,容易造成混淆和误判。

为了解决这些问题,决定引入注意力机制(coordinate attention,CA)[23]。注意力机制能够自适应地调整特征图中的不同位置的权重,将关注点集中在小目标的关键区域,提升小目标的表征能力,减少特征稀疏性问题,同时注意力机制也能够引入更多的上下文信息,帮助模型更好地理解小目标,提高小目标的区分度,提供更全面的特征表示。

CA 是一种高效且新颖的注意力机制,通过将通道注意力分解为两个并行的1D 特征编码,有效地整合了空间坐标信息,使网络能够获取更大范围的信息而避免引入大的开销。

CA模型作者通过大量实验在ImageNet[24]分类和对象检测任务中证明了CA相对于以前的网络注意力方法有着显著优势,如图6所示。

图6 分类和对象检测任务的数据图Fig.6 Data graph for classification and object detection tasks

因此,本文决定引入CA,其结构如图7所示。

图7 CA网络结构Fig.7 CA network structure

CA 将输入的特征向量分解为一维向量,并进行拼接嵌入、通道压缩和标准化处理。然后,它在空间维度上进行拆分,并与原始输入特征向量进行残差堆叠。这种机制能够增强感兴趣目标的表示,提升模型对输入特征的远程相关性的捕捉能力,进而提高模型性能。

设计小目标层网络结构:小目标检测层采用C3 模块,这种模块参数量较小且适合多尺度,能够捕获细节信息并扩展感受野。同时,在C3后面加入CA来进一步处理,增强对小目标的感知能力,从而提升模型的准确性和鲁棒性。这样改进的优势在于,在YOLOv5模型中实现了更强大的小目标检测能力,在处理小目标场景下表现出色。具体的小目标检测层设计结构如图8所示。

图8 小目标层网络结构Fig.8 Small target layer network structure

2.4 将GSConv加入到特征金字塔中

在YOLOv5中,特征金字塔结构使用普通卷积来融合不同尺度的特征信息,但这种方法会引入大量冗余计算。为了有效降低预测计算带来的复杂度,决定加入一种轻量化卷积GSConv,来替换特征金字塔中的普通卷积。

GSConv 是一种全局稀疏卷积操作,通过在特征图上引入全局稀疏性,实现了对全局信息的有效聚合,相比传统的普通卷积,在保持全局信息的同时,GSConv利用了全局稀疏性,仅对稀疏位置进行卷积计算,大大减少了计算量和参数数量。GSConv 结构如图9 所示,先进行shuffle处理,再将密集卷积运算生成的信息和深度可分离卷积生成的信息进行融合。同时,GSConv 还引入了稀疏性掩码来控制每个位置的稀疏性,以进一步降低计算量。

图9 GSConv网络结构Fig.9 GSConv network structure

对于加速预测的算法,在CNN 中的特征信息会逐渐地向通道传递,而且,每次特征图的空间缩小或者通道增加,都可能造成语义信息的局部损失。但是GSConv能够尽可能地保留这些语义信息。当YOLOv5 模型进入到特征金字塔模块时,通道维度将会达到最大,宽高达到最小,不需要再进行变换。

因此,在特征金字塔模块中使用GSConv 处理多尺度特征信息会更好,重复信息较少,改进YOLOv5 模型的准确率会非常接近原YOLOv5 模型。在特征金字塔部分中,将Conv 卷积替换为GSConv,同时简化四个有效输出特征层的通道数,均为256,能够减轻模型的复杂度,加快算法的推理速度,适合在资源受限的环境中部署,改进后的Neck结构如图10所示。

图10 改进后Neck网络结构Fig.10 Improved Neck network structure

2.5 使用解耦头(decouple head)并简化

在YOLO 系列算法中,YOLO Head 对候选框的分类和回归计算是串行的,导致两个任务的优化受到了限制,这种耦合限制了模型对目标分类和位置精确定位的能力,难以准确地回归小目标的位置信息,极大地影响了YOLO 模型的检测性能。本文对检测头进行改进,将分类和回归计算改为并行计算,也就是解耦合,变成两个分支,同时再添加一个IOU 计算的分支,对每个任务独立优化,从而提高了目标分类和位置回归的性能,更好地捕捉小目标的位置信息,解耦结构对比如图11所示。

图11 Decouple Head和Coupled Head结构图Fig.11 Decouple Head and Coupled Head Structures

如果使用耦合头(coupled head),输出通道将分类任务和回归任务放在一起,这2个任务存在冲突性。通过实验发现替换为Decoupled Head 之后,不仅是模型精度上会提高,同时网络的收敛速度也加快了,表达能力更好。

具体来说,对于不同尺度大小的有效特征层,首先采用1×1 conv层来将特征通道减少到256个,然后输入到两个分支,每个分支都有两个卷积层,一个用于分类,另一个用于回归和IOU预测,这样可以提升目标检测的准确性,增强对小目标的检测能力,并提高训练和推理效率。

解耦头对于YOLOv5来说是很有必要的,使用两个并行的3×3的conv分支,会导致解耦的检测头增加额外的推理时间。所以需要对解耦结构的检测头进行简化操作:去掉1×1的conv,减少推理耗时,也就是去掉图11中虚线圆形区域。这些改进为YOLOv5 模型在各种目标检测任务中带来了更好的性能和应用潜力。

2.6 使用Anchor-free

YOLO 系列算法是基于Anchor-based 来实现的,Anchor-based 依赖于预定义的锚框来进行目标定位和分类。然而,锚框生成受到特定数据库影响,泛化性差,在处理尺寸变化较大、密集目标或大量重叠目标的情况下可能存在不足、复杂度高、兼容性差等问题。

但是Anchor-free并不会存在这样的问题,Anchor-free简化了设计,不依赖于固定尺寸锚框,能够适应不同尺度和形状的目标,在每个位置生成目标框,可以更准确地定位目标。

本文决定引入Anchor-free 来替代Anchor-based,来解决上述存在的问题,具体做法如下:对特征图的每个位置只用一个候选框做检测,并把目标的中心点作为正样本,并建立一个尺度范围来对应多个有效特征层的尺度大小,解决了Anchor-based 存在的锚框选择困难、适应性差、重叠问题和小目标检测困难等问题。这种改进使得YOLOv5 模型更加灵活、准确,并提高了对各种目标的检测能力,尤其在小目标检测方面具有明显的优势和提升。

2.7 使用EIOU损失函数

传统的YOLOv5 损失函数使用IOU 来度量边界框的重叠程度,但忽略了边界框的大小和位置。而EIOU损失函数考虑了这些因素,能够更准确地评估目标的定位情况,这有助于改善目标检测的准确性。

而且EIOU损失函数也改善了对倾斜目标的检测效果,解决了传统YOLOv5损失函数在此方面的不足。它还提供了更稳定的梯度更新,减少了训练过程中的不稳定性问题,特别是在处理较小目标时。同时,EIOU损失函数综合考虑了边界框的重叠程度、大小和位置的误差,使得模型能够更全面地学习目标的特征,提高了模型的鲁棒性和泛化能力。

所以本文决定采用EIOU Loss,具体公式(3)所示,并添加Focal Loss解决样本不平衡问题。EIOU损失函数由重复损失、中心距离损失和宽度高损失三部分构成,计算宽高损失让目标框和锚框的差值最小,不仅加快了模型的收敛速度,也提高了回归精度。

2.8 改进后的YOLOv5网络结构

YOLOv5是一种优秀的目标检测算法,在工程实践中表现出色,但仍有改进的空间。通过前面的理论分析与研究,可以得到一种面向小目标的改进YOLOv5模型,用于安全帽佩戴检测,其网络整体结构如图12所示。

图12 改进后YOLOv5网络结构Fig.12 Improved YOLOv5 network structure

3 实验结果与分析

3.1 实验数据处理与实验环境

本次的实验环境:CPU 为Intel Core i7-10700,24 GB 运行内存,GPU 为NVIDIA Quadro P4000,8 GB显存,Windows 10,64 位操作系统,通过Pytorch1.8.0 深度学习框架实现模型的搭建、训练和验证,计算架构为CUDA11.3.1,加速软件为CUDNN8.2.1。

超参数设置为:训练图像分辨率为640×640,批次大小设置为4,使用SGD 优化器,初始学习率设置为0.01,mixup 为0.5,冻结训练50 个epoch,总迭代运行次数为300个epoch。所有参照模型均按照以上参数进行训练。

为了充分说明改进后YOLOv5模型对安全帽小目标的检测性能,用PASCAL VOC和Safety Helmet Wearing数据集对模型进行训练和测试,并在去除其中不符合本实验的图像样本的同时,从网络上筛选和补充复杂施工环境和目标密集的图像素材,进一步提高检测难度和多样性。

3.2 实验评价指标

本文实验通过准确率(accuracy)、精确率(precision)、召回率(recall)、平均精度(average precision,AP)和平均精度均值(mean average precision,mAP)等指标来评估改进YOLOv5s算法的性能以上指标的具体含义如下:

(1)Accuracy表示预测正确的目标数占样本总数的比例,如公式(4)所示:

(2)Precision表示预测出的真实正例占所有预测为正确的比例。用以衡量预测结果中,正例被预测正确的概率。如公式(5)所示:

(3)Recall 表示预测出的真实正例占实际正样本总量的比例,用来反映漏检情况,如公式(6)所示:

(4)mAP 用来均衡Precision 和Recall 的计算结果的,这两个指标具有单点值局限性,不能充分评估模性能,所以引入mAP,mAP则代表了整个数据集中所有类别的AP 的均值,其计算方式如公式(7)所示,一般将阈值设置为0.5,即IOU 大于0.5 的预测框是有效的,每隔0.05计算一次mAP值,最后计算所有mAP的均值,公式(7)如下:

3.3 PASCAL VOC数据集性能评估

由于安全帽数据集的目标尺度太小,在此数据上显著提升检测效果难度较大。为了更好地验证改进后的YOLOv5 模型在小目标数据集上的表现,在PASCAL VOC 数据集上进行多次对比实验,并对模型的收敛性能、总损失和mAP进行评估测试,下面详细介绍在该数据上的实验结果。

YOLOv5s 和改进后的YOLOv5s 在PASCAL VOC上的损失曲线和各个类别的平均精度图如图13所示。

图13 改进YOLOv5的Loss曲线和Class_mAP图Fig.13 Test Loss curve and Class_mAP chart of improved YOLOv5

观察两个模型在该数据集上的Loss曲线可知,训练过程中改进后的YOLOv5的总损失均保持在较低状态,一直低于YOLOv5 的总损失,收敛速度也更快,改进后的YOLOv5s 的损失曲线更加平滑,训练更加稳定。总体而言,改进后的收敛性更好。

在PASAL VOC 数据集中,有17 种尺寸相对较小、特征不够明显,且样本面积小于32×32 像素的小目标,从平均精度对比图可知,改进后的YOLOv5s 模型在PASCAL VOC 数据集上提高了多个小目标的检测精度,平均精度提高了2.03 个百分点,并且损失值也有所下降。这表明改进的方法能够更准确地识别和定位小目标,提高了对这些难以检测的小目标的检测能力。这对于许多实际应用场景中的小目标检测任务具有重要意义,能检测到更多小尺度的物体,有效地提高模型在小目标检测上的性能。

3.4 安全帽数据集性能评估

为了验证改进后的YOLOv5模型在安全帽小目标上的表现,在Safety Helmet Wearing数据集上进行多次对比实验,并对模型的权重大小、推理时间、平均精度均值和召回率,四个指标进行验证,下面详细介绍在该数据上的实验内容,在安全帽数据集上的实验结果如表1所示。

表1 改进过程的对比实验结果Table 1 Comparative experimental results of improvement process

从表1中可以看出,这七种改进都能给模型带来明显的性能增益,mAP 不断上升。改进1~3 使模型的Backbone 融入了MHSA,添加了小目标检测模块,导致网络的计算量增加,推理速度变慢;改进4 使用轻量化卷积GSConv 来替换普通卷积,减轻了模型复杂度,预测速度有一点回升;改进5 将分类和回归解耦合,同时增加IOU 计算分支,让推理时间延长;改进6 使用Anchor-free 替换Anchor-based,不需要大量生成锚框,从而减少了计算量和推理时间;改进7 使用EIOU 提高了检测结果的准确性和稳定性,不影响模型的推理速度。与原YOLOv5s相比,改进后的YOLOv5s模型权重增加了6.6 MB,每一帧的推理时间增加8 ms,mAP提高了4.73 个百分点,召回率提高了3.2 个百分点。综上所述,改进后的YOLOv5模型能有效提高安全帽这类小目标的精度,改善安全帽漏检问题,显著提高了模型性能。

对YOLOv5s 和改进后的YOLOv5s 算法在安全帽数据集上的准确率与召回率进行评估,mAP和Recall的曲线图如图14所示。

图14 改进YOLOv5和YOLOv5s的训练结果Fig.14 Improved YOLOv5 and YOLOv5s of training results

为了凸显出改进YOLOv5算法性能的优势,选择了重叠且密集的目标,远距离小目标以及弱光照场景图像来进行检测对比,结果如图15和图16所示。

图15 改进YOLOv5检测结果Fig.15 Improved YOLOv5 test results

图16 YOLOv5s检测结果Fig.16 YOLOv5s test results

由检测结果可知,改进YOLOv5 在目标密集、远距离、光线不足三个场景下都有较好的检测精度,准确率高于YOLOv5s,检测到的目标也多于YOLOv5s。由此可知,本文改进的YOLOv5 算法,有着较高的精度和召回率,而且对重叠目标也有较高的辨识度,达到了当下复杂多变的施工场景的要求。

3.5 改进YOLOv5s与其他算法的对比

将改进的YOLOv5s与其他检测安全帽的主流算法进行对比,评估改进YOLOv5 的性能,所有算法对比模型均使用本文提供的Safety Helmet Wearing数据集进行训练、测试和验证,实验结果包括每个模型在权重、mAP、召回率和推理时间四个指标上的对比数据,如表2所示。

表2 与其他主流安全帽检测算法的对比实验结果Table 2 Comparative experimental results with other mainstream helmet detection algorithms

由表2可知,改进后的YOLOv5s模型比YOLOv5s模型的权重多了6.6 MB,虽然在推理时间上比YOLOv5s慢了8 ms,但是安全帽的平均精度和召回率分别比YOLOv5s提高了4.56和3.2个百分点。YOLOv7在安全帽的mAP和Recall两个指标上都比改进后的YOLOv5要好一点,然而YOLOv7模型权重大概是改进后YOLOv5s网络模型权重的4倍,推理速度也略低于改进YOLOv5s,模型复杂度过高,不适合部署在生产实践设备上。YOLOX在平均精度和召回率上都不如改进后的YOLOv5,Faster-RCNN、SSD、YOLOv3 和YOLOv4 模型在模型权重、平均精度、召回率和推理时间四个指标上都远不如改进后YOLOv5s模型性能好,虽然改进的YOLOv5s在平均精度和召回率上和Faster-RCNN差距不明显,但是Faster-RCNN在权重上比改进的模型多124.7 MB,算法的推理时间上也比改进的模型慢了158 ms。由以上对比实验数据可知,改进后的YOLOv5s模型性能良好,在检测安全帽小目标上有较高的mAP和Recall,能够满足当下施工场景的要求。

4 结束语

由于现阶段安全帽检测算法存在小目标漏检、误检,而且检测精度低和速度慢都不能满足当下的场景需求。所以本文提出了一种基于YOLOv5s模型的改进算法。该改进主要包括在YOLOv5 的Backbone 中加入MHSA,在Neck 中引入注意力机制和轻量级卷积GSConv,替换使用解耦检测头和Anchor-free 等七个改进点来改进网络结构,目的是提高对小目标的检测性能,降低安全帽误检漏检的问题,在保证高精度和速度的情况下,增强模型的泛化能力和鲁棒性。实验研究结果也说明了,改进后的YOLOv5模型在小目标的检测性能上要远远优于原模型,而且有较高的准确率和召回率,减少了小目标漏检误检的概率,能够满足现阶段的需求。本文修改的YOLOv5泛化性强,检测其他类型的小目标也是没有问题的。接下来的研究方向就是对安全帽进行跟踪检测,在保证精确率和召回率的前提下,优化模型在摄像头等设备上的检测性能,使之达到更好的检测效果。

猜你喜欢
安全帽卷积特征
小小安全帽,生命保护伞
基于3D-Winograd的快速卷积算法设计及FPGA实现
如何表达“特征”
爆笑四格
从滤波器理解卷积
不忠诚的四个特征
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
一种基于卷积神经网络的性别识别方法
线性代数的应用特征