基于卷积神经网络的随机手写数字识别

2018-10-19 03:54洪奔奔姚青岐
软件 2018年9期
关键词:手写权值准确率

高 磊,洪奔奔,姚青岐



基于卷积神经网络的随机手写数字识别

高 磊,洪奔奔,姚青岐

(西安工程大学,机电工程学院,陕西 西安 710048)

针对传统手写数字的随机性、无规律性等问题,为了提高手写数字识别的检测准确性,本文在研究手写数字区域特点的基础上,提出了一种新的手写数字识别检测方法.首先,对采集的手写数字图像进行预处理,由于原始图像包含各种各样的噪声,为了防止造成干扰,对图像进行去噪、滤波等处理;然后,在MATLAB中构建卷积神经网络(CNN)模型结构,采用CNN模型中典型的 LeNET-5的卷积模型,通过对采集图像进行逐层学习、训练与测试,将学习得到的高层特征用于手写数字识别。以随机手写数字与字母进行图像验证,结果表明,该模型算法应用于手写数字或字母准确识别,可获得较高的识别率,具有一定的通用性。

图像预处理;深度学习;LeNet-5卷积模型;手写数字识别

0 引言

手写体数字属于光学字符识别的范畴,但分类的类别比光学字符识别少得多,主要只需识别0~9共10个字符。近年来,随着计算机技和数字图像处理技术的飞速发展,手写体数字识别在电子商务、机器自动输入等场合逐步获得推广。与其他字符的识别相比,手写体数字识别的研究有随机性、不规则性等缺点。但在许多自动录入、识别领城,机器自动识别仍然发挥主要的作用[1]。

传统的机器学习与信息处理技术采用浅层架构,即包含一个单层的非线性特征转换,用来将输入信号转换至特定问题的特征空间[2]。浅层结构具有响应速度慢、分布能力差等缺点。然而,人类对于视觉以及语言的处理机制,要通过深度学习,从大量的输入信息中提取复杂的特征信息,因此需要建立深层架构[3]。深层架构可以用新层次的实现来替换原有层次的实现、可以降低层与层之间的依赖、有利于标准化、有利于各层逻辑的复用等。

文献[4]探讨了卷积神经网络的基本原理及应用。首先回顾了卷积神经网络的发展历史,阐述了它的基本原理,研究了卷基层和下采样层;其次总结了卷积神经网络的三大重要特征:稀疏连接、权值共享和池采样,并将卷积神经网络应用在MNIST手写数字识别中,但没有解决过拟合现象提高学习能力和设置合理参数等问题。文献[5],为了解决银行邮局等场合的实时数字识别问题,提出了一种优化的卷积神经网络数字识别方法模型为基础改进了卷积神经网络结构并推导了改进后的前向和反向传播算法,将改进的卷积神经网络用在印刷数字组合数据库上进行测试,此方法识别准确率有所提高,但不具备随机性和不规则性的手写数字的识别。

本文采用深度学习的卷积神经网络手写数字识别是通过内部卷积来识别图像,可看到已识别图像上物体的边缘,特别在图像特征识别上表现优异。深度卷积神经网络具有共享卷积核,对高维数据处理无压力,无需手动选取特征,训练好权值,即得分类特征。既满足了手写数字识别的随机性和不规则性,又提高了检测准确率。

1 相关理论分析

手写数字识别中,特征的提取作为其中的关键部分,采用深度学习模型,可以避免预处理过程,减少人为因素影响。CNN作为深度学习中,较早提出来的模型结构,结构较为简单,需要训练的参数数量较少,适用性较强,在最近几年的发展中,广泛应用于图像处理与模式识别等领域。

利用卷积神经网络中的典型结构LeNet-5模型。下面结合LeNet-5结构图[6-8]做具体的分析,如图1所示。

图1 卷积神经网络中的典型LeNet-5模型

下面逐层分析:

第一层:数据输入层

卷积神经网络的强项在于图像的处理,lenet的输入为32*32的矩阵图像。

第二层:卷积层c1

卷积层是卷积神经网络的核心,通过不同的卷积核,来获取图像的特征。卷积核相当于一个滤波器,不同的滤波器提取不同特征。

第三层:pooling层s2

基本每个卷积层后边都会接一个pooling层,目的是为了降维。一般都将原来的卷积层的输出矩阵大小变为原来的一半,方便后边的运算。另外,pooling层增加了系统的鲁棒性,把原来的准确描述变为了概略描述。

第四层:卷积层c3

与之前类似,在之前的特征中进一步提取特征,对原样本进行更深层次的表达。这里不是全连接。X代表连接,空白代表不连。

0123456789101112131415 0XXXXXXXXXX 1XXXXXXXXXX 2XXXXXXXXXX 3XXXXXXXXX 4XXXXXXXXXX 5XXXXXXXXXX

第五层:pooling层s4

基本每个卷积层后边都会接一个pooling层,目的是为了降维。一般都将原来的卷积层的输出矩阵大小变为原来的一半,方便后边的运算。另外,pooling层增加了系统的鲁棒性,把原来的准确描述变为了概略描述。

第六层:卷积层(全连接)c5

有120个卷积核,这里是全连接的。将矩阵卷积成一个数,方便后边网络进行判定。

第七层:全连接层

和MLP中的隐层一样,获得高维空间数据的表达。

第八层:输出层

一般采用RBF网络,每个RBF的中心为每个类别的标志,网络输出越大,代表越不相似,输出的最小值即为网络的判别结果。

2 卷积神经网络主要结构分析

2.1 卷积层分析

卷积层是卷积神经网络[9]中的基础操作,在网络最后起分类作用的全连接层,在工程实现时也是由卷积操作替代的。假设输入图像(输入数据)为如图2中右侧的5×5矩阵,其对应的卷积核为一个3×3的矩阵。同时,假定卷积操作时每做一次卷积,卷积核移动一个像素位置,即卷积步长为1。第一次卷积操作从图像(0,0)像素开始,由卷积核中参数与对应位置图像像素逐位相乘后累加作为一次卷积操作结果,如图3a所示。类似地,在步长为1时,如图3b至图3d所示,卷积核按照步长大小在输入图像上从左至右自上而下依次将卷积操作进行下去,最终输出3×3大小的卷积[10]特征,同时该结果将作为下一层操作的输入。

图2 二维场景下的卷积核与输入数据

注:左图为3×3的卷积核,右图为5×5的输入

其中,(i +1,j +1)为卷积结果的位置坐标,满足下式:

0≤i 1<H −+ 1 =H +1,0 ≤j +1<W −+ 1 =+1

图3 卷积操作

2.2 pooling层分析

其中,0 ≤i +1< Hl+1,0 ≤j +1< W +1, 0 ≤< D +1= D

图4为2×2大小、步长为1的最大值汇合操作。除了最常用的上述两种汇合操作外,随机汇合则介于二者之间。随机汇合操作非常简单,只需对输入数据中的元素按照一定概率[13]值大小随机选择,并不像最大值汇合那样永远只取那个最大值元素。对随机汇合而言,元素值大的响应被选中的概率也大,反之易然。可以说,在全局意义上,随机汇合与平均值汇合近似;在局部意义上,则服从最大值汇合的准则。

图4 最大值汇合操作

3 手写数字识别的实验与分析

该模型[13]采用的数据为mnist手写数据库,含有70000个手写数字样本其中60000作为训练样本,10000作为测试样本。经过去噪、滤波等处理,部分样本图像如图5所示。

图5 部分样本图像

计算流程包括数据读取、模型训练、模型测试、绘制均方误差图四个主要过程,如图6所示

图6 数字识别流程

本文采用基于matlab环境下,深度学习卷积神经网络对读取图像进行数字识别流程操作[14],其主要步骤如下:

(1)设置CNN的基本参数规格,如卷积、降采样层的数量,卷积核的大小、降采样的降幅

(2)cnnsetup函数初始化卷积核、偏置等

(3)cnntrain函数训练cnn,把训练数据分成batch,然后调用

1)cnnff完成训练的前向过程

2)cnnbp计算并传递神经网络的error,并计算梯度(权重的修改量)

3)cnnapplygrads 把计算出来的梯度加到原始模型上去

(4)cnntest函数,测试当前模型的准确率

将训练数据输入网络中,在不同训练样本下,采用不同的迭代次数,计算均方误差值、测试图像准确率与训练图像准确率,如表1所示。

表1 不同训练样本下图像准确率检测及均方误差值

Tab.1 Image accuracy detection and mean square error under different training samples

实验结果分析如下:

由表1可以得出,均方误差值的大小与迭代次数和训练权值无关,与训练样本数量有关。随着训练样本数量的增加,图像检测准确率逐渐增加。当网络输入的训练样本数量为6000张,迭代次数为10次时,测试图像检测准确率为98.43%,训练图像检测准确率为98.3133%.

由于训练样本较多,无法实现一次性将全部样本输入到网络,因此采取分批次输入,使网络得到充分训练,为研究每输入到网络中的训练权值对识别率的影响,分别将训练权值为10、30、50输入到网络中,得到的实验结果如图7所示。

图7(a)、(b)中,横坐标表示迭代次数,,纵坐标表示图像识别错误率,从图7中可以看出,随着迭代次数的增加,图像识别错误率逐渐减小,网络逐渐达到收敛状态。当训练权值为10时,在测试图像中,迭代4次左右就可以取得较高的识别率;而在训练图像中,迭代8次左右就可以取得较高的识别率,识别效果明显。此实验结果说明,训练权值越小,网络收敛速度越快。同时图像识别错误率比训练权值为30和50都要低。

图7 在不同训练权值下迭代次数与图像识别错误率

综上所述,表明该训练模型能有效地表示图像检测准确率。随着迭代次数的增加,图像测试准确率和训练准确率,不断提高,使得不同类型的图像能够被区分出来;随着训练样本的增加,样本的交错重叠现象几乎可以忽略,能有效的解决过拟合现象,提高学习能力,可以很好的解决手写数字的随机性和不规则性等问题。

为了分析深度学习卷积神经网络的识别性能,利用几种常用的识别方法对手写数字进行识别,结果如表2所示。

表2 几种常用方法识别结果

Tab.2 Several commonly used methods to identify the results

从表2可以看出,深度学习卷积神经网络模型在手写数字的识别准确率为98.31%,和其它识别方法相比,其识别准确率更高,表明此方法在手写数字识别方面具有一定的优势。

4 结语

本文首先通过对手写数字图像去除高斯噪声、椒盐噪声等,有效滤除噪声信息;然后,采用深度学习CNN中典型的LeNET-5的卷积模型,对输入数据进行逐层学习,将学习得到的高层特征用于手写数字识别。克服了手写数字识别的随机性、不规则性等问题;最后,在手写数字识别检测过程中,有效抑制了各种干扰信息,提高了手写数字识别区域显著度,提高了手写数字识别准确检测,防止了图像的过度拟合。本文在图像检测类别上还存在一定的局限性,如何应对不同类型的图像,提高检测准确率,将是深度学习卷积神经网络后期待解决的问题。

[1] 宋昌统, 黄力明, 王辉. 基于概率神经网络的手写体数字识别[J]. 微型电脑应用, 2016, 32(10): 14-15+21.

[2] DONG Y, LI D. Deep Learning and Its Applications to Signal and Information Processing[J]. IEEE SIGNAL PROCE­SS­ING MAGAZINE. 2011. 28(1): 145-154.

[3] SERRE T, KREIMAN G, KOUTH M, et al. A quantitative theory of immediate visual recongnition[J]. Progress in Brain Research, 2007, 165: 33-56.

[4] 马媛媛, 史加荣. 卷积神经网络及其在手写体数字识别中的应用[J]. 湖北工程学院学报, 2017, 37(6): 66-72.

[5] 代贺, 陈洪密, 李志申. 基于卷积神经网络的数字识别[J]. 贵州师范大学学报(自然科学版), 2017, 35(5): 96-101.

[6] 李斯凡, 高法钦. 基于卷积神经网络的手写数字识别[J]. 浙江理工大学学报(自然科学版), 2017, 37(3): 438-443.

[7] 王立中, 管声启. 基于深度学习算法的带钢表面缺陷识别[J]. 西安工程大学学报, 2017, 31(5): 669-674.

[8] Ameen, Salem. A convolutional neural network to classify American Sign Language fingerspelling from depth and col­our images[J], Expert systems. 2017. 34(3): e12197.

[9] 马宁, 廖慧惠. 基于量子门神经网络的手写体数字识别[J]. 吉林工程技术师范学院学报, 2012, 28(4): 71-73.

[10] Ravi Babu, U. Handwritten Digit Recognition Using Structural, Statistical Features and K-nearest Neighbor Class­ifier[J], International Jourmnal of Information Engineering &Ele tronic Business. 2014. 6(1): 62-68.

[11] 钟彩. 边缘检测算法在图像预处理中的应用[J]. 软件, 2013, 34(1): 158-159.

[12] GORGEVIK D. CAKMAKOV D. Handwitten digit reog­nition by combining SVM classifiers[C], The International Conference Computers as a Tool. 1EEE, 2005: 1393-1396.

[13] 杜敏, 赵全友. 基于动态权值集成的手写数字识别方法[J]. 计算机工程与应用, 2010, 46(27): 182-184.

[14] 黄弋石, 梁艳. 手写识别建模数学方法研究[J]. 软件, 2013, 34(8): 13-15.

Random Handwritten Numeral Recognition Based on Convolution Neural Network

GAO Lei, HONG Ben-ben, YAO Qing-qi

(College of mechanical & electronic Engineering, Xi’an Polytechnic University, Xi’an, 710048, China)

Aiming at the randomness and irregularity of traditional handwritten numbers, in order to improve the detection accuracy of handwritten digital recognition, this paper proposes a new method of handwritten digital recognition detection based on the study of the characteristics of handwritten digital regions. Since the original image contains various kinds of noise, in order to prevent interference, the image is de-noised and filtered. Then, in MATLAB, the convolution neural network (CNN) model structure is constructed, and the typical LeNET-5 convolution model in the CNN model is used to learn, train, and test the collected images layer by layer. The learned high-level features are used for handwritten number recognition. The results show that the model algorithm can be applied to the accurate recognition of handwritten numbers or letters, and can obtain a higher recognition rate and have a certain generality.

Image pretreatment; Depth learning; LeNet-5 convolution model; Handwritten numeral recognition

TH83

A

10.3969/j.issn.1003-6970.2018.09.016

高磊(1991-),男,研究生,主要研究方向:机器视觉与视觉控制;洪奔奔(1992-),男,研究生,主要研究方向:视觉检测与识别;姚青岐(1993-),男,研究生,主要研究方向:液压控制。

本文著录格式:高磊,洪奔奔,姚青岐. 基于卷积神经网络的随机手写数字识别[J]. 软件,2018,39(9):74-78

猜你喜欢
手写权值准确率
一种融合时间权值和用户行为序列的电影推荐模型
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
CONTENTS
抓住身边事吾手写吾心
基于集成学习的MINIST手写数字识别
高速公路车牌识别标识站准确率验证法
基于权值动量的RBM加速学习算法研究
深度学习在手写汉字识别中的应用综述