基于数字图像处理技术的智能电表读数识别方法研究
2023-01-10曾伟铭
曾伟铭
(国网黑龙江省电力有限公司大庆供电公司,黑龙江 大庆 163000)
0 引 言
电能表作为电费收取的计量依据,涉及到抄表,从现行技术来看主要有IC卡式和远传抄表式。IC卡电表收费系统的成本较低、使用寿命长。但由于用户终端与系统主机并没有直接联系,只有在用户持卡交费时才能了解到用户情况,信息反馈滞后,IC卡的使用规定存在不公平之处,因此IC卡收费系统只能作为一种过渡性产品[1]。智能电表有总线制集中抄表和电力载波集中抄表两种常见的抄表方案:前者的优点是数据传输可靠性高,造价较低,缺点是需布线,安装较复杂,拉线易被人为破坏;后者要求电表含有通讯接口以及通讯模块,若出现通讯接口不开放或通讯模块故障等问题,大范围更换电表虽然可以解决,但需要花费大量人力财力[2]。
随着图像处理技术的日渐成熟和神经网络的广泛应用,利用图像处理算法与神经网络算法结合的远程抄表技术也开始发展起来,这种远程抄表方法相较于传统的远程抄表技术,具备不受电表本身硬件限制的优点[3],无需对电表改装或更换就能大量应用,减少了资金的消耗。该文所研究的电表识别方法的核心是对液晶屏的定位,电表的数字字符是以液晶屏为载体显示,需要考虑液晶屏材质的特殊性,和光照条件的影响[4]。该文主要针对电表液晶屏数字显示区域定位,提出改进的Canny算法对液晶屏边缘定位截取,对分割后的电表字符进行识别,分析和总结研究结果。
1 电表液晶屏的定位算法
1.1 图像预处理
在对电表液晶屏数字部分定位之前,需要对采集的图像归一化、灰度化、滤波等预处理,使图片更清晰[5]。该文使用加权平均值法灰度化,高斯滤波器对图像去噪处理,结果如图1所示。
图1 图像预处理结果
1.2 显示区域定位方法设计
首先对液晶屏初次定位,初次定位是基于形态学对二值化后的图像进行一系列处理,包括腐蚀、膨胀、开操作、闭操作等[6],其次通过改进的Canny边缘检测算法对液晶屏精确定位操作。
1.2.1 图像二值化和形态学处理
图像的腐蚀和膨胀是两种基本的形态学运算,主要用来寻找图像中的极大区域和极小区域。如图2所示为二值图像经过腐蚀和膨胀处理后的结果图,经过多次开操作和闭操作后,图像的区域特征差异十分明显,经过二值化后图像的液晶屏位置(白色部分)与背景(黑色部分)分离清晰,但液晶屏内有部分黑色,而腐蚀和膨胀处理,让液晶屏与表身背景部分分离更加明显,排除了一定干扰,在后面定位液晶屏时可以提高定位准确性。
图2 图像形态学处理
1.2.2 改进的Canny边缘检测算法
Canny边缘检测算法的实质是先用高斯函数作为平滑运算,然后用一阶微分极大值定位边缘点,二阶导数过零点对应一阶导数的极大值和极小值[7]。Canny算法实现步骤如图3所示。
图3 Canny算法实现步骤
首先,设图像为f(x,y),用高斯函数G(x,y,σ)对图像滤波,得到一个已平滑数据阵列S(x,y),即式(1)
S(x,y)=f(x,y)*G(x,y,σ)
(1)
式中:σ表示高斯函数的散布参数,它反映高斯函数的平滑程度。
传统的Canny算法处理带有污染干扰的图像时,会造成边缘过多或边缘不连通的问题,对后期字符矫正和分割产生影响[8],该文将邻域范围由2×2改为3×3,则S(x+1,y),S(x-1,y),S(x+1,y+1),S(x,y+1),S(x-1,y+1),S(x+1,y-1),S(x,y-1),S(x-1,y-1)等分别为以像素点S(x,y)为中心的邻域像素点[2],如图4所示,分别计算0°、45°、90°、135°等4个方向上的有限差分近似一阶偏导,以此来计算像素梯度和幅值。
图4 Canny算法邻域象限图
0°(即x方向)的一阶偏导阵列为
Px(x,y)=[S(x+1,y)-S(x,y)+
S(x-1,y)-S(x,y)]/2
(2)
45°(即u方向)的一阶偏导阵列为
Pu(x,y)=[S(x+1,y+1)-S(x,y)+
S(x-1,y-1)-S(x,y)]/2
(3)
90°(即y方向)的一阶偏导阵列为
Py(x,y)=[S(x,y+1)-S(x,y)+
S(x,y-1)-S(x,y)]/2
(4)
135°(即v方向)的一阶偏导阵列为
Pv(x,y)=[S(x-1,y+1)-S(x,y)+
S(x+1,y-1)-S(x,y)]/2
(5)
则幅度和方位角的计算式分别为
(6)
θ′(x,y)=arctan(Py(x,y)/Px(x,y))
(7)
将滤波器从2×2扩展到3×3,可以对梯度幅值阵列中的任一像素沿梯度方向进行梯度幅值的差值计算[4],这样可以抑制非极大值,保留局部梯度最大的点,以得到细化的边缘,从而有效降低噪声的干扰,有利于提高边缘定位的准确率。如图5所示,为传统Canny边缘检测算法和改进后的Canny边缘检测算法对图像处理后的结果图,其中图5(b)中提取到的边缘特征明显比图5(a)多。
图5 边缘特征提取对比图
采用300张图片做数据集,数据集来源于手机实拍用户家的单相智能电表,分别应用传统Canny算法与改进的Canny算法实验,部分液晶屏定位截取图如图6所示。
图6 定位结果图
从图6中可以看出,原Canny算法定位结果中,失败的比例较大,该文使用300张样本定位试验,定位准确与失败的结果对比见表1,原Canny算法定位液晶屏的准确率为91.67%,有部分液晶屏受光线等噪声干扰导致定位结果失败,而改进的Canny算法在液晶屏定位中抗干扰能力较强,准确率达98.67%,极个别定位失败的原因是液晶屏表面脏,或者获取图像时液晶屏暗、反光等。
表1 液晶屏定位结果对比表
2 字符分割与识别
2.1 字符分割
定位截取后的液晶屏内只保留数字,且字符间在垂直方向无连通,因此采用垂直投影法对字符分割,分割结果如图7所示。
图7 垂直投影分割结果
2.2 基于神经网络的字符识别
应用较常见的卷积神经网络lenet-5训练和识别,所用模型的结构包含输入层、2个卷积层、2个池化层、1个全连接层、输出层、输入图像的尺寸归一化为32×32,数据集分别采用不同定位提取预处理分割后的字符,共近2 000张字符图片,使用搭建的卷积神经网络训练,迭代次数为1 000,每迭代一次输出一次验证的准确率,训练过程中验证的准确率变换如图8所示,识别结果如表2所示。表明该文提出的改进方法在提高液晶屏读数识别准确率方面是有效的。
表2 识别准确率结果对比
图8 卷积神经网络训练过程中的准确率
3 结 语
该文提出了一种基于数字图像处理的智能电表读数方法,通过提高液晶屏定位的准确率,达到提高智能电表读数识别的准确率,从而使智能电表读数更方便、准确。该文的核心部分为智能电表液晶屏的定位,提出了改进的Canny边缘检测算法,适用于各种液晶屏的定位识别,具有较高的实用价值。通过试验表明,所提算法对于提高智能电表液晶屏读数的准确率是有效的。