基于混合注意力网络的安全工器具检测

2022-06-29 12:33凌永标杨岚岚邱兴卫张志锐
计算机技术与发展 2022年6期
关键词:器具卷积注意力

凌永标,毛 峰,杨岚岚,邱兴卫,张志锐,张 杰

(1.国网黄山供电公司,安徽 黄山 245000;2.安徽大学 计算机科学与技术学院,安徽 合肥 230601)

0 引 言

随着经济不断发展,人们对电力的需求越来越大,输电部署和电网安全检查任务艰巨。由于受到输电系统的内外环境影响,电力系统故障时有发生。电网部署和安全检查需要电力工作人员花更多的时间在施工现场,这无疑增大了电力工作人员的危险。目前,越来越多的行业都引入了人工智能技术来做一些重复或者危险的事[1]。电网部署和安全检测中引入人工智能更是未来的趋势。

安全工器具是指在触电、灼伤、坠落、摔跌等事故中,保障电力工作人员人身安全的各种专用的安全工器具。常用的有个体防护装备、绝缘安全工器具、登高工器具、警示标识等四大类。它的好坏直接影响到电力工作人员的人身安全,所以必须重视对安全工器具的日常检查。然而,存在有少部分电力工作人员安全防范意识薄弱,对安全工器具的日常检查流于形式,给电网安全检查带来危险。电网安全检查的监管急需对检查全过程中安全工器具进行自动化检测和报警的解决方案,以保障电力工作人员的人身安全,防患于未然,提高电网运营的安全性。

该文重点关注绝缘手套、绝缘鞋、安全带、安全绳、挂钩这几类安全工器具在电网安全检查中是否正常或出现破损情况的自动化检测与识别任务。提出一种基于混合注意力网络的安全工器具检测方法。混合注意力网络以经典的Faster R-CNN[2]为主干网络,混合注意力模块包含全局通道注意力和局部空间注意力两个子模块,引入多种混叠的数据增强方法,采用了基于多尺度特征金字塔的多层预测方法。此外,为了验证所提方法的有效性,还从电网安全检查现场采集了一批真实图片,整理并标注对应的安全工器具,构建了一个安全工器具数据集。

1 相关工作

传统的目标检测算法主要依赖于手工设计的特征,对于多样性的变化没有很好的鲁棒性。而且由于采用滑动窗口的方式选取侯选框,没有针对性,时间复杂度高,窗口冗余问题严重,难以取得满意的结果。最近几年,随着深度学习领域的快速发展,深度卷积神经网络越来越多地应用于计算机视觉领域,如检测、分割、跟踪等,并取得重大进展。基于深度卷积神经网络的目标检测算法在目标检测领域取得了最好的效果。深度学习技术引用到检测领域,主要使目标检测精度大幅提升,使得单一模型能够检测的目标类别数目增加。

基于神经网络的目标检测算法分为两阶段检测算法和单阶段检测算法两种。R-CNN[3](Region with CNN feature)是卷积神经网络应用于目标检测问题的一个里程碑的飞跃,其使用Selective Search[4]算法生成候选区域,然后将候选区域变换为统一大小,送进CNN提取特征,输出的特征向量由SVM分类器进行分类,R-CNN的进阶版Fast R-CNN[5]在R-CNN的基础上采纳了SPP-Net[6]方法,对R-CNN作了改进,使得性能进一步提高。Fast R-CNN与R-CNN对比,主要有两处不同:一是最后一个卷积层后加了一个ROI pooling层,二是损失函数使用了多任务损失函数(multi-task loss),将边界框回归直接加入到CNN网络中训练。Faster R-CNN采用Region Proposal Network(RPN)来替代Selective-Search提取候选区域,anchor就是位置和大小固定的框,可以理解成事先设置好的固定的候选区域。

YOLO[7]不同于上述两阶段目标检测方法,它将物体检测当成一个回归问题。做法是基于一个单独的端到端网络,来完成从原始图像的输入到物体位置和类别的输出任务。SSD[8]也是单阶段目标检测方法,是Faster RCNN和YOLO的结合,同时采用了Faster RCNN中基于候选框的概念和YOLO中基于回归的处理方法,在一个端到端网络中直接回归出目标物体的类别和位置。FCOS是一个基于全卷积的单阶段检测网络,类似于语义分割,针对每个像素进行预测。SSD、YOLOv3[9]、Faster R-CNN都依赖于预定义的候选框。而CornerNet、CenterNet、FCOS[10-12]是不需要预定义候选框的,从而减少大量的计算以及内存占用。

结合数据增强和注意力机制等优点,该文提出一种基于混合注意力网络的安全工器具检测方法,主要是在Faster R-CNN网络结构上添加了混合注意力模块,引入了多种混叠的数据增强方法,采用了基于多尺度特征金字塔的多层预测方法,以解决数据集中小目标检测不准确的问题。

2 基于混合注意力网络的安全工器具检测

2.1 多种混叠的数据增强

通过大量的实验发现,许多效果较好的神经网络都有大量的参数,要想很好地训练这些参数,以使网络拟合,则需要大量的训练数据。因为AI技术非常强地依赖于高质量数据[13]。但是在实际制作数据集时,无论是采集数据,还是对数据进行标注都需要大量的人力,物力,而且这非常耗时。因此该文采用数据增强技术来缓解数据量不足的问题。目前数据增强技术主要是通过对图片进行翻转,平移或者是旋转等操作,有时也会采用在数据上增加噪声的操作,以此可以在已有的少量数据上得到更多的训练数据,使得网络达到更好的效果[14]。综上,为了提高网络的精度与泛化能力,该文采用数据增强技术来获得更多的训练数据。

数据增强主要分为:离线增强和在线增强。离线增强:顾名思义是在数据输入神经网络前对数据进行离线增强,通过离线增强的数据集在数据上会变成原数据集数目的N倍(是增强因子)。在线增强:这种数据增强的方法是在神经网络中对数据进行增强,主要做法是在得到batch数据后,对获得的这些batch数据进行batch块的旋转,平移或者翻转等操作。由于在线操作很受硬件条件限制,这种增强方法一般适合较大的数据集。目前,随着技术的不断发展,很多机器学习框架已经支持了这种在线数据增强方式,并且可以使用GPU来自动实现优化计算。因为以后的数据量较少,故该文采用的是多种混叠的离线数据增强的方式。多种混叠的数据增强示例如图1所示。

图1 多种混叠的数据增强 (翻转、旋转、剪裁、mixup)示例

数据翻转是数据增强中比较常用的一种方法,主要做法是将图片做类似于镜面的翻转,而不是将图片旋转180度,如图1第一列分别是原图的左右翻转。该文的增强因子是2(即:指数量扩大2倍)。旋转就是顺时针或者逆时针的旋转,通常增强因子设为2~4。如图1第二列第二行所示,增强因子也设为2。裁剪这种数据增强方法的做法是先在原有图片上随机选择其中的一部分区域,然后将选择后的这部分区域裁剪,最后将裁剪得到的图片块resize成与原图片一样的大小,如图1第二列第一行所示。该方法的增强因子任意,文中裁剪的增强因子也是设为2。mixup[15]是一种最近新出来运用在计算机视觉上的数据增强方法,它的做法是将不同类别的图像进行混合,如图1第三列所示。综上,该文在数据增强上主要采用了以上几种方法来扩充数据集。

2.2 基于Faster R-CNN的混合注意力网络

所提的混合注意力网络以经典的Faster R-CNN为主干网络。Faster R-CNN主要包括四个模块,分别是:特征提取、RPN、RoI Pooling和RCNN。因为多阶段信息可以增强网络的能力,提高算法的精度[16],在文献[17]通过引入多尺度的特征融合模块,设计了一个针对目标检测任务的轻量化特征提取网络TinyNet,进而提高了轻量化特征提取网络对不同尺度目标的适应性。因此,为了解决数据集中部分目标较小的问题,该文加入了FPN[18](特征金字塔网络)。此外每一个通道的特征通常都表示某特定类别的目标,在文献[19]基于语义的增强混合特征选择方法在文本分类时既提高了分类效率又能保证分类精度,在文献[20]利用注意力机制对信息进行增强融合语义信息与问题关键信息的多阶段注意力答案选取模型也极大地提升了算法的性能。基于以上启发,并且为了解决不同通道重要性不同的问题,该文提出了混合注意力机制。网络结构如图2所示。

图2 基于Faster RCNN的混合注意力网络结构

在以往的工作中使用Faster R-CNN进行目标检测,不论是在RPN还是在Fast R-CNN中,RoI都作用在Fc的前一层,这样做在对大目标物体进行检测时效果是很好的,但是对于小目标物体的检测效果就不行了。主要原因是对于一个RoI,映射到某个特征图的做法是将底层的坐标直接去除以步长,对于小目标物体,当进行多层卷积和池化后,映射过去后就很小甚至是没有了。所以为了解决数据集中部分目标较小而检测不好的问题,该文引入了特征金字塔网络,特征金字塔可以自然地利用卷积神经网络层级特征的金字塔形式,在生成所有的尺度上都含有强语义的信息特征。特征金字塔网络的结构采用自顶向下(the top-down pathway)结构和横向连接(lateral connections)的方式,以达到融合含有高分辨率的底层特征和含有丰富的语义信息的高层特征。这样做到了从单尺度的一张输入图片,快速地构建在所有尺度上都具有强的语义信息的特征金字塔网络,与此同时并没有产生明显的计算代价。

图3 基于多尺度特征金字塔的预测流程

采用自上而下的路径去融合低层特征图,这些低层特征图一般拥有较高的分辨率。特征金字塔具体做法如图3所示,首先图最左侧一列是通过卷积得到每一层的特征图,一般经过多层卷积得到的特征图分辨率会越来越低,但是会含有更多的语义信息,接着中间一列的作用是将左侧得到的最高层的特征图逐层做上采样操作,因为每一层的横向连接操作需要将要连接的两层特征的大小调整成相同的尺寸。这里使用横向连接的作用是利用低层特征图的定位细节信息。如图3所示,首先将高层特征图做一个2倍上采样操作,然后将与其对应的前一层特征图做一个横向连接结合,结合方式就是做像素间的加法。重复迭代该过程,直至生成最精细的特征图。迭代开始阶段,在卷积5层后面加了一个1*1的卷积核来产生最粗略的特征图。最后,用3*3的卷积核去处理已经融合的特征图,以生成最后需要的特征图。为了后面的应用能够在所有层级共享分类层,这里固定了3*3卷积后的输出通道为d,这里d设为256。因此所有额外的卷积层具有256通道输出。这些层没有用非线性激活函数。卷积2,3,4,5层对应的融合特征层为P2,3,4,5,对应的层空间尺寸均相同。

通常在神经网络中是同等地对待每一个卷积层,但是其实每一个通道的特征通常都表示某特定类别的目标。参考文献[21-23],该文设计了一种全新的混合注意力模块(通道空间注意力模块CSA),分别包括全局通道注意力和局部空间注意力两个子模块。全局通道注意力是为了解决每个通道在卷积神经网络中贡献不同的问题,局部空间注意力是为了关注图片中的局部细节信息而加入的。

图4 混合注意力模块(包含全局通道注意力和局部空间注意力两个子模块)

如图4所示,该通道注意力首先对输入的特征进行一个全局平均池化操作和全局最大池化操作。假如输入的是一个h*w*c的特征图,由两个全局池化(池化大小为h*w)的操作可以得到两个1*1*c的特征图,然后将这两个特征图进行一个相加操作,相加后得到一个1*1*c的特征图,这个1*1*c的特征图与输入的特征图h*w*c相乘便得到全局通道注意力之后的特征图。将全局通道注意力特征图作为输入,送入到局部空间注意力模块中,输入到局部空间注意力的特征经过一个局部最大池化和局部平均池化后分别得到两个特征图,特征图的大小是(h/s)*(w/s)*c(s是池化的步长),然后将经过局部最大池化和局部平均池化得到的特征图进行一个相加操作。这样经过全局通道注意力和局部空间注意力之后便得到重要的通道,同时也关注到局部信息。

损失函数与Faster R-CNN是一样的,定义成以下式子:

(1)

Lreg(ti,Ti)=L1(ti-Ti)

(2)

其中,i是一个小批量中anchor的索引;pi是预测的该anchor是目标的概率;Pi是真值标签,如果anchor是正样本,真值标签的值为1,否则为0;ti是预测的边界框的四个参数化坐标向量;Ti是真值框的四个参数化坐标向量;Lcls是分类损失,判断预测框是目标还是背景;Lreg是回归损失;L1是平滑损失。PiLreg意味着只对正样本锚框进行回归,因为当是负样本锚框时Pi的值为0。

3 实 验

3.1 实验环境和数据集

实验是在NVIDIA GeForce GTX TITAN XP GPU平台上进行的,网络训练运行内存为12 GB,代码基于PyTorch深度框架。

该文使用的数据来源于真实施工场景。从电力工作人员必备的安全防护工具的角度考虑,收集了绝缘手套、绝缘鞋、安全带、安全绳以及挂钩的相关图片数据,从而更好地进行施工现场安全性检测。共实地收集了2 541张图片,其中划分80%作为训练集,其余图片作为验证集。表1列举了制作的数据集的具体检测对象分布情况。注意到该数据集中的类别个数相差较大,是因为部分类别的场景分布较单一,比如绝缘手套破损和绝缘鞋,只出现在很少的场景下。

表1 电网施工现场安全工器具数据集的类别分布

3.2 评价指标

目标检测的效果取决于预测框的位置和类别是否准确,主流的评级指标有:平均精度值(Average Precision,AP)和平均精度均值(mean Average Precision,mAP)[24]。AP是一种可以用来度量模型预测框类别和位置是否准确的指标,AP通过计算每个类别预测框和真实框的IoU来判断预测框是否准确预测到了位置信息,同时引用精确度和召回率指标评价预测框的类别是否准确。mAP是对多个验证集个体求平均AP值得到的。

3.3 模型训练细节

文中方法是两阶段的检测方法。深度学习方法中,数据是其基石,模型的训练离不开大量的数据。因此,为了提高模型的泛化能力和鲁棒性,采用了多种混合的数据增强方法,对研究所收集到的数据进行增强,从而使得神经网络具有更好的泛化效果。表2列举了不同的数据增强方式所带来的模型增益。其中AP0.5表示在训练和测试中使用的阈值,即当预测结果中的检测框与数据标注的真值框的交并比大于0.5时,认为其检测到了目标的平均精度。由于网络中使用了全连接层,在训练时还为图片输入设定了固定值,为600*600像素。实验中,学习率设置为0.001。

通过实验证明,选取经典的ResNet101作为骨干网络。同时,为了加快模型训练速度,使用官方提供的ImageNet数据集上的预训练模型进行参数初始化,而不是令参数随机初始化。

表2 不同数据增强方法的性能对比

3.4 各模块有效性验证的对比实验

文中方法是在Faster R-CNN基础上进行的改进和优化。在原本网络中增加了两个模块,进一步提升了原有网络的性能。为了证明所设计的模块的有效性,进行了相关消融实验,并将实验的配置细节和评估结果放在表3中。

表3 各模块的有效性验证结果

特征金字塔FPN是针对小目标检测不好的问题,增加了特征金字塔模块来提升小目标检测的能力。混合注意力CSA是针对不同通道在网络中所作的贡献不同,所以引入注意力机制来解决此问题。相对于baseline,网络性能都能得到一定的提升,当两个模块都添加到网络中时,网络性能提升得最大。

3.5 与现有检测方法的对比实验

首先将提出的方法与其他经典的目标检测方法在电网施工现场安全工器具数据集上进行对比实验。在Faster R-CNN[2]、SSD[9]、RFBNet[25]和YOLOv3[10]这4种经典且有效的方法上的实验结果展示在表4中。

表4 文中方法与现有方法在电网安全 工器具数据集上的对比实验

可以发现,文中方法在电网施工现场安全工器具数据集上的性能表现都是略优于其他方法的,较其他算法分别提高了8.7%、8.1%、9.1%和4.8%。图5直观地展示出文中方法在电网施工现场安全工器具数据集上的实验结果。其中左上角的图片是检测到挂钩与安全绳断股,右上角图片是检测到绝缘手套,第二行图中检测到安全带破损与挂钩情况。

图5 文中方法在电网安全工器具数据集 上的检测结果示例

4 结束语

电网施工及安全检查对于电力工作人员的安全性保护至关重要,因此对安全工器具的正确佩戴和安全工器具是否破损的检测工作是非常必要的。该文提出一种基于混合注意力网络的安全工器具检测方法。混合注意力网络以经典的Faster R-CNN为主干网络。为了侧重比较重要的通道引入了混合注意力模块,包含全局通道注意力和局部空间注意力两个子模块。为了解决部分目标较小的问题引入了特征金字塔模块,采用了基于多尺度特征金字塔的多层预测方法。由于安全工器具的数据集数量较少,引入了多种混叠的数据增强方法,以此提高了检测的准确性。然而,该算法也存在一些不足,对于检测目前还不能满足实时的要求,后面欲通过通道剪枝来去除不重要的通道,从而提高算法的运算速度。

猜你喜欢
器具卷积注意力
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
让注意力“飞”回来
基于深度卷积网络与空洞卷积融合的人群计数
卷积神经网络概述
古代器具灌农田
A Beautiful Way Of Looking At Things
34
阅读理解两则