阳哲
(四川大学计算机学院,成都 610065)
卷积神经网络在印章编号识别中的应用
阳哲
(四川大学计算机学院,成都610065)
卷积神经网络;印章编号;识别
印章做为一种重要的鉴定和签署的文具,在日常生活中应用广泛。每一枚印章都会有一个独一无二的编号,作为印章的标识。在实际生活中,我们往往需要输入印章的编号来查询印章的基本信息,但是目前都是通过手动输入印章的编号来查询。随着深度学习的火热发展,近几年深度学习在人工智能领域取得很大的进展,尤其是在语音识别和图像识别中取得很好的效果。而卷积神经网络做为一种深度的监督学习下的机器学习模型,其在图像识别领域的应用已经越来越广泛,因此本文提出了基于卷积神经网络的印章编号识别算法。
卷积神经网络是一种前馈神经网络,它的特点是其前馈神经元可以响应一部分范围内的周围单元[1],因此适应于大型图像处理。卷积神经网络可以识别有变化的模式,对几何图形变形具有鲁棒性,较一般神经网络具有以下优点:(1)输入图像和网络的拓扑结构可能刚好吻合;(2)特征提取和模式分类同时进行;(3)权值共享技术大大减少了网络的训练参数,从而使网络的结构更加简单,适应性更强[2]。
1.1卷及神经网络的历史
卷积神经网络的设计源自于活生物体视觉机制的发现。20世纪60年代,Hubel和Wiesel发现动物的视觉皮质中包含了许多细胞,这些细胞组成了感受野,其功能是探测细微的光线和覆盖视觉的子区域。20世纪80年代,Fukushima基于感受野概念提出了神经认知机,这个可以看做是卷积神经网络的第一个实现网络,也是感受野在神经网络领域的首次应用。
1.2卷积神经网络的结构
卷积神经网络是一个多层次的前馈式神经网络,每层由多个二维平面组成,每个平面由多个独立神经元组成。一个完整的卷积神经网络的结构如图1 所示。
从图1 可以看出,卷积神经网络一般包含卷积层,分段抽样层和全连接层。其中卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。而在图像识别中,卷积操作就是用一个卷积核在图像矩阵上游走,在对应位置元素相乘,再把相乘的结果相加,最后相加的结果形成新的图像矩阵,游走完成后即完成了对原始图像的卷积变换,形成此卷积核下的特征提取,具体如图2 所示。
图1 卷积神经网络结构
图2 卷积操作
分段抽样层的作用则是二次特征提取,通常在卷积层之后会得到维度很大的特征,将需要特征切成几个区域,取该区域的最大值或者平均值,从而得到新的,维度较小的特征[3]。而分段抽样操作也叫池化操作,具体如图3 所示。
图3 池化操作
全连接层采用的是Softmax回归,该层就是以卷积神经网络提取到的图片特征做为输入,然后根据这些特征则可以做一个数据训练分类器。因为逻辑回归一般用来进行二值分类,也就是说逻辑回归的结果只能是0或者1;而印章编号是0~9的阿拉伯数字,一共需要分成10个类别,所以全连接层必须采用Softmax回归,Softmax的结构如图4所示:
图4 Softmax分类器的结构
1.3卷积神经网络算法伪代码
卷积神经网络算法的伪代码如下:
(1)对输入的印章编号图片做卷积操作,形成若干个卷积核。
(2)对卷积操作形成的特征层进行二次特征提取操作。
(3)重复步骤(1)和步骤(2),直至获取到具有足够畸变容忍能力的特征。
(4)根据步骤(3)得到的特征做一个分类器,从而解决印章编号的识别问题。
可以用多个印章编号来训练一个卷积神经网络,而该网络可以对印章编号中的数字进行分类,从而识别出印章编号中的阿拉伯数字,训练的过程大致分为以下几个步骤:
①从留底印文中提取出编号,用这些编号训练一个稀疏编码器C1;
②以C1做为第一个卷积层,从原始编号中做卷积特征提取;
③在C1的后面添加一个分段抽样层S1,对C1所提取的特征做池化计算;
④以最后一个池化层的输出做为印章编号的分类器,即将印章编号中的数字按0~9进行分类,从而识别出印章编号中的数字。
实验环境为MATLAB,实验的训练数据集是来自留底印文中的印章编号,而测试数据集则来自盖在支票或者文件上的印章编号。留底印文如图5 所示。
图5 留底印文
图5 中的印文是RGB模式,RGB模式又称为三原色模型。这是一种加色模式,将红、绿、蓝三原色的色光以不同的比例相加,以产生多种多样的颜色。因此可以先将图片分离为红、绿、蓝三个通道,然后通过像素值的分布来设定一个阈值,用于分割提取印章编号。将印章图片进行RGB通道分离后得到像素值的分布如图6所示:
图6 印文像素值分布图
因此可以通过阈值分割的办法提取出印章的编号。提取得到的印章编号如图7所示。
图7 留底印文的编号
将具有m个训练样本的训练集合{(x(1),y(1)),…,(x(m),y(m))}(其中,y(i)∈{0,…,9})放入卷积神经网络中进行训练,通过训练可以得到的特征如图8所示。
图8 训练印章编号得到的特征
卷积神经网络是当前最热门的深度学习算法之一,其在图像识别和语音识别已经取得了显著的效果。通过卷积和分段取样操作,卷积神经网络具有权值共享的特性,这就使得卷积神经网络在处理大型图像时有着先天性的优势。印章编号的识别本质上是一个阿拉伯数字的分类问题,而卷积神经网络则擅长处理图像分类问题。因此本文尝试将卷积神经网络应用到印章编号的识别中,提出了基于卷积神经网络的印章编号识别算法。在识别方形章的编号上取得了很好的效果,但是由于在实际应用中圆形章的编号呈弧形状,而不像方形章一样呈直线状,这给提取和识别印章编号带来了不便。因此,下一步需要重点解决识别圆形章和椭圆形章的印章编号的问题。
[1]Convolutional Neural Networks(LeNet)-DeepLearning 0.1 Documentation[OL].DeepLearning 0.1.LISA Lab.[2013-08-31].http:// deeplearning.net/tutorial/lenet.html
[2]徐珊珊,刘应安,徐昇.基于卷积神经网络的木材缺陷识别[J].山东大学学报(工学版),2013,43(2):28-33.
[3]卷积神经网络[OL].wikipedia.[2012-12-11].https://zh.wikipedia.org/wiki/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB% 8F%E7%BD%91%E7%BB%9C
Convolution Neural Network;Seal Number;Recognition
Application of Convolution Neural Network in Seal Number Identification
YANG Zhe
(College of Computer Science,Sichuan University,Chengdu 610065)
阳哲(1990-),男,湖南邵阳人,硕士研究生,研究方向为机器智能
2015-12-31
2016-01-13
卷积神经网络算法在图像识别中有着广泛的应用,但是目前在印章识别领域的应用还不是很多。因此可以将卷积神经网络应用到印章识别中,提出一种基于卷积神经网络的印章编号识别算法。
Convolution neural network algorithm has been widely used in image recognition,but currently used in the field of seal of recognition is not a lot.Presents a seal number recognition algorithm based on convolution neural network.