基于TensorFlow平台的卷积神经网络对OMR识别问题研究

2019-05-22 09:27鞠云霞王希常陈祥喜郑伟
无线互联科技 2019年4期

鞠云霞 王希常 陈祥喜 郑伟

摘 要:文章针对光学标记阅读(OMR)识别技术中存在的背景虚化和复杂操作导致加大人力劳动的问题,提出一种基于TensorFlow平台的卷积神经(CNN)模型架构。以提高OMR识别技术为目的,涵盖深度学习开源工具TensorFlow与神经网络研究领域,以基于TensorFlow框架构建卷积神经网络为研究对象,运用TensorFlow学习系统构建神经网络模型,实现对OMR识别问题的研究。文章利用TensorFlow对OMR输入数据进行预处理,得到TFRecord文件,再在CNN神经网络架构基础上搭建训练模型实现对OMR答题卡数据的识别,得到标准数据。并运用视图工具TensorBoard来有效显示TensorFlow模型在运行过程中的计算流图以及模型参数随着训练的变化。

关键词:OMR;TensorFlow;CNN

光学符号阅读器(Optical Mark Reader,OMR)由美国科学家20世纪60年代发明,成为国际流行的标准化符号、表格数据读取模式,在大规模信息采集中广泛使用。目前,在OMR阅卷技术中,主要采用传统的图像增强处理、图像分割、特征提取、统计分类模型等技术,在出现背景分离不好、污点、用笔较轻等问题时,其识别率明显低于人类,也容易出现误识和拒识,需要使用大量人力进行人工校验。如何实现填涂点的准确识别,减轻人工校验的繁重劳动,是考试技术中急需解决的问题,而从现在技术发展动态来看,人工智能技术是解决这个问题的最优可行的方案[1-2]。

TensorFlow作为一个开源的深度学习平台,实现了对卷积神经网络的良好支持。通过卷积神经网络(Convolutional Neural Networks,CNN),ImageNet数据集[3]中的分类错误率在2012年降低了15.3%[4],效果远远高于传统手工特征算法,如SIFI和LBP方法。本文在OMR阅卷系统识别问题的基础上,将深度学习模型中的数字图像處理技术应用到网上阅卷的试卷处理中,并通过TensorFlow平台的CNN卷积神经网络模型来研究OMR涂点识别问题。通过试验结果表明,基于神经网络模型识别的结果达到了99.9%的准确率,验证了该网络模型和框架对解决OMR识别问题的有效性。

1 相关原理

1.1 TensorFlow框架

TensorFlow是谷歌开源的一个计算机框架,该计算框架可以很好地实现各种深度学习算法,实现了对卷积神经网络的良好支持。本文汲取TensorFlow的优越性,将其应用到了本实验中去,以CNN构建网络结构,用TensorFlow做支撑,来解决OMR图像识别的实用问题。

TensorFlow框架在使用过程中,为了弱化与图像识别无关的因素,我们将输入数据进行统一的数据预处理。统一输入数据的格式,有助于在之后的模型中更加方便地处理。本研究使用TFRecord数据格式将不同格式的原始图像数据进行统一处理。而复杂的图像处理函数有可能降低训练的速度。为了加速数据预处理的处理过程,本研究利用TensorFlow多线程数据预处理技术。

1.2 CNN卷积神经网络

CNN模型的设计和训练是取得CNN高性能的关键步骤。CNN结构主要是由多个卷积层、池化层、全连接层构成。通常卷积层是将输入图像或者特征图做卷积,利用滑动窗口将图片或者特征图与卷积核做卷积,得到多个特征图;池化层将得到的特征图做一个下采样(降维),循环进行直至得到1×1尺寸的特征图,得到图像的特征向量。隔层特征图对应的特征是不一样的,第一层是特征图对应图像的颜色或灰度值特征,第二层对应着边缘特征,第三层对应着几何纹理特征等[5]。

1.2.1 卷积

卷积神经网络中的卷积层是通过函数将图片映射成特征向量,根据其对应的非线性映射关系,加入非线性激活函数,使网络模型得到学习非线性特征变换的能力。卷积原理如下:

其中:f(x)是非激活函数;ki,j是卷积核,Tjl(x,y)和Tjl+1(x,y)是连续的特征图。其中需要人为设定卷积核大小是K×K,卷积的步长是S,且小于K。通常设为1。bjl+1是指偏移量,由训练获得。

1.2.2 非线性激活函数

在线性模型中,模型的输出是输入的加权和,若一个模型的输出和输入符合以下条件,那一定为线性模型:

其中:wi,b∈R为模型的参数。线性模型最大的特点是任意线性模型的组合仍然是线性模型。然而CNN的特征提取过程是将输入数据映射成一个高维度的特征向量,这一映射关系往往需要非线性变换。因此,在CNN卷积层后添加非线性激活函数,可以将输入数据转换为非线性模型特征向量,更好地实现提取特征能力。常见的非线性激活函数有sigmoid函数:

本文为了达到更好的分类结果,采用非线性激活函数引用了Relu函数。

1.2.3 池化

池化层在卷积层之后,每一个特征面对应于其上一层的一个特征面,不会改变特征面的个数,即池化层不会改变矩阵的深度。但池化层可以缩小矩阵的大小,通过池化可以进一步缩小最后全链接层中节点的个数,进而达到减少整个神经网络中参数的目的。池化分为平均池化和最大值池化,公式如下[6]:

其中:P表示池化结果,S是指池化中滑动窗口的步长大小,K表示卷积核大小或者是需在特征图K×K邻域内进行池化。

1.2.4 正则化和逻辑回归

丢失数据技术(Dropout)是常在全链接层应用的正则化技术,Dropout技术是由Hinton提出来的[7]。当隐藏层中有大量神经元时,就会导致过于表现的模型,此时就会发生过拟合,当模型的参数数量超过输入的维度时,更容易产生过拟合。因此,为了避免出现过拟合现象,在本模型中,我们采用Dropout,它会在softmax层前先调用tf.nn.dropout函数。

逻辑回归又称logistic回归分析,是一种广义的线性回归分析模型,常用作二分类,多分类可采用Softmax回归算法,该算法通过对指定的训练数据同个标签的像素加权平均,得到每个标签在不同像素点上的权值;若该权值为负数,则说明该图片不属于该类,相反,若该权值为正值,则说明属于该类。

最后一层的全链接层的输出,可以用softmax逻辑回归(softmax gression)进行分类,目的是将数据转化为某一标签类别的概率(0~1)。计算公式如下:

其中:w和b分别为逻辑回归的权值和偏置。定义前向传播过程和损失函数:

#y_conv = tf.nn.softmax(tf.matmul(h_fc1_drop, w_fc2) + b_fc2)

#cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y_conv),reduction_indices=[1]))

2 识别过程

2.1 数据描述

根据本文试图建立的模型,制定OMR图像数据的基本标准规范,即涂点区域图像的格式、大小和灰度范围,对于大量的图像数据,TensorFlow提供了一种统一的格式来存储数据—TFRecord。TFRecord文件是以二进制进行存储数据的,适合以串行的方式读取大批量数据,虽然它的内部格式复杂,但是它可以很好地利用内存,方便复制和移动,更符合TensorFlow执行引擎的处理方式。本文所投入实验的数据集共有94 070张OMR数据图片(见图1),本实验将此数据集分为3个TFRecord文件作为实验数据集。

2.2 模型配置

本文使用的CNN模型包括两个卷积层,两个池化层,两个全链接层。该模型输入层大小为12×16,第一个卷积层的卷积核大小是4×6,输出特征向量大小维度为32;第二个卷积层的卷积核大小是4×4,输入特征向量大小维度是32维,输出维度为128,超参数选择如表1所示。

2.3 网络训练

本文的识别方法是将输入数据分为训练数据、验证数据和测试数据。其中,训练数据中,将数据和标签文件做好标记,保存为TFRecord文件,来作为输入数据,经过输入层,读取文件到卷积层经过卷积池化和回归计算后,得到一个基本的模型结构,再通过BP算法反向传播算法将模型参数优化到最佳数值,做出分类结果。

3 实验结果

实验的判断指标为准确率,以TFReocrd文件中标签数据为基准,对模型进行训练。将训练好的模型进行测试后,数据集越多准确率越高。实验采用了BP反向传播算法,不断优化模型参数,保存并不断增加测试数据集来自学习优化模型。

训练数据集大小为100时,模型训练结果如图2所示。

训练集大小为10 000并不断增加时,模型训练结果如图3所示。

由此可见,当训练数据越大,结果的精确度越高,网络模型的健壮性就越高。结合正则化Dropout技术,防止模型过拟合现象的发生,使模型保存为完整的可实验模型。

4 结语

TensorFlow被广泛应用到学术界,尤其是神经网络模型构建和参数优化等问题的研究上。利用这一优势,对于解决OMR识别问题如虎添翼。可以代替当前设备和人力资源,节省了大部分时间和资金,值得深入研究和推广。

[参考文献]

[1]GIRSHICK R,DONAHUE J,DARRELL T,et a1.Rich feature hierarchies for accurate object detection and semantic segmentation[J].Columbus:2014 IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2014:580-587.

[2]DENG J,DONG W,SOCHER R,et a1.Imagenet: a large-scale hierarchical image database[C].Miami:Computer vision and pattern recognition(CVPR),2009:248-255.

[3]KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[J].Advances in Neural Information Processing Systems,2012(2):2012.

[4]ZEILER M D,FERGUS R.Visualizing and understanding convolutional networks[M].New York:Springer International Publishing,2013.

[5]姚家雄,楊明辉,朱玉琨,等.利用卷积神经网络进行毫米波图像违禁物体定位[J].红外与毫米波学报,2017(3):100-106.

[6]周飞燕,金林鹏,董军.卷积神经网络研究综述[J].计算机学报,2017(6):1229-1251.

[7]NAIR V,HINTON G E.Rectified linear units improve restricted boltzmann machines[C].Haifa:Proceedings of the 27th International Conference on Machine Learning,2010:807-814.