一种复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法
技术领域
1.本发明涉及一种复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,属于计算机视觉领域,具体涉及一种可以在复杂场景下对高压输电线路绝缘子进行识别与自爆缺陷检测。
背景技术:2.绝缘子是高压输电线路的关键部件之一,主要作用是支撑、固定与绝缘。由于暴雨、大风、雷击等外部因素的影响,绝缘子容易受到损坏,导致出现污秽、裂纹、掉串、自爆等缺陷,所以对高压输电线路绝缘子定期巡检是十分有必要的。
3.目前,高压输电线路绝缘子巡检的主要方法是无人机航拍,但使用人工识别的方法处理海量的航拍图片效率极低,故研究者利用图像处理的方法进行绝缘子缺陷检测。传统的绝缘子缺陷检测算法主要包括纹理特征检测、边缘检测及阈值分割三类,但这些传统方法只能够在特定环境下对绝缘子进行局部定位与缺陷检测,并且在复杂场景下检测效果与实时性较差。
4.随着2012年alexnet算法在imagenet竞赛中获得冠军后,深度学习重新引起了人们的广泛关注,利用基于深度学习的目标检测算法进行绝缘子巡检成为新趋势。初期主要利用改进的两阶段目标检测算法进行绝缘子缺陷检测,其一定程度上能够提升检测精度但模型计算量大、检测速度慢,无法满足实时检测的需求。因而后期主要采用单阶段目标检测算法实现缺陷绝缘子的实时检测,但传统单阶段目标检测算法存在分类与定位质量估计使用不一致问题,且其是在diract-delta分布下进行边框回归,缺乏对标签不确定性的估计,使得其在复杂场景下对绝缘子及缺陷的定位不准确。
技术实现要素:5.本发明的目的是:针对背景技术的不足,为了提升高压输电线路绝缘子缺陷的检测速度与复杂场景下的检测精度,本发明提出复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,该方法可以适应遮挡、模糊等复杂场景下的绝缘子缺陷检测,达到比传统算法更优的检测精度;并且能够大幅地减小算法的计算量和参数量,达到实时检测的目标。
6.为了实现上述目的,本发明所采用的技术方案是:一种复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,其特征在于,包括以下步骤:
7.一种复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,其特征在于,包括以下步骤:
8.步骤1:获取绝缘子及其自爆缺陷特征。利用轻量级的骨干网络ghostnet提取绝缘子及其缺陷特征,并对ghostnet做进一步的轻量化处理,具体方法是在ghostnet中融入通道注意力机制eca模块(efficient channel attention),并去除网络最后的平均池化层、1
×
1卷积层和全连接层得到eca-ghostnet;
9.步骤2:首先在步骤1中得到的eca-ghostnet网络中引出三个不同尺度的特征用于
特征融合,然后在特征融合层先利用spp结构(spatial pyramid pooling)获得丰富的感受野,接着利用panet结构(path aggregation network)进行特征融合;
10.步骤3:预测时,首先引入分类与定位质量估计联合表示的方法,以获得高质量的绝缘子及其缺陷检测框,训练阶段采用quality focal loss(qfl)监督联合表示;然后采用广义分布(general distribution)实现边界框坐标的概率建模,并利用广义分布的统计量指导定位质量估计,以获得可靠的定位质量估计得分值,训练阶段采用distribution focal loss(dfl)监督边框回归。
11.在上述的复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,所述步骤1的具体步骤是:首先将yolov4原始算法中的骨干网络cspdarknet53用更加轻量级的新型端侧神经网路ghostnet代替。由于标准卷积的输出特征图彼此之间具有高度相似的特点,ghostnet利用一种计算简便的ghost模块生成这部分相似特征图,其基本运算流程如下:
12.假设标准卷积输入为x∈rc×h×w,其中c为输入通道数,h、w为输入特征图的高与宽,输出通道数为n,ghost模块首先使用少量的标准卷积核生成m个原始特征图:
13.y'=x*f'
ꢀꢀꢀ
(1)
14.其中y
′
为ghost模块的输出,*表示卷积操作,f'∈rc×k×k×m为卷积核,k为卷积核的大小,且m≤n。另一部分则采用简便的线性运算从原始特征图中生成s个相似特征图:
[0015][0016]
其中i为原始特征图的序号,j为线性运算的序号,y
′i为m个原始特征图中的第i个特征图,φ
ij
为第j个线性运算,用于生成相似特征图y
ij
。利用简单的线性运算可以产生m
×
s个输出特征图,从而避免使用大量卷积运算,极大地减少了参数量和计算量。
[0017]
在上述的复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,所述步骤1中,进行进一步轻量化ghostnet,具体步骤是:引入更加轻量化且高效的eca通道注意力机制取代se模块,并去除ghostnet最后的平均池化层、1
×
1卷积层和全连接层构成eca-ghostnet。eca是对通道注意力机制se的改进,其采用一种不降维的局部跨通道交互策略,使用一个快速一维卷积进行局部跨通道交互:
[0018]
ω=σ(conv1dk(y))
ꢀꢀꢀ
(3)
[0019]
其中ω为跨通道交互的输出,conv1d表示一维卷积操作,k为局部跨通道交互的覆盖率,其可以根据输入特征图的通道数c自适应地确定:
[0020][0021]
其中,ψ为线性运算,b和γ是常量,分别设置为1和2;|t|
odd
表示k取离t最近的奇数。y为输入特征向量,σ表示sigmoid激活函数。
[0022]
在上述的复杂场景下基于轻量化yolov4的绝缘子缺陷检测方法,步骤3中的预测过程,具体步骤如下:
[0023]
步骤3.1:首先回归分支利用广义分布代替dirac-delta分布对绝缘子及缺陷边界框进行概率建模,取真实框y的范围为y0≤y≤yn,其中y0与yn为真实框y的最小值与最大值,则边界框预测值可以表示为:
[0024][0025]
式中p(x)表示回归分支的广义分布。
[0026]
由于卷积神经网络无法实现连续积分,故将连续域上的积分转换成离散形式,将连续区间[y0,yn]离散成一个集合{y0,y1,
…
,yn},取间隔为1,利用采样点到边框四边的相对偏移量作为回归目标。将边界框四边(左、右、上、下)分别标记为l、r、t、b,则边界框的广义分布可表示为pm={pm(y0),pm(y1),...,pm(yn)},其中m∈{l,r,t,b},且满足则边界框预测值又可以表示为:
[0027][0028]
网络引入广义分布后,边界框的坐标取值是任意的,因此存在无穷多个组合能够使最后的积分结果满足(6)式;故训练阶段采用dfl损失函数来优化边框回归,其通过增大离真实值y最近的两个值yv与y
v+1
的概率使网络快速地专注于学习目标边界框y附近的坐标,其表达式如下:
[0029]
dfl(sv,s
v+1
)=-((y
v+1-y)log(sv)+(y-yv)log(s
v+1
))
ꢀꢀꢀ
(7)
[0030]
式中sv与s
v+1
分别表示yv与y
v+1
的广义分布概率值。
[0031]
步骤3.2:分类分支引入分类-定位质量估计联合表示的方法,定位质量估计采用一个简单的子网络dgqp(distribution-guided quality predictor)来实现,并采用步骤3.1中的广义分布的统计量来指导定位质量估计:取回归分支学习到的广义分布中的top-k个概率值及其均值作为统计特征输入子网络中:
[0032]
f=concat({topkm(pm)|m∈{l,r,t,b}})
ꢀꢀꢀ
(8)
[0033]
其中f为dgqp网络的输入,concat(
·
)为通道拼接操作,topkm为计算top-k值及其均值的联合操作,m为采样点到边框四边的相对偏移量。dgqp子网络采用两个全连接层,后分别接relu和sigmoid激活函数实现定位质量估计,式(8)是其前向传播过程:
[0034]
i=σ(w2δ(w1f))
ꢀꢀꢀ
(9)
[0035]
其中i为dgqp模块的输出,δ与σ分别表示relu和sigmoid激活函数;且w1∈r
p
×
4(z+1)
为dgqp中第一个全连接层的权重矩阵,w2∈r1×
p
为dgqp中第二个全连接层的权重矩阵,z是top-k中的取值个数;p是全连接层隐层的维度,则联合表示输出为:
[0036]
j=c
×iꢀꢀꢀ
(10)
[0037]
式中j为联合表示输出,c为分类分支输出,i为dgqp子网络输出。
[0038]
训练阶段采用qfl损失函数监督联合表示,主要为解决在单阶段目标检测算法中存在的前景与背景类之间不平衡问题,其表达式如下:
[0039]
qfl(α)=-|y-α|
β
((1-y)log(1-α)+ylog(α))
ꢀꢀꢀ
(11)
[0040]
式中y表示真实值,α为联合表示的输出值,|y-α|
β
为缩放因子,β为一个可调参数。
[0041]
本发明能在模糊、遮挡等复杂场景下实现对高压输电线路绝缘子及其缺陷的实时检测,具体而言,本发明具有以下特点:
[0042]
(1)在原始yolov4算法的基础上,采用更加轻量级的eca-ghostnet骨干网络,极大降低了模型的复杂度和计算量,提升了检测速度;
[0043]
(2)利用更加灵活的广义分布代替dirac-delta分布实现对绝缘子及其缺陷的概率建模,增加对标签的不确定性估计;
[0044]
(3)分类分支采用分类与定位质量估计联合表示的方法,避免算法在训练与测试过程中存在的分类与定位质量估计使用不一致问题,从而获取高质量的检测框。
[0045]
与现有技术相比,本发明的有益效果是:
[0046]
(1)本方法可以实现对绝缘子及其缺陷的实时检测,避免传统算法中存在的检测速度慢的问题;
[0047]
(2)本方法能够提升在模糊、遮挡等实际复杂场景中的检测性能,增加对标签不确定性估计,提高定位准确性;
[0048]
(3)本方法有效避免了训练与测试过程中存在的分类与定位质量估计使用不一致的问题,采用分类与定位质量估计联合表示的方法,利用定位质量估计监督分类,以获得高质量的检测框。
附图说明
[0049]
图1是yolov4算法的网络结构。
[0050]
图2是ghost模块示意图。
[0051]
图3是复杂场景下的模糊与遮挡目标示例图。
[0052]
图4是轻量化yolov4的绝缘子缺陷检测网络框架。
[0053]
图5是eca模块示意图。
[0054]
图6是广义分布建模示意图。
具体实施方式
[0055]
为了便于本领域普通技术人员理解和实施本发明,下面结合实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
[0056]
下面首先对本发明所提到一些概念进行介绍:
[0057]
yolo系列算法(you only look once)是典型的单阶段目标检测算法,yolov4是yolo系列算法的第四版,其中网络结构如附图1所示,骨干网络为cspdarknet53,其是在darknet53的基础上融合了跨阶段局部网络结构(cross stage partial network,cspnet),有效解决了网络推理过程中不同层之间梯度信息重复的问题;骨干网络的最后加入了一个空间金字塔池化模块(spatial pyramid pooling,spp),使输出获得更加丰富的感受野;将骨干网络最后3个残差块的输出作为不同尺度目标,利用路径聚合结构(path aggregation network,panet)进行特征融合,并得到的三个输出分别输入yolohead得到三个预测结果,分别用于小、中、大三个尺度目标的检测。
[0058]
通道注意力机制(channel attention mechanism)即模拟人脑的注意力机制,当人类大脑获取到外部视觉或听觉信息时,一般会对全部信息进行预处理,将注意力集中到重要或感兴趣的信息上,提高信息处理的效率。通道注意力机制就是让网络模型更加关注信息更重要或者更感兴趣的通道特征,抑制无关和不重要的信息。
[0059]
dirac-delta分布也被称为单位脉冲函数,其定义式如下:
[0060]
p(x)=δ(x-μ),x≠μ
ꢀꢀꢀ
(1)
[0061][0062]
dirac-delta分布可以保证概率分布中所有质量都集中在一个点上,传统的目标检测边界框预测只包括四个值,对于每个单独的输出值等价于优化一个dirac-delta分布,即一个在给定区间上积分值为1的概率分布,其只在某一个点处存在监督信号,而在其他地方不存在监督信号。
[0063]
本发明在yolov4目标检测算法的基础上进行改进,实现了一种复杂场景下基于轻量化yolov4绝缘子缺陷检测算法。本发明分为两个部分:一、轻量化骨干网络,二、预测层引入分类与定位质量估计联合表示方法,并采用广义分布(general distribution)对绝缘子及其缺陷边界框进行概率建模。
[0064]
以下结合附图对本发明做进一步的说明。
[0065]
图4是轻量化yolov4的绝缘子缺陷检测网络框架,其主要由输入、骨干网络、特征融合层以及预测层四个部分组成,目前主流目标检测算法均是以这四部分为基础构成。
[0066]
轻量化骨干网络即对yolov4原始算法中的cspdarknet53网络进行改进,降低网络的计算量和参数量,提升检测速度。详细改进过程是:首先采用更加轻量级的ghostnet网络代替cspdarknet53网络作为改进后算法的骨干网络,用于提取绝缘子及其缺陷的特征。ghostnet的核心模块是ghost模块,如图2所示,其主要运算过程如下:
[0067]
第一步:采用少量的标准卷积核(可按比例选择)生成m个原始特征图,即图2中的identity操作。假设标准卷积输入特征图为x∈rc×h×w,其中c为输入通道数,h、w为输入特征图的高与宽,输出通道数为n,则其运算可表示为:
[0068]
y'=x*f'
ꢀꢀꢀ
(3)
[0069]
其中,y
′
为ghost模块的输出,*表示标准卷积操作,f∈rc×k×k×m为标准卷积核,k为卷积核的大小,且m≤n。
[0070]
第二步:采用简便的线性操作从第一步获得的原始特征图中生成s个相似特征图,其运算过程可以表示为:
[0071][0072]
其中i为原始特征图的序号,j为线性运算的序号,y
′i为m个原始特征图中的第i个特征图,φ
ij
为第j个线性运算,用于生成相似特征图y
ij
。通过利用线性运算可以产生m
×
s个输出特征图,从而避免了使用大量卷积运算,有效地减少了参数量和计算量。
[0073]
然后对ghostnet做进一步改进,将ghostnet中所采用的通道注意力机制模块se用更加高效且轻量化的eca通道注意力机制代替,并去除ghostnet最后的平均池化层、1
×
1卷积层和全连接层构成eca-ghostnet。图5是eca模块的示意图,其运算过程可以表示为:
[0074]
第一步:将大小为w
×h×
c的输入特征图利用全局平均池化(global average pooling,gap)进行特征聚合。
[0075]
第二步:采用一维卷积进行局部跨通道交互:
[0076]
ω=σ(conv1dk(y))
ꢀꢀꢀ
(5)
[0077]
其中ω为跨通道交互的输出,conv1d表示一维卷积,k表示局部跨通道交互的覆盖率,即为卷积核大小,k能够根据输入特征的通道数c自适应的确定,其计算公式如下:
[0078][0079]
式中ψ为线性运算,b与γ为常量,分别取1和2;|t|
odd
表示k取离t最近的奇数。y为输入特征图,σ表示sigmoid激活函数。
[0080]
在预测阶段,首先在回归分支采用广义分布对绝缘子及其缺陷边框进行建模,以适应复杂场景下的检测;然后在分类分支采用分类与定位质量估计联合表示方法,以获取高质量的检测框,对预测层改进后得到图4中的cijhead(classification-iou joint head),具体实现步骤如下:
[0081]
步骤1:利用广义分布对绝缘子及其缺陷的边界框进行概率建模。yolo系列算法的边界框定位均是在dirac-delta分布下学习,但在复杂场景下常存在模糊、遮挡等不确定的目标,图3即为复杂场景下的模糊与遮挡目标示例图,在这种情况下dirac-delta分布无法准确地描述出边界框的灵活分布,因此需要采用一种更加灵活的广义分布来表示边界框的灵活分布。在cijhead中,p(x)表示边界框回归分支,其采用广义分布的数学期望作为边界框坐标预测值,令标签y的范围为y0≤y≤yn,其中y0与yn为真实框y的最小值与最大值,故边界框的预测值可表示为:
[0082][0083]
式中p(x)表示回归分支的广义分布。
[0084]
由于连续积分在卷积神经网络中无法实现,故需将连续域上的积分变换成离散形式,将连续区间[y0,yn]离散成一个集合{y0,y1,...,yn},取采样间隔为1,利用采样点到边界框四条边的相对偏移量作为回归目标,图6为广义分布概率建模示意图,将边界框左、右、上、下四条边分别标记为l、r、t、b,则边界框的广义分布可以表示为pm={pm(y0),pm(y1),...,pm(yn)},其中m∈{l,r,t,b},并且满足此时边界框的预测值可以表示为:
[0085][0086]
由于广义分布的取值是任意的,故存在无穷多个组合可以使得最终的积分结果满足式(8),这导致网络学习效率低。因此训练阶段引入dfl损失函数优化边框回归,其通过明显地增大yv与y
v+1
(离真实值y最近的两个值,yv≤y≤y
v+1
)的概率来使网络快速地专注于学习目标边框y附近的坐标,从而提高网络的学习效率,加快收敛速度,其表达式如下:
[0087]
dfl(sv,s
v+1
)=-((y
v+1-y)log(sv)+(y-yv)log(s
v+1
))
ꢀꢀꢀ
(9)
[0088]
因边框回归不存在类别不平衡的问题,故dfl损失函数只需采用交叉熵来实现,其中sv、s
v+1
分别表示yv和y
v+1
的广义分布的概率值。
[0089]
步骤2:分类与定位质量联合表示。在cijhead中,c表示分类分支,定位质量估计采用一个简便的子网络dgqp(distribution-guided quality predictor)来实现,并采用回归分支的广义分布来指导定位质量估计:取回归分支学习到的广义分布中的top-k个概率值及其均值,将它们进行拼接作为子网络的输入:
[0090]
f=concat({topkm(pm)|m∈{l,r,t,b}})
ꢀꢀꢀ
(10)
[0091]
式中f为dgqp网络的输入,concat(
·
)表示通道拼接操作,主要作用是将广义分布的top-k概率值及其均值进行拼接,topkm为计算top-k概率值及其均值的联合操作,m为采样点到边框四边的相对偏移量。dgqp子网络采用两个全连接层(fully connected layers,fc),其后分别接relu和sigmoid激活函数实现定位质量估计。dgqp前向传播过程如下:
[0092]
i=σ(w2δ(w1f))
ꢀꢀꢀ
(11)
[0093]
式中i为dgqp模块的输出,δ与σ分别表示relu与sigmoid激活函数;且w1∈r
p
×
4(z+1)
为dgqp中第一个全连接层的权重矩阵,w2∈r1×
p
为dgqp中第二个全连接层的权重矩阵,z为top-k的取值个数,本发明中k取4;p为全连接层隐层的维度,本发明中p取64,故分类与定位质量估计联合表示输出为:
[0094]
j=c
×iꢀꢀꢀ
(12)
[0095]
式中j为联合表示输出,c为分类分支输出,i为dgqp子网络输出。
[0096]
训练阶段采用qfl损失函数监督联合表示,qfl损失函数是对focal loss(fl)损失函数的改进,fl的提出是为了解决在单阶段目标检测算法中存在的前景和背景类之间不平衡的问题,但其只适用于离散标签,而在引入分类-iou联合表示后,标签变为0~1之间的连续值,因此原始的fl损失函数不再适用,故qfl损失函数针对上述问题做了以下改进:
[0097]
(1)将fl中-log(
·
)部分扩展为完整的交叉熵;
[0098]
(2)将动态缩放因子扩展为连续标签y与联合表示输出α的绝对值,即:
[0099]
qfl(α)=-|y-α|
β
((1-y)log(1-α)+ylog(α))
ꢀꢀꢀ
(13)
[0100]
其中β为一个可调参数,本文取β=2;与fl损失函数类似,qfl由完整交叉熵与缩放因子|y-α|
β
组成,缩放因子主要作用是减少易分类样本对损失的贡献,使网络更加关注困难样本。
[0101]
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
[0102]
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。