李新炜 殷韶坤
摘要
在本论文中使用了深度学习的DenseNet网络及CTC进行了深度学习,用来实现汉字印刷体OCR的功能,同时与传统OCR开源软件Tesseract进行了性能对比,证明了深度学习的效果好,速度快的优势,但又暴露了深度学习需要的较多数据进行训练的缺点。
【关键词】深度学习 DenseNet TensorflowTesseract
1引言
本文会通过在印刷体文字OCR领域对两种技术进行一些对比,验证、讨论深度学习对比传统机器学习有什么优点,深度学习未来是否会完全取代其他的人工智能算法。
2算法介绍
2.1机器学习与深度学习
机器学习是经由各种算法用大量的数据来“训练”让机器实现人工智能的一种方式。利用算法来解析现实中的数据做出预测和做出判断后再从中学习并不断完善的过程。这与传统的使用固定编码来解决特定任务的软件程序是不同的。
深度学习是机器学习的其中一种技术,其训练深度神经网络也会用到有、无监督的方法。但由于近年来该领域发展迅猛,一些独有的学习手段相继被提出,因此越来越多的人将其单独看作一种学习的方法。
2.2 DenseNet
DenseNet是一种具有密集连接的CNN。DenseNet有以下长处:首先如要在ImageNer分类数据集上达到类似的准确率,DenseNer网络结构比ResNet节省了一半的参数量。其次只需要ResNet算法计算量的50%左右,DenseNet算法就可以达到与ResNet相当的精度。最后该算法有较强的抗过拟合能力,密集连接具备正则化效果,极大的降低了对训练集数量较少的任务的过拟合量。
2.3 Tesseract与Tensorflow
Tesseract是一个开源光学字符识别引擎,它是基于Apache许可证的自由软件,支持多种的操作系统。由于其Tesseract4.0版本应用了基于深度学习的算法,因此在这里使用的是之前的版本用来做对比试验。Tensorflow属于第二代人工智能学习系统,由谷歌公司研发。它可用于语音识别或图像识别等多项机器学习和深度学习领域,在本文中主要通过使用Tensorflow来进行深度学习训练用来对比识别效果。
3算法实现
3.1数据集的准备
首先选择基于TensorFlow通过DenseNet和CTC进行文字识别的训练,其中数据利用了中文语料库,使用模糊、拉伸、灰度、字体等转变方式随机生成了大量图片。图片分辨率统一为280x32,共约364万张图片,按照99:1划分成训练集和验证集,每个样本固定10个字符,字符随机截取自语料库中的句子。
3.2基于TensorFlow对算法的实现
3.2.1通过CTPN进行文本检测
用卷积神经网络VGG16取前五层得到一个多层矩形阵列的特征图,在这个特征图的每层里都取一个3*3的窗口特征量,并且让这个窗口特征量滑动。向一个双向的LSTM神经网络输入得到的特征量,得到一个结果为宽度x256长度的输出,然后配合长度为512的全连接层开始输出。然后能得到一个密集预测的文本结果,并用一个标准的非极大值抑制算法来处理该结果。最后将大量的文本段利用基于图的文本行构造算法组合成文本行。
3.2.2通过DenseNet和CTC进行文字识别
DenseNet网络选用Relu作为激活函数,使用了3个Dense Block层进行演算,各个Dense Block之间通过Transition结构连接在一起组成的DenseNet网络,配合CTC loss进行训练并得出最终的数据模型。该算法的数据经由DenseBlock层处理后,进行卷积操作然后传送给Transition结构进行参数整合规范,通过池化减少参数后传送给下层的Dense Block结构,从而达到较高的精度。
4与传统的OCR软件Tesseract效果进行对比
4.1使用两种方法对数据集识别效果对比
随机抽取1000张测试集图片,分别进行识别测试。测试结果如表1所示。
4.2準确率接近情况下的资源消耗对比
对Tesseract训练识别天猫工商执照图片,使用498张原图,通过人工标注后进行训练的方式,训练后准确率达到96.8%,此时使用深度学习方式识别此类图片准确率下降至97.1%,准确率相近。
5结论
显然通过深度学习训练后的模型识别效果要远好于Tesseract的效果,但是并不能说明“深度学习最终会淘汰其他传统机器学习算法”。目前深度学习在计算机视觉和自然语言处理领域的应用已经远超过传统机器学习的方法。虽然深度学习方法在机器学习领域非常热门,但通过本文的比较测试可以发现深度学习目前还存在两个问题。首先,深度学习需要大量的数据进行训练,才能表现出它的优势,面对小样本的问题,深度学习方法的效果就会差强人意,而传统的机器学习方法就可以处理;其次,在个别领域只需要采用传统的机器学习方法,便可以较好的解决问题,无需使用复杂的深度学习方法。
参考文献
[1] Graves A, Gomez F. Connectionisttemporal classification: labellingunsegmented sequence data withrecurrent neural networks[C].International Conference on MachineLearning.ACM,2006.
[2]降小龙,基于语义结构和视觉焦点的场景目标识别[D].中北大学,2016.
[3]吴杰.基于卷积神经网络的行为识别研究[D].电子科技大学,2015.