APP下载

一种基于Faster RCNN的电网图元识别方法

2021-12-18剑,张皓,徐航,解

计算机与现代化 2021年12期
关键词:工程图纸图元预处理

徐 剑,张 皓,徐 航,解 凯

(1.国网北京市电力公司,北京 100031; 2.南京南瑞继保电气有限公司,江苏 南京 211102)

0 引 言

工程图纸是当今众多工程行业内日常交流的重要媒介。在计算机出现以前,人们通过制定相关的标准和规则来手工绘图,形成指导各行业工程开发的大量纸质工程图。随着计算机技术的发展和各工程行业数字化转型的需要,人们借助工程图纸矢量化技术将大量传统工程图纸高效转换为矢量格式的标准图。早在20世纪90年代末,国外的Yu等[1]学者已开展了工程图纸自动识别系统的研究。同期,国内西北工业大学张树生教授团队较早针对工程图纸矢量化中的自动识别、集成处理和后处理等问题开展了一系列的系统性研究工作[2-5],南京大学蔡士杰教授团队也在工程图纸质量化的模型和算法上取得了突出成果[6-8]。这些早期的研究工作在很大程度上促进了工程图纸矢量化系统的研发和实际应用。近年来,这种工程图纸矢量化需求仍然不断增加[9-12]。通过工程图纸矢量化不仅可以恢复老旧的图纸,同时也可以为存储和检索图纸提供方便[13]。特别在电网领域,大多数厂家希望使用图纸自动生成施工连接线图,因此,如何将电网图纸转换为结构化数据有重要的应用价值[14-18]。然而,由于电气元件的多样性和输入的图纸角度的不确定性,目前为止,很多电网工程图矢量化方法都是针对特定图元并使用传统模式识别方法进行处理和识别,这类方法的识别通用性差,通常只能识别特定图元,识别效果也不理想。

本文结合实际工程应用场景,提出一种基于Faster RCNN[19]的电网图元检测方法,将需要训练的样本数据进行预处理和特征提取,其中预处理包括平滑去噪、二值化、分割等,然后采用VGG16网络提取特征,并利用Faster RCNN深度学习框架对电网图元进行识别。结果表明,本文方法对电网工程图纸中的电气元件的识别和检测具有较好效果。

1 图像预处理

图像预处理可以排除或者降低电网工程图纸的数字图像中存在的部分干扰元素,去掉图片中多余的信息,使得下一步的图元识别和检测工作更容易进行[20]。图像预处理不光可以提高识别正确率,并且可以提高系统性能和识别速度[21-22]。本文涉及的预处理流程包括对图像的平滑去噪、二值化、分割处理。本文所采用的数据来源于真实场景中的9种标准图元,并根据这些图元,通过随机抽取和人工标注,生成了包含1万张图像的数据集,其中,7000张用于训练,3000张用于测试。此外,图元大小和位置则以结构化信息的形式记录,即数据集保存了图片宽度和长度、图元的左上角(x1,y1)和右下角(x2,y2)、图元类别等信息。

1.1 平滑去噪

本文采用中值滤波的方式对图像去噪,由于中值滤波不是线性变换的过程,所以可以降低甚至消除大噪声的干扰,而且不会破坏原图像的轮廓。具体方法为采用3×3的中值滤波窗口,取9个点像素值的中值作为中心点变化之后的像素值。在具体实现中,首先对图像人为加入2%脉冲噪声干扰模拟图像噪声干扰,然后对受噪声干扰的图像进行中值滤波。平滑去噪前后的处理效果如图1所示。

(a) 去噪前

1.2 二值化

二值化处理旨在将图像转化为仅用0和1表示的二值像素矩阵形式,最简单方法是将图像所在的区域用m×n网格划分,然后将图元通过的网格填入1,没有通过的网格填入0,这样就构成了二值像素矩阵。设图片中的一个像素点(i,j)的灰度为g(i,j),当有图元经过时,经过的部分的像素的灰度g(i,j)小,没有经过的灰度g(i,j)大。实现中,通过灰度阈值T来完成二值化处理,当g(i,j)值比设定的阈值大时,用“0”表示,当g(i,j)值比设定的阈值小时,以“1”表示。电网工程图纸的图像二值化效果如图2所示。

图2 图像二值化效果

1.3 水平线和垂直线检测

在电网工程图纸中,大量的线路是以水平线或垂直线的形式表示,这些线路对于电网图元的识别和检测具有帮助作用。在水平线和垂直线检测中,本文进一步采用文献[15]和文献[21]中提出的直线检测方法来实现。首先,对整幅图进行从左到右,从上到下进行扫描,获取图像中直线的宽度信息,从扫描结果获取得到图像的中宽度的直方图,取最大值作为直线的宽度。然后,通过形态学分析,获取直线的水平和垂直的线段。通过Hough直线检测算法[23],可以将直线段保存到文本中。垂直线和水平线提取效果如图3所示。

(a) 水平线提取效果

经过上述预处理,最后将二值化后的图像减去水平和垂直方向的线段,得到图元符号特征图,简称图元图。由于预处理中可能存在残余的像素点,会造成图元图不完整,所以接下来再对图元图采用形态学中的闭操作进行修复,得到提取后的初步图元信息。修复操作后的效果如图4所示。

图4 经过预处理和修复的图元图

2 基于Faster CRNN的电网图元检测

2.1 图像特征提取

本文采用VGG16网络提取图像特征,形成特征向量。输入层为宽度×高度×3,经过2层相同的卷积,卷积filter为3×3,stride为1,filter数为64,然后经过一层2×2的最大池化。接着,按照相同的方式,让宽和高越来越小,而filter数逐倍增加,直到512,同时层数增加到13层,最后连接3层全连接层,共同构成16层网络架构。这样简化了卷积神经网络的结构,随着网络层数加深,图像的宽度和高度都不断缩小,每次池化后刚好缩小一半,通道数增加一倍。

由于全连接层主要用来汇总信息,对特征的提取作用不大,所以采用VGG16中前13层提取特征,不包括全连接层。输入任意宽度和高度的图片,对输入图像长宽做规整化操作,设定图片宽度不超过600,长度不超过1024。具体的神经网络参数设置为:1)13个卷积层的kernel_size=3×3,pad=1,stride=1;2)13个ReLU函数为激活函数;3)4个池化层的kernel_size=2,stride=2,每层pooling使图片大小缩小一半。卷积层图片提取了图片特征,但是图片的大小没有变化,同时图片通道数增加一倍。每次经过池化层图像大小变为原来的1/2。所以3通道的长宽为3×m×n,经过卷积和池化操作后图片变为512× (m/8)×(n/8)=8×m×n。

2.2 基于Faster RCNN的图元识别

Faster RCNN[19]是目前工业界目标识别中广泛应用的神经网络模型,它将特征提取、区域框提取、区域框回归和目标分类都整合到一个深度网络架构中,候选框提取和分类都放在GPU上训练,在检测速度方面相比之前的算法提升比较明显。在本文的电网图元识别中,基于Faster RCNN的识别过程包括2个部分:首先,通过预训练的VGG16网络来提取图像中的特征,然后,这些特征供后续的区域提取层和目标分类使用。在区域提取层中,通过二分类判读前景和背景框,然后通过回归获取相对精确的候选框。在ROI层中,统一处理大小不同的候选框,获取候选框的特征值,将这些送入全连接层,最后获取电网图元的最终坐标信息和相应类别信息。具体识别的过程如下:

Step1设置网络的变量和参数(如VGG16)、训练样本、学习速率和权值学习矩阵。

Step2网络初始化。

Step3输入网络的训练样本。

Step4候选区域生成。通过特征提取后,对特征向量中每个像素点取9个不同的矩形框,将其与标签信息做回归处理得到初步的候选框,并判断该候选框是前景还是背景。

Step5通过ROI层,将大小不同的特征图转换为特征向量统一处理。

Step6通过回归进一步计算图元的相对精确位置和通过多分类对图元的类别进行判定,并分别设置损失函数。

Step7观察网络的学习是否达到设定的次数。

Step8观察所有样本是否都已经学习完毕,若学习完则训练完成,重新开始新一轮的批次训练,直到合适的精度为止。

上述电网图元识别流程如图5所示。

图5 基于Faster RCNN的图元识别流程

2.3 模型训练及参数设置

本文的电网图元识别模型训练分为4个阶段:

Step1首先通过预训练好的VGG16模型来对网络初始化,使得网络可以产生候选区域提取框,接下来把训练好的区域提取层(RPN层)模型保存下来。

Step2通过预训练好的VGG16模型训练Faster RCNN网络,同时将Step1中RPN层输出的候选区域提取框作为输入数据。

Step3将Step2中的Faster RCNN模型训练参数初始化RPN层,固定网络中公共部分参数,只更新RPN的参数,将训练模型结果保存。

Step4使用Step3中RPN层初始化Faster RCNN模型,并生成候选提取框作为输入数据,固定两者公共部分参数,微调Faster RCNN参数,实现模型训练的统一。

上述具体过程如图6所示。

图6 基于Faster RCNN的图元识别训练过程

接下来,在电网图元检测阶段,直接将图片输送到Faster RCNN框架中。检测阶段需要整合区域提取层和Faster RCNN,所以需要将图片的长宽调整为统一规格大小输入。这里,选取了长宽分别为128×128、256×256和512×512,长宽比例分别为0.5、1和2,在用RPN层训练图片上,使用ROI层将之前的结果做进一步的分类和回归,得到目标的位置和分类信息。

在本文使用的方法中,学习速率与权值变化相关。如果学习速率大,权值每次的变化也会变大,导致系统不稳定;学习速率小,则每次权值改变量也会减小,导致网络训练的时间变长,不能够很快收敛。为了均衡两者,既保持系统的稳定性,又可以使网络快速收敛,一般在选取速率时,取值在0.01~0.8范围内。

最后,本文采用的模型在选取激活函数时一般要选择在区间内连续且可微的函数,其中经常作为激活使用的有对数型激活(sigmoid函数)、双曲正切型激活(tanh函数)、非线性激活(ReLU函数)。sigmoid型激活函数的特点是输入可以为任意值,输出保持在0到1之间;tanh型激活函数的输入输出保持在-1和+1之间;ReLU型激活函数的输入大于0则输出的是本身,小于0则输出的是0。在本文中,隐含层的激活函数为ReLU型。

3 实验结果与分析

为验证本文所提方法,在真实的应用场景下,人工构建了包含9种标准图元的共1万张电网工程图纸的图像数据集。9种图元分别为:变电站(e1, station)、断路器(e2, breaker)、变压器(e3, transformer)、闸刀(e4, knife)、地闸(e5, groundknife)、充电器(e6, changer)、电容表(e7, capacitable)、充电变压器(e8, changetransformer)、充电电压表(e9, changeV)。

首先,在数据集上验证所提方法对不同电网图元的识别准确率。实验中,选取一张测试图像,对图像进行平滑去噪、二值化、分割等操作,然后进行特征提取,并将提取到的数据作为输入数据,输入训练好的Faster RCNN中进行识别验证。9种图元的识别准确率(P)、召回率(R)和F1值如表1所示。从结果可见,本文方法能实现较好的电网图元识别效果,识别准确率达到87.5%~95.0%,召回率达到85.5%~92.3%,综合F1值达到86.4%~93.6%。上述结果的综合性能已能满足实际工程应用需要,并可以减少大量的人工校正工作。

表1 电网图元识别性能 单位:%

然后,进一步通过具体实例分析对各种电网图元的识别效果,识别效果如图7所示,其中,不同的电网图元识别结果用带颜色的框标识(因印刷原因,文中为黑白色),并在框的旁边给出了图元类型和识别概率,从图中可见,本文所提方法能够正确识别示例中的全部电网图元。同时,本文经过大量的实验,观察到当图片的噪声比较小或者没有噪声时,本文所提方法的识别正确率平均为91.4%;当图片受噪声干扰较大,正确率会降低,对噪声较大的图像识别正确率平均为82.5%。因此,识别效果达到了预期的要求。

图7 电网图元识别效果

最后,实验中还发现,模型对于一些相似图元识别率不高。例如,尝试增加对相似的三相线圈和两相线圈的图元识别,结果发现这类较相似的图元识别准确率不高,这说明模型设计中需要考虑增加相似图元之间的区分度。同时,对于图中面积比较小的图元,由于分辨率问题,模型对这些样本识别率也不高,后期可以考虑对小物体识别率,比如采用不同分辨率特征图元,或者采用识别准确率更先进的如Mask RCNN模型训练图元,进一步提高训练精度。最后,在训练过程中,提供更多的训练样本或者设置更小的训练误差,可以进一步地提高电网图元的识别正确率,但同时会导致训练的时间变长。

4 结束语

本文提出了一种基于Faster RCNN的电网图元识别方法,包括预处理、特征提取、图元识别等过程。首先,进行预处理,包含平滑去噪、二值化、直线检测等步骤;然后,采用Faster RCNN模型实现电网图元的通用特征提取;最后,设计网络架构和模型训练过程,并优化模型参数对识别效果的影响。实验结果表明,本文提出的电网图元识别方法具有较好的识别效果。

猜你喜欢

工程图纸图元预处理
一种组态控件技术在电力监控系统中的运用
学术出版物插图的编排要求(一):图注
联锁表自动生成软件的设计与实现
一种计算机联锁机柜工程图纸的自动化生成方法
基于预处理MUSIC算法的分布式阵列DOA估计
浅谈PLC在预处理生产线自动化改造中的应用
基于Qt绘图系统的图形应用优化研究与实现
建筑工程节约型施工现场管理体系的应用探微
络合萃取法预处理H酸废水
基于自适应预处理的改进CPF-GMRES算法