基于CNN及RPN技术的文字识别应用
扫描二维码
随时随地手机看文章
引言
文字识别是一项十分必要的技术。我们的计算机处理计算的能力强大,但强大的计算能力导致需要的输入量也随之增大,而对于原始数据录入的水平则相形见绌,大量的人力为此消费,有时即便浪费人力也不能达到目的,因此有了文字识别的发展。从20世纪50年代到今天,人们已经从最开始简单的光学识别发展到了现在基于深度学习的自然文字识别。
深度学习属于机器学习的新领域,根据建立类似于人脑的层次性的模型,输入数据通过高层一步一步的信息提取,可以通过潜在的信息映射出场景建立之间的联系。近些年来,人工智能应用于各产业的自动生产,逐渐代替了人工,开辟了新纪元。在人工生成及制作领域,如何识别自然场景之下的文字也成为了研究的热点。
自然场景中的文本识别不同于普通的文本识别。普通的文本识别具有排列简单、背景单一等特点,识别起来比较方便,识别的算法比较简单。自然场景中的文字识别,譬如书写体文字及自然生活中的文字,具有背景复杂、文字出现比较杂乱的特点,普通算法无法完成此类文字识别。所以,采用基于CNN的文字识别算法抽取文字信息进行识别成为了现在比较流行的趋势,那么增加预训练也可以一定程度上帮助提高精确度。
RPN是区域提取网络,此类网络可以抽取图片的部分区域(此区域包含需要判别的文字)。RPN区域具有分离图片中的背景及文字的作用,通过RPN可以提取出文字信息,从而进行单个文字识别。区域分为9个前景/背景的可能性,通过不同的长宽比得出感兴趣区域,从而简单快捷地分离图片文字及背景信息。
下面通过图1分析文本文字识别及自然场景下文字识别的区别,如图1左边所示:文本下的文字识别可以看出文字排列非常工整,字与字之间的距离也有明显的标定,字的大小比较固定,字体比较单一。如图1右边所示:文本比较杂乱,出现顺序的毫无规律,字的大小不一致,字体不单一,背景也较为杂乱,相对于文本中的文字识别,难度大大提升,需要先提取文字区域再进行文字识别,最终进行语言文字内容的语义判断,从而完成整个识别过程,相对来说较为复杂。
本文主要描述:(1)卷积神经网络的意义及主要实现过程;(2)区域提取网络如何进行前景/背景的识别,以及训练的方式方法和参数;(3)整体流程,如何通过卷积神经网络及区域提取网络进行自然场景下的文字识别;(4)总结场景文字识别的挑战及未来前景展望。
1卷积神经网络(CNN)
对卷积神经网络的研究可追溯至20世纪90年代,日本学者福岛邦彦提出的基于生物视觉皮层的neocognition模型,这是一个具有深度结构的神经网络,并且是最早被提出的深度学习算法之一。其中的设计能够进行特征提取和筛选,部分实现了卷积神经网络中卷积层和池化层的功能,被认为是启发了卷积神经网络的开创性研究。
现在的卷积神经网络由输入层、隐含层和全连接层组成,输入层完成对所需数据的采集,隐含层完成对数据的提取和整理,全连接层将提取到的特征综合进行判断,完成最终的输出。隐含层承担了整个网络的核心提取任务,其中包含了卷积层和池化层,在卷积层中,包含卷积核的大小、步长和填充,这三点决定了输出的特征,因此可针对我们需要处理的数据采用不同的参数进行处理,以达到更好的效果;在初步提取到数据特征后,输出的数据会被传递至池化层进行特征的选择及信息的筛选,这一步可为全连接层极大地减少计算量,虽然可能会影响精度,但更加便捷:当数据经过池化层处理后,会送入全连接层处理,全连接层会将数据特征进行分类,完成最终的特征分类,并最后输出结果。
图2所示为卷积神经网络,可以看出卷积神经网络是通过滑动窗口(H,W区域滑动)对于二维信息进行提取,最后抽取信息得到具体的文字类别。图2左侧VGG16是具体的卷积网络的框架,16表示具有16层,VGG还包括VGG9、VGG11、VGG13等等。VGG是一种深度卷积神经网络的构架,是牛津大学在2014年提出的,具有提取深度特征的能力。从图2右侧可以看到第五层卷积网络的特征提取过程。
2区域提取网络(RPN)
区域提取网络是一种全卷积神经网络,此类网络通过sGD(随机提取下降法)进行训练。RPN通过图片中心及采样策略训练进行小批量训练,样本中包含各种均匀的正样本和负样本。更新所有待选区域的损失函数,则会趋向于负样本,因为负样本会占据较大比例,因此我们随机选择图片中的256个区域,小批量学习计算损失函数,其中正样本及负样本比例为1:1。
每个中心点包含9个区域,其中9个待选区域包含4个参数(长宽及中心点(%,y))。对应9个待选区域还对应具有2个参数(0或1对应是背景还是前景)。
图3表示感兴趣区域提取的具体过程,通过模糊文字以及连续文字,对于文字周边进行画框,找到文字的具体位置,并确定方向画出矩形框图。经过选择的区域标定不一致,有的选择单个字母作为选择框,有的选择单词作为选择框,但同样都能得到较好的选择区域及文字识别结果。
3方法应用过程
在识别书写文字的过程中,首先训练网络,在前向传播过程中,输入的图形数据经过多层卷积层的卷积和池化处理,提取出特征向量,将特征向量传入全连接层中,得出分类识别的结果。当输出结果与我们的期望值相符时,则输出。由于采用梯度下降的训练方式,同时为使训练效果更好,对用作原始数据的图片进行预处理,预处理主要包括文本朝向判断调整、排噪、版面分析、降噪、行列分割、字符识别、循环神经网络(RNN)语义检测这些方面。图片的模糊、低精度等问题很可能造成网络训练的错误,让识别难以进行:调整文字顺序,使文字在同一朝向,给图片进行降噪处理,调整版面等,可以使图片更精确,网络提取的特征更精确,同时可以减少训练时间,提高准确度。RNN语义检测的辅助训练也让我们的网络识别更加高效。
基于卷积神经网络及区域提取网络的有机结合,先通过卷积神经网络进行特征压缩以及信息抽取,继而通过区域提取网络提取前景信息,再通过提取出的前景信息判断具体的文字,最后通过RNN进行语义检测进而改善网络的识别效率,防止连笔字及不清晰的文字难以通过单个字判断出文字的类别。
为减少我们的工作,图片经处理后进行数据增强以获得更多初始数据,主要采用的方法是将现有图片数据进行反转、对称、旋转、放缩、平移等操作后作为新的图片,神经网络对于处理后的图片会作为新的数据进行处理,起到训练的效果。此处有一点需要注意:对于二次处理的新照片一定要保证对识别过程有贡献,不能修改成为在识别过程中一定无法看到的情况,防止给网络增加无关数据,浪费计算资源。数据没有问题后,网络的输出值和我们的期望不符时,则进行反向传播过程,求出结果与期望值的误差,再将误差一层一层返回,计算出每一层的误差,然后进行权值更新。该过程的主要目的是通过训练样本和期望值来调整网络权值。当网络参数经修改,成功输出我们对输入的期望时,网络训练完成,投入使用。
4结语
自然场景下的文字识别,对于生活中抓拍图片的文字识别、物流单子信息的输入等复杂场景下的文字识别都具有极大的贡献,可以减少人力、物力的消耗。自然场景下的文字识别具有背景复杂、文字杂乱等特点,所以识别起来比较复杂,准确率比不上文本中的文字识别。本文所述基于卷积神经网络及区域提取网络的文字识别,能通过循环神经网络进行自然语言的处理(进一步精修文字,譬如文字中有个别字模糊或识别不出,可通过循环神经网络进行自然语言处理,理解上下文进行文字的猜测),因而具有较大的现实意义。此类文字识别不只是简单地进行文字识别,同样进行文字的语言精确度的检测。在未来的发展中,文字识别会在各行各业得到应用,从而大大减少人力、物力的消耗,具有巨大的、潜在的建设性价值。