基于改进YOLOv3的输变电线路绝缘子航拍图像故障检测方法与流程

文档序号:18219649发布日期:2019-07-19 22:54阅读:316来源:国知局
基于改进YOLOv3的输变电线路绝缘子航拍图像故障检测方法与流程

本发明属于深度学习计算机视觉领域和电力缺陷识别领域,特别涉及一种基于改进yolov3的输变电线路绝缘子航拍图像故障检测方法。



背景技术:

绝缘子在输变电线路中数量众多,起着电气绝缘和机械连接的重要作用。由于输变电线路跨越各种复杂的自然地理环境,长期暴露在风吹雨淋日晒下,容易出现包括自爆,闪络等各种故障。绝缘子一旦出现故障将会严重影响电力的正常安全输送,从而威胁到电力系统的正常运转,因此对绝缘子的快速高效的故障检测是输变电线路巡检工作的重要程序之一。现阶段常用的巡检方式是采用无人机在特定机位拍摄巡检图像,然后由地面工作人员手工对航拍巡检图像进行故障判别与分析,这种方式不仅造成故障检测的延时性,也为电力巡检人员带来大量的工作负担。

为实现输变电线路的自动化与实时巡检,可以采用图像识别技术来代替人工筛检航拍巡检图片。但传统的目标检测算法,主要存在三点缺陷,首先设计的特征为低层特征,对目标的表达性不足;其次设计的特征针对性单一,对输变电线路待检测目标在复杂环境下的多样性没有很好的鲁棒性;最后对于当下海量的巡检图片,检测速度与检测效果均无法满足实际工业应用需求。

2012年以来深度学习发展迅速,并在计算机视觉领域取得的较好的成果,但目前将深度学习用于电力巡检的应用研究较少,且无法满足输变电线路巡检的实时性与准确性的要求,因此,本发明主要研究将yolov3模型应用到绝缘子航拍巡检图像的故障检测以实现端到端的高效准确检测。



技术实现要素:

本发明的目的在于提供基于改进yolov3的输变电线路绝缘子航拍图像故障检测方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:基于改进yolov3的输变电线路绝缘子航拍图像故障检测方法,包括以下步骤:

s1:建立绝缘子数据集与绝缘子故障数据集;

s2:使用旋转,翻转,对比度增强等方式进行数据增强;使用labelimg工具对图像进行标记,得到对应的xml文件,然后将数据集图像及对应的xml文件按照pascalvoc数据集格式进行组织存放;

s3:以yolov3为基本框架,进行模型修改剪枝操作,构建绝缘子检测模型,包括以下步骤:

s301:因为是固定机位拍摄巡检图片,绝缘子可大致分为近景拍摄的较大绝缘子与远景拍摄的较小绝缘子,故将yolov3中三尺度输出变为两尺度输出,只保留13*13与26*26的输出尺度,舍弃52*52的输出尺度,减少模型大小的同时也减少了模型检测过程中的计算量;

s302:因为只检测绝缘子一种目标物体,故yolov3的整体网络显得过于庞大,功能过剩,可通过剪枝操作来进行模型缩减,适当的增加检测速度;

s303:在进行模型剪枝的同时,为了保证不降低模型的检测效果,将原本的每个尺度分配3个anchorbox改为每个尺度4个anchorbox,并使用以交并比iou值代替标准欧式距离的k-means聚类算法生成初始的8个anchorbox,每个尺度更多的anchorbox,可以适当的提高检测效果;

s304:yolov3考虑到使用softmax进行多类别划分必须满足各类别之间是互斥的,故放弃了softmax函数而采用sigmoid函数进行类别划分;

s4:搭建标准的yolov3-tiny网络;

s5:将修改后的yolov3网络与yolov3-tiny分别使用绝缘子数据集与绝缘子故障数据集进行模型训练;

s6:连接两个训练好的模型,实现对绝缘子故障的端到端的快速检测,步骤包括:

s601:使用修改后的yolov3模型检测图像中的各种绝缘子区域;

s602:将检测到的绝缘子区域图像送入tiny-yolov3进行故障检测;

s603:将故障检测结果还原到原始图像中,用矩形框、故障类型及置信度文字标识。

优选的,所述s1中绝缘子数据集图像为通过无人机按照巡检规范在特定机位拍摄采集到的输变电线路多种类型的绝缘子航拍图像。

优选的,所述s1中绝缘子故障数据集中包括自爆,漏电等多种绝缘子故障的图像,图像为初始航拍图像中裁剪到的含故障的绝缘子区域图像并保持原始大小尺寸。

优选的,所述s2中的labelimg工具是一个可视化的图像标记工具,图像标记工具不止是labelimg,还有其它工具,最终得到的不同的文件形式,然后可以转换成模型训练所需要的数据格式,使用该工具前需配置环境python+lxml,能够标注多类别并能直接生成xml文件的标注工具。

优选的,所述s3中13*13与26*26的先验框大小为coco数据集上通过kmeans算法得到的先验框尺寸。

优选的,所述s304中的softmax函数能将一个含任意实数的k维向量z“压缩”到另一个k维实向量σ中,使得每一个元素的范围都在0-1之间,并且所有元素的和为1。

优选的,所述304中的sigmoid函数常被用作神经网络的阈值函数,将变量映射到0-1之间。

优选的,在本发明中,因绝缘子检测模型只需要检测到绝缘子,不具体划分绝缘子类别,故重新采用softmax函数。

与现有技术相比,本发明的有益效果是:使用深度神经网络模型进行故障检测,可以实现输变电线路的实时巡检,检测效果与检测速度大幅度提高,提高了输变电线路巡检的自动化水平,降低了巡检人员的劳动强度,本发明根据特定的工业应用场景,针对性的修改设计神经网络结构,使得网络模型更具有针对性,检测效果得到更好的保障,此外,现有的部分发明专利仅仅检测定位到绝缘子并后接分类器直接进行是否为故障的判别,本发明则直接定位到故障部位并判断故障类型,使得检测更专业化。

附图说明

图1为本发明的检测方法流程图;

图2为本发明的yolov3模型结构图;

图3为本发明的检测过程流程图。

具体实施方式

下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

请参照图1-3,本发明提供一种技术方案:基于改进yolov3的输变电线路绝缘子航拍图像故障检测方法,包括以下步骤:

s1:建立绝缘子数据集与绝缘子故障数据集,绝缘子数据集图像为通过无人机按照巡检规范在特定机位拍摄采集到的输变电线路多种类型的绝缘子航拍图像,绝缘子故障数据集中包括自爆,漏电等多种绝缘子故障的图像,图像为初始航拍图像中裁剪到的含故障的绝缘子区域图像并保持原始大小尺寸;

s2:使用旋转,翻转,对比度增强等方式进行数据增强;使用labelimg工具对图像进行标记,得到对应的xml文件,然后将数据集图像及对应的xml文件按照pascalvoc数据集格式进行组织存放,labelimg工具是一个可视化的图像标记工具,图像标记工具不止是labelimg,还有其它工具,最终得到的不同的文件形式,然后可以转换成模型训练所需要的数据格式,使用该工具前需配置环境python+lxml,能够标注多类别并能直接生成xml文件的标注工具;

s3:以yolov3为基本框架,进行模型修改剪枝操作,构建绝缘子检测模型,包括以下步骤:

s301:因为是固定机位拍摄巡检图片,绝缘子可大致分为近景拍摄的较大绝缘子与远景拍摄的较小绝缘子,故将yolov3中三尺度输出变为两尺度输出,只保留13*13与26*26的输出尺度,舍弃52*52的输出尺度,减少模型大小的同时也减少了模型检测过程中的计算量,13*13与26*26的先验框大小为coco数据集上通过kmeans算法得到的先验框尺寸;

s302:因为只检测绝缘子一种目标物体,故yolov3的整体网络显得过于庞大,功能过剩,可通过剪枝操作来进行模型缩减,适当的增加检测速度;

s303:在进行模型剪枝的同时,为了保证不降低模型的检测效果,将原本的每个尺度分配3个anchorbox改为每个尺度4个anchorbox,并使用以交并比iou值代替标准欧式距离的k-means聚类算法生成初始的8个anchorbox,每个尺度更多的anchorbox,可以适当的提高检测效果;

s304:yolov3考虑到使用softmax进行多类别划分必须满足各类别之间是互斥的,故放弃了softmax函数而采用sigmoid函数进行类别划分,在本发明中,因绝缘子检测模型只需要检测到绝缘子,不具体划分绝缘子类别,故重新采用softmax函数,softmax函数能将一个含任意实数的k维向量z“压缩”到另一个k维实向量σ中,使得每一个元素的范围都在0-1之间,并且所有元素的和为1,sigmoid函数常被用作神经网络的阈值函数,将变量映射到0-1之间;

s4:搭建标准的yolov3-tiny网络;

s5:将修改后的yolov3网络与yolov3-tiny分别使用绝缘子数据集与绝缘子故障数据集进行模型训练;

s6:连接两个训练好的模型,实现对绝缘子故障的端到端的快速检测,步骤包括:

s601:使用修改后的yolov3模型检测图像中的各种绝缘子区域;

s602:将检测到的绝缘子区域图像送入tiny-yolov3进行故障检测;

s603:将故障检测结果还原到原始图像中,用矩形框、故障类型及置信度文字标识。

实施例二

请参照图1-3,本发明提供一种技术方案:基于改进yolov3的输变电线路绝缘子航拍图像故障检测方法,包括以下步骤:

s1:建立绝缘子数据集与绝缘子故障数据集,绝缘子数据集图像为通过无人机按照巡检规范在特定机位拍摄采集到的输变电线路多种类型的绝缘子航拍图像,绝缘子故障数据集中包括自爆,漏电等多种绝缘子故障的图像,图像为初始航拍图像中裁剪到的含故障的绝缘子区域图像并保持原始大小尺寸;

s2:使用旋转,翻转,对比度增强等方式进行数据增强;使用labelimg工具对图像进行标记,得到对应的xml文件,然后将数据集图像及对应的xml文件按照pascalvoc数据集格式进行组织存放,labelimg工具是一个可视化的图像标记工具,图像标记工具不止是labelimg,还有其它工具,最终得到的不同的文件形式,然后可以转换成模型训练所需要的数据格式,使用该工具前需配置环境python+lxml,能够标注多类别并能直接生成xml文件的标注工具;

s3:以yolov3为基本框架,进行模型修改剪枝操作,构建绝缘子检测模型,包括以下步骤:

s301:因为是固定机位拍摄巡检图片,绝缘子可大致分为近景拍摄的较大绝缘子与远景拍摄的较小绝缘子,故将yolov3中三尺度输出变为两尺度输出,只保留13*13与26*26的输出尺度,舍弃52*52的输出尺度,减少模型大小的同时也减少了模型检测过程中的计算量,13*13与26*26的先验框大小为coco数据集上通过kmeans算法得到的先验框尺寸;

s302:因为只检测绝缘子一种目标物体,故yolov3的整体网络显得过于庞大,功能过剩,可通过剪枝操作来进行模型缩减,适当的增加检测速度;

s303:在进行模型剪枝的同时,为了保证不降低模型的检测效果,将原本的每个尺度分配3个anchorbox改为每个尺度6个anchorbox,并使用以交并比iou值代替标准欧式距离的k-means聚类算法生成初始的12个anchorbox,每个尺度更多的anchorbox,可以适当的提高检测效果;

s304:yolov3考虑到使用softmax进行多类别划分必须满足各类别之间是互斥的,故放弃了softmax函数而采用sigmoid函数进行类别划分,在本发明中,因绝缘子检测模型只需要检测到绝缘子,不具体划分绝缘子类别,故重新采用softmax函数,softmax函数能将一个含任意实数的k维向量z“压缩”到另一个k维实向量σ中,使得每一个元素的范围都在0-1之间,并且所有元素的和为1,sigmoid函数常被用作神经网络的阈值函数,将变量映射到0-1之间;

s4:搭建标准的yolov3-tiny网络;

s5:将修改后的yolov3网络与yolov3-tiny分别使用绝缘子数据集与绝缘子故障数据集进行模型训练;

s6:连接两个训练好的模型,实现对绝缘子故障的端到端的快速检测,步骤包括:

s601:使用修改后的yolov3模型检测图像中的各种绝缘子区域;

s602:将检测到的绝缘子区域图像送入tiny-yolov3进行故障检测;

s603:将故障检测结果还原到原始图像中,用矩形框、故障类型及置信度文字标识。

通过对上述两组实施例进行对比实验,实施例一与实施例二均可以检测出故障,实施例一与实施例二每个尺度分配的anchorbox不同,且实施例二分配的anchorbox过多,导致检测速度变慢,没有实施例一的检测速度快,本发明使用深度神经网络模型进行故障检测,可以实现输变电线路的实时巡检,检测效果与检测速度大幅度提高,提高了输变电线路巡检的自动化水平,降低了巡检人员的劳动强度,本发明根据特定的工业应用场景,针对性的修改设计神经网络结构,使得网络模型更具有针对性,检测效果得到更好的保障,此外,现有的部分发明专利仅仅检测定位到绝缘子并后接分类器直接进行是否为故障的判别,本发明则直接定位到故障部位并判断故障类型,使得检测更专业化。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1