基于深度学习的电气铭牌可变区域识别方法的研究

2020-09-10 07:22石煌雄潘文林张瑞祥
关键词:铭牌字符模板

石煌雄,胡 洋,蒋 作,潘文林,杨 凡,张瑞祥

(1.云南民族大学 电气信息工程学院,云南 昆明 650500;2.云南民族大学 数学与计算机科学学院,云南 昆明 650500)

随着电力系统规模不断扩大,电气设备数量和种类急剧增加[1].电力公司进行设备管理、检修和资产管理等工作面临诸多挑战,这些工作都需要获得电气铭牌的基本信息和重要参数.人工读取电气铭牌信息效率低、工作量大.

借助智能识别技术完成该项工作则能够大幅度提高工作效率.目前,电气铭牌识别相关研究工作可分为以下3类:

第1类,利用现有的OCR软件进行识别.如王碧翠将采集到的图像增强,再对图像二值化后输入现有OCR软件进行识别[2].

第2类,对图像进行预处理,将文本字符切割成单个字符.运用深度学习将识别问题转换成为一个分类问题.如林乾毕等采用边缘检测、形态学处理和SVM结合的方法对字符进行定位,利用ANN进行识别[3];Renuka等提出基于分类器的智能字符识别技术对文本分割为单个字符并进行分类[4-5].

第3类,构建1个端对端的识别模型.如陈晓龙等提出端对端的电气铭牌识别,该方法避免了图像剪切和分割中间工作环节[6].Suvarnam提出了1个端对端的CNN-GRU字符识别模型,运用CNN对输入图像进行特征提取,GRU用于提取序列进行最后识别[7].

总体上看,现有的电气铭牌识别技术,对文本布局简单的电气铭牌识别有不错效果,但对文本布局复杂和字符种类多的电气铭牌识别效果较差,无法进行工程实用.

自然场景下拍摄的电气设备铭牌有复杂背景、曝光、文本布局复杂、噪音污染和倾斜等不利因素,直接进行识别难度较大.需要建立识别模板库系统对原始图像进行预处理和标准化.本课题将电气铭牌识别分为可变区域和不可变区域识别.不可变区域信息由识别模板库给出,本文针对铭牌可变区域信息进行识别.经实验结果分析本文方法能够对电气铭牌可变区域进行有效识别.

1 总体架构及相关理论

对电气铭牌的可变区域识别,需要识别模板库系统对图像预处理、标准化和提供不可变区域信息等.整个电气设备变动区域识别总体架构图如图1所示.

本文识别方式是基于模板库,核心是对标准铭牌变动区域提取和识别.自然场景下拍摄的电气设备铭牌有复杂背景、曝光、噪音污染和倾斜等不利因素.因此,需要识别模板库将自然场景下的铭牌照片处理成为标准图像且给出该类铭牌不变区域信息.如图2为模板识别库系统标准化后的图像.

1.1 文本区域提取

铭牌识别区域提取.首先给每一类铭牌的变动区域建立位置信息库,然后根据识别模板库的输出铭牌类别确定铭牌的变动区域进行提取.由于待识别区域包含汉字、数字和字母.为提高识别准确率和降低识别难度,本文对待识别区域进行单字符切割.现有的字符分割算法可以分为3类:投影法、聚类法和模板法.文中采用投影法和K-means算法相结合字符分割算法.

投影法是字符分割算法最常见的一种.投影法原理是对原图像二值化后的像素分布直方图进行分析,找出相邻字符的分界点并确定阈值进行分割.该算法对字母和数字分割效果好,但是对汉字无法准确分割.

K-menas算法属于无监督聚类算法.将距离作为相似性评价指标,通过每次迭代计算每个数据样本点到聚类中距离,直到聚类中心不在改变或准则函数收敛到某个值[8].对于欧氏空间的样本数据,以平方误差和为聚类的目标函数,同时也是衡量不同聚类结果好坏指标:

(1)

等式(1)中:xj代表数据成员;ci代表第i个簇的聚类中心.

文中将相邻字符和字符间断裂的间距作为分割指标,将投影法和聚类算法相结合,最终实现所有类型字符分割.

1.2 字符识别网络结构设计

通过分析电气铭牌本身独有的特征,结合残差网络ResNet模型的优点,本文采用改进的ResNet对电气铭牌进行识别.

相比较一般的图像中的文字识别应用领域而言,电气铭牌图像有自己独有的特点:①铭牌类型相对稳定,同一类铭牌的许多相关信息会在铭牌相对固定的位置上出现(如名称信息,类型信息);②在本课题的前期工作中,根据铭牌类型的不同已构建了结构相对稳定的模板库.

根据电气铭牌本身独有的特征,在电气铭牌中,使用残差网络ResNet50能发挥网络模型的优势:

1) 残差网络具有稳定性,学习恒等函数非常容易,网络不断加深时,性能也不会下降.而电气铭牌类型稳定、前期有稳定的模板,许多文本信息相对固定.这样,若使用残差网络对电气铭牌进行训练和识别应用,即便是在大型网络中依然会保持高效和稳定.

2) 残差网络调整方便,把残差块添加到网络中间还是末端位置,都不会影响网络的表现.这给我们为了适应不同铭牌类型,调整学习1个性能更好的大型网络模型提供了便利.

综合考虑铭牌的应用特点以及残差网络模型的优势,且ResNet50引入“Shortcut Connections”思想,如图3所示[9].因此,使用残差网络对电气铭牌识别是合适的,能够有效避免网络深度增加而出现的网络性能退化的问题.

文中重新设计了ResNet50的全连接层识别网络结构图(见图4),虚线部分为本文改进部分.原始ResNet50网络只有1个全连接层.在原始网络基础增加1个全连接,并且使Dropout来降低各个节点之间的关联,避免了网络的过拟合.

使用随机梯度下降法训练学习,整个训练过程可以分为前向传播和反向传播.前向传播求预测输入图像标签,反向传播求梯度,共同调整网络参数.前向传递公式:

Xl=f(wlXl-1+bl).

(2)

公式(2)中,Xl为网络第l层的输出,wl为l层的权重,bl为偏置权重.反向传播公式:

(3)

公式(3)中,ɑ为学习率,L为损失函数.本文使用的损失函数公式:

(4)

公式(4)中,L为交叉熵损失函数,N为样本数,y为SoftMax层输出向量.

2 实验设计

2.1 文本区域提取

电气铭牌图像文本布局复杂且无规律,这是现有的铭牌识别系统准确度不高的主要原因.合理的文本区域提取对提高电气铭牌准确率和实用性至关重要.因此,本文提出使用铭牌位置信息对图像文本区域提取.

2.1.1 铭牌变动区域位置信息库建立

自然场景下拍摄的电气铭牌包含复杂背景、曝光、倾斜等情况.经过识别模板库系统的处理将每一类电气铭牌处理成为相同规格的图片,并对铭牌的类型和一些固定不变的信息进行输出.由于电气设备铭牌的种类有限,本文提出对电气铭牌变动区域建立1个位置信息库.首先根据识别模板库系统建立已知类别电气铭牌模板,对每一类铭牌模板的变动区域位置信息进行获取.可变区域位置信息获取用到了OpenCV的鼠标事件回调函数,通过点击铭牌变动区域左上和右下两点将变动区域的位置信息记录入库.如图5为构建的位置信息库,每一个文件对应一类铭牌的可变区域位置信息.

2.1.2 铭牌变动信息区域提取

目前,图像文本区域提取技术大体分为2类:一类基于传统方式的最大稳定极值区与支持向量机结合方法,另一类是训练深度学习模型对图像的文本区域进行提取.但以上2种方式均无法满足工程应用要求.因此,本文在进行电气铭牌变动区域的文本提取主要基于工程手段,根据电气铭牌变动文本区域的位置信息进行提取.假定图6为根据位置信息获取到的电气铭牌待识别区域.

在不同的自然环境下拍摄的铭牌图片会存在局部曝光、噪声和细节丢失等问题,需要对铭牌变动区域的图像进行滤波.因此,采用自定义内核 的线性滤波器对变动区域处理.由于采集到的图像为彩色图片,为减少后续识别难度需要对图像进行灰度化和二值化.如下图7为大津阈值二值化后的图像,图像噪声有了明显的减少,且提升字符的边缘信息,在一定程度上减少了进一步分割的难度.

2.1.3 字符分割

由于汉字的结构特点不同于字母和数字,若简单的采用投影法对字符进行切割损失较大.例如左右结构的汉字会出现字符切割断裂等问题.

字符分割不仅要保证字符的完整性且需要对切割的单个字符归一化,才能保证字符识别的稳定性和广泛的适应性[10].为了对铭牌变动区域识别,需要将文本信息分割为单字符.本文字符分割采用投影法和K-means相结合的字符分割算法.分割过程如下所示.

算法:字符分割

输入:Image 铭牌待识别区域的图片

输出:F 分割结果集合

Step 1 F ← 存放分割结果集合

Step 2 N ← Image

Step 3 FOR each IN F:

Step 4 初始分割(先水平方向投影,后垂直方向投影),得到间隔m.

Step 5 对每一个分割字符间距进行聚类分析,得到单字符间距n.

Step 6 IF 初始分割满足n:

Step 7 F.add(each).

Step 8 ELSE:

Step 9 依据n进行分割.

Step 10 END

2.2 文本区域字符识别

字符识别常用到现成的OCR软件和神经网络两种方式.有电气铭牌包括字符种类多,识别精度要求高,现有的OCR识别软件很难满足要求.目前,卷积神经网络对图像数据处理高效,特征分类效果好,可用于电气铭牌文本区域识别.由实验可知本文识别模型有准确率高,对图像质量要求低等优点.

2.2.1 数据集

电气铭牌待识别区域包含字符种类多.因此,建立起的数据集必须包含常用汉字、数字和字母.为使训练后的模型对自然场景下文字识别有更高的鲁棒性和准确性,需要对数据集添加噪音、反转、常用字体.生成的数据集将其中的80%作为训练集,20%为测试集.

整理所有字符文件,将图像保存为白字黑底的单通道二值化图像,并将图像归一化为60×80像素大小的图像.如下图8所示.

2.2.2 训练过程

验证本文实验方法的有效性,用生成的数据集训练网络.本文数据集图像大小为60×80,模型处理批次为64,完成200次训练后停止,确定训练损失值基本不变,保证的到模型稳定可靠.模型在以下设定完成训练:①使用SGD优化器,初始学习率为0.001,动量为0.8,衰减值为0.000 5,Dorpout层节点隐藏率为0.1.②使用交叉熵损失函数.

3 实验结果分析

3.1 字符分割模型分析

通过效果图对比的方式展示K-means算法的分割,如下图9所示为运用投影法的字符分割效果图.

如下图10 所示为运用K-means聚类算法相结合的字符分割算法.

3.2 识别模型分析

如图11所示,ResNet50_k模型在本数据集上的识别精度和损失.

如图12为本文识别模型和现有的谷歌OCR软件识别效果图.通过实验结果分析,谷歌OCR软件对于混合类型的字符识别效果不佳,而本文的识别模型对混合字符准确识别.

采用的电气铭牌文本信息提取和识别方法,能够适应自然场景下电气铭牌的信息识别.通过对不同类型的铭牌待识别区域进行建库,准确获取该类铭牌的文本区域,降低了铭牌整体识别难度.相比于传统的识别方法,提高了识别精度.

4 结语

本文由PyCharm开发平台采用python语言编写,采用主频为2.6 GHz的i5处理器,12 G内存的Windows 10(64位)电脑开发实现识别效果.结合了OpenCV机器视觉库和Keras的高级神经网络API,本文对电气铭牌变动区域进行文本提取、预处理、单字符分割、图像归一化和神经网络的识别处理,解决了电气铭牌文本布局复杂识别困难,且可以应用于自然场景的电气铭牌识别.采用大数据集构建神经网络模型,适用于不同类型的铭牌识别,实现了大数据集下的98%以上的正确率,基本可以满足对已知类别的电气铭牌识别.

电气铭牌种类和数量多,识别模板库无法将所有的电气铭牌类别都包含.因此,还存在一部分识别模板库中不存在的铭牌.今后的工作是对识别 模板库未包含的铭牌进行有效识别.通过已知类别铭牌识别和未知铭牌类别识别相结合,最终实现对所有种类的电气铭牌进行识别,实现工程实际应用.

猜你喜欢
铭牌字符模板
高层建筑中铝模板系统组成与应用
铝模板在高层建筑施工中的应用
特高大模板支撑方案的优选研究
一种优化的手写字符自动分割算法
基于分类模板数据库的电气铭牌识别
Inventors and Inventions
论高级用字阶段汉字系统选择字符的几个原则
字符代表几
图片轻松变身ASCⅡ艺术画
关于压力容器新实施规范中的问题探讨