1. 引言
近年来,随着自动控制技术和信息网络技术的发展,智能水表正在逐渐取代老式的机械水表,远程抄表水表系统的应用也越来越广泛。但在许多地区,由于环境、成本等因素的限制,机械水表无法被替换,仍旧需要人工手动进行抄表。因此,为了实现对老式机械水表的自动识别,进行真实场景下的水表读数自动识别的研究具有重要的理论与实践意义。
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈型的神经网络,是目前深度学习技术领域中非常具有代表性的神经网络之一,其在大型图像处理方面应用广泛,现已经被大范围使用到图像分类、定位等领域中 [1] [2] [3]。LeNet是由Yann LeCun [4] 在1998年提出,用于解决手写数字识别的视觉任务 [5] [6] [7],它是早期卷积神经网络中最具有代表性的实验系统之一,也被称为是现代卷积神经网络的鼻祖。它在许多方面都有所应用 [4] [8] [9],如邹佳丽采用改进的LeNet-5进行面部表情识别 [10];安源等人基于改进的LeNet-5网络研究单通道图像分类问题 [11]。本文将采用这一经典模型,通过改进后,实现水表读数自动识别的功能。但深度学习要以大量数据为基础,数据集过少或单一都将造成过拟合的问题。因此,在使用模型进行训练之前,我们通过对原始图像进行字符定位切割,通过旋转角度、增加椒盐噪声实现数据集的扩增,再进行灰度化、滤波和局部预知分割的操作,对数据进行这些必要的预处理操作 [12],便可以有效地解决这一问题,从而提高准确率。
本文将对数据集进行定位切割、扩增、灰度化、滤波以及局部阈值分割等一系列预处理操作后 [13],使用卷积神经网络进行水表读数识别,通过对LeNet网络中的参数进行微调,提高模型的数字识别精度 [14]。
2. 水表数字识别的实现
本文提出的水表数字自动识别方法包括原始水表图像预处理、卷积神经网络的训练和结果预测,其中数据预处理操作又包括定位、切割单个字符、通过椒盐噪声、旋转扩增数据集、灰度化、滤波以及局部阈值分割等,水表数字识别流程图如图1所示。

Figure 1. Flowchart of water meter digital identification
图1. 水表数字识别流程图
2.1. 定位切割
对于原始的水表图像,如图2所示,首先需要定位分割出读数区域,然后将五位的读数切割为单个的字符,以便后续的预处理。
本文中每一张原始水表图像都有对应的文本标签,文本标签中给出了该张图片中数字矩形区域的四个顶点坐标以及读数,因此可根据所给的坐标定位分割出数字区域。由于真实场景下拍摄方式、角度等因素的影响,图像可能存在倾斜,读数不在一条水平线上的问题,所以在进行分割之前要先对图像进行矫正,使其旋转一定的角度后,读数区域可水平放置。这一过程可通过比较左上角和右上角的横坐标,计算得到所需旋转的角度,再进行定位分割,从而获取水平放置的读数区域。根据读数区域是规则的矩形的特性,对读数区域进行五等分便可以得到单个字符的图像。部分数据集如图3所示。
2.2. 数据集扩增
深度学习要以大量数据为基础条件,因所获取的数据大多为清晰规则的,较为单一,使用该数据集训练得到的模型识别较为复杂的图像时准确率会下降,因此扩增数据集,使训练集丰富多样是很有必要的。本文采用增加椒盐噪声以及旋转一定的角度来丰富扩增数据,以提高模型识别模糊或倾斜图像时的准确率。
椒盐噪声(salt-and-paper noise)也称为脉冲噪声,是由图像传感器、传输信道、解码处理等产生的黑白相间的亮暗点噪声,往往是由图像切割引起的。增加椒盐噪声算法伪代码如表1所示,增加前后的效果图如图4所示。

Figure 4. Effect of adding salt and pepper noise
图4. 增加椒盐噪声效果图

Table 1. Add pepper and salt noise algorithm pseudocode
表1. 增加椒盐噪声算法伪代码
2.3. 灰度化
图像灰度化是指图像中的每一像素点的分量都满足R = G = B = V的关系,此时的V称为是灰度值,灰度图像即指含有亮度信息、不含彩色信息的图像。真实场景下所拍摄的图像均为彩色的,处理三个通道的数据比较复杂,因此可先将图像进行灰度化处理,将每个像素点的RGB值统一为同一个值,灰度化后的图像将由三通道变为单通道,单通道的数据处理相比较起来会简单许多。灰度化处理前后效果图如图5所示。
2.4. 滤波
中值滤波器是一种非线性滤波器,在输入的图像x(n1, n2)中,以任一像素为中心设置一个确定的领域A,A的边长为2N + 1, (
),将领域内各像素的强度值按照大小顺序进行排列,取中值作为该像素点的输出值,遍历整张图像便可以完成滤波的操作。图像在传输的过程中,主要由于传输信道的干扰而容易受到噪声的污染,本文在加噪过程中使用的是椒盐噪声,同时在图像进行分割时也容易产生椒盐噪声,因椒盐噪声值为255或0,它散布在领域中,不是最大值便是最小值,不可能成为中值,因此选用中值滤波的方法来进行去噪,效果良好。
2.5. 局部阈值分割
通过观察数据集可以发现,在真实场景下拍摄的水表图像,由于存在拍摄角度、光照等的影响,图像的灰度可能是不均匀分布的,本文采用局部阈值分割 [15] 的方法,根据图像不同区域的亮度分布,计算其局部阈值,从而减少了光照不均匀等因素给实验带来的影响。
2.6. LeNet网络模型的搭建
本文采用的方法是基于LeNet网络模型,进行了部分的改进,它是一个相对较小的卷积神经网络,由3个卷积层(convolution, Conv)、2个池化层(Pooling)、1个全连接层(fullconnected, FC)和1个输出层(Output)构成,其网络架构如图6所示。
本文的网络结构在原始的LeNet模型上进行了改进,输入的图片大小为28 * 28,其中卷积层卷积核的大小为3 * 3,卷积步长为1,使获取的图像中原始信号增强,降低噪音;池化层池化核大小为2 * 2,有效降低网络训练参数及模型过拟合程度。
1) 输入图像:卷积神经网络的输入图像为1个大小为28 * 28的图像。
2) 卷积层(Conv):输入图像和1个大小为3 * 3的卷积核进行卷积计算,输出处理之后的特征图。卷积计算公式为:
(1)
(2)
式中,
表示上层特征图;
表示卷积核j对应输出的特征图;
表示第j个卷积核的权重参数,即上一层第i个特征图与该层第j个特征图之间进行卷积操作 [16];
表示偏置值;
表示激活函数。
3) 池化层(Pooling):在卷积层之后引入池化层,对特征图像进行过滤、降维,实现缩减特征图的尺寸 [17],防止数据过于庞大,提高运算效率。使用2 * 2大小的池化核对每个特征图进行处理。池化计算公式如下:
(3)
式中,
表示上层特征图;
表示经池化后对应输出的特征图;
表示池化函数。
4) 全连接层(FC):该层对提取到的特征进行非线性组合,整合所有的局部特征信息,将之前的特征图像相连接。
5) 输出层(Output):输出不同类别的概率值,本文需识别0~9共10个数字,因此设置10个类别,概率值最大的即为图像的分类标签。
LeNet卷积神经网络模型伪代码如表2所示。

Table 2. Pseudocode of LeNet model algorithm
表2. LeNet模型算法伪代码
3. 实验与结果分析
3.1. 实验准备
本文的算法实验环境为:Windows10操作系统、Python语言,系统的硬件环境为Intel(R) Core(TM) i7-10510U处理器、NVIDIA GeForce MX250独立显卡。
在Tensor Flow深度学习框架下,搭建改进后的LeNet卷积神经网络模型,通过一系列预处理得到数据集,按照4:1的比例分为训练集和测试集,在训练过程中,迭代次数为25次。
3.2. 结果分析
本文通过训练过程中的损失函数的收敛性以及训练阶段的识别准确率来评估该模型网络的性能。如图7所示的损失函数值随迭代次数的变化可以看出,迭代15次左右,损失函数值即可收敛至0值附近,并且随迭代次数的增加,损失函数值逐渐稳定趋于0值。同时,每一次迭代训练后都记录一次训练识别准确率。

Figure 7. Digital recognition accuracy and loss function curve
图7. 数字识别准确率和损失函数曲线
记录本文网络模型训练和测试准确率,实验结果如表3所示,部分测试结果如图8所示。
本文首先通过对原始的水表图像进行字符定位分割,使用旋转小角度和增加椒盐噪声的方法初步得到数据集,接着对数据进行多方面的分析,选用灰度化、中值滤波依据局部阈值分割的处理方法对图像数据进行操作,最后使用改进后的LeNet神经网络模型对数据进行训练,从而得到预测结果。从表3和图8的实验结果上可以看出,最终达到了较高的水表识别准确率。
4. 结语
本文根据所拍摄获取的水表图像的具体特性,对图像数据进行了各个方面的预处理操作,根据LeNet网络搭建了新的网络模型,提出了一种基于卷积神经网络的真实场景下水表读数识别方法。实验表明:改进的网络模型,经过20次迭代,识别准确率可达到99.97%,识别精度较高,有效提高了真实场景下水表读数自动识别的可靠性,为实现老式机械水表自动识别提供了可能。本文也存在一些不足之处,如随着网络层数的加深,可能会出现过拟合的情况,下一步的研究中将尝试使用残差网络(Residual Network简称ResNet) [18] [19] 来解决这一问题。
基金项目
河南工业大学2019本科教育教学改革研究与实践项目JXYJ-Z201920 (计算机专业硬件课程创新研究与教学实践);河南工业大学2019年度离散数学“线上线下混合教学模式课程”。
参考文献