当前位置:首页 期刊杂志

一种在低质量图像上提高字符识别率的深度学习框架∗

时间:2024-05-04

杜泽炎 任明武

(南京理工大学计算机科学与工程学院 南京 210094)

1 引言

手写体字符识别技术是图像识别领域的一个经典问题,可广泛地应用于数字化时代的各个领域,包括邮政编码识别、试卷内容识别、银行票据识别等。

手写体字符识别作为一个模式识别的热点问题,已经被很多学者研究过。关于手写体识别的研究有三个重心:字符预处理[1~3]、字符特征设计[4~8]和分类模型[6~7]。字符预处理是指图像进行特征提取之前做的一些准备工作。常规的方法有去噪、锐化、字符分割[3]以及灰度规范化等。为后面的识别去除多余的干扰信息;字符特征设计可分手工特征设计[4~7]和自动提取特征[8]。手工特征设计是指研究人员对数据进行提炼分析,设计出一套能反映数据本质的特征向量,例如利用连通域个数、弯折位置和个数、端点位置和个数的排列组合来区分不同字符。其优点是设计的特征对于人类来说较为直观容易理解,处理速度较快。缺点是对噪声以及图像的变形和缺失敏感,鲁棒性较差。而自动提取特征的典型代表是卷积神经网络[8]中的卷积层,卷积神经网络可以从数据中自动的学习到待识别物体的特征,根据文献[9]论述,卷积神经网络的浅层卷积层学习到的是图像内的基本特征,如各种形态的局部纹理。深层卷积层学习到的是类别特征,如用于识别车辆的卷积神经网络中深层网络会对图像中车轮车窗等信息敏感。分类模型在字符识别领域应用较多的是支持向量机[10~11]和卷积神经网络。因为近年来硬件性能的飞速提升和一些大型标注数据集的出现,像深度卷积神经网络这种大参数模型应用范围得到提高。在数据量较多的情况下,深度神经网络的效果要优于支持向量机。此外卷积神经网络可以自动提取特征,识别结果不过分依赖于图像预处理的好坏。

在实际生产生活中产生的数据并一定像实验环境中较为完好,很可能出现模糊、变形、噪声等问题。相对于高清高质量图像,本文定义出现以上问题的图像为低质量图像。而本文的方法也是针对低质量图像的识别而提出的。

本文首先介绍一个由[12]启发得到的图像增强网络EnCNN 和经典的字符识别网络LeNet-5。随后介绍一个应用于低质量图像识别任务的框架,该框架由两个组件组成,一个图像增强网络下文称前置网络和一个图像识别网络下文称为后置网络。之后介绍本文提出的一种模型学习策略,专门用于该框架内的模型学习。最后在实验部分,本文以手写体数字识别任务为例。先验证增强网络在本文提出模型学习策略下的效果,随后对比本文方法和其他方法的手写体识别率。

2 卷积神经网络

早在20 世纪80 年代末,文献[8]的作者Yann LeCun 就作为贝尔实验室的研究员提出了卷积网络技术,并展示如何使用它来大幅度提高手写体识别率。随后卷积神经网络沉寂了一段时间。2012年,Geoffrey Hinton 组的研究人员在ImageNet 2012[13]上夺冠,他们的图像分类[14]成绩远超第二名,促使大量学者开始重视和研究深度学习,深度卷积神经网络是其中的热点,也被应用于机器视觉的各个课题,包括显著性检测[15~16]、物体检测[17]、图像分割[18]等。

卷积神经网络的模型学习方法是一种称为反向传播(Back Propagation)的算法[19~20],它的学习规则是使用梯度下降法,通过反向传播来不断调整网络中的参数,使神经网络的代价函数逐步减小直到收敛。

现在所定义的深度卷积网络主要包括以下几个组件[8]:卷积层、池化层、ReLu 激活函数、Dropout和全连接层等。

2.1 图像增强网络EnCNN

本节介绍一个借鉴文献[12],由三个卷积层组成的全卷积网络EnCNN。该网络可以用于图像增强任务。定义输入为低质量图像LR,网络最终输出图像记为SR,目标高清图像称为HR。选用均方误差函数作为网络训练的代价函数,见式(2)。该网络的目的是在对图像进行识别之前,提升图像质量,最终提高识别率。与文献[12]中类似,本文定义的EnCNN 由三个卷积层组合而成。第一层为特征提取层,特征图个数为n1,第二层为非线性映射层,特征图个数为n2。我们定义卷积核的大小为1用于模拟非线性映射,非线性激活函数选用ReLu,最后一层为重构层,根据文献[12]中的证明,该结构可以用于图像增强任务。网络结构示意图如图1。

图1 EnCNN示意图

通过三层的卷积映射,模拟稀松编码中图块提取,非线性映射和重构三个步骤。最后提高图像质量。

其中卷积层的运算公式如式(1)所示:式(1)中x表示特征图,l表示层数,i和j表示神经网络某一层中特征图的编号,k为卷积核,b为偏置量。而代价函数的公式如下:其中w和h为目标图像宽和高,Xi为网络输出的图像像素,Yi为目标图像像素。

2.2 数字识别网络LeNet-5

LeNet-5 是一个经典的手写体识别网络架构,本文对其略做修改,具体的定义如下:前两层卷积层都接着一个最大池化层,用于特征提取和模型的参数消减。激活函数使用ReLu函数。网络的后半部分为三层全连接层。网络架构图示见图2。随后使用softmax把网络的输出转化为一个10维且各维的值归一化到0~1 之间向量,softmax 如式(3)所示。代价函数选用负对数似然损失函数(Negative Log Likelihood)具体见式(4),某类类别概率越大,其损失函数的值越小。上式中,式(3)中的K 为类别个数在手写数字识别任务中该值为10。式(4)中x为softmax处理后的标量。

图2 leNet-5原始图示

相对于原始LeNet-5 中卷积层之间的特征图有选择的连接,本文所用网络之间的特征图都互相连接。图2 中给处理了详细的连接方式。其中C1和C3 卷积层,卷积核大小为5*5,步长为1。S2 和S4为最大池化层,池化尺度为2。F5、F6、F7为全连接层。

3 本文方法

本节提出一种针对低质量图像的识别框架,框架由两个部件组成——图像质量增强网络和识别网络。本节先介绍一种简单拼接组合两个网络的字符识别框架,下文统称简单组合框架。然后在简单组合框架的基础上应用改进的学习策略构建两个网络深度结合的字符识别框架,下文统称深度结合框架。

3.1 简单组合框架

EnCNN 有着较好的图像增强效果[8],特别是对模糊图像进行清晰化上。我们在用神经网络解决OCR 任务的时候,本质上是学习样本的数据分布。所以当我们用高清的图像数据集训练得到的识别模型用于识别低质量图像时,识别结果会变差。直观上,本文提出的框架不直接把低质量图像送入识别网络进行分类识别,而是先通过EnCNN 进行图像增强,得到质量较好的图像。再把增强后的图像传递给后置网络进行识别。这样识别网络相比直接获取低质量图像,更容易提取特征,因为识别网络是基于高清数据集进行训练学习的,更易提取有效信息。

具体的学习策略如下:以低质量图像作为输入,高质量图像做为目标。使用均方误差函数作为代价函数,衡量增强后图像和目标图像的差异,利用梯度下降法更新模型参数。Lent-5 模型的学习则根据2.2 节所描述的进行训练。EnCNN 和LeNet-5的训练过程相互独立。

当两个模型分别达到收敛,再拼装起来形成手写识别框架。在图3 的架构示意图中可以清楚地看到两个网络的结合过程。

图3 本文提出框架的架构图

3.2 深度结合框架

上面提出的框架中,增强网络EnCNN 和识别网络LeNet-5 在训练期间并没有发生直接的联系。前置网络的任务只是为了增强图像,而在BP算法中,回传的梯度则是由HR图和SR图的均方差产生的,本质上是一个基于像素层面的回归模型。本文在简单组合框架的基础上提出一种深度结合后置网络的学习策略,具体如下:

1)用HR 图即原始的高质量图片训练出一个识别网络,在本文中识别网络选用LeNet-5;

2)与3.1中方法不同,本策略在训练EnCNN时除了使用HR 图做像素层面的回归外,再结合LeNet-5 反传回来的梯度来更新EnCNN 网络。并用一个超参数α来调节两者的比例,具体见式(5)。注意,在更新EnCNNt 参数时,固定LeNet-5的参数不变。

3)在EnCNN 达到收敛后,拼接两个网络形成新的识别框架。

图3 中展示了基本框架和改进框架的示意图。两种模型的差别在于模型学习的策略不同,后者充分利用了后置网络提供的字符结构信息。我们认为在识别网络在进行分类时,网络中学习到训练集的结构信息,而这些结构信息是可以给增强网络模型训练做有效指导的。深度结合框架的目标函数见式(5)。

α的范围从0~1。α为1 的时,深度网络结构完全退化为简单组合模型,在BP 算法梯度更新的时候完全没有利用后置网络的信息。α为0 时,则更新是完全丢失了像素层面的指导,会导致图像的视觉效果变差。本文实验部分α选用0.5。

4 实验验证

为了验证本文提出框架的有效性。本节使用经典的MNIST数据集[21]作为实验数据,MNIST中有训练集60000 张,测试集10000 张。采集自美国高中生的手写体数字,类别从0~9 共十种类别。为了获取典型的低质量图像,本文对原始数据集进行以下操作,对高清的原始图进行尺度为β的下采样,接着使用双三次插值算法把图像恢复到原始大小,这样就模拟了低质量图像中的图像模糊情况。也可以使用高斯滤波等其他方案模拟低质量图像。此外为了最大限度地控制变量,本文提出的两种框架在模型训练时选用相同的训练参数,迭代次数都为24万次。

4.1 前置网络的图像增强效果

在本文提出的框架中,为了提高低质量图像的识别率,先要通过前置的增强网络进行图像增强。图4给出了低质量图像和对应的增强效果图。

图4 细节对比图

图4(a)和(b)的下采样因子分别为2 和4。图中(a)左侧每列为MNIST 测试样本的一个样本,第一行为低质量图像,第二行为简单组合框架增强后效果,第三行为深度结合框架增强后效果,第四行为原始高分辨率图。图4(a)右边为字符”0”放大后的细节对比。图中(b)排列规律与(a)一致。

从实验结果图4(a)中可以看到,简单组合框架和深度结合框架中的前置网络都可以对低质量图像得到较好的视觉提升效果。其中简单组合框架得到的轮廓信息对比度更强,而深度结合框架则更加饱满,从图4(a)右侧的放大图中可见,后者字符内部更加平坦没有噪声,整体的字符亮度也更高。在图4(b)中,我们采用更低的下采用因子来进一步降低图像质量,深度结合框架构造出的数字和背景的对比度更高,不会出现简单组合框架中灰度分布不均的情况。在上面实验中,两个框架使用的后置网络都是由高清图像集训练得到的,前置网络则都是由下采样尺度为2 的低质量图像集训练得到的。而它们在下采样尺度为4 的测试集上的不同表现,说明了深度结合框架有着更好的泛化能力。

4.2 不同框架的识别率实验

在上一节中,我们证明了本文提出框架的第一个优点,即可以提高低质量图像的视觉效果。但是本框架主要解决的问题是提高低质量图像的识别率。在传统的神经网络应用中,针对低质量图片的问题,比较常规的做法是在增强原来的训练集,让神经网络模型在模型学习中可以学习到低质量图像的分布情况。本文为了证明提出框架的有效性,用两种数据集训练了两个手写识别网络:第一种为原始的MNIST 训练集,对应的训练出的模型记为LeNetHR。第二种为对原始训练集做下采样为2的模糊处理,对应的训练出的模型记为LeNetLR。

本文以这两个模型作为基准,并和本文提出的框架一起在高清测试集testHR 和低质量图像测试集testLR-2、testLR-4上进行识别率对比实验,来验证本文提出的两种框架的有效性。其中低质量图像数据集testLR-2、testLR-4 后面的数字表示下采样尺度,数字越大模糊程度越高。

表1 不同模型在测试集识别率

观察表1 中,我们以第一行和第二行的结果作为基准。LeNetHR 在testHR 中识别率是最高的。而在testLR-2 中,LeNetLR 得到了最好的识别率。这与期望相同,在高质量图中训练的模型针对高质量图测试识别率较高,在低质量图中训练的模型针对低质量图测试识别率教高。

然后在testLR-4 中,LeNetHR 的表现反而大幅高于LeNetLR。这是因为LeNetHR 在高清训练集中,模型充分学习到了类别信息,所以在testLR-4这种分辨率过低的测试集中,识别率反而高于针对低质量图像的模型。我们以基准模型在各个测试集中最好的识别率为基准,在表1 中以下划线标注。而每个测试集在所有实验中的最好结果用黑色加粗标注。

第三行和第四行则为本文提出的识别框架。在高质量测试集中识别率略低于基准模型中的最高值,但十分接近。而是在低质量数据集中,两种框架皆高于基准数据。尤其在testLR-4 中大幅高于基准数据。说明本文提出的模型在低质量图像识别中能大幅提升识别率,且泛化能力较强。

5 结语

本文提出了一种提升图像识别率的深度学习框架,并使用EnCNN和LeNet-5作为前置网络和后置网络,基于MNIST数据集实验验证了框架的有效性,在低质量图像测试集上的手写识别率上与单纯使用低质量图像或高清图作为训练集的方法相比取得了较大提升,且在更低质量图像上的泛化能力也得到了证明。回顾本文提出的框架,前置网络EnCNN 除了直观地使用高质量图作为回归目标外,还结合了后置网络中提取的结构特征信息和类别信息,强化了EnCNN 模型的训练。最终也提高了整个框架的手写数字识别率。现提出几点展望:

1)本文在实验部分证明了该框架可以提高模糊手写体数据的识别率。但是该框架可应用于所有具有先提升图像质量再进行识别且应用深度网络的任务,譬如有噪声的字符图像识别,带有变形的字符图像识别等。

2)本文提出以EnCNN 和LeNet-5 作为前置和后置网络。其他任务中,该框架也可以使用更深更复杂的模型以适应任务的需求。

3)在实验部分,本文提出的框架在高清数据集上的表现还略差于LeNetHR 模型。在后面的工作中可以针对这个问题进行改进。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!