一种基于轻量化yolov5模型的绝缘子状态快速检测方法
技术领域
1.本发明属于深度学习图像处理领域,涉及一种基于轻量化yolov5模型的绝缘子状态快速检测方法。
背景技术:2.在国家电网“西电东送,北电南供”的战略格局下,以及我国特高压、高压输电等级的不断提高,输电线路长度和架设区域的扩大,电网的安全、稳定、可靠运行就显得尤为重要。而输电网的安全正常运行又是电网安全至关重要的环节。由于输电线路所在的环境复杂且多变,线路中的电力器件常年暴露在自然环境中,受外部因素影响易产生腐蚀、断股、磨损等故障。绝缘子是输电线路重要器件之一,据统计绝缘子故障引发的事故超过一半,为输电线路的稳定运行带来了很大的安全隐患。根据国网公司对输电线路故障划分,绝缘子缺陷按危害程度分为一般、严重、危急三种不同危害等级,共83种缺陷类型。因此,及时监控输电线路中绝缘子的工作状态,定期进行输电线路巡检工作排查故障绝缘子十分必要。
3.输电线巡检方式包括人工巡检、直升机巡检、无人机巡检以及巡检机器人巡检。传统人工巡检效率低且安全难以保证。直升机巡检虽然可以提高巡检效率,但其高成本和低灵活性的缺点使其不能大规模应用。随着人工智能的快速发展和无人机技术的成熟应用,无人机巡检得以广泛使用。无人机巡检具有安全、高效的优点,利用机载摄像设备拍摄输电线路中的电力设备,再通过人工对巡检图像鉴别判断是否存在故障。但巡检图像具有体量大和价值密度低的大数据特征,人工判读容易存在因视觉疲劳而产生的误判和漏判。引入深度学习后,通过计算机视觉技术和图像处理技术以及计算硬件的结合,使得智能巡检成为可能。
4.基于深度学习的目标检测算法在特征提取模块中使用卷积神经网络,并使用显卡和批处理(batch size)进行加速训练。按实现机理可分为双阶段检测算法和单阶段检测算法。双阶段检测算法又称为基于区域提名的目标检测算法(object detection based on regional proposal)。在检测时先生成目标候选域,再对候选域预测分类识别目标。经典算法有:faster r-cnn、sppnet等。单阶段检测算法又称为基于端对端的目标检测算法(object detection based on end to end learning)。网络在检测时不需要生成候选区域便可完成检测,即网络直接输出预测物体的空间坐标和类别信息。单阶段检测算法基于边界框的回归,是一个“一步到位”的过程。单阶段检测网络在产生候选框的同时进行分类和边界框回归,特点是速度快但精度稍逊。
5.基于深度学习的绝缘子检测方法相比于传统图像处理方法,其检测精度有了大幅提升,并且具有较强的泛化能力,但是仍无法满足实际绝缘子巡检工作在检测精度方面的需求,另外检测速度损耗严重,也无法满足绝缘子缺陷检测速度上的需求。
技术实现要素:6.针对绝缘子检测方法的准确性及速度存在的问题,本发明提供一种基于轻量化
yolov5模型的绝缘子状态快速检测方法。
7.为解决上述技术问题,本发明采用如下技术方案:
8.一种基于轻量化yolov5模型的绝缘子状态快速检测方法,其特征在于:包括如下步骤:
9.步骤1、采集绝缘子图像形成数据集;
10.步骤2、使用labelimg标注工具对数据集进行标注;
11.步骤3、对所采集的图像进行数据增强处理,扩充数据集;
12.步骤4、引入轻量化网络shufflenetv2-stem作为yolov5的主干网络,对yolov5模型进行轻量化改进,构成yolov5-shufflenetv2s模型;
13.步骤5、在轻量化yolov5模型的特征融合网络中增加小目标检测层;
14.步骤6、优化损失函数,将ciou作为轻量化yolov5模型的损失函数;
15.步骤7、训练改进后的网络,设置学习率、批次大小、训练总轮次作为训练参数,对轻量化的yolov5模型进行训练;
16.步骤8、将收集的绝缘子图像数据集输入训练好的yolov5模型,得到输入图片中是否存在有缺陷的绝缘子以及该缺陷所在位置。
17.进一步的,所述步骤1中绝缘子图像数据集包含有缺陷的绝缘子图像和完整绝缘子图像。
18.进一步的,所述步骤2中对数据集进行标注,得到符合voc数据格式的xml文件,xml文件内容包括图像名称、图像路径、图像的高/宽度以及真实框中心点位置与宽/高信息。
19.进一步的,所述步骤3通过自适应对比度、旋转、随机灰度变化、平移、裁剪、颜色通道标准化、mixup中一项或多项数据增强方法对数据集进行扩充。
20.进一步的,所述mixup数据增强方法的具体公式为:
21.x=λxi+(1-λ)xj22.y=λyi+(1-λ)yj23.λ=beta(α,β)。
24.进一步的,所述步骤4中轻量化改进后的yolov5模型为yolov5-shufflenetv2s模型,所述yolov5-shufflenetv2s模型由主干网络、特征融合网络和检测网络组成;所述主干网络由shufflenetv2和stem组成;所述特征融合网络由cbl、csp、upsampling和add组成。
25.进一步的,所述shufflenet2网络引入了分组卷积与通道混洗,主要由两个基本单元模块组成;一个单元保持输出通道数与输入通道数相同。另一个单元为一个下采样模块,减小特征图维度;stem模块其中一个分支引入了瓶颈层,将通道数量减少,再进行下采样,另一分支将原始输入进行最大值池化再进行拼接;轻量化shufflenetv2与stem模块进行重构,作为yolov5的主干网络。
26.进一步的,所述步骤5中增加的小目标检测层为对原始输入图片增加的4倍下采样的过程。
27.进一步的,所述步骤6中将ciou作为轻量化yolov5模型的损失函数,
28.其中从重叠面积、中心点距离、长宽比三个方面更好地描述目标框的回归,其计算式为:
[0029][0030][0031][0032]
进一步的,所述步骤7中训练轻量化yolov5模型包括以下步骤:
[0033]
a、网络训练时,输入图像分辨率为640
×
640,在depth_multipl=0.33,width_multiple=0.50的轻量化的yolov5模型上进行训练;
[0034]
b、采用adam优化器,初始学习率为0.001,将模型训练的批大小设置为16,训练总轮次设置为500次;
[0035]
c、训练完成后,将得到的识别模型的权值文件保存,并利用测试集对模型的性能进行评价;
[0036]
d、改进的模型最终输出识别出绝缘子及其缺陷的位置框和相应类别的置信度。
[0037]
与现有技术相比,所提出的技术将stem模块与shufflenetv2进行重构,增强提取图像特征信息的能力,并用重构的shufflenetv2-stem网络代替原始yolov5的c3net作为backbone,显著减小了网络的参数量和计算量,使用mixup数据增强、ciou损失函数,增加小目标检测层,增强网络对绝缘子缺陷的感知能力,提升网络的检测精度,最后将其应用到自制绝缘子数据集进行验证,实现了检测模型的轻量化。
附图说明
[0038]
图1为本发明轻量化改进yolov5的网络结构。
具体实施方式
[0039]
下面将结合本发明实施例对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0040]
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0041]
下面结合具体实施例对本发明作进一步说明,但不作为本发明的限定。
[0042]
为了解决绝缘子状态检测准确率低且检测网络参数量和计算量大的问题,本实施例在现有yolov5模型上进行轻量化改进,使得在绝缘子缺陷的检测方面在保持检测精度的前提下,实现了检测模型的轻量化。首先收集绝缘子及其缺陷的航拍图片,将数据集进行数据扩展,制作本实验的绝缘子数据集,然后对网络进行改进,主要修改了网络的损失函数,主干网络以及融合网络,轻量化改进yolov5模型的网络结构如图1所示。其次,将扩展后的数据集对改进后的网络进行训练。最后,根据实验结果调整网络参数。
[0043]
如图1所示,轻量化改进yolov5模型的网络首先对绝缘子样本图片进行处理,得到固定尺寸的三通道图片,输入到stem模块中处理,以防止信息过度丢失,并完成减少参数量
的工作。紧接着进入shufflenetv2模块进一步减少模型计算量,提高运行速度。此时,改进网络的主干部分的重构完成,相较于原始yolov5模型,改进网络的主干部分更符合轻量化的需求。在特征融合网络,增加了一个小目标检测层,以平衡绝缘子样本照片中目标远近不一的情况,提高远处小目标的检测精度。与此对应,在输出部分相应地增加了一个小目标检测头,以完成小目标锚框的绘制。改进后的特征融合网络具有较好的特征融合能力,新增小目标检测层的特征图感受野较小,具有相对丰富的位置信息,能够提升模型对小目标的检测精度。实验结果表明,采用轻量化yolov5在保持检测精度的前提下,实现了检测模型的轻量化。
[0044]
本实施例是通过以下技术方案来实现的,一种基于轻量化yolov5模型的绝缘子状态快速检测方法,包括以下步骤:
[0045]
1、采集绝缘子图像数据集,包含有缺陷的绝缘子图像和完整绝缘子图像。
[0046]
2、使用labelimg标注工具对数据集进行标注,标注类别为绝缘子和缺陷。
[0047]
3、对所采集的图像进行数据增强处理,扩充数据集。
[0048]
4、引入轻量化网络shufflenetv2-stem作为yolov5的主干网络,对yolov5模型进行轻量化改进,构成yolov5-shufflenetv2s模型。
[0049]
由于移动端平台的计算能力和内存资源有限,gpu的性能远远低于pc端,前者的性能至少比后者低1/10。为了满足移动端和嵌入式平台的应用需求,一些轻量级的卷积神经网络如mobilenet和shufflenet等被提出,研究人员对这些轻量级的卷积模型进行了改进,使其在精度和速度之间作了很好的平衡。所以为了实现模型的轻量化,就需要对yolov5模型结构进行相应的调整和改进。原始yolov5模型中的主干网络c3pnet参数量大,模型占用内存量较大,计算复杂度高,对硬件的计算能力需求大。针对上述问题,本文提出采用轻量化网络shufflenetv2-stem来代替yolov5模型中的主干网络c3net。shufflenetv2是一种在shufflenetv1及mobilenetv2基础上通过分析两者缺陷进行改进的轻量化网络,具有精度高、速度快的优点。将轻量化shufflenetv2-stem网络集成到yolov5模型中构成yolov5-shufflenetv2s模型,完成yolov5模型的轻量化改进。yolov5-shufflenetv2s模型能够在满足检测精度的同时减少了网络的参数量和计算量,提高模型的检测速度,保证模型准确度与检测速度之间的均衡,最小化网络模型的体积,降低模型对硬件的计算能力需求。
[0050]
5、在特征融合网络中增加小目标检测层。
[0051]
yolov5模型的小目标检测效果不佳,其中一个原因是在绝缘子缺陷检测中,大部分缺陷检测目标占整幅图像的比例较小,而yolov5模型的下采样倍数比较大,较深的特征图很难学习到小目标的特征信息。因此,本发明在轻量化yolov5模型主干网络的基础上对原始输入图片增加一个4倍下采样的过程,即增加小目标检测层,通过增加小目标检测层对较浅特征图与深特征图拼接后进行检测。原始图片经过4倍下采样后送入到特征融合网络得到新尺寸的特征图,该特征图感受野较小,位置信息相对丰富,可以提升检测小目标的检测效果。
[0052]
6、优化损失函数。
[0053]
将ciou作为轻量化改进yolov5算法的bounding-box损失函数lossciou。ciou将真实框与预测框之间的距离、重叠率、尺度以及惩罚项都考虑进去,使得预测框回归变得更加稳定,不会像其他损失函数一样出现训练过程中发散等问题,而惩罚因子把预测框长宽比
拟合目标框的长宽比考虑进去,从而使模型能够更快更好的收敛。
[0054]
7、训练改进后的网络,设置学习率、批次大小、训练总轮次作为训练参数,对轻量化改进的yolov5模型进行训练;
[0055]
8、将收集的绝缘子图像数据集输入训练好的yolov5模型,得到输入图片中是否存在有缺陷的绝缘子以及该缺陷所在位置。
[0056]
基于轻量化yolov5的绝缘子缺陷检测方法的具体实施例说明:
[0057]
一、首先,采集绝缘子图像形成数据集。本实施例使用的绝缘子缺陷数据集包括瓷质绝缘子281张,复合绝缘子413张,共694张图片。由于已有的数据集图片较少,且没有目标信息,难以完成目标检测的任务,故对已有数据集进行扩充、标注等预处理操作是十分必要的。在数据集进入网络模型训练前对其进行标注,得到符合voc数据格式的xml文件,xml文件内容包括图像名称、图像路径、图像的高/宽度以及真实框中心点位置与宽/高等信息。然后,通过自适应对比度、旋转、随机灰度变化、平移、裁剪、颜色通道标准化、mixup等方法对数据集进行扩充。其中,mixup多样本数据增强为提高网络对遮挡和重叠目标的辨别能力以及模型的泛化能力,是一种基于邻域风险原则的数据增强方法,该算法利用线性插值的方式对两个样本和标签进行混合,即从数据集中随机抽取两张样本,将两张样本的像素值按照一定的权重进行加权求和,两张样本对应的标签以同样的比例进行加权求和,从而在一定程度上扩展训练数据的分布空间,使模型的泛化能力得到提高。具体公式如下:
[0058]
x=λxi+(1-λ)xj[0059]
y=λyi+(1-λ)yj[0060]
λ=beta(α,β)
[0061]
其中,(xi,yi)和(xj,yj)是从训练数据中随机抽取的两张样本,x为生成的混合图片,y为生成的混合标签。λ为权重,范围在0到1之间,服从beta(α,β)分布。
[0062]
二、如图1所示,对yolov5模型进行轻量化改进,轻量化改进的yolov5模型由主干网络、特征融合网络和检测网络组成。主干网络由shufflenetv2和stem组成。特征融合网络由cbl、csp、upsampling和add组成。为了检测目标的位置和类别,需要从图像中提取特征,主干网络进行定位和分类来捕获特征;特征融合网络通过主干网络的初始输出特征,融合特征,适应大小,从而提高体系结构的整体性能;检测网络接收特征融合网络的输出,输出的每个特征映射输出层的包围盒位置、对象置信度和对象类别的预测。
[0063]
其中,为了降低模型的计算复杂度,在保证准确度的同时满足将模型搭载至移动端设备的轻量化需求,本实施例以yolov5模型为基础,提出shufflenetv2-stem模型对yolov5主干网络进行轻量化改进。shufflenet2网络引入了分组卷积(group convolution,gc)与通道混洗(channelshuffle,cs)操作来降低网络运算中的计算量,使其可以搭载至移动端设备。shufflenetv2网络主要由两个基本单元模块组成,单元1保证输出通道数与输入通道数相同,达到提高速度的目的。单元2是一个下采样模块,主要起减小特征图维度的作用,从而进一步减少了网络模型的计算量。
[0064]
stem模块增加了输入图像空间维度的通道数,进行了第一次降采样任务,可以丰富特征层保持较强的绝缘子图像特征表达能力,不增加额外的计算量,是一个代价较小的模块。stem模块减少参数量的最主要操作就是在其中一个分支引入了瓶颈层,先将通道数量减少,再进行下采样,另一分支将原始输入进行最大值池化再进行拼接,目的是将输入中
的部分信息进行传递,保证最终的结果在减少参数量的基础上仍具备足够的语义信息,不会造成信息的过度损失。将轻量化shufflenetv2与stem模块进行重构,重构的网络集成到yolov5模型中构成yolov5-shufflenetv2s模型。
[0065]
其次在特征融合网络部分增加一个4倍下采样的过程,通过增加小目标检测层对较浅特征图与深特征图拼接后进行检测。原始图片经过4倍下采样后送入到特征融合网络得到新尺寸的特征图,该特征图感受野较小,位置信息相对丰富,可以提升检测小目标的检测效果。
[0066]
三、为了进一步弥补轻量化所带来的精度损失,在shufflenetv2-stem以及加入小目标检测层基础上,将损失函数修改为ciou损失函数。将所改进的模型应用到自制绝缘子数据集上进行测验。
[0067]
原始yolov5中使用giou来计算定位损失:与原始iou不同,giou不仅关注真实框与预测框之间的重叠面积,还关注其他的非重叠区域,因此giou相较于原始iou能更好的反应两者之间的重合度,但giou始终只考虑真实框与预测框之间的重叠率这一个因素,不能很好地描述目标框的回归问题。当预测框在真实框内部时,且预测框的大小相同时,此时giou会退化为iou,无法区分各个预测框之间的位置关系。选择ciou替代giou作为目标框回归的损失函数,从重叠面积、中心点距离、长宽比三个方面更好地描述目标框的回归,其计算式为:
[0068][0069][0070][0071]
四、轻量化改进的yolov5模型进行训练,输入图像分辨率为640
×
640,在depth_multipl=0.33,width_multiple=0.50的轻量化改进的yolov5模型上进行训练;采用adam优化器,初始学习率为0.001,将模型训练的批大小设置为16,训练总轮次设置为500次;训练完成后,将得到的识别模型的权值文件保存,并利用测试集对模型的性能进行评价;轻量化改进yolov5模型最终输出识别出绝缘子及其缺陷的位置框和相应类别的置信度。
[0072]
最终将收集的绝缘子图像数据集输入训练好的yolov5模型,得到输入图片中是否存在有缺陷的绝缘子以及该缺陷所在位置。