APP下载

基于上下文语义分割信息的缺销螺丝部件识别

2021-01-07余鸿飞贾立业

计算机测量与控制 2020年12期
关键词:三角板扇形螺丝

余鸿飞, 韩 军,贾立业

(上海大学 通信与信息工程学院,上海 200444)

0 引言

输电线路中的很多部件都是通过带销钉的螺丝来固定的,由于这些带销钉的螺丝长期暴露在自然环境中,难免会出现形变导致销钉脱落,形成缺销螺丝。缺销螺丝在输电线路中存在极大的安全隐患,若不及时处理则容易引发一系列的安全事故。目前,针对输电线路中的绝缘子、防震锤、均压环等部件的故障检测都已经达到了一个较好的效果,相比之下,输电线路上缺销螺丝的检测效果还有待提升。在传统的图像处理方法上,如SIFT(scale-invariant feature transform)[1]、边缘检测符[2]、HOG(histogram of oriented gridients)等,对于缺销螺丝这种小部件识别精度不高。而无人机巡检产生的图像都是高分辨率的,缺销螺丝部件相对于整幅图像所占像素比非常小。因此,本文将从小目标识别的角度来研究缺销螺丝。

近年来,卷积神经网络在特征提取方面的出色表现,几乎被利用于目标检测和识别的各个领域。2015年,文献[3]提出全卷积网络(FCN),将分类网络扩展为密集的像素分类,图像语义分割取得了巨大的进步。但对于图像中的小目标,由于其分辨率过低、像素数目较少的特性导致提取到的特征较为粗糙,通过分类网络简单扩展的FCN并不能较好地提取小目标的边界[4]。因此,国内外研究学者提出了各种方法来提升小目标分割的性能。之后,文献[5]提出了U-Net网络,它采用了跳层连接(skip-net)和“编码-解码”结构相结合的方法来解决小目标分割问题。通过整合来自网络不同层的特征图,将浅层的高分辨率特征与深层的低分辨率特征进行融合,用浅层特征来弥补丢失小目标信息过多的深层特征,在一定程度上可以改善小目标的分割结果。但这种仅仅利用单层非学习上采样将低分辨率的特征图转换为高分辨率特征图的方法依然丢失了较多的图像信息,极大地限制了小目标分割的效果。2016年,谷歌提出了DeepLab 网络模型[6]。直至2018年,提出了Deeplab v3+网络[7],该网络采用编解码器模型,v3版本的网络作为网络编码器,低层特征与编码器高层特征相结合部分作为解码器,并将深度可分卷积应用到空间多孔金字塔池化(ASPP)[8-10]和解码器模块上,进一步提高了对小目标的识别效果。

为了解决目前输电线路中螺丝部件缺陷诊断识别中出现的精度低、边缘不准确、误识别较多等问题,本文在语义分割的基础上,提出一种基于上下文语义分割信息的缺销螺丝识别方法,通过图像裁剪分块和图像亮度增强等预处理提升Deeplab v3+网络对缺销螺丝和周围若干部件的分割效果,再根据缺销螺丝与周围若干部件的空间关系分析,排除误识别的缺销螺丝区域,从而提高输电线路图片中缺陷螺丝部件的识别效果。

1 基于语义分割的输电线路部件识别

1.1 系统概述

本文采用Deeplab v3+网络对输电线路图片中的缺销螺丝(Loss_screw)及其周围若干部件(线夹(Singletri)、三角板(Tri)和扇形板(Fan))进行语义分割。如图1所示,以缺销螺丝部件模型的训练测试为例,整个系统主要有以下几个步骤:首先对数据集中的缺销螺丝(设置label为Loss_screw)部件进行标注,标注后的图片生成对应的掩膜图;然后再对缺销螺丝原图和掩膜图进行规则裁剪,筛选出带有完整缺销螺丝部件的小图和对应掩膜图,并且对部分较暗的图片进行自适应Gamma校正,增强缺销螺丝部件的轮廓细节;最后为保证实验结果客观性,将数据集按一定比例随机划分训练集、验证集和测试集,在Deeplab v3+网络上进行多次重复的模型训练及测试实验。

图1 缺销螺丝模型训练测试系统框图

1.2 裁剪分块

目前输电线路部件识别没有公开的数据集,本文中所用到的数据集均来源于实验室无人机巡检拍摄的图片,拍摄地点多且无人机搭载的相机像素均为2 000万以上。根据Deeplab v3+的网络特性,会对输入至网络的源图像数据进行随机裁剪,而无人机巡检产生的数据均为高分辨率图像,对于本文中所用到的缺销螺丝、线夹、三角板和扇形板等部件,图片中所包含的有用像素信息占整张图像的比例极小,整张图中的大部分区域相对这些部件来说都是背景。无论从模型训练的效率,还是对这些部件轮廓细节信息提取的准确度来说,都对模型的训练产生了极大的影响。

对高分辨率的图片进行裁剪处理是遥感图像研究中经常用到的方法,本文针对缺销螺丝部件及其周围若干部件模型的训练,对高分辨率的输电线路图片进行规则裁剪处理,根据不同部件尺寸大小以及训练时设置的train_crop_size大小,将原图和掩膜图裁剪成多张固定大小的图片。再对裁剪后的小图片进行筛选,筛选出带有完整部件的图片作为数据集。通过减少背景区域,增加部件区域在图片中所占像素比,来减少网络对于输入图片的部件信息的丢失,从而提高模型的精度。图2为某一张高分辨率输电线路图片规则裁剪示例。

图2 图片规则裁剪

1.3 自适应Gamma校正增强

由于自然环境的影响及无人机在户外航拍时角度的不同,部分图片上的缺销螺丝、线夹、三角板和扇形板部件光线不均匀出现轮廓不清晰等问题。本文采用一种自适应Gamma校正算法[11]调节图片亮度,以增强整张图片中相关部件的轮廓细节,降低网络对该区域信息的丢失。

根据Retinex理论,图像是由亮度分量和反射分量组成[12]。以缺销螺丝部件为例,本文中用L(x,y)表示缺销螺丝图像各通道具有相同的亮度分量,Rc(x,y)(c∈{r,g,b})表示反射分量,则缺销螺丝图片S(x,y)可表示为:

Sc(x,y)=Rc(x,y)·L(x,y),c∈{r,g,b}

(1)

把RGB通道的最大值作为人眼观察的照度V(x,y),缺销螺丝图像的亮度分量L(x,y)可表示为:

L(x,y)=G(x,y)*V(x,y)

(2)

其中:V(x,y)=maxSc(x,y),c∈{r,g,b},G(x,y)表示二维高斯滤波器。得到缺销螺丝图像亮度分量L(x,y)后再对其进行自适应Gamma校正,得到增强后的亮度分量Len(x,y),具体计算公式如下:

Len(x,y)=L(x,y)γ(x,y)

(3)

其中:γ(x,y)表示Gamma校正系数矩阵。然后根据公式(1)和公式(2)计算得到反射分量Rc(x,y):

Rc(x,y)=Sc(x,y)/L(x,y),c∈{r,g,b}

(4)

得到Len(x,y)和Rc(x,y)后,再代入式(1)即得到增强的缺销螺丝图像Sen(x,y):

(5)

部分图片增强后的效果如图3所示。

图3 Gamma增强效果图

2 基于上下文信息的缺销螺丝识别

2.1 缺销螺丝与其周围部件空间关系分析

在缺销螺丝识别实验中出现了较多误识别,实验数据统计表明主要是以不带销钉的普通螺丝识别成缺销螺丝为主。针对这种误识别,根据带销钉的螺丝主要处在线夹、三角板、扇形板等部件附近的连接处,这些部件相较于螺丝,在整张图像中所占像素比更大且Deeplab v3+对于它们的识别效果要更好。本文利用这些部件与缺销螺丝的位置关系建立一种上下文位置关系模型,通过空间位置关系的推导来判断识别到的缺销螺丝是否属于误识别,如图4所示。

图4 输电线路上的三类螺丝

通常情况下,两个区域之间空间关系可以分为3类,即方向关系、距离关系和拓扑关系。方向关系包括上边(above)、下边(below)、左边(left)和右边(right)关系,距离关系包括靠近(near)和远离(far)关系,拓扑关系包括分离(disjointed)、邻接(bordering)、入侵(invaded by)和包含(surrounded by)关系[13],如图5所示。

图5 图像中对象之间空间关系

根据对螺丝部件与其周围部件(线夹、三角板、扇形板等)的数据统计分析,拓扑关系模型最接近于螺丝部件与其周围部件之间的关系。在本文中用拓扑关系模型来描述缺销螺丝部件与其周围部件之间的空间关系。图6是螺丝与其周围部件之间的拓扑关系示例图,其中分离关系是扇形板与右上角普通螺丝之间的关系。

图6 螺丝与其他部件的拓扑关系示例

2.2 结合拓扑关系的缺销螺丝识别

根据第2节内容,训练得到缺销螺丝、线夹、三角板和扇形板部件的模型,将缺销螺丝模型分别和线夹、三角板和扇形板部件的模型进行融合,把待识别图片中的缺销螺丝、线夹、三角板和扇形板区域分割出来,再在每组实验中分别将缺销螺丝(Loss_screw)和这些部件建立上下文位置关系模型,进行拓扑关系分析,根据拓扑关系的具体类别判断分割出的缺销螺丝区域是否属于误识别。

图7 结合拓扑关系的缺销螺丝识别算法流程图

以缺销螺丝周围的线夹(Singletri)部件为例,采用第2节方法训练得到缺销螺丝模型Loss_screw.pb和线夹模型Singletri.pb,融合两个模型,待识别图片被分割出缺销螺丝区域Di和线夹区域Dj,根据两区域像素值不同可以计算得到如下变量:

1)缺销螺丝区域Di和线夹区域Dj的边界长度li和lj(i,j=1,,k);

2)缺销螺丝区域Di和线夹区域Dj之间的共同边界长度lij;

4)通过以上变量分别计算得到4种拓扑关系对应的隶属函数[14]:

(6)

(7)

(8)

(9)

根据4种拓扑关系对应的隶属函数,可以绘制得到以下图像(横坐标变量为边界长度比sij)。本文通过隶属函数的最大值来判断缺销螺丝区域Di和线夹区域Dj之间拓扑关系的具体类别。将边界长度比sij分别代入上式中计算得到μDIS(Di,Dj)、μBOR(Di,Dj)、μINV(Di,Dj)和μSUR(Di,Dj),比较这4个值的大小,其中的最大值对应的拓扑关系即表示缺销螺丝区域Di和线夹区域Dj之间的关系。

图8 拓扑关系隶属函数

由于一张图片中可能不只有一个缺销螺丝(Loss_screw)和线夹(Singletri),若图片中分割出了多个缺销螺丝(Loss_screw)和线夹(Singletri)区域,则需要两两进行拓扑关系分析。本文在实验中将4种拓扑关系分为两类处理,若由公式计算得到缺销螺丝区域与线夹区域之间是邻接、侵入和包含这三种关系,则该缺销螺丝区域不需要再和其他线夹区域进行拓扑关系分析,可直接判定该缺销螺丝区域识别正确,否则该缺销螺丝区域将继续和其他线夹区域进行拓扑关系分析,直到出现和它是邻接、侵入和包含这三种关系的线夹区域为止;若计算得到缺销螺丝区域和所有线夹区域都为分离关系,则判定该缺销螺丝区域是被误识别的。

3 实验与结果分析

3.1 实验环境

本文中实验使用的GPU型号为Geforce GTX1080Ti,计算机的操作系统为Ubuntu16.04,采用Tensorflow1.6框架,,Python版本为2.7,模型训练的网络为Deeplab v3+。其中Deeplab v3+的主干网络采用Xception网络,并且已经在ImageNet数据集上进行了预训练。

3.2 数据预处理对输电线路部件识别效果对比

根据1.2节,本实验采用了高分辨率的缺销螺丝、线夹、三角板和扇形板部件图片各1 000张,根据不同部件尺寸以及训练时设置的train_crop_size大小,分别进行规则裁剪,其中缺销螺丝图片裁剪为513 pixel×513 pixel,网络训练时train_crop_size设置为513×513,线夹、三角板和扇形板图片均裁剪为1 026 pixel×1 026 pixel大小,train_crop_size设置为1 026×1 026。裁剪分块后经筛选得到包含完整缺销螺丝、线夹、三角板和扇形板部件的小尺寸图片各1 200张,再对其中亮度不均匀的360张缺销螺丝图片、200张线夹图片、180张三角板和150扇形板部件图片做了自适应Gamma增强。本次实验均按照5:2:3的比例随机分配网络的训练集、验证集和测试集。实验中使用交叉熵损失函数作为代价函数,并采用随机梯度下降(SDG,Stochastic Gradient Descent)进行目标函数优化。Deeplab v3+网络的扩张率组设置为[5,9,17],初始学习率为10-4,输入输出分辨率比值(OS,output_stride)为16,为确保训练收敛,迭代次数均设置为30w次。通过Tensorboard监控缺销螺丝训练时的损失函数,由损失曲线图可以看出,在训练达到12 w次时就基本完成了收敛。

图9 缺销螺丝训练损失曲线

本实验采用均交并比(mIoU, mean Intersection over Union)作为模型训练测试的评价指标,其计算公式如下:

(10)

(11)

其中:N表示类别数,nij表示类别为i的像素点被判定为类别为j的像素点数量,nji表示类别为j的像素点被判定为类别为i的像素点数量,nii表示正确分割的像素点数量。

为保证实验的客观性,进行了多次重复实验,并随机选取了其中2次实验数据统计,如表1所示。

表1 数据预处理对输电线路部件识别的影响 %

由表1分析可知,未经任何预处理操作的Deeplab v3+算法对缺销螺丝的识别效果较差;规则裁剪后,对4种部件识别的mIoU提升非常明显,其中对缺销螺丝部件的提升幅度最大,达17%左右;而Gamma校正增强对mIoU的提升相比规则裁剪没有那么突出,尤其对线夹、三角板和扇形板部件而言,由于这三种部件位置相对于螺丝没有那么隐蔽,光线不均匀现象较少,Gamma校正增强对其识别效果提升不明显也在合理之中。总而言之,2种预处理方法相较于原始的Deeplab v3+算法均有不同程度的提升,加了预处理后,Deeplab v3+网络对缺销螺丝、线夹、三角板和扇形板部件识别的mIoU都达到了90%以上。

3.3 Deeplab v3+网络对带销螺丝和缺销螺丝的鉴别实验

为验证上下文模型对于降低缺销螺丝误识别的可行性,设计本次实验用于检测Deeplab v3+网络对于带销螺丝和缺销螺丝的鉴别能力。本次实验的三组实验中,选取800张仅包含Screw标签的小图,800张仅包含Loss_screw标签的小图以及1 000张同时包含这两种标签的小图。均按照5∶2∶3的比例随机分配网络的训练集、验证集和测试集。实验环境配置和3.2节实验相同,训练迭代次数均设置为30 w次,进行多次重复实验,并随机选取了其中2次实验结果统计如表2所示。

表2 Deeplab v3+对带销螺丝和缺销螺丝的鉴别能力 %

根据表2结果,Deeplab v3+网络同时对带有带销螺丝和缺销螺丝两个标签的数据集进行训练预测的mIoU明显低于单个标签,但经过裁剪分块和自适应Gamma校正增强处理后,其mIoU有明显提升,经过多次实验都能达到80%左右,本文认为Deeplab v3+网络对于小图中的带销螺丝和缺销螺丝具有良好的鉴别能力,在缺销螺丝识别实验中不会出现大量带销螺丝识别成缺销螺丝的情况,引入上下文模型降低对普通螺丝的误识别具有一定的可行性。

3.4 结合上下文语义信息的缺销螺丝识别

为了降低对普通螺丝的误识别,在3.2节实验的基础上,将训练好的缺销螺丝模型分别与线夹、三角板和扇形板的模型结合,对待识别部件进行分割,并对2种像素不同的区域计算相关参数,进行拓扑关系计算分析。本实验采用精确率(Precision)和召回率(Recall)作为评价指标,其计算公式如下:

Precision=TP/(TP+FP)

(12)

Recall=TP/(TP+FN)

(13)

其中:TP表示将缺销螺丝预测为缺销螺丝的数量,FP表示将其他部件预测为缺销螺丝的数量,FN表示将缺销螺丝预测为其他部件的数量。

本实验采用了1600张高分辨率输电线路图片,为避免实验的偶然性,每次随机平均分为4组,进行多次重复实验,统计了所有实验的平均精确率和召回率,并与Deeplab v3+算法进行了比较,实验结果如表3所示。

表3 引入不同部件语义信息后缺销螺丝识别效果对比 %

由表3可以看出,仅在Deeplab v3+的基础上加入对数据集的预处理能够很大程度地提高对缺销螺丝识别的召回率,但同时也带来了较多误识别,导致实验的精确率较低。通过引入线夹、三角板和扇形板部件的信息,对缺销螺丝识别的精确率有了很大程度的提高。通过对精确率和召回率计算公式的分析,精确率与FP(即其他部件预测为缺销螺丝的数量)成反比关系,表明精确率的提高能代表引入周围的部件信息后排除了很大部分的误识别,而召回率在加入预处理和引入其他部件语义信息都能达90%左右,这也说明缺销螺丝的漏识别较少。

4 结束语

本文针对输电线路上的缺销螺丝识别,提出了一种基于上下文语义分割信息的识别方法。在基于Deeplab v3+算法的基础上,对输电线路数据集的规则裁剪、自适应Gamma校正增强等预处理,提升了网络对于缺销螺丝识别的mIoU,但同时也带来了较多的误识别;通过引入线夹、三角板和扇形板部件的信息后,排除了较多的误识别,提高了缺销螺丝识别的精确率和召回率。相较于Deeplab v3+算法,本文提出的方法在mIoU、精确率和召回率等指标上均有了明显的提升。

猜你喜欢

三角板扇形螺丝
治理“吃心不改”需要拧紧螺丝
各种各样的扇形
扇形统计图 教学设计
一副三角板的魔法
无法拆下的螺丝
三角板“牵手”直尺
彩色小鱼
注意贴纸下的螺丝
2014年综合性大学自主选拔录取联合考试数学试题
接受美学视阈下的《螺丝在拧紧》