辜双佳 栗智
摘 要:中文場景文字识别(STR)是光学字符识别(OCR)技术的重要研究方向,在拍照翻译、无人驾驶等领域广泛应用。但是,中文场景下的文字面临着字体和字符种类多、文字背景复杂等问题。本文着眼于“中国街景”图像,基于CRNN模型提出了一种免分割、端到端的中文场景文字识别方法。首先CNN提取图像卷积特征,然后RNN进行序列特征预测,其中Bi-GRU有效抑制梯度消失或梯度爆炸,Dropout可以防止过拟合,最后引入CTC作为损失函数解决训练时字符无法对齐的问题。本文用Python实现了算法,以较好的效果完成了实验。
关键词:中文OCR;CRNN;免分割;端到端;中国街景
Chinese Scene Text Recognition based on CRNN model
Gu Shuangjia1 Li Zhi21.School of Computer Science and Engineering, Chongqing University of Technology Chongqing400054 2.School of Computer Science, Chongqing UniversityChongqing 400044
Abstract: Chinese scene character recognition (STR) is an important research direction of optical character recognition (OCR) technology, which is widely used in the fields of photo translation and unmanned driving. However, the characters in Chinese scene are faced with many problems, such as many types of fonts and characters, complex text background and so on. This paper focuses on the "Chinese street view" image, and proposes a segmentation free, end-to-end Chinese scene text recognition method based on crnn model. Firstly, CNN extracts image convolution features, and then RNN performs sequence feature prediction. Bi Gru can effectively suppress gradient disappearance or gradient explosion, dropout can prevent over fitting. Finally, CTC is introduced as a loss function to solve the problem that characters cannot be aligned during training. In this paper, Python is used to implement the algorithm, and the experiment is completed with good effect.
Keywords: Chinese OCR; CRNN; No split; End-to-End; Chinese street scene
绪论
背景及意义
图像和视频中的文字包含了丰富而精确的高层语言描述,准确有效地提取这些文字信息在多媒体检索、人机交互、机器人导航和工业自动化等领域具有重要的应用[1]。中国是一个世界性的大国,中文字符种类繁多,有篆书、楷书、行书等多种字体,如图1所示。
目前CVPR、ICCV、ECCV 等国际顶级会议,已将场景文字检测与识别列为其重要主题之一,场景文字检测与识别技术广泛运用在图片搜索和无人驾驶[2]等方面,是当前研究的一个前沿课题。场景文字识别(STR, Scene Text Recognition)是在各种复杂情况下将图像输入翻译为自然语言输出,需要包括文字检测和文字识别两个步骤,文字检测即发现文字的位置和范围,文字识别即将文字区域转化为字符信息。如图2所示。
在实际应用中, 场景文字的检测和识别往往串联在一起,能同时检测到文字位置并对其进行识别的方法被称为“端到端”文字识别方法[3]。由于中文场景中存在背景干扰、字体模糊、遮挡等多种复杂情況,如图4所示,中文场景文本识别面临更多的挑战。
近几年,国内外大量的专家学者们也关注到了这个方面。Wang[4]等最早提出用深度学习的方法实现文字检测,用卷积神经网络对每一处滑动窗进行分类。但这类方法算法复杂度高又不能够完全实现端到端的训练和测试。Zhou等[5]提出支持多方向文字定位的EAST网络,该方法可以检测各个方向的文字,但是对较长文字检测效果不佳,感受野不够长。杜薇[6]等人在验证码识别研究中指出字符分割有很明显的弊端,如在文字重叠度高且文字结构不规范时分割难度较大,准确率低、效率低等问题。
研究内容
综上,本文立足于“中国街景”,基于CRNN模型对图像进行无分割、端到端的识别。CRNN并不像传统的字符识别算法那样对整行的字符串进行分割后单字识别,而是直接整行循环卷积识别。这样就大大提高了识别正确率[7]。同时,训练集的标注也更加简单,以行为单位进行文字标注[8]。
CRNN模型对街景图像中不定长度的字符串进行识别,该模型将整行文字作为一个文本单元,对图像区域中的文字行进行预测,返回文字行的内容,直接端到端识别这个单元内的文字序列。首先CNN提取图像卷积特征,然后RNN进一步预测图像卷积特征中的序列特征,其中Bi-GRU有效抑制梯度消失或梯度爆炸,Dropout可以防止过拟合,最后引入CTC损失函数解决训练时字符无法对齐的问题。我们用Python实现了算法,在飞浆平台上完成了实验,提交结果表明该模型具有良好的正确识别率。
CRNN模型
卷积循环神经网络(CRNN, Convolutional Recurrent Neural Network)是一种新型的深度神经网络模型,将CNN、RNN和CTC三个模块有机结合。CRNN网络结构如图5所示。
其中卷积层CNN针对背景复杂的输入图像“母婴用品”,提取图像卷积特征,得到特征图(feature map)。循环层RNN对CNN输出的每一帧特征序列进行预测,其中Bi-GRU有效抑制梯度消失或梯度爆炸,Dropout可以防止过拟合,RNN输出未对齐的预测标签序列“母-婴婴-用用用-品”。最后经过损失函数CTC获取最大概率,对齐字符并输出标签序列“母婴用品”。
CNN
卷积神经网络(CNN, Convolutional Neural Network)是第一个多层神经网络结构学习的算法,具有很强的鲁棒性和抗干扰性。CNN由输入层、卷积层、激活层、池化层、全连接层以及输出层构成[9]。
(1)卷积层。CNN的核心,用于提取特征,卷积核对图像像素进行卷积,计算卷积核和图像像素之间的点积产生输出特征图[10]。
(2)激活层。CRNN采取了ReLu函数作为激活函数。ReLu函数具有宽的激活区域,
并且单侧移植,稀疏激活,缓解网络的过拟合[11]。
(3)池化层。池化层进一步细化特征,保留主要特征,舍弃冗余特征。CRNN采取了最大值池化,它用大小为 2*2 的矩阵传递拥有最多特定属性的像素[12]。
(4)全连接层。全连接层内的每一个神经元都与之前层每一个神经元相连可以接收
到之前层所有的局部信息。
本模型中,输入图像为(Height,Width,Channel),其中Height=48,Channel=3。CNN提取输入图像的卷积特征图,维度从3维扩充到512维,维度增加有利于表达特征。
RNN
循环神经网络(RNN, Recurrent Neural Network)能够访问上下文信息,因此适合序列标记任务[13],广泛应用于自然语言处理(NLP)中。对于本文要解决的中文场景文字识别问题,RNN能够解决了不定长度中文文字识别的问题。
Bi-GRU。门控循环单元(GRU, Gated Recurrent Unit)能够有效捕捉长序列之间的语义关联,缓解梯度消失或梯度爆炸现象。GRU的核心结构分为两个部分:更新门和重置门。双向门控循环单元(Bi-GRU, Bi-directional Gated Recurrent Unit)在隐藏层引入额外的一层神经单元,保证了同时处理上下文的能力。本文使用了Bi-GRU模型,在捕捉长序列语义关联时, 能有效抑制梯度消失或爆炸。
Dropout
Dropout是Hinton[14]提出的,训练神经网络模型时,如果训练样本较少,容易出现过拟合,Dropout可以暂时移除神经网络中的单元,进而防止过拟合。图8为没有用Dropout的标准神经网络和应用了Dropout的神经网络。
CTC模型。连接时序分类(Connectionist Temporal Classification, CTC)也叫连结主义时间分类,用来解决输入序列和输出序列难以一一对应的问题。CTC将循环层输出的每帧预测结果概率值转换成标签序列进行输出,使得输入序列和输出序列对齐。数学模型上,CTC可以看作根据输入的每帧预测信息,寻找具有最高概率的标签序列进行输出[15]。CTC的损失函数[16]定义为:
实验
本次实验的“中国街景”图像来自飞浆平台,共33万张图片,其中21万张图片作为训练集,12万张作为测试集。图像经过一些预处理,将文字区域利用仿射变化,等比映射为一张高为48像素的图片。最终实验准确率达到78.87%。
结语
本文立足于“中国街景”,基于CRNN模型进行无分割、端到端的识别,将街景图像中的整行不定长度的文字作为一个文本单元,对图像区域中的文字行进行预测,返回文字行的内容。我们计划下一步从参数上入手,进一步提高正确识别率。
参考文献:
[1]YE Q X, DAVID D. Text Detection and Recognition in Imagery: A Survey[J]. IEEE transactions on pattern analysis and machine intelligence, 2015, 37(7).
[2]赵逸群,刘富,康冰.基于车牌检测的前方车辆识别方法[J].吉林大学学报:信息科学版, 2019, 37:168.
[3]白翔,杨明锟,石葆光,廖明辉.基于深度学习的场景文字检测与识别[J].中国科学:信息科学, 2018, 48(05): 531-544.
[4]WANG T, WU D J. COATES A, et al. End-to-End Text Recognition with Convolutional Neural Networks. 2012 International Conference on Pattern Recognition( ICP R 2012), 2012.
[5]ZHOU X, YAO C, WEN H, et al. EAST: An Efficient and Accurate Scene Text Detector[J]. 2017.
[6]杜薇,周武能.基于CTC模型的無分割文本验证码识别[J].计算机与现代化, 2018(09): 48-51.
[7]陈强,吴锴,柏云涛.基于深度学习的车牌识别系统开发研究[J].现代计算机, 2019(35): 63-66+80.
[8]LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.
[9]Tan T, Qian Y, Hu H, et al. Adaptive very deep convolutional residual network for noise robust speech recognition[J]. IEEE/ACM Transactions on Audio, Speech, and Language Processing, 2018, 26(8): 1393-1405.
[10]BOUVRIE J. Notes on convolutional neural networks[R]. Cambridge, MA: MIT, 2006.
[11]O'SHEA K, NASH R. An introduction to convolutional neural networks[J]. arXiv preprint arXiv: 1511. 08458, 2015.
[12]AI 科技大本营.详解计算机视觉五大技术[J/OL].(2018-04-19)[2019-08-03].https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/80016353.
[13]GRAVES ALEX. Supervised sequence labelling with recurrent neural networks[J]. Studies in Computational Intelligence, 2008, 385(5): 37-45.
[14]Hinton G E, Srivastava N, Krizhevsky A, et al. Improving neural networks by preventing co-adaptation of feature detectors[J]. Computer ence, 2012, 3(4): págs. 212-223.
[15]石鑫, 董宝良,王俊丰.基于CRNN的中文手写识别方法研究[J].信息技术, 2019, 43(11): 141-144+150.
[16]GRAVES A, JAITLY N. Towards end-to-end speech recognition with recurrent neural networks[C].International conference on machine learning, 2014: 1764-1772.
作者簡介:辜双佳(1994— ),女,汉族,重庆人,硕士,研究方向:信息安全、深度学习。