一种电力设备目标识别方法与流程

文档序号:20920097发布日期:2020-05-29 14:02阅读:167来源:国知局
一种电力设备目标识别方法与流程

本发明涉及图像识别的技术领域,尤其涉及一种电力设备目标识别方法。



背景技术:

高压设备的巡检是保证设备可靠供电的有效手段,随着我国国企定编定岗政策的实施和电网的发展,设备巡检工作的问题日益突出,只要表现在:人少事多,巡检制度难以贯彻落实,巡检质量低,检机器人可用性亟待提高。

若能采用先进的检测和诊断技术,实现变电站关键设备的无人巡检和隐患异常情况的自动判断,可极大地解放一线班组人员的巡检负担,有助于一线班组建设由工作型向管理型转变,大大提高当前变电站运维水平。

掌握输变电设备运行状态与运行环境状况,及时发现电网设备运行的隐患是变电设备运维管理的关键问题。由于设备数量多、运行环境复杂、状态监测技术的局限性,如何及时、准确的掌握设备运行状态仍然亟待解决,目前常用的检测手段主要问题表现在:

(1)现有的在线监测系统认可度不高、使用价值低。传统的巡检和带电检测方法因其固定的检测试验周期,不能对设备运行的全过程进行监控,设备隐患不一定能及时发现。

(2)目前应用的变电站机器人巡检主要采集现场图像和红外热像数据,但是机器人巡检无法24小时的全方位实时监控,在时间上和空间上均无法做到全覆盖,而且目前主要停留在现场数据采集和简单的阈值判断阶段,缺乏只能分析技术对检测数据进行自动、准确地处理和诊断。

在电力设备目标辨识领域,国内外学者已经进行了一定的研究,并取得了一定的成就。

在国外,有学者使用红外和可见光图像实现电线的检测目标,首先从红外和visiblelightssensors(光感器)获取视频流图像,然后使用imageprocessing判断电线是否出现故障,并通过合成图像流将其实时显示。除了输电线路,绝缘子方向也有学者做过尝试,他们提出了一种基于视频的在线检测方法,该方法利用模板,直方图和边缘等信息,考虑了亮度不同时的情形,用于对绝缘子倾斜程度和覆雪的检测。

在国内,六年前就有人指出图像识别技术的发展为实现智能电网提供了技术上的保障,可以解决电力设备在线监测面临的巨大计算量的问题,对改善电力系统具有十分重要的意义。有些文献在对相机采集得到的变电站图片预处理之后,提取电力设备目标形状的不变矩并将其作为特征向量,利用支持向量机识别出电力设备的类型,再通过设备运行图片与数据库中的图片进行对比,判断是否出现故障,该方法在利用支持向量机进行训练的时候每次只能训练两个类别的分类,但是电力设备的种类较多,因此该方法需要多次使用支持向量机,由于总的运行时间是所有svm的trainingtime的总和,这样的话效率较低。也有另辟蹊径,对电力设备标牌进行了定位与识别,从而读出电力设备的种类和参数,该方法存在一定的局限性,一方面,照片清晰度可能达不到要求,另一方面,这个工作没有使用图像识别方法的必要。又比如为了减少图像识别算法的运行时间,使用了模板匹配算法,取电力设备的某一个部件作为模板,对整张图片遍历匹配,如对变压器的识别,只需在图中找到绝缘子即可,大大提高了运算效率,不过这种方法使用的前提条件是拍摄相机的角度是已知且固定的,这样等价于已知拍摄物体的形状和大小。



技术实现要素:

本发明提供了一种电力设备目标识别方法,解决了现有方法需要预先知道电力设备图片或视频的拍摄角度,否则无法达到预期的效果、计算效率低等问题。

本发明可通过以下技术方案实现:

一种电力设备目标识别方法,包括以下步骤:

步骤一、建立包含多张电力设备图像的数据集,并对每张电力设备图像包含的电力设备进行标注,以此为输入,对神经网络和贝叶斯网络进行训练学习;

步骤二、利用训练好的神经网络对待识别的电力设备图像进行识别,输出多个识别结果;

步骤三、利用训练好的贝叶斯网络对神经网络的识别结果进行筛选,筛选出对应待识别的电力设备图像最准确的识别结果。

进一步,利用标签工具对每张电力设备图像包含的电力设备进行标注,根据标注信息计算对应贝叶斯网络的节点和有向边信息,构建对应的有向无环图,利用数据集的多张电力设备图像对贝叶斯网络进行训练,获得对应的条件概率表。

进一步,设置阈值,对神经网络的所有识别结果进行筛选,根据筛选出的多个识别结果,重新计算对应贝叶斯网络的节点和有向边信息,构建对应的有向无环图,并结合训练得到的条件概率表,计算对应的联合概率,选取最高的联合概率对应的识别结果,作为待识别的电力设备图像最准确的识别结果。

进一步,每一个所述节点设置为一个设备,每一条所述有向边设置为设备之间的关系,其方向由优先级较高的节点指向优先级较低的节点,

整个有向无环图的概率分布包括三部分,第一部分设置为在某几种设备存在的前提下,另一个设备存在的概率ps,其条件概率表达式如下所示:

ps=p(p2|p1,p4)p(p3|p2,p4)...

第二部分设置为设置自身概率pa,即每种设备的相对面积s大小与该设备自身的种类有关,其条件概率表达式如下所示:

pa=p(s1|p1)p(s2|p2)...

第三部分设置为空间关系概率pr,即设备与设备之间的空间关系与这两个设备的类型有关,其条件概率表达式如下所示:

pr=p(r1,2|p1,p2)...p(r9,10|p9,p10)

则联合概率p分布表达式如下所示:

p=pspapr=p(p2|p1,p4)p(p3|p2,p4)...p(s1|p1)p(s2|p2)...p(r1,2|p1,p2)...p(r9,10|p9,p10)。

进一步,所述标注信息包括电力设备的轮廓、类型和图像质量信息,以json格式文件进行存储,所述轮廓信息设置为每个设备外沿取较多的点连接成的多边形;

所述节点包含10个参数,分别设置为设备类型type,设备相对面积area,设备形心的横坐标centroidx,设备形心的纵坐标centroidy,设备轮廓上每个标注点的横坐标xs,设备轮廓上每个标注点的纵坐标ys,设备序号number,设备的子节点children,设备包含的所有像素点mask,设备的优先级priviledge,

其中,设备类型type,设备轮廓上每个标注点的横坐标xs,设备轮廓上每个标注点的纵坐标ys,设备序号number,设备的优先级priviledge由标注信息直接得到,剩余的参数根据设备的轮廓信息计算得到;

所述有向边包括边的权值参数,先判断两个节点之间是否存在边,再计算边的权值参数,均根据设备的轮廓信息计算得到。

进一步,所述设备相对面积area设置为节点对应的多边形面积,采用向量叉积方法计算获得;

所述设备形心的横坐标centroidx和纵坐标centroidy设置为多边形所有顶点横坐标的平均值和纵坐标的平均值;

所述设备包含的所有像素点mask通过将多边形所在区域涂色rgb=(1,1,1),得到的是一个rgb格式的三维像素矩阵,取其中任意一维即可得到;

所述设备的子节点children通过采用intersectionoverunion指标,判断两个节点对应的mask信息是否包含,即当两个节点对应的mask信息的共有部分的面积除以两个mask信息合并后的面积大于阈值的时,则两个节点存在包含关系;

两个节点之间是否有边通过两个节点对应的多边形向外扩展五个像素点的外接矩形是否有交集来判断,其边的权值通过每个节点的轮廓对应多边形形心的相对位置对照位置矩阵来获取,所述形心设置为多边形所有顶点坐标的平均值。

进一步,所述识别结果包括矩形框参数rois、类别参数class_ids、得分参数scores和masks参数,所述阈值设置为得分阈值,仅将得分参数大于得分阈值的识别结果筛选出来,

重新计算对应贝叶斯网络的节点,其面积根据masks参数计算获得;设备形心的横坐标centroidx和纵坐标centroidy设置为矩形框参数rois所有顶点横坐标的平均值和纵坐标的平均值;

重新计算对应贝叶斯网络的有向边,通过两个节点对应的矩形框参数rois是否有交集来判断,其边的权值通过每个节点对应的矩形框参数rois形心的相对位置对照位置矩阵来获取,所述形心设置为矩形框参数rois所有顶点坐标的平均值。

进一步,所述设备的类型设置为tower,线路line,绝缘子insulator,鸟巢nest,pole。

本发明有益的技术效果在于:

本发明通过建立包含多张电力设备图像的数据集,并对其内包含的电力设备进行标注,以此为基础,对神经网络和贝叶斯网络进行训练,利用训练好的贝叶斯网络对神经网络的多个识别结果进行筛选,筛选出对应待识别的电力设备图像最准确的识别结果。在此期间,需要进行两次贝叶斯贝叶斯网络的构建,训练时,以每张电力设备图像的标注信息为基础进行构建,筛选时,则以神经网络的每个识别结果为基础进行构建。该方法成功将maskr-cnn输出结果的map值从0.699提升到了0.819,提升了12%,效果显著;由于贝叶斯网络与maskr-cnn两者是同时进行训练的,且贝叶斯网络训练的时间短于maskr-cnn的训练时间,贝叶斯网络对maskr-cnn输出结果的校验几乎不耗时,因此并没有增加总的程序运行的时间。

附图说明

图1为本发明的总体流程示意图;

图2为本发明中利用标签工具完成对图像进行标注的示例示意图;

图3为本发明中利用向量积计算多边形面积的四种情况示意图;

图4为本发明中利用贝叶斯网络对神经网络的识别结果进行筛选的三个示例示意图,标志a表示示例一,①②表示利用神经网络进行处理后的识别结果,②表示贝叶斯网络筛选出的识别结果,标识b表示示例二,③④表示利用神经网络进行处理后的识别结果,④表示贝叶斯网络筛选出的识别结果,表示示例一,标识c表示示例三,⑤⑥表示利用神经网络进行处理后的识别结果,⑥表示贝叶斯网络筛选出的识别结果。

具体实施方式

下面结合附图及较佳实施例详细说明本发明的具体实施方式。

一方面,虽然电力设备目标辨识领域已有一定的成果,但是局限性较大,对此,我们考虑使用r-cnn区域卷积神经网络,将图片的拍摄角度也作为参数进行学习。另一方面,尽管r-cnn发展十分迅速,然而在电力设备领域的应用存在较大的问题,针对这个问题,我们考虑引入类人学习的概念,让机器从认识事物基本组成部分开始,到认识这些基本组成部分间的关系,逐步理解事物。类人学习的本质是pgm概率图模型,概率图模型是一个利用probability来表征性能的model。概率图模型结合probability与graph的知识,利用graph来表示与model有关的variables的联合概率分布。

综上所述,本发明将maskr-cnn和概率图模型相结合,提出了一种电力设备目标识别方法,主要是建立包含多张电力设备图像的数据集,并对其内包含的电力设备进行标注,以此为基础,对神经网络和贝叶斯网络进行训练,利用训练好的贝叶斯网络对神经网络的多个识别结果进行筛选,筛选出对应待识别的电力设备图像最准确的识别结果。在此期间,需要进行两次贝叶斯贝叶斯网络的构建,训练时,以每张电力设备图像的标注信息为基础进行构建,筛选时,则以神经网络的每个识别结果为基础进行构建。如图1所示,具体包括以下步骤:

步骤一、建立包含多张电力设备图像的数据集,并对每张电力设备图像包含的电力设备进行标注,以此为输入,对神经网络和贝叶斯网络进行训练学习。

关于神经网络:

mask-rcnn作为r-cnn最新的网络,吸取了所有前辈的优点,并在他们的基础上进行了进一步地改进。maskr-cnn使用了roialign代替了roipooling,具体来说就是去掉了原先的取整操作,保留计算得到的浮点数,并使用双线性插值来完成对像素的操作。由此,实现了像素级的精确对齐,在实例分割领域领跑。

由于我们顶层使用了贝叶斯网络,这意味着我们要通过设备间的位置关系构建网络结构,因此,像素级的分割就显得格外重要。如果输出结果只有包含物体的框,框中除了识别出的设备之外一般还会包含别的设备,这样在构建贝叶斯网络的时候就会引入较大的误差,使用mask就可以很好地解决这个问题。

由于电力设备领域缺乏可用于机器学习的开源数据集,因此,本发明在应用maskr-cnn之前,利用viavggimageannotator标签工具建立了包含330张电力设备图片的数据集。每张图片的标注如图2所示,由变电站巡检机器人拍摄所得,标注信息包括设备的轮廓、类型和图片质量。

图片标注完后会生成一个json格式的文件,这个文件包含了所有的标注信息,标注信息中设备的轮廓信息是用多边形来表示的,即在每个设备外沿取较多的点连接成多边形来近似设备的外形。如果是属于同一个设备的不同部分,标注的时候会将这两部分分别标注,但是它们的设备类型是相同的。

根据数据集的信息,该设备的类型设置为tower,线路line,绝缘子insulator,鸟巢nest,pole,以便后续建立贝叶斯网络。

每个深度卷积神经网络都是在一定范围内灵活可变的,而这些变化就是网络参数的不同引起的。经过调试,我们最终选择的网络参数如下:

学习率learningrate=0.02

迭代次数epochs=30

将所有样本划分为多少份stepsperepoch=100

roi置信度阈值detectionmincondidence=0.9

每个gpu处理图片数imagespergpu=2

由于我们使用了标签工具via,在标注过程难免会出现越界的标注点,而且属于同一设备因遮挡被分开的两个部分我们也是分开标注的,因此,我们还需要进行数据预处理。

数据预处理分为三部分,一部分是解决标注点的越界问题,我们将超出图片四个边界的点全部拉回到边界,很好地解决了这个问题;第二部分是将属于同一设备但分开标注的部分合并,我们将标注名字相同的设备合并成完整的设备,再生成mask;另一部分是将数据集随机划分为两个部分,分别是训练集和测试集,训练集用于训练maskr-cnn网络,测试集用于验证网络实际效果。

关于贝叶斯网络:

概率图模型pgm是一种对现实情况进行描述的模型,其核心是条件概率,本质上是利用先验知识,确立一个随机变量之间的关联约束关系,最终达成方便求取条件概率的目的,包括贝叶斯网络和马尔科夫随机场,考虑到电力设备的实际情况,本发明选择贝叶斯网络。

具体过程:利用标签工具对每张电力设备图像包含的电力设备进行标注,根据标注信息计算对应贝叶斯网络的节点和有向边信息,构建对应的有向无环图,利用数据集的多张电力设备图像对贝叶斯网络进行训练,获得对应的条件概率表。

每一个节点设置为一个设备,每一条有向边设置为设备之间的关系,其方向由优先级较高的节点指向优先级较低的节点。

整个有向无环图的概率分布包括三部分,第一部分设置为在某几种设备存在的前提下,另一个设备存在的概率ps,其条件概率表达式如下所示:

ps=p(p2|p1,p4)p(p3|p2,p4)...

第二部分设置为设置自身概率pa,即每种设备的相对面积s大小与该设备自身的种类有关,其条件概率表达式如下所示:

pa=p(s1|p1)p(s2|p2)...

第三部分设置为空间关系概率pr,即设备与设备之间的空间关系与这两个设备的类型有关,其条件概率表达式如下所示:

pr=p(r1,2|p1,p2)...p(r9,10|p9,p10)

则联合概率p分布表达式如下所示:

p=pspapr=p(p2|p1,p4)p(p3|p2,p4)...p(s1|p1)p(s2|p2)...p(r1,2|p1,p2)...p(r9,10|p9,p10)。

贝叶斯网络的每个节点包含10个参数,分别是:type,area,centroidx,centroidy,xs,ys,number,children,mask,priviledge。对应的中文意思是:设备类型,设备相对面积,设备形心的横坐标,设备形心的纵坐标,设备轮廓上每个标注点的横坐标,设备轮廓上每个标注点的纵坐标,设备序号,设备的子节点,设备包含的所有像素点,设备的优先级。

贝叶斯网络的每条边包含2个参数,分别是边的方向和边的权值。权值表示设备间的相对位置,权值与相对位置的对应关系如下表所示:

为了简化表示,我将空间位置矩阵做了点修改,从左上到右下依次改为:1,2,3,4,5,6,7,8,9。

贝叶斯网络的构建,分为两个部分:数据集的导入和概率图的构建,具体如下:

一、数据集的导入

根据上文的阐述,我们可以得知数据集的格式为json。json文件包含了所有图片的标注信息。

由于我们招募了若干志愿者标注,因此最终我们得到的是若干json文件,我们需要将这些文件进行合并;此外,via标注工具也会将未被标注的图片信息导出到json文件中,因此,我们还需要删除未被标注的图片信息。接着,我们就可以将合并后的json文件读入,并完成对贝叶斯网络节点的构建。

每个节点包含10个参数:type,area,centroidx,centroidy,xs,ys,number,children,mask,priviledge。其中,type,xs,ys,number,priviledge的值可以直接从json文件中得到,下面介绍下我对于剩余参数的获取方法。

首先是面积的计算。每个标注设备的轮廓都是一个多边形,我们需要通多多边形顶点坐标来求出多边形的面积。这里我使用了向量积的方法,即先通过向量积求出每个三角形的面积,再求和得到最终的面积。向量积的含义:

使用向量积时需要用到三个点的坐标,除了每次选取多边形的两个顶点外,我们还需要另外一个参考点,为了计算方便,我选择使用原点作为参考点,考虑凹多边形和凸多边形,计算时需要考虑如图3所示四种情况:

在第一幅图中,原点在多边形的内部,这样计算向量叉积的时候,四个叉积的方向都是顺时针,面积为四个三角形绝对值的和;在第二幅图中,原点在多边形的外部,在计算向量叉积的时候,△oab的方向与其余三个的方向相反,因此整个三角形的面积等于其余三个三角形的面积之和减去△oab的面积;其余两幅与一二两幅同理。

由此,我们可以看出,不管参考点的位置在多边形内还是多边形外,我们都可以用向量叉积的办法来得到多边形的面积。

其次,是对于形心的获取。由于我们已知多边形的各个顶点的坐标,因此形心的坐标就等于所有顶点坐标的平均值,其对应的横坐标即为设备形心的横坐标centroidx,纵坐标即为设备形心的纵坐标centroidy。

接着,是对于设备的子节点children的获取,首先将节点的标注多边形转变成与maskr-cnn输出格式相同的矩阵,再对mask进行操作。由于mask是布尔类型的二阶矩阵,主要是通过采用intersectionoverunion指标,判断两个节点对应的mask信息是否包含,即当两个节点对应的mask信息的共有部分的面积除以两个mask信息合并后的面积大于阈值的时,则两个节点即设备存在包含关系。

除此之外,我们还需要将节点标注的多边形转变成与maskr-cnn输出格式相同的矩阵。这里使用了cv2库中的fillpoly()函数,将多边形所在区域涂色(1,1,1),这样得到的是一个rgb格式的三维像素矩阵,取其中任意一维即可得到mask信息。

每条边包含两个参数,分别是边的方向和边的权值。

首先我们需要判断是否存在边,即判断两个节点是否相邻。

为了消除标注带来的误差,决定使用每个节点多边形向外扩展五个像素点的外接矩形来判断是否相邻,将判断相邻问题就转化成了判断两个矩形是否有交集。

得到是否存在边的信息之后,我们再获取边的权值以及边的方向。

边的方向通过之前定义的优先级信息,由优先级较高的节点即设备指向优先级较低的节点。边的权值则通过每个节点轮廓多边形形心的相对位置对照位置矩阵来获取。

步骤二、利用训练好的神经网络对待识别的电力设备图像进行识别,输出多个识别结果。

首先,我们不在神经网络内部对其输出结果做筛选,而是保留神经网络直接输出的所有识别结果,然后,根据电力设备的实际情况,通过设置阈值,对其做筛选。

该识别结果包括矩形框参数rois、类别参数class_ids、得分参数scores和masks参数,该阈值设置为得分阈值,仅将得分参数大于得分阈值的识别结果筛选出来,用于后续贝叶斯网络的再次筛选。

步骤三、利用训练好的贝叶斯网络对神经网络的识别结果进行筛选,筛选出对应待识别的电力设备图像最准确的识别结果。

具体过程:根据筛选出的多个识别结果,重新计算对应贝叶斯网络的节点和有向边信息,构建对应的有向无环图,并结合训练得到的条件概率表,计算对应的联合概率,选取最高的联合概率对应的识别结果,作为待识别的电力设备图像最准确的识别结果。

重新计算对应贝叶斯网络的节点:

节点的10个参数中,type,number,priviledge的值可以直接得到,其余参数的计算如下:

首先是面积,识别结果中的masks信息是一个三维布尔矩阵,规格为(1024,1024,instance_numbers),最后一个参数表示maskr-cnn识别出来的实例的个数,也就是mask的数量,因此,对于每一个实例的mask可以表示为masks[:,:,i],规格为二维的布尔矩阵,计算面积可以直接用sum(sum(mask))来实现。

其次,是对于形心的获取。由于maskr-cnn输出结果中包含矩形框信息rois,即包含实例的矩形框,因此形心的坐标就等于矩形四个顶点坐标的平均值,其横坐标和纵坐标分别对应设备形心的横坐标centroidx和纵坐标centroidy。

接着,是对于设备子节点children的获取,与上文所述的方法类似。

每条边包含2个参数,分别是边的方向和边的权值。

首先我们需要判断是否存在边,即判断两个节点是否相邻。与训练时建立的贝叶斯网络时不同,这里直接使用maskr-cnn识别结果中的矩形框参数rois作为外接矩形,其余步骤类似。

本发明所做的实验基于一块gtx1080-ti显卡,maskr-cnn部分我们在tensorflow框架下进行。如前文所述,我们的dataset中一共有330张图片,其中训练数据包含264张图片,验证数据包含66张图片。

我们利用264张训练集中的图片训练得到的深度卷积神经网络权重导入,再对测试集中的图片进行检测,从最终的输出结果中选择了比较典型的三个类型,如图4所示:

经过贝叶斯网络进行筛选后,选择右边的识别结果作为对应待识别的电力设备图像最准备的识别结果。

虽然电力设备目标辨识领域很多人都提出了自己的一套方法,但是这些方法不具有通用性,局限性较大,且需要已知图片的拍摄角度;尽管r-cnn发展十分迅速,但由于电力设备领域缺乏成熟的数据集以及电力设备大类独有的特点,当前深度卷积神经网络在电力设备领域的应用存在较大的问题。

针对这些问题,本发明主要提出了一个全新的电力设备目标辨识方法,其底层设计是maskr-cnn深度卷积神经网络,顶层设计是贝叶斯网络,主体思路是将maskr-cnn输出的结果导入贝叶斯网络进行优化,从而得到更好的结果。

实验表明,本发明所提出的方法成功将maskr-cnn输出结果的map值从0.699提升到了0.819,提升了12%,效果显著;由于贝叶斯网络与maskr-cnn两者是同时进行训练的,且贝叶斯网络训练的时间短于maskr-cnn的训练时间,贝叶斯网络对maskr-cnn输出结果的校验几乎不耗时,因此并没有增加总的程序运行的时间。

此外,一般深度卷积神经网络需要大量的数据作为支撑,而本文实验中只用了330张标注好的图片作为数据集,就已经得到了较好的结果。

总体来说,本发明提出的电力设备目标辨识方法已经能够将底层的输出结果进行了很好地优化且没有增加时间复杂度,较令人满意。

虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。

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