APP下载

基于改进的VGG-16的手写体维吾尔语识别

2022-07-17张誉铎黄永东麦日排提麦提图尔荪

大连民族大学学报 2022年3期
关键词:维吾尔语灰度卷积

汪 哲,张誉铎,黄永东,麦日排提·麦提图尔荪

(大连民族大学 理学院,辽宁 大连 116650)

维吾尔语是中国古老的少数民族语言之一,千百年来一直在不断的变化和发展。随着西部大开发与“一带一路”等项目建设,中国加大了对少数民族地区信息化建设的投入[1],手写体文字识别技术作为信息化建设中最重要的一部分,在拍照文档、票据、手稿文书等学习生活中被广泛应用,但由于维吾尔识别技术研究开始时间较晚,而且识别难度较大,所以维吾尔语识别技术目前成果有限,因此本文将对手写体维吾尔文字识别进行研究。

对于维吾尔语文字识别的研究[2-8]大多都是基于人工特征提取的方法,这种方法虽然取得了很好的识别效果,但由于只能依赖于人的经验,很难提取到辨别力极强的特征。而基于深度学习的方法解决了这个问题,它可以自动提取图像中重要的特征,目前很多研究者利用深度学习模型来识别手写体文字,并在中文[9-10]、英文[11-12]等文字识别领域取得了不错的成绩,但对于手写体维吾尔语的识别几乎无人研究。

由于手写体维吾尔语单词具有数量庞大、字符不规则、粘连性高、单词差异小的特点,因此对特征提取和分类具有很高的要求,而VGG-16用多个小型的卷积核代替尺寸大的卷积核,增加了网络深度,可以提取到更加优秀的特征,并对大类别模式识别问题具有较高的识别率;但直接使用VGG-16进行训练对数据量有较高的要求,而本文收集的数据有限,针对数据稀缺问题,本文在保留VGG-16优点的基础上,精炼出一个更加轻量的模型,不仅对较小的数据集有更好的适配度,且大大减少了训练参数,提高了训练速度。

1 数据预处理

1.1 数据集构造

因为手写体维吾尔语没有统一的数据集,因此本文所使用的数据集均由人工整理而成,本文选取了维吾尔语中常用的20个字词如图1。实验邀请了维吾尔族同学按照自己的书写习惯写了这20个字词,经过分割、筛选,共整理出2038个手写字词,随机选取其中的70%作为训练集,剩下的30%作为测试集。

图1 手写维吾尔语样本

1.2 图像预处理

在数字图像处理中,灰度图像的处理难度要小于彩色图像,二值图像的处理难度要小于灰度图像。因此,在手写体维吾尔文单词识别技术研究中,将输入图像二值化,不仅减小了原始图像的存储量,同时降低了后续的特征提取和分类器设计的复杂度,提高了系统的识别性能。本文使用最大类间方差法对图像进行二值化预处理。

手写体维吾尔语图像存在的噪声使得图像变得模糊,容易丢失字词的特征信息,从而导致了字符难以识别。因此在二值化后,将图像上的噪声过滤掉,能够保留原图像的细节特征,并且使得处理后的图像保持清晰的视觉效果。本文采用中值滤波进行去噪处理。

1.2.1 最大类间方差法

最大类间方差法[13]是一种自适应阈值确定的方法,如式(1),假设存在一个阈值将图像所有像素分为两类,pA表示被分为第一类像素的概率,pB表示被分为第二类像素的概率,mA表示第一类像素的平均灰度,mB表示第二类像素的平均灰度,mG表示所有像素的平均灰度,σ2即为类间方差。

σ2=pA(mA-mG)2+pB(mB-mG)2。

(1)

根据直方图的计算结果,得到图像前景和背景的灰度分布均匀方差,如式(2),式(3)所示(P为像素类的概率,m为平均灰度)。

(2)

(3)

然后遍历图像的每个像素值,找到最大类间方差的像素值,即阈值,根据这个阈值对图像进行二值化分割,最终即可得到二值化的图像。

1.2.2 中值滤波

中值滤波的中心思想是利用像素点领域内所有像素的中间灰度值来代替某个像素点的灰度值[14]。例如给定一个3×3的模板核算子,模板内共有9个像素点,将其排序后为x1,x2,x3,x4,x5,x6,x7,x8,x9,中值滤波即是用位于x5位置的像素点的灰度值代替当前像素点的灰度值。

1.2.3 预处理过程

本文在处理数据过程中如图2。先将所有样本如图2a处理成正方形,然后对所有样本进行二值化如图2b,为了确保所有数据的统一性,将所有样本尺寸归一化为64×64×1的大小如图2c,由于在归一化图像大小的过程中,样本像素发生变化,使得到的图像产生噪声,因此对所有样本进行去噪处理如图2d。

a)原图 b)二值化 c)归一化 d)去噪图2 数据预处理过程

2 模型设计

2.1 VGG-16

VGG网络是2014年由牛津大学著名研究组VGG (Visual Geometry Group) 提出的深层卷积神经网络[15]。其中应用最广泛的是VGG-16,VGG-16共有16层,通过组合13个卷积层,5个池化层以及3个全连接层可分为六大块,第一块和第二块由两个卷积层和一个池化层组成,主要用来提取图像的低级特征,第三、四、五块都由三个卷积层和一个池化层组合而成,第六块由三个全连接层组成。

VGG-16在整个结构中采用的都是3×3的卷积核,池化层采用2×2最大池化。相比于5×5或7×7的卷积核,使用连续多个的3×3的卷积核

不仅可以得到相同的感受野,且提升了网络深度,因此使用VGG16作为分类器更有限的减少了参数量,提升了特征提取以及分类的效果。

2.2 改进的VGG-16

标准的VGG-16模型的输入图像为224×224×3,远大于维吾尔语手写体原始的尺寸,直接训练难以准确的提取维语特征;收集大量且不同的样本需要消耗巨大的人力,本文收集到的样本量远小于VGG-16模型中用来训练的数据量,存在数据缺乏的问题;训练复杂的模型不仅对硬件设备具有较高的要求,且容易造成计算资源的浪费。因此针对本次实验所涉及的问题,本文在VGG-16模型的基础上做出了改进。

2.2.1 网络结构的设计

为了保留手写体维吾尔语最原始的信息,本文将所有输入图像统一到64×64×1的大小,本文延续了VGG-16中前四块的卷积层和池化层的组合形式,而为了匹配输入图像的尺寸,将前四块的卷积层通道数减至原来一半,并删减了原VGG-16模型中的第五块内容,因此整个网络结构的卷积层由原来的13层减至10层,池化层减至4层,同时为了避免过拟合的现象,本文在卷积层以及池化后都连接了正则化层。由于使用Lenet识别手写体数字取得了较好的效果,因此本文全连接层的神经元个数参考了Lenet中全连接层神经元的个数,分别设置为120和84,改进后的网络结构如图3。

图3 本文网络结构

2.2.2 模型及其核心参数设计

(1)卷积层。卷积层是整个网络的核心部分,主要用来特征提取,本文卷积层的卷积核尺寸大小为3×3,步长为1,填充为1。

(2)池化层。池化是通过统计分析图像某个区域的特征,来表示整个区域的总体特征,因此池化层有效的缩小了特征矩阵大小,缓解了过拟合。本文采用最大池化,池化大小为2×2,步长为2。

(3)激活层。激活层是将卷积层输出进行非线性运算,解决了线性运算不能解决的问题,有效缓解了梯度消失,本文统一采用Relu激活函数。

(4)增加正则化层。模型参数随着网络加深以及参数更新会变幻莫测,因此这些变量分布中的偏移可能会阻碍网络的收敛,其次,深层的网络更容易出现过拟合的现象,增加正则化层更有效的对神经网络进行规范,不仅有利于提取模型的主要特征,而且加快了网络的收敛速度和缓解了过拟合[15]。正则化的转换表达式如式(4)。

(4)

若使用大小为1的批量正则化,将无法学到任何信息,因为在减去均值后的隐藏单元为0,因此使用足够且合适的批量,批量正则化才是有效且稳定的。本文在经过多轮实验之后,最终选取的批量值为16。

(5)全连接层。全连接层是将最终得到的图像特征映射成固定长度的特征向量,传入分类器完成最终分类。本文全连接层的特征向量的长度分别设置为120、84。

(6)损失函数。本文对20个维吾尔字识别属于多元分类问题,因此采用交叉熵损失函数。在全连接层末端通过softmax进行概率计算,如式(5)。

(5)

式中:zi,zk分别表示输入向量的第i、k个值;w是类别数;Si为输入图像是第i个类别的概率;θ为训练参数,因此损失函数如式(6)。

log(1-Si))。

(6)

(7)参数优化方法。BP神经网络的原理是计算真实输出与期望输出的误差,并通过梯度下降算法计算出损失函数相对于权值参数的梯度,然后在损失函数的反方向上更新权值,更新迭代公式如式(7),xi,yi为训练样本,η为学习率。

θ=θ-η·θJ(θ;xi,yi)。

(7)

随机梯度下降通过频繁的更新参数使参数间具有高方差,虽然有益于得到最优解,但由于更新参数时是从训练集中随机抽取,使得参数的更新方向也随机选择,增加了迭代次数,降低了网络收敛的速度。

因此本文使用小批量随机梯度下降算法,小批量随机梯度下降算法在每次进行参数更新的时候,只是随机选取m个样本来进行参数更新,降低了网络收敛的波动性,加快了收敛速度[16]。迭代公式如式(8)。

θ=θ-η·θJ(θ;xi:i+m,yi:i+m)。

(8)

而梯度下降在训练过程中会出现高方差震荡的现象,会导致网络难以稳定收敛,王锦[17]等提出了动量技术缓解了网络收敛不稳定的问题。迭代公式如式(9),μ为动量因子。

vt=μvt-1+ηθJ(θ),θ=θ-vt。

(9)

本文改进后的模型各层网络参数见表1。

表1 改进后模型网络参数

3 实验设计与分析

为了确保实验中各项环境的统一性,本文中所有的实验都是在相同的数据集以及计算机性能上完成的,相关的实验环境配置参数见表2。

表2 实验环境配置参数

3.1 实验参数

本文实验以测试集的损失值和准确率作为评价指标,损失值是由样本的真实值与学习得出的预测值做多分类交叉熵所得,损失误差越小,文字识别率越高,为了使损失函数的值尽量小,本文使用小批量随机梯度下降算法来优化损失函数。

学习率和Batch-size是卷积神经网络中非常重要的参数,学习率的大小影响训练时间的长短和随机梯度下降算法能否达到最优,Batch-size的大小影响了GPU显存的大小及训练速度。因此本文选取了学习率和Batch-size这两个参数进行了实验,分别对比了不同学习率和Batch-size的组合对识别率的影响。

改进后的网络层数较深,收敛较快。在不同的学习率以及批量值的情况下,迭代了20次就已经收敛,因此本文将迭代次数统一设置到20次来研究不同学习率和批量值对实验的影响。

3.2 学习率和Batch-size对维吾尔语识别的影响

本次实验随机选取610张64×64的手写维吾尔语字作为测试数据集,分别设置批量值为10、12、14、16、18、20,学习率设置为0.005、0.01、0.03、0.05、0.1、0.2共进行36组实验,实验得到的损失值和测试集准确率见表3~4。

表3 不同学习率和批量值下训练的测试集准确率

表4 不同学习率和批量值下训练的测试集损失值

从表中可以得出,学习率为0.05,批量值为16的时候,准确率达到最优值95.69%,同时损失值达到最小值0.190 7。因此,本次实验学习率取0.05,批量值取16。

3.3 单个维语字词的识别

因为数据样本由不同的人的所写,所以手写的维语字词各不相同,为了更加清楚的描述各个字词的识别率,本文在测试集上进行25次独立重复实验,得到维吾尔语分类混淆矩阵如图4,从图中可以看出,大部分图像分类准确率都高于95%,说明本文提出的模型对维吾尔语识别具有良好的性能。

图4 维吾尔语分类混淆矩阵

3.4 实验对比

为了与标准的VGG-16模型作对比,基于以上实验结果,本文将学习率设置为0.05,批量值设置为16,将本文实验所用的数据集放到标准的VGG-16模型中训练,所得到的实验数据见表5。

表5 实验结果

由表5可知,在经过20次迭代之后,VGG-16的测试集准确率为90.83%,损失值为0.5472,而本模型的测试集准确率达到了95.69%,高于标准的VGG-16模型,损失值为0.1907,也小于VGG-16模型,且训练时长以及训练参数也远远小于标准模型。因此证明了本文改进的模型的对手写维吾尔语体的识别性能优于VGG-16模型。

4 结 语

本文结合维吾尔语的特点,研究基于VGG-16的维吾尔语文字识别方法,与传统的模型对比,本文改进后的网络结构不仅达到了更高的准确率,并且减少了运算时间与空间的消耗,证明了使用改进后的VGG-16模型研究维语识别能达到更好的效果。

在实际生活中,维吾尔语并不局限于单个字词的应用,且收集大量不同书写风格的手写维吾尔语单词更加困难,因此后续将从数据增强的角度继续扩大数据集。

猜你喜欢

维吾尔语灰度卷积
航空滤光片阵列多光谱图像条带灰度调整算法
基于全卷积神经网络的猪背膘厚快速准确测定
采用改进导重法的拓扑结构灰度单元过滤技术
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
浅析维吾尔语表可能语气词
维吾尔语数词历时演变发展研究