基于改进YOLOv3的加油站卸油检测方法

2022-12-16 09:38杜雪瑞
吉林大学学报(信息科学版) 2022年4期
关键词:加油站尺度聚类

刘 均,杜雪瑞

(东北石油大学 电气信息工程学院,黑龙江 大庆 163318)

0 引 言

目前,深度卷积神经网络广泛应用于图像识别与目标检测,而加油站生产安全问题始终是社会关注度极高的问题,如果工作人员安全意识浅薄,不合理佩戴安全帽,灭火装置摆放不规范,可能引发严重的安全生产事故。因此,基于加油站安全生产和人员的安全考虑,越来越多的加油站开始规范生产安全制度,要求人员在卸油生产时佩戴安全帽。由于加油站生产作业环境繁杂,所以肉眼观测等方式容易出现纰漏。为强化对卸油作业现场的监管力度,考虑将机器视觉应用其中,以提高监管效率,避免安全事故发生。加油站的卸油检测方法已经成为构建生产安全的一项重要技术,并且其在建筑工地、煤矿、变电站等实际场景中有广泛需求。

深度卷积神经网络由于能自主从大量样本的目标学习特征中,提取关键信息,无需预处理,因而可学习更广义的特征。近年来,基于卷积神经网络的目标检测算法主要划分为两类,一类是基于目标候选框思想的two-stage,另一类是基于回归思想的one-stage。two-stage算法首先提取感兴趣区域特征,然后采用分类器定位位置,如Fast R-CNN[1],Faster R-CNN等。其中基于区域进行目标识别,虽然定位精度更高,但存在检测速度慢的缺点。而one-stage算法利用整张图片作为网络的输入,直接在输出层回归检测框的位置和检测框所属的类别,具有更快的检测速度,如SSD(Single Shot multibox Detector)、YOLO(You Only Look Once)、YOLOv2等。Redmon等[2]在2018年提出了YOLOv2的改进版YOLOv3,通过在骨干网络中引入残差思想,有助于更好地训练模型,提升网络的学习能力。

与传统的神经网络相比,由于YOLO[3]系列网络在检测速度方面具有优势,所以广泛应用于工业领域。但面对卸油人员的违规操作,卸油安全无法保证等因素,通过增加网络规模的方法虽然能提高检测精度,但增大了对设备性能的要求,给大规模部署带来了困难,因此难以满足加油站场景的需要。笔者选用YOLOv3[2]作为基础模型,在该模型上做进一步改进。通过引入RFB(Receptive Field Block)模块解决模型感受野不足的问题,通过加入CSP(Cross Stage Partial)网络降低参数量并保持检测精度,更有利于模型的训练。实验结果表明,笔者提出的两种目标检测算法YOLOv3-CR和YOLOv3-CRS具有较好的检测性能,可为加油站安全、作业生产提供有效的辅助技术支持。

1 YOLOv3算法的基本原理

YOLOv3是一个端到端的深度神经网络模型,其网络结构如图1所示,主要由Darknet-53作为基础特征提取网络,Darknet-53网络内包含大量的残差结构,有助于更好地训练模型;为了能使低层和高层信息进行交互,在网络模型颈部引入特征金字塔FPN(Feature Pyramid Network)[4],提升网络的定位精度。在 YOLOv3模型中,舍弃了池化层,保留了卷积层,通过调节卷积步长控制输出特征图的尺寸,将浅层特征与深层特征进行融合,使浅层特征也拥有丰富的语义信息[5]。在训练过程中对每幅输入尺寸416×416的图像,YOLOv3模型会分别预测得到13×13、26×26、52×52不同尺度大小的特征图。

图1 YOLOv3网络结构Fig.1 YOLOv3 network structure

虽然YOLOv3使用了FPN结构进行多尺度检测,但面对加油站场景监管难度大,目标尺度不均等问题,原始YOLOv3并不能满足实际需要,而且容易受到复杂场景的干扰,导致检测边界框定位误差较大,造成小目标检测效果不好。

2 加油站作业检测方法

2.1 空洞卷积

空洞卷积(Dilated Convolution)[6]可在保证特征图分辨率不下降、网络参数量不增加的情况下,增大卷积操作的感受野,有效捕获多尺度特征信息。空洞卷积是在普通卷积处理数据的过程中注入不同数量的间隔,间隔的数量用扩张率(dilation Rate)[7]表示,普通卷积相当于扩张率为1的空洞卷积。图2给出了扩张率分别为1、2、3的空洞卷积过程。

图2 不同扩张率的空洞卷积Fig.2 The empty convolution of different expansion rates

2.2 多尺度感受视野模块

感受视野(Respective Field)[8]指特征图中某单元在输入图像上所映射的一块区域,其大小与卷积层的参数、网络深度有关。在加油站作业检测场景中,不同种类的目标普遍存在较大的尺寸差异,而同一种目标也会因为监控摄像头的拍摄角度不同,产生不同的尺寸。YOLOv3虽然凭借FPN结构而具有3个感受视野尺度,但仍较难匹配卸油场景中各尺寸的目标,因为浅层特征分辨率高,具有丰富的空间细节,对位置信息更敏感[9],但感受野小却无法包含足够的上下文信息。对此,笔者参考RFBNet[10],在YOLOv3中引入多尺度感受视野模块RFB。

图3 RFB与RFBS结构图Fig.3 RFB and RFBS structure drawing

由于性能较高的目标检测器计算非常复杂,并且YOLOv3检测器模型精确度也需要进一步提高,而RFB模块解决了上述问题[11],通过模拟人类视觉系统感受野特点,加上人为设计的部分而不是顽固地加深模型,有效增大了感受视野,加强了网络特征提取能力。其网络结构与Inception[12]的多分支结构非常相似,主要是在Inception基础上增加了空洞卷积层。RFB模块建立感受视野与离心率之间的关系,以增强网络特征提取的鲁棒性和可区分性。如图3a所示,RFB模块的每个分支都是由普通卷积和空洞卷积组成,不同分支之间包含了不同尺寸卷积核的普通卷积层,以及空洞卷积层。各分支之间的差异会产生两种效果,不同尺寸普通卷积层会形成不同的基础感受视野,不同扩张率的空洞卷积会使基础感受视野得到不同程度的扩大。RFB最后将不同分支的输出特征图以Concat方式进行拼接,再与原特征图相加,提高YOLOv3网络对各尺寸待检测目标进行匹配的能力。

为使网络更加轻量化,RFBS中选择两个堆叠的3×3卷积层替换RFB中5×5卷积层,并用一个3×1和一个1×3卷积层替换原始3×3卷积层。RFB模块与SPP(Spatial Pyramid Pooling)[13]模块相比,结构略有差异,二者只是对特征图的特征进行不同尺度提取。在YOLOv3网络中引入RFB网络比SPP模块能获得更大感受视野,并且不会增加网络深度和计算量。

2.3 CSP跨阶段局部网络

更深层的卷积神经网络,具有更强的特征表达和逐层学习的能力,但深层网络带来的梯度不稳定和计算量骤增的问题严重影响其网络性能。CSPNet(Cross Stage Partial Network)[14]通过将基础层的特征图划分为两个部分,然后通过跨阶段层次结构将它们的特征融合。通过分割梯度流,使其通过不同的网络路径传播,两条路径中都不包含属于另一方的重复的梯度信息。局部过渡层(Transition)采用截断梯度流的策略,避免不同层学习重复的梯度信息,提升网络的学习能力。

(1)

其中*为卷积操作,wi为第i个密集层的权重。反向权重更新的方程为

(2)

其中f为权重更新的函数,gk为传播到k个密集层的梯度。由反向权重方程可看出,权重是通过不同梯度信息分开集成的,这样既保留了原始网络特征重用的特点,又通过截断梯度流的方法防止梯度信息冗余[15]。

面对繁杂的加油站作业场景,YOLOv3网络经常学习过多的重复信息,更新的梯度信息很难产生差异,这将影响网络的学习能力,导致排查违规操作不准确,进而引发安全隐患。而CSP结构能有效减少重复的梯度学习,使网络的学习能力大大提升。因此,通过引入CSP结构,设计两种具有跨阶段多尺度感受野RFB_CSP和RFBS_CSP结构(见图4),通过引入RFB和RFBS模块并与CSP网络结构结合,减少相同尺度信息的重复学习,有利于模型实现更丰富的梯度组合,同时降低计算瓶颈。

图4 RFB_CSP和RFBS_CSP结构Fig.4 RFB_CSP and RFBS_CSP structure

2.4 改进的YOLOv3卸油检测网络结构

为提升网络检测效果,提出的网络对YOLOv3网络做出如下结构层面改进:1) 在原有的Darknet53主干网络后添加RFB结构模块,融合全局特征与局部特征,提升检测效果;2) 融合CSPNet,提出RFB_CSP和RFBS_CSP两种模块,有效解决了在网络深度处理中梯度信息因重复学习而造成计算量增加的问题。综上所述,跨阶段局部多尺度YOLOv3网络结构如图5所示。

图5 改进的YOLOv3加油站卸油检测网络结构Fig.5 Improved YOLOv3 gas station unloading detection network structure

3 实验结果

3.1 构建加油站数据集

该实验的加油站数据来源于大庆安世尔和顺达加油站油库视频监控,符合加油站场景下的实际工作状况。数据集包含黄色工作服、深蓝色工作服、浅蓝色工作服、安全帽、头部、人、灭火器、灭火毯和油罐车等9个类别,加油站数据集包含了不同大小、颜色等多尺度的目标信息,有利于提升模型在检测目标安全情况时的鲁棒性。为了对模型性能进行评估,按照9 ∶1的比例将数据集划分为训练集和测试集,训练集总共有1 583张图像,测试集有176张图像,每张图像中包含一个或多个属于这9类的目标。受加油站生产安全,卸油作业的强度过大等影响,作业人员在工作场景下存在难以检测的问题,以此作为实验数据集更能凸显本网络在检测精确度和检测效率上的优越性。实验环境配置如表1所示。

表1 实验环境配置Tab.1 Experimental environment configuration

3.2 锚盒计算

YOLOv3算法中原始的anchor生成方案是根据COCO数据集进行的,对加油站卸油场景下的违规作业,采用原始的anchor并不合适,为获得符合目标的anchor boxes,使用K-means++聚类算法[16]重新进行锚盒计算,算法步骤如下。

步骤1 从集合Z中随机选取点,成为第1个聚类中心M1。

步骤2 计算Z中其余各点x到最近聚类中心Mx的距离D(x),距离越远的点具有越大的概率P(x)成为下一个聚类中心。重复此步骤,直到找到K个聚类中心。

步骤3 计算Z中每个点到K个聚类中心的距离D(x),将距离某一个聚类中心较近的点划分到该聚类中心类别中,根据聚类结果,重新计算每个类别的聚类中心Ci。

步骤4 重复步骤3,直到每个聚类类别的聚类中心Ci不再变化,输出K个聚类中心。

在用K-means++算法进行锚盒计算时,选择IOU(Intersection Over Union)作为距离D(x)度量指标,IOU为真实框x与其重合度较高的聚类中心锚框Cx的交并比。距离D(x)、概率P(x)和聚类中心Ci的计算公式分别为

D(x)=1-KIOU(x,Mx)

(3)

(4)

(5)

经过聚类,聚类出最适合数据集的锚盒数量及尺寸大小,得到了9组锚盒(12,20),(17,36),(21,69),(26,117),(37,191),(38,53),(65,102),(117,251),(234,409),产生的候选框与原标记框之间交集与并集的比值为72.29%。

3.3 标注与训练策略

加油站数据集按照YOLO标签格式制作,采用Labelimg打标签开源软件进行标注,在对灭火装置进行标注时,选择作业时未用红布套上的灭火装置进行框定,且样本数据集标注过程中,对存在遮挡及显示不全部分未超过70%的现场目标,可对其未遮挡部分进行标注。训练一共设置300个epoch,输入图像大小为416×416,在测试中输入图像大小设为512×512,超参数Batch size设为2,初始学习率learning rate设为0.001(学习率会根据迭代次数实时更新)、衰减系数decay设为0.005、动量Momentum设为0.9。其中Labelimg操作界面如图6所示。

德国成熟的分类体系与各级政府采取的法律制约、政策导向和经济刺激等手段密不可分,一是合理的垃圾收费政策,可回收垃圾不收费,剩余垃圾按量收费;二是抵押金制度;三是企业化的垃圾回收宣传教育;四是巨额的惩罚机制。完善的法规和良好的民众环保意识促进了德国生活垃圾处理产业的发展,为德国在全球垃圾处理领域的领先地位奠定了基础。目前90%的德国家庭参与分类收集,家庭的分类工作是对系统的重大贡献,如果在家庭没有进行预分类,到了分拣厂就很难进行高效率的分选,回收和再利用的效果将大打折扣。

图6 Labelimg操作界面Fig.6 Labeling operation interface

3.4 评价指标

为定量评价实验结果,选取多类别平均准确度均值mAP(mean Average Precision)作为网络的精度指标,mAP在公式中用F表示,且有

(6)

其中n表示分类数,D为单个目标的平均精度,且有

(7)

精确率(Precision)是对给定数据集分类正确样本个数和总样本数的比值,召回率(Recall)用于说明分类器中判定为真的正例占总正例的比值。精确率和召回率计算公式分别为

(8)

(9)

其中T为预测正确的正样本数,M为预测为正样本但实际为负样本的数量,N为预测为负样本但实际为正样本的数量。

3.5 实验结果与分析

3.5.1K-means++优化结果对比实验

实验首先对比了使用K-means++聚类算法优化锚定框Anchor box后,在加油站数据集上,YOLOv3算法对小目标的检测性能的变化。将未经优化的目标框与通过K-means++聚类得到的目标框的YOLOv3网络在加油站数据集上进行训练,并在测试集上进行验证,结果如表2所示。

表2 目标框优化效果结果对比Tab.2 Comparison of optimization results of target box

表2中从平均准确率P、平均召回率R以及mAP@0.5,对比分析使用K-means++算法优化目标框对网络性能带来的影响。其中 YOLOv3表示使用未经优化Anchor box的原始网络,YOLOv3+anchor表示使用优化的锚盒的网络。从表2可看出,优化目标框使其适合对加油站数据集上小目标的框定能明显提升网络的检测精度,mAP@0.5提升了1.1%。

笔者提出的YOLOv3加油站作业检测算法进行了2方面的改进:引入多尺度感受RFB和RFBS模块,以及引入CSP网络结构降低计算量。为验证改进算法的有效性,在加油站数据集上,进行了各类方法的消融实验。消融实验结果如表3所示。表3给出了当IOU为0.6时模型的检测精度和召回率,mAP@0.5表示模型的平均准确率。由表3可知,当输入分辨率为416×416时,在主干特征提取网络后引入RFB和RFBS的模型B和C,相比原YOLOv3模型A,平均准确率分别提升了0.7%和2.3%。模型D、E分别是在B和C的基础上增加CSP技术,与B和C相比,平均准确率分别提升了1.6%和0.6%,模型权重分别减少了12.3 MByte和12.2 MByte。可以看出,针对YOLOv3的改进策略对检测性能的提升均有一定的帮助。

表3 模型分解对比实验Tab.3 Comparative experiment of model decomposition

综上,笔者提出的加油站作业检测模型D,在加油站数据集上的mAP达到了83.7%,与原始的YOLOv3模型A相比,mAP提高了2.3%,提出的加油站作业检测模型E,在加油站数据集上的mAP达到了84.3%,与原始的YOLOv3模型A相比,mAP提高了2.9%。

3.5.3 不同算法性能对比实验

为说明算法的有效性,笔者还对提出算法与目标检测算法中的表示性算法进行了比较。检测算法选择YOLOv3及其改进算法,包括YOLOv3-SPP、YOLOv3-Anchor和YOLOv4,并采用相同的实验配置,在加油站数据集上实现这些算法,结果如表4所示。

结合表4对比不同算法在加油站数据集上的检测精度,笔者提出的算法的精度均高于YOLOv4和YOLOv3算法及其改进版本。由于笔者提出的加油站作业检测算法旨在实现辅助视频监控,部署设备通常是低性能设备,所以尺寸较小的模型更具有优势。

表4 不同算法性能对比Tab.4 Performance comparison of different algorithms

3.5.4 不同类别的对比实验

表5列出了YOLOv3及其改进算法对不同类别AP值的对比,从表5可以看出,笔者提出的两种模型相比原YOLOv3模型对9种类别的目标检测精度都有一定提高,尤其是安全帽和头部等小目标分别比YOLOv3高出了6%和6.6%,同时,对灭火装置和油罐卡车等尺寸和形状变化较大的目标,精度分别提高了3.3%和9.8%。可见,笔者提出的算法还是达到了较高的精度。

表5 不同类别的检测AP值对比Tab.5 Comparison of detection AP values of different categories (%)

从自制的加油站数据集中选取若干幅图片进行YOLOv3算法与笔者提出的算法检测结果对比实验,二者的IOU阈值、置信度阈值分别设置为0.6、0.25,从中随机选取5幅图片进行说明(见图7)。图7中左侧图和右侧图分别给出了YOLOv3与YOLOv3-CRS的检测效果。图7b中YOLOv3-CRS预测出了复杂场景下的遮挡目标,由于遮挡目标特征不明显,YOLOv3收到复杂背景信息的干扰,很难准确识别,而YOLOv3-CRS可以更好地提取遮挡物的特征。图7c中YOLOv3在检测黄色工作服时,出现重复锚框,而YOLOv3-CRS能准确定位目标。图7e和图7g中YOLOv3存在不少漏检目标,YOLOv3-CRS检测出了更多的目标。图7j中YOLOv3-CRS准确检测出了远处模糊的灭火毯,其得益于良好的小尺度特征提取能力。

4 结 语

笔者提出了一种多尺度感受野和跨阶段局部网络相结合的加油站检测算法,首先以YOLOv3主干特征提取网络Darknet-53获取不同尺度的特征图,接着引入一种多感受野特征提取模块,实现不同分辨率特征的融合,在不同尺度的特征图中融合全局语义信息和局部位置信息。通过构建跨阶段局部结构降低计算成本并保证准确率。所提出的改进模型在加油站数据集上的实验结果,以及与原有模型的比较,说明了该模型的检测准确率更高。在后续的研究中,将考虑对模型进行压缩、剪枝以轻量化加油站作业检测模型,在保证算法检测精度的基础上提升模型检测的实用性。

猜你喜欢
加油站尺度聚类
一种傅里叶域海量数据高速谱聚类方法
周末加油站
财产的五大尺度和五重应对
周末加油站(Ⅲ)
加油站
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法
宇宙的尺度
超级加油站
基于Spark平台的K-means聚类算法改进及并行化实现