1、基于卷积神经网络的自然场景中数字识别 周成伟 南京邮电大学计算机学院 摘 要: 从复杂的图片背景中提取文本信息一直是计算机视觉中的热点与难点问题。近年来, 随着卷积神经网络在图像识别研究的突破性进展, 传统的人工提取图像特征方式逐渐为深层网络学习特征方式所取代, 而应用卷积神经网络 (CNN) 的场景文本识别方法也越来越受到广泛的关注。为此, 提出了自然场景下基于卷积网络结构的数字识别改进方法。该方法能够对目标区域进行检测, 并进行端到端的数字字符识别训练, 数字识别部分提取的特征还可用来初始化目标检测的网络部分, 以减少特征的重复提取并提高训练速度。需要处理的图像输入无需固定格式, 只需输入
2、原始图像即可, 可减少图像预处理过程及其对原始图像数据的不良影响, 提高图像识别的精度。基于谷歌街景数据集 (SVHN) 与MSRA-TD500、ICDAR 2013 数据集的数字字符识别验证结果表明, 该方法的识别效果优于其他已有的识别方法。关键词: 卷积神经网络; 自然场景; 数字识别; 端到端; 作者简介:周成伟 (1991-) , 男, 硕士研究生, 研究方向为图像处理、机器学习。收稿日期:2016-08-21基金:教育部专项研究项目 (2013116) Recognition of Numbers in Natural Scene with Convolutional Neural
3、NetworkZHOU Cheng-wei College of Computer, Nanjing University of Posts and Telecommunications; Abstract: Extracting text information from a complex background image has been a hot topic and difficulty in computer vision.With the breakthrough of Convolutional Neural Network ( CNN) in image recognitio
4、n in recent years, the field of computer vision has gradually abandoned the way of extracting image features by manual methods, instead of using the deep network to automatically learn features.Using of scene text recognition of CNN is paid more and more attention.Therefore, an improved number recog
5、nition method of network structure convolution in natural scenes is proposed.It achieves the goal area detection and digital character recognition end-to-end training, and recognized feature can be used to initialize the network portion of target detection so as to reduce duplication feature extract
6、ion and improve the training speed.The image input needs to be processed does not require a fixed format but original image, which reduces the poor influence of image preprocessing on its original image data and improves the recognition accuracy.It is showed in the verification based on SVHN, MSRA-T
7、D500 as well as the ICDAR 2013 that it is superior to other recognition methods in recognition performance.Keyword: convolutional neural network; natural scene; number recognition; end to end; Received: 2016-08-211 概述光学字符识别 (OCR) 1-2, 也就是从扫描文档中提取文本信息, 可以看作是一个已经解决的计算机视觉问题, 而不同于扫描文档的识别, 自然场景中的字符识别需要面对
8、复杂的背景和形形色色的噪声。这就导致类似于人工提取特征的方法3-4很难取得好的效果。所以复杂场景下的识别任务一直是计算机视觉领域的一大难题, 直到以 CNN5为代表的深度学习的兴起, 才取得了突破性进展。CNN 网络结构中感受野 (Receptive field) 的概念来源于 1962 年对猫的视觉皮层细胞的研究6, 1982 年 Fukushima 基于感受野的感念提出了神经认知机 (Neocognitron) , 可以看作是卷积神经网络的第一个实现网络。早在 1989 年, Y.Lecun 等就提出了一个五层的卷积神经网络 Le Net7, 完美解决了手写数字的识别, 算是卷积神经网络由
9、理论走向实际应用的一个开端。但是由于当时训练样本的匮乏和计算能力的不足, 导致 CNN 并没有流行起来, 反而是 SVM 等手工设计特征的方法在小样本集上取得了较好的效果, 从而成为主流。随着大数据时代的来临, CNN 网络本身的不断改进, 以及以 GPU 为主的并行计算的盛行8-9, 到了 2012 年, Alex Krizhevsky 等利用一个八层的深层卷积网络 Alex Net10在当年的 Image Net 图像分类竞赛中取得了冠军, 并远超第二名十个百分点, 让 CNN 再次回到了人们的视线中。如今, 由于在图像处理中的优势, CNN 几乎成为现在图像处理领域的主要算法, 因此越来
10、越多的研究人员尝试把 CNN 用于自然场景下的字符识别中11-12, 取得了很好的效果。以文本识别的子集数字的识别为研究对象, 针对现有的识别方法, 提出两点改进。第一, 端到端的训练过程, 自然场景下的文本识别不同于 OCR 的一个主要方面是增加了一个文本区域检测与定位的过程, 这样一个识别任务就分成了区域检测和文本识别两个子任务, 类似于物体检测的过程13-15, 因此, 使用一个深层的卷积网络结构负责提取图像的特征, 区域检测和文本识别两个子任务共享底层网络结构提取的特征, 减少了网络训练时间。第二, 利用一层特殊的池化层来消除网络输入的大小限制, 该池化层类似于SPP16中的按比例池化
11、方式, 由于卷积网络的最后几层往往使用全连接层表示各种特征的组合, 而全连接层必须是固定大小的, 这就导致了网络的输入层只能是固定的大小, 而固定大小的输入需要对图像进行缩放和裁剪, 这就破坏了图像的原始比例, 同时降低了识别精度。通过在最后一层卷积层后加上一个按比例的池化层, 让网络可以接受任意大小的输入, 同时全连接层将获得经过池化层处理后的固定大小的输入。自然场景下的数字识别属于自然场景下文本识别的范畴, 对自然场景下文本识别问题的研究始于 20 世纪 90 年代17, 但是直到现在仍然是一个没有解决的难题。一般来说, 自然环境下的文本识别任务包含两部分:文本区域检测和字符识别。文本区域
12、检测中使用的方法主要包括两类:滑动窗口18-19和连通区域20。滑动窗口通过使用不同大小的子窗口在图像上不断位移滑动来获得可能包含有文本的候选区域, 然后计算出该区域的特征, 用训练好的分类器对特征进行筛选, 判定该区域是否包含文本21-22。连通区域是一定范围内具有相似像素值的相邻像素点组成的像素集合, 基于连通区域的方法从图像的像素级别来识别文本区域和非文本区域, 其中典型的算法包括 ERs/M SERs23-24和 SWT24。不管是滑动窗口检测还是连通区域分析, 决定它们性能的关键是有一个好的分类器, 而分类器中的特征大多用人工的方式设计, 例如 SIFT、SURF 和 HOG 等。人
13、工设计的特征具有很好的解释性, 但是在面对复杂的背景、多变的字体和各种形变时, 就显得比较呆板, 没法提取出更一般的特征。而且人工方式需要花费大量时间设计特征。由于人工提取特征存在种种不足, Y.Netzer 等25提出使用 K-mean 等无监督学习模型自动提取图像中的特征, 用于数字识别, 其效果大大优于手工提取的方式。随后 CNN 在物体检测上取得了突破性进展, 越来越多的研究人员尝试将CNN 用于文本信息的识别问题26-27。例如, 文献28使用了一个五层的 CNN, 并且使用多层卷积层的输出作为全连接的输入, 在门牌号识别的问题上取得了当时最好的精度。李钊等29使用 CNN 提取出的
14、特征进行图像检索, 并与基于人工提取特征的方法进行对比。Q.Guo 等30提出将 CNN 和在语音识别中取得了非常好效果的隐马尔可夫模型 (HMM) 结合起来, 将 CNN 输出的结果作为 HMM的转移概率, 将两种模型巧妙地结合起来。所采用的模型借鉴了前人的研究成果, 使用一个深层的 CNN 模型, 但又针对存在问题进行了适当改进。针对目前自然场景下数字识别系统仍然存在的不足, 主要进行两点改进:定位与识别均利用卷积神经网络完成, 并共享特征, 减少训练时间;可以输入任意尺寸的图片作为输入, 减少裁剪、缩放带来的信息丢失。2 目标网络结构在所采用的系统中, CNN 网络以一个任意大小的彩色图
15、片 (RBG 三色维度) 作为输入, 输出所有字符区域的位置和标识, 其中网络的底层特征的提取采用一个四层的卷积神经网络。第一层的卷积层使用大小为 77 的卷积滤波器, 卷积步幅为 2, 该层共有 48 个卷积滤波器, 输出 48 个任意大小的特征图。获得卷积层的输出后, 使用 BN (Batch Normalization) 31进行归一化处理, 然后使用 Re LU 作为非线性激活函数, 最后连接一个窗口大小为 33 的 Max pooling层, 采样步幅为 2。第二层的卷积层使用大小为 55 的卷积滤波器, 卷积步幅为 2, 该层使用 96 个卷积滤波器, 输出 96 个任意大小的特征
16、图, 随后采用和第一层一样的处理策略。第三层的卷积层使用大小为 33 的卷积滤波器, 卷积步幅为 1, 并设置 pad 为 1, 使输入图的维度等于输出图, 该层共使用 96 个卷积滤波器, 输出 96 个任意大小的特征图。第四层的卷积层使用大小为 33 的卷积滤波器, 卷积步幅为 1, 设置 pad 为 1, 使用 48 个卷积滤波器, 使用 Re LU 作为激活函数。通过上述的四层卷积操作, 获得了一组原始特征, 这个特征可以看作是一个 48通道的图像, 然后使用滑动窗口策略在这个特征图上提取可能的文本区域, 对每一个提取出的可能文本区域使用一个池化层, 将输出的大小固定到 77 的范围,
17、 随后将结果输入一个三层的全连接网络并使用 Sigmoid 作为二分类函数判断区域是否包含数字。其中第一层全连接网络 1 000 个节点, 第二层 11 个节点, 第三层 1 个节点;第二层全连接网络使用 Softmax 函数作为数字分类器, 判别过程和识别过程共享前两层提取的特征组合。整体网络结构如图 1 所示。图 1 一个五层的卷积网络连接两个共享卷积特征图的全连接网络 下载原图3 归一化处理选用 BN 算法训练网络, 用于解决随机梯度下降法 (SGD) 训练网络时需要人工调参的缺点, 例如学习率、初始权重、权重衰减系数、Dropout 比率等。BN 可以当作卷积操作和激活函数之间的单独一
18、层, 将卷积输出的 d 维数据 x= (xxx) 归一化至均值 0、方差 1, 然后输入激活函数。其中, k 为一个训练批次中包含的样本个数。最后引入两个可学习参数 、, 使归一化后的数据保持原有的特征分布。3.2 按比例的池化为了最终获得尺寸固定的特征并传入全连接层进行分类, 在使用滑动窗口获得尺度不同的子窗口后, 接上一层特殊的池化层, 因为所针对的是数字的识别任务, 除了关键特征外对图像的分辨率并不敏感, 所以采用 Max pooling 将任意大小的子窗口按比例压缩到一个 77 的范围。3.3 目标函数 (Loss Function) 整个 CNN 结构中包括一个输入和三个输出, 分别
19、是:判断候选区域是否是文本的输出 O1, 识别选定区域中的数字产生的输出 O2, 用于定位文本区域产生的位置信息 O3。其中 O3包含四个参数 ox、oy、ow、oh, 分别代表区域左上角的横坐标、纵坐标、区域宽、区域高。O1和 O2属于分类问题的输出, O 3为回归问题的输出, 最后的目标函数为三者的联合函数:4 实验4.1 数据集使用 Street View House Numbers (SVHN) 数据集进行预训练, 并利用从 ICDAR 2013 数据集、MSRA-TD500 和谷歌街景中收集的包含数字的样本进行微调。SVHN是由 Yuval Netzer 等从谷歌街景中收集整理的一套
20、数据集, 其中包括 30 000张训练样本, 10 000 张测试样本, 但是因为针对的问题不同, 该数据集主要针对识别任务, 所有样本都是经过裁剪的, 已经将大部分背景通过人工分离了出去, 如图 2 所示。这和实验目的有所不同, 所以采用了该数据集作预训练处理, 由于目前基于自然场景下的字符识别任务多以英文文本为主, 但是像 ICDAR 等数据集中仍旧包含很多数字样本, 整理了 ICDAR 2013 数据集和 MSRA-TD500 数据集中所有数字符号样本, 并从谷歌街景中收集了一部分样本, 组成一个 5 000 张训练样本的数据集, 如图 3 所示。图 2 SVHN 数据集中的训练样本 下
21、载原图图 3 ICDAR 2013 和 MSRA-TD500 数据集中的训练样本 下载原图4.2 训练过程卷积网络的训练主要分为两部分:预训练和微调。模型采用了多个任务共享底层特征的结构, 分类、判断、定位三个操作都是基于前面四个卷积层提取的特征。这四层的卷积操作也可以看作是一个消除背景, 强化字符区域的过程, 使用SVHN 数据集预训练前四个卷积层, 让网络获得对数字字符特征敏感的初始值, 用于初始化网络。微调部分就是用包含复杂背景的数据集对网络进行端到端训练, 使网络得到准确的三个输出。4.3 实验结果系统在预训练的过程中使用四层卷积网络和两层全连接网络, 在 SVHN 数据集下的结果如图
22、 4 所示。整体效果优于基于人工特征提取的方法。然后将整个网络进行微调后, 在 MSRA-TD500 数据集上的数字识别子集中获得的结果见表 1, 在ICDAR 2013 的子集中获得的结果见表 2。在所整理的数据集上, F 度量为 78.34%,均优于类似的英文文本识别的任务。图 4 预训练中在 SVHN 数据集上的 P-R 曲线 下载原图表 1 在 MSRA-TD500 数据集中的实验结果对比 下载原表 表 2 在 ICDAR 2013 数据集上的实验结果对比 下载原表 5 结束语设计了一个用于自然场景下数字识别的端到端卷积神经网络, 将复杂的检测定位和识别任务融合到了一个卷积网络中, 多
23、个任务共享底层的特征, 减少了重复计算, 同时避免了繁琐的人工特征提取, 并且获得了很好的识别效果。但是整个网络中仍然有值得继续研究的地方, 比如网络的最终输出有三个, 其中两个输出是分类问题, 是否可以将两个输出合并为一个多分类问题, 共享底层特征的同时也共享高层的特征组合;所采用的模型最终的输出结果是单个数字字符, 后续工作可以在得到字符标识的基础上用基于聚类的算法将结果以字符串的形式输出等。参考文献1Nagy G.At the frontiers of OCRJ.Proceedings of the IEEE, 1992, 80 (7) :1093-1100. 2Mori S, Suen
24、 C Y, Yamamoto K.Historical review of OCR research and developmentJ.Proceedings of the IEEE, 1992, 80 (7) :1029-1058. 4Epshtein B, Ofek E, Wexler Y.Detecting text in natural scenes with stroke width transformC/Computer vision and pattern recognition.s.l.:IEEE, 2010:2963-2970. 5焦李成, 杨淑媛, 刘芳, 等.神经网络七十
25、年:回顾与展望J.计算机学报, 2016, 39 (8) :1697-1716. 6Mishra A, Alahari K, Jawahar C V.Top-down and bottom-up cues for scene text recognitionC/IEEE conference on computer vision and pattern recognition.s.l.:IEEE, 2012:2687-2694. 7Lecun Y, Boser B, Denker J S, et al.Backpropagation applied to handwritten zip cod
26、e recognitionJ.Neural Computation, 1989, 1 (4) :541-551. 8余凯, 贾磊, 陈雨强, 等.深度学习的昨天、今天和明天J.计算机研究与发展, 2013, 50 (9) :1799-1804. 9刘建伟, 刘媛, 罗雄麟.深度学习研究进展J.计算机应用研究, 2014, 31 (7) :1921-1930. 10Krizhevsky A, Sutskever I, Hinton G E.Imagenet classification with deep convolutional neural networksC/Proceedings of
27、 international conference on neural information processing systems.s.l.:s.n., 2012:1097-1105. 11Wang T, Wu D J, Coates A, et al.End-to-end text recognition with convolutional neural networksC/21st international conference on pattern recognition.s.l.:IEEE, 2012:3304-3308. 12黄攀.基于深度学习的自然场景文字识别D.杭州:浙江大
28、学, 2016. 14黄凯奇, 任伟强, 谭铁牛.图像物体分类与检测算法综述J.计算机学报, 2014, 37 (6) :1225-1240. 15邓宗平, 赵启军, 陈虎.基于深度学习的人脸姿态分类方法J.计算机技术与发展, 2016, 26 (7) :11-13. 16He K, Zhang X, Ren S, et al.Spatial pyramid pooling in deep convolutional networks for visual recognitionJ.IEEE Transactions on Pattern Analysis and Machine Intell
29、igence, 2015, 37 (9) :1904-1916. 17Ohya J, Shio A, Akamatsu S.Recognizing characters in scene imagesJ.IEEE Transactions on Pattern Analysis and Machine Intelligence, 1994, 16 (2) :214-220. 18Wang Q, Lu Y, Sun S.Text detection in nature scene images using two-stage nontext filteringC/13th internation
30、al conference on document analysis and recognition.s.l.:IEEE, 2015:106-110. 19Gouk H G R, Blake A M.Fast sliding window classification with convolutional neural networksC/Proceedings of the29th international conference on image and vision computing.New Zealand:ACM, 2014:114-118. 20Ye Q, Doermann D.T
31、ext detection and recognition in imagery:a surveyJ.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37 (7) :1480-1500. 21Zhang Z, Shen W, Yao C, et al.Symmetry-based text line detection in natural scenesC/Proceedings of the IEEE conference on computer vision and pattern recognit
32、ion.s.l.:IEEE, 2015:2558-2567. 22Jaderberg M, Vedaldi A, Zisserman A.Deep features for text spottingC/European conference on computer vision.s.l.:Springer International Publishing, 2014:512-528. 23Matas J, Chum O, Urban M, et al.Robust wide-baseline stereo from maximally stable extremal regionsJ.Ima
33、ge and Vision Computing, 2004, 22 (10) :761-767. 24Nistr D, Stewnius H.Linear time maximally stable extremal regionsC/European conference on computer vision.Berlin:Springer, 2008:183-196. 26金连文, 钟卓耀, 杨钊, 等.深度学习在手写汉字识别中的应用综述J.自动化学报, 2016, 42 (8) :1125-1141. 27陈浩翔, 蔡建明, 刘铿然, 等.手写数字深度特征学习与识别J.计算机技术与发展,
34、 2016, 26 (7) :19-23. 28Sermanet P, Chintala S, Lecun Y.Convolutional neural networks applied to house numbers digit classificationC/21st international conference on pattern recognition.s.l.:IEEE, 2012:3288-3291. 29李钊, 卢苇, 邢薇薇, 等.CNN 视觉特征的图像检索J.北京邮电大学学报, 2015, 38:103-106. 30Guo Q, Lei J, Tu D, et al
35、.Reading numbers in natural scene images with convolutional neural networksC/International conference on security, pattern analysis, and cybernetics.s.l.:IEEE, 2014:48-53. 31Ioffe S, Szegedy C.Batch normalization:accelerating deep network training by reducing internal covariate shiftC/International
36、conference on machine learning.s.l.:s.n., 2015:448-456. 32Yin X C, Yin X W, Huang Kaizhu, et al.Robust text detection in natural scene imagesJ.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36 (5) :970-983. 33Yin X C, Pei W Y, Zhang J, et al.Multi-orientation scene text detect
37、ion with adaptive clusteringJ.IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37 (9) :1930-1937. 34Kang L, Li Y, Doermann D.Orientation robust textline detection in natural imagesC/Proceedings of computer vision and pattern recognition.s.l.:s.n., 2014. 35Yao C, Bai X, Liu W Y.Detecting texts of arbitrary orientations in natural imagesC/Proceedings of computer vision and pattern recognition.s.l.:s.n., 2012. 36Yao C, Bai X, Liu W Y.A unified framework for multi-oriented text detection and recognitionJ.IEEE Transactions on Image Processing, 2014, 23 (11) :4737-4749.