为实现真实场景下老式机械水表读数的自动识别,提出一种基于卷积神经网络的水表数字识别方法。对原始的水表图像进行预处理,通过坐标定位以及分割,获取单个字符的数据集;使用椒盐噪声、旋转角度的方法扩增数据集;而后再依次经过灰度化、滤波、局部阈值分割等操作,对图像进行细节的处理;在TensorFlow的深度学习框架下搭建LeNet卷积神经网络模型,选取卷积核为3 * 3的卷积层,将处理好的数据放入到改进后的LeNet网络模型中进行训练,最终实现字符的分类识别。实验结果表明:该方法在训练集上的准确率达到99.97%,在测试集上的准确率达到98.36%,为真实场景下水表读数的自动识别提供了可能。
近年来,随着自动控制技术和信息网络技术的发展,智能水表正在逐渐取代老式的机械水表,远程抄表水表系统的应用也越来越广泛。但在许多地区,由于环境、成本等因素的限制,机械水表无法被替换,仍旧需要人工手动进行抄表。因此,为了实现对老式机械水表的自动识别,进行真实场景下的水表读数自动识别的研究具有重要的理论与实践意义。
卷积神经网络(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]。