特征分组提取融合深度网络手写汉字识别

2020-06-18 05:51李国强
计算机工程与应用 2020年12期
关键词:手写卷积准确率

李国强,周 贺,马 锴,张 露

燕山大学 河北省工业计算机控制工程重点实验室,河北 秦皇岛066004

1 引言

手写汉字识别有联机和脱机之分。联机手写汉字识别可以实时地获取到书写者的笔画信息,如笔画总数、书写顺序、书写速度、笔画走向等[1]。这些信息简化了识别的难度。而脱机手写汉字识别的难度相对加大,因为脱机手写汉字都是静止的二维图像,特征提取比较困难,导致识别精度较低。

在脱机手写汉字识别上有许多提高识别精度的传统方法被提出,但是收效甚微。究其原因即在于:首先,汉字笔画多,最多有32画;其次,汉字相似性大,例如“戊”和“戌”,“已”和“己”等;此外,汉字数量多,总共50 000多汉字。最后,汉字书写风格多变,不同人的书写字体不同,因此识别难度自然加大[2]。

传统的手写汉字识别方法有多种,但是识别精度普遍较低,常用的有:隐马尔可夫模型(Hidden Markov Model,HMM)[3]、贝叶斯分类器[4]、支持向量机(Support Vector Machine,SVM)[5]和改进的二次判别函数(Modified Quadratic Discriminant Functions,MQDF)[6]等,这些传统方法不仅计算复杂,而且精度低,很难进行实际应用。

随着计算机数据处理能力的提高,以及更好的非线性激活函数的出现,致使深度卷积神经网络(Deep Convolutional Neural Networks,DCNN)在许多图像识别和分类任务中取得了显著的进步[7]。在过去几年里,DCNN在手写汉字识别上的进展大大超过了传统的方法,取得了很大的进步。MCDNN是第一个将卷积神经网络应用在手写汉字识别上的网络模型,并且误差为4.21%。随后,富士通公司的研究团队利用DCNN基础模型,在手写汉字识别上取得94.8%的识别精度。这相比传统的MQDF识别精度92.61%,提高了2.19%。

伴随一些先进网络模型的出现,例如VGGNet[8]、InceptionNet[9]、ResNet[10]等,这些先进的技术为脱机手写汉字识别提供了良好的借鉴。

2 特征分组提取的网络设计

传统卷积神经网络会存在特征提取不充分,网络学习能力差等问题,同时随着网络的加深存在信息的丢失和损耗。为了解决这些问题,本文借鉴ResNet残差网络的优点将信息直接传递到输出,从而保护了信息的完整性,来减轻信息丢失问题;将特征信息进行分组,然后分别进行特征提取,最后再将每组的信息整合在一起,增加网络学习的多样性。

2.1 特征分组提取模块

本文设计的特征分组提取模块如图1和图2所示。图1网络模块的输入特征图个数为129,在进行特征分组之前,先将特征信息进行通道重排,打乱输入特征信息的顺序。

图1 网络模块1

图2 网络模块2

如图3所示,以分三组为例,为增加网络学习的多样性,对特征信息进行分组,以不同颜色表示不同的信息,在未进行通道重排时同一组段内可能含有相同特征信息,而不同组段内的信息会不相同,如果直接进行特征分组会导致组段内的信息不完整,降低信息的表示能力。由图可知通过通道重排能够让不同组段进行信息交换,使得不同组段的特征信息更加丰富。通过通道重排使得每个组内都有其他组的特征信息,这样虽然分组后,组与组之间没有了联系,但是每组的信息都很全面不会丢失。然后把129个特征图分为三组,每组43个特征,为增强网络提取信息的多样性,对每组分别使用不同大小的卷积核进行特征提取;当每组进行一次信息提取之后,进行一次组与组之间的信息交流融合,此时每组的特征图从43个增加为86个;再对每组的86个特征图进行信息提取,进一步提高网络的学习能力;最后,将每组的信息进行合并整合,整合后的特征通道数为258个,为使之与输入通道相一致,方便其与原始输入信息进行残差运算,需要使用1×1卷积对输出通道进行降维。图2网络模块的输入特征图个数为256,将其分为四组,每组有64个特征图,信息交流组合的思路与图1相同。

图3 通道重排

2.2 下采样和通道扩增模块

传统卷积神经网络通常采用平均池化层或最大池化层来进行下采样,可是这种方法忽略了特征信息的重要性和次要性,没有考虑图像的位置信息,将所有位置的特征都视为一样。比如,一张图像的中心区域感受野的信息比其他区域的要完整和重要,所以一张图像不同区域对应不同的权重大小。为了避免池化层的这种模糊化效果导致准确率下降的问题,本文使用3×3和5×5的卷积核进行下采样,让网络自己学习不同点的权重,并与通道扩增过程组合为一个模块。如图4所示,其中3×3和5×5卷积步长为2,负责下采样;1×1卷积的步长为1,负责通道的升维和降维。

图4 降采样模块

2.3 特征信息的浓缩提炼

经过分组模块的特征提取,网络会得到丰富的特征信息,但是这些信息之间难免会有重叠的相同信息,如果将所有特征信息都进行特征提取和分类,会造成相同的信息被反复多次提取,造成计算资源的浪费。为此,本文设计了一个特征信息融合和浓缩卷积层(Feature Fusion and Concentration Convolution,FFCConv),采用合并特征图的方式精炼和浓缩特征信息,来解决特征信息的重叠和冗余问题。该层的输入为4×4×510的特征图,首先将特征信息进行通道重排,信息交流融合后将其分为A、B、C、D四组,每组特征图数目分别为51、102、153、204。具体过程如图5所示,对A组每张特征图进行卷积;对B组,采用两个合为一个进行卷积;对C组,采用三个合为一个进行卷积;对D组,采用四个合为一个进行卷积。其中卷积方式与常规卷积方式不同,采用如公式(1)所示的加权平均卷积。由于输入都是图6所示的4×4大小的特征图,所以A组的加权平均卷积计算过程如公式(1)所示,其中ω代表相应位置的权值;设B组的两个特征图的加权平均卷积计算分别为X1和X2则B组的特征合并结果XB的计算方式如公式(4)所示。同理C组与D组的合并结果计算方式与B组的计算原理相同。这样每组得到51个1×1的特征图,然后将每组通道进行整合得到204个1×1的特征图。信息通道数从原来510被浓缩整合为204。为了控制信息浓缩的程度,防止信息过度精炼而丢失重要特征信息,故本文采用图5中的一个、两个、三个、四个的合并方式。

图5 特征信息的浓缩提炼

图6 4×4大小的特征图

经过多次实验对比发现将图2模块重复使用五次,将图3模块重复使用两次能使网络性能达到最优。整体网络配置如表1所示,其中c代表通道数,s代表步长。网络结构中的最后一个降采样模块将保持通道数不变,只对图像大小进行处理。最后,将网络的输出送入全连接层。虽然网络每经过一个特征分组提取模块,图像大小不变,但是每次提取的图像特征却不同,这些丰富的图像特征非常有助于提高图像识别准确率。

表1 网络配置细节

2.4 网络优化算法

整体网络在每个模块的卷积层之后都加了一个批归一化(Batch Normalization,BN)层。由于输入数据的分布很容易发生改变,随着网络的加深改变会被放大,因此网络模型为了去适应发生的改变,就要去学习这个改变的新的数据分布,这导致训练收敛速度越来越慢。BN层可以通过规范化来防止数据分布发生改变,同时扩大输入对损失函数的影响因子,使反向传播的梯度变大。为了适用BN规范化后的数据和梯度变大,需要增大学习率来加快收敛速度。

假设网络的第l层的输入为Z[]l-1对其做标准化处理,忽略上标[l-1],则规范化过程如公式(5)~(7)所示:

其中,m是单个训练数据集包含的样本数,ε常值,可取ε=10-7。这样,就使得输入值均值为0,方差为1。但是如果强制将数据进行规范化会影响网络原有的特征学习,导致网络表达能力下降。为此引进两个可调节参数γ和β,则得到公式(8)即:

式中,γ和β是可学习参数,和权重和偏置相似,使用梯度下降算法求得。通过调整γ和β的值可以改变Z的值,如令γ=,β=μ,则Z=Zi。因此参数γ和β的引入,可以使网络得到所要学习的特征分布,使得网络表达能力增强。

3 数据集预处理

本文选用了CASIA-HWDB(V1.1)数据集来训练和测试所设计的神经网络模型,数据集共包括3 755个一级汉字样本。该数据集是采集到的原始样本,为了提高神经网络训练模型的性能有必要对训练集进行数据扩增和错误挑选处理。

3.1 训练集错误挑选

训练集对模型的训练举足轻重,为了尽量保持训练集原始样本和提高训练模型性能,本文只对比较明显的错误进行处理;同时为了后面训练好模型的测试和防止发生过拟合,因此只对训练集进行轻微处理,测试集不予改动。

训练集错误的纠正只针对三种情况,如图7所示。其中(1)为样本分类错误,这种对其进行纠正,将图片转移到正确标签;(2)为在字形区域外有额外干扰笔画,这种情况将图片进行剪切,删除多余笔画后放入原标签;(3)为汉字书写错误后又进行勾画,这种样本将被从训练集中剔除。

图7 需要纠正的三种样本示例

3.2 数据增强

由于网络的加深,有可能发生过拟合的风险,此时如果数据集较小,很容易将数据集的特点拟合掉。因此引进数据增强(Data Augmentation),防止过拟合发生的风险。首先,对训练集原始样本进行随机上下翻转;然后再对训练集进行随机水平左右翻转。处理后的训练集每个手写汉字类别有500多张样本图片,这使训练得到的模型效果更好。

4 实验与分析

4.1 实验参数设置

实验数据集为CASIA-HWDB(V1.1),其包括3 755个汉字,经过数据增强处理后数据集总共有200多万张图片。虽然数据集的扩大有利于提高汉字识别精度,但是对计算机硬件要求也更高。为了减少计算量,统一将脱机手写汉字图像大小调整为64×64,然后进行图像灰度化,将RGB三通道降为一通道的灰度图进行训练和测试。训练采用随机梯度下降算法。初始学习率值为0.1,来加快训练衰减速度。训练的批量大小设为128,一共迭代训练10万步。实验机器为Windows 7操作系统,CPU为Intel®CoreTMi7—7820X,3.60 GHz,32 GB内存,同时使用GPU计算加速训练过程。

4.2 实验结果分析

模型总共训练迭代100 000步,每100步保存一次数据,所以最终得到的模型训练和测试的损失和准确率如图8到图11所示。为使得训练模型结果最优,对实验过程进行全程监测,根据训练情况及时进行参数调整。将学习率设置为0.1来加快收敛速度;当训练到40 000步时将学习率降为0.01来稳定训练;当训练到80 000步时将学习率设置为0.001。当训练结束时训练损失和测试损失分别稳定收敛到0.49和0.18;训练准确率和测试准确率分别达到0.987 5和0.971 6。最后在训练好的模型基础上进行了top5实验,得到高达99.36%的准确率。

图8 训练损失

图9 训练准确率

图10 测试损失

图11 测试准确率

为了说明本文所设计的加入BN优化算法的深度网络模型的有效性,本文进行了对比实验。首先,将本文所设计的适合脱机手写汉字识别的网络模型称为CharacterNet-F FCConv;然后,用平均池化层替换本文设计的下采样模块,将其称为CharacterNet-A;最后,用传统的卷积层替换特征信息融合和浓缩卷积层FFCConv,将其称为Character Net-B。对上述三种网络分别进行实验,实验结果如表2所示。可以看出本文所设计的特征分组提取融合的深度网络模型Charact erNet-FFCConv比CharacterNet-A和Charac terNet-B模型的top1准确率分别提高0.71%和0.03%,由此可以说明本文设计的特征信息融合和浓缩卷积层FFCConv以及下采样模块的合理性和有效性。

表2中的第一个对比模型DLQDF使用传统MQDF分类器进行分类,可以看出准确率很低。Inception和ResNet为当前比较先进的两个网络模型,两者结合得到的Inception-Resnet能够明显提高识别准确率,可见残差网络结构的高效性,所以当前很多网络模型都加入了残差结构。文献[12]改进残差模型的精度与原残差网络相比优势明显,而与其他先进模型相差较多。文献[13]的网络模型只有5个卷积层,特征信息提取不充分,影响分类效果。文献[14]用多个神经网络进行训练,然后对这多个结果取均值,这种方法工作量大,实验很费时。文献[15]将传统卷积方式进行改进,采用不共享权值的卷积方式,取得了不错的效果。

表2 不同模型的分类精度统计 %

最后,从表2中可以看出,相比于现有的部分模型,本文提出的特征分组提取融合的深度网络在脱机手写汉字识别准确率上具有明显优势。

5 结束语

本文设计的特征分组提取融合的深度网络,其利用特征混洗、特征分组提取与再融合的方法,丰富了特征信息,提高了网络的学习性能和表达能力;使用新的下采样方式取代平均池化层,解决了池化层对图像模糊化效果导致准确率下降的问题。然后,通过对特征信息的精炼和浓缩,进一步提高了网络的分类性能。此外,网络优化算法BN的加入加快了网络收敛速度。

最后,虽然本文设计的网络在脱机手写汉字识别上表现优异,但是网络结构比较复杂。能否在保证较高识别正确率的前提下,使网络结构更加简洁,以及如何与其他先进优化算法进行结合来再次优化网络性能,值得进一步研究。

猜你喜欢
手写卷积准确率
我手写我心
基于3D-Winograd的快速卷积算法设计及FPGA实现
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
抓住身边事吾手写吾心
卷积神经网络的分析与设计
从滤波器理解卷积
基于集成学习的MINIST手写数字识别
高速公路车牌识别标识站准确率验证法