首页> 中国专利> 一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法

一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法

摘要

本发明提供的是一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法,该方法包括四个步骤:(1)手写体数字图像预处理;(2)训练集的类空间划分,K均值聚类法或亲合力传播聚类法;(3)分类器设计,模块神经网络矩阵列;(4)集成分类,改进的均值集成法。该方法中的分类器模块用于类空间划分和任务分解的矩阵模块神经网络学习,能大大提高分类器的学习速度和手写体数字分类的精度。

著录项

  • 公开/公告号CN101183430A

    专利类型发明专利

  • 公开/公告日2008-05-21

    原文格式PDF

  • 申请/专利权人 中国科学院合肥物质科学研究院;

    申请/专利号CN200710300218.9

  • 发明设计人 黄德双;赵仲秋;

    申请日2007-12-13

  • 分类号G06K9/00(20060101);G06K9/62(20060101);

  • 代理机构34101 安徽省合肥新安专利代理有限责任公司;

  • 代理人赵晓薇

  • 地址 230031 安徽省合肥市西郊董铺1130号信箱智能所

  • 入库时间 2023-12-17 20:11:07

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-01

    未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20100324 终止日期:20151213 申请日:20071213

    专利权的终止

  • 2010-03-24

    授权

    授权

  • 2008-07-16

    实质审查的生效

    实质审查的生效

  • 2008-05-21

    公开

    公开

说明书

技术领域  本发明涉及手写体数字自动识别系统,特别涉及一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法。

背景技术  手写体数字识别研究的对象是:如何利用电子计算机自动辨认人手写在纸张上的阿拉伯数字。手写体数字识别系统的应用领域主要包括:邮政编码、统计报表、财务报表、银行票据等等。这几年来我国开始大力推广的“三金”工程在很大程度上要依赖数据信息的输入,如果能通过手写数字识别技术实现信息的自动录入,无疑会促进这一事业的进展。因此,手写数字的识别研究有着重大的现实意义,一旦研究成功并投入应用,将产生巨大的社会和经济效益。

在实际应用中,对数字识别单字识别正确率的要求要比文字要苛刻得多。这是因为,数字没有上下文关系,每个单字的识别都事关重要,而且数字识别经常涉及的财会、金融领域其严格性更是不言而喻的。此外,目前一些常见的手写体数字的标准训练库如美国国家标准与技术局NIST数据库、美国邮政服务数据库(USPS)等都包含有大量的训练样本,大批量数据处理对系统学习速度又有相当的要求,许多理论上很完美但速度过低的方法是行不通的。因此,研究高性能的手写数字识别算法是一个挑战性的任务。

在过去的四十年中,人们想出了很多办法获取手写字符的关键特征。这些手段分两大类:全局分析和结构分析。对前者,可以使用模板匹配、象素密度、矩、特征点、数学变换等技术。这类的特征常常和统计分类方法一起使用。对后者,多半需要从字符的轮廓或骨架上提取字符形状的基本特征,包括:圈、端点、节点、弧、突起、凹陷、笔画等等,与这些结构特征配合使用的往往是句法的分类方法。多年的研究实践表明,对于完全没有限制的手写数字,几乎可以肯定:没有一种简单的方案能达到很高的识别率和识别精度。因此,最近这方面的努力向着更为成熟、复杂、综合的方向发展。一方面,研究工作者努力把新的方法运用到预处理,特征提取当中,而另一方面,研究工作者努力设计新型高效的分类器,来对数字字符的十个类别进行分类。本发明正是针对后者设计的。

作为模式识别中一种非常重要的分类器,神经网络技术由于其高精度、并行性、自学习、自适应等特性已经被广泛应用于手写体数字识别系统。当神经网络面对的是大规模训练样本集时,受到硬件发展的限制,它的学习速度和推广能力往往不能令人满意。解决此问题的一个重要途径就是将问题“分而治之”,许多学者已经提出了基于各种任务分解方法的模块神经网络模型来解决复杂分类问题。模块神经网络将一个复杂任务分解成较简单的一系列子任务,每个子任务用一个神经网络(子模块)来完成加工,完成子任务合作进行的次序不一定是串行的,而可能是串行并行兼有之。因此,模块神经网络比单个神经网络有更快的学习速度,而且系统中单个网络的规模也不会很大。One-against-others[N.J.Nilsson,Learning Machines:Foundations of Trainable Pattern-Classifying Systems.New York:McGraw-Hill,1965]是标准的K类问题的任务分解方法,它将一个K类问题分解为K个比原分类任务简单的两类子任务,每个子任务复杂将某个类别同其它所有K-1个类别区分开。因此,需要设计K个两类分类器,分别为f1,...,fK,每个分类器的输出都是一个范围[0,1]内的一维值。对于一个新样本,计算所有分类器f1,...,fK对该样本的输出值,输出值最高的分类器序号就是整个模块神经网络对该样本的分类类别号。此模块神经网络能够取得比单个神经网络好的分类和泛化能力。

然而,这种简单的任务分解方法从根本上并不能减少每个模块分类器的训练样本数目,因为虽然各分类器需要解决的类别数目少了,但是它们需要学习的样本数仍然都是原来的所有样本数,而且,如果原来的K类问题的训练集类别比较对称(各类别包含的样本数大致相等)的话,则用该任务分解方法后,所有两类子任务都变为非对称问题,K值越大,不对称的程度越大。而类别非对称则是另外一个容易导致网络收敛困难的棘手问题。虽然Anand等在文献[R.Anand,K.Mehrotra & C.K.Mohan etc,“Efficient Classification forMulticlass Problems Using Modular Neural Networks,”IEEE Trans.Neural Networks,vol.6(1),pp.117-124,1995]中针对一般感知机的BP算法提出一种改进方法来解决此模块神经网络中出现的类别非对称问题,并且实验证明其能够加快学习速度,但是这种解决方案具有特定的针对性,仅针对感知机的BP算法,而对其它类型的神经网络或者感知机的其它学习算法却不适用,因此它有很强的局限性。因而,要彻底解决此非对称问题,还得从任务分解方法上入手,避免任务分解过程中非对称分类问题的出现。本发明将从任务分解方法上入手从根本上解决用神经网络的问题。

发明内容:本发明的目的是:提出一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法,该方法能够提供一种针对手写体数字识别中大训练样本集的高效分类器,实现快速学习和高精度识别。

本发明的技术方案是:一种基于模块神经网络SN9701矩阵列的手写体数字自动识别方法,特别是:手写体数字图像预处理,从CCD图像传感器获取手写体数字样本,以CPLD作为图像采集系统的控制中心得到初始图像数据,以DSP作为基本图像处理单元进行基本的图像处理;

由预处理单元对图像进行二值化、平滑、分割、规范化,得到输入信号,得到字符16*16像素的灰度图像后,将得到的所有训练用灰度图像矩阵拉直变为256维列向量,组成训练用输入向量集合χk,其中k=1,2,...,10表示十个类别标号;

判断输入样本是训练样本还是测试样本?如是训练样本则依次进行训练集的类空间划分和分类器设计;

如果是测试样本,则进行集成分类,分类器包含两个组成部分:一个神经网络矩阵列和一个集成计算机,其中神经网络矩阵列是由SN9701芯片构成且是神经网络SN9701矩阵列,集成计算机由一个加法器和一个除法器构成,输入向量经过神经网络矩阵列产生一个网络输出矩阵,再根据这个网络输出矩阵由集成计算机产生最终的分类决策。

作为对现有技术的进一步改进,训练集的类空间划分,是将输入向量集合χk划分为Dk个子簇χd(k),d=1,2,...,Dk,所有子簇组成12(D2-Σk=1KDk2)个子簇对χdi(i)dj(j)=χdi(i)χdj(j),每个子簇对能够作为一个两类分类器的训练输入。

集成计算机由一个加法器和一个除法器构成,用集成计算机中的加法器和除法器计算下面公式(1)的平均值,来估计输入样本x属于第i类中第di个子簇的后验概率

=1D-DiΣj=1jiKΣdj=1Djodi(i)dj(j)/Σk=1KΣdk=1Dk(1D-DkΣj=1jiKΣdj=1Djodk(k)dj(j))---(1)

其中M是神经网络SN9701矩阵列,Odi(i)dj(j)是神经网络元素Pdi(i)dj(j),某个SN9701芯片的输出值由SN9701芯片的第7端口OUT输出,则最终的分类判决依据是:ign    x→ck′

分类器的设计中,神经网络SN9701矩阵列表示为如下式(3)形式:

M=ΦM12M13······M1KM21ΦM23······M2K············MK1MK2······MK(K-1)Φ,---(3)

其中Mij=P1(i)1(j)P1(i)2(j)······P1(i)Dj(j)P2(i)1(j)P2(i)2(j)······P2(i)Dj(j)············PDi(i)1(j)PDi(i)2(j)······PDi(i)Dj(j)=(Pdi(i)dj(j))---(4)

其中K是类别数,i,j=1,2,...,K,i≠j,di=1,2,...,Di,dj=1,2,...,Dj,神经网络Pdi(i)di(j)为单输出,其训练样本集表示为如下式(5)

Sdi(i)dj(j)={(Xldi(i),1)l=1Ndi(i)(Xldj(j),0)l=1Ndj(j)},---(5)

分类器的设计中,各神经网络SN9701矩阵列为多层单输出感知机,每个感知机为一个SN9701,动态构造其隐单元数,并且采用反向传播学习算法学习,神经网络SN9701矩阵列中各感知机的动态构造与学习过程如下:a、初始化S1=0;

b、构造一个包含S1个隐单元的感知机,其中S1=0表示该感知机为两层结构,否则为三层结构。

本发明的有益效果是:

单个神经网络来解决手写体数字自动识别问题,由于训练样本规模较大,导致网络学习难以收敛,且学习速度比较慢。而传统的one-against-others任务分解方法仍然不会减少训练样本规模,而且容易导致各网络训练集的类别不对称,更加增加了学习的难度。

本发明提出一种新的神经网络SN9701矩阵列,将K均值聚类算法和基于亲合力传播的聚类算法,用于类空间划分和任务分解,避免了任务分解过程中非对称分类问题的出现,分解后的各神经网络的训练样本规模大大减小,大大简化了学习。最后又提出一种改进的均值集成法来集成各模块的结果以得到最终的分类决策。

在大规模数据库上的测试结果证明了该分类模型的有效性,该模型的学习时间是单个神经网络的24%(如图5),是用one-against-others任务分解方法的模块神经网络学习时间的20%(如图5);该模型的识别准确率能够比单个感知机提高1.6%,比用传统的one-against-others任务分解方法的模块神经网络提高0.7%(如图6)。

此外,基于K均值聚类法或基于亲合力传播的聚类法用于类空间划分和任务分解的矩阵模块神经网络,比一般随机法用于类空间划分和任务分解的矩阵模块神经网络的学习时间大大缩短(如图5),分类精度也有所提高(如图6)。

附图说明:

图1是本发明的方法流程图。

图2是矩阵模块神经网络分类器结构示意图。

图3是SN9701芯片多输入单输出的神经网络模块。

图4是一个手写体数字图像预处理的例子。

图5是本发明分类器和其它分类器的学习时间比较结果图。

图6是本发明分类器和其它分类器的分类精度比较结果图。

具体实施方式:

举例对本发明作更详细的描述:

图1是本发明的方法流程图。在图1中,首先从CCD获取手写数字样本,CCD作为图像传感器,以CPLD作为图像采集控制中心,以DSP作为基本图像处理单元,实现了图像自动采集处理,完成了图像的快速采集和存储,然后对数字图像进行一系列预处理;

预处理后,分别进入训练集类空间划分和矩模块神经网络分类器。其中,训练集类空间划分,输入向量集合χk划分为Dk个子簇χd(k),d=1,2,...,Dk。所有子簇组成12(D2-Σk=1KDk2)个子簇对χdi(i)dj(i)=χdi(i)χdj(j),每个子簇对可以作为一个两类分类器的训练输入。相关工作采用K均值聚类法划分和合力传播聚类法划分。

图2是矩阵模块神经网络结构示意图。该图说明了一个矩阵模块神经网络系统的组成要素,并且描述了数据的流向。它主要包含两个组成部分:一个神经网络矩阵列和一个集成计算机。其中神经网络矩阵是由SN9701芯片构造成的神经网络SN9701矩阵列,集成计算机由一个加法器和一个除法器构成。输入向量经过神经网络矩阵列产生一个神经网络输出矩阵,再根据这个神经网络输出矩阵由集成计算机产生最终的分类决策。

图3是一个多输入单输出的出神经网络模块,采用SN9701芯片实现,其管脚排列如图所示。其内部主要由切比雪夫多项式霰成电路、特征权值调整电路、性能指标判断电路以及函数形成电路等组成。

在图3中,SN9701芯片管脚排列为:第一端口SS是第一端口样本学习输入端,对于样本集{xi,di},模拟量di由此端输入;

第二端口IN:样本学习输入端,对样本集{xi,di},模拟量xi由此端输入;对于已训练好的神经网络,输入变量也由此端输入;

第三端口DIS:样本训练结束标志端,低电平有效,发光二极管指示;

第四端口GND:电源地;

第五端口ε:性能指标输入端,ε为任间小的正模拟是电压,可由两个串联电阻分压获得;

第六端口:启动神经网络学习输入商端,脉冲有效;

第七端口OUT:神经网络输出端;

第八端口Vcc:电源正端,Vcc为10-30V电源。

图4是一个手写体数字图像预处理的例子。通过图像传感器得到的数字图象(a)经过二值化、平滑、分割以及规范化处理得到图像(b)。

二值化处理是将得到的灰度图像转化为二值数字图像,本方法采用全局阈值法进行二值化处理。平滑是使用一种简单且行之有效的平滑方法——中值滤波方法。分割是图像的分割是从图像采集中所得到的整幅图像中分出需要识别的数字图像区和无用的背景图像区。这里采用基于方框的查找法。规范化对处理后的点阵数据用基于重心的位置规范法进行规范,使之成为16×16的点阵数据格式。将得到的所有训练用灰度图像矩阵拉直变为256维列向量,组成训练用输入向量集合χk={Xl(k)}l=1Nk,其中k=1,2,...,10表示十个类别标号,Nk是各类别的输入样本数。

图5是本发明分类器和和其它分类器的学习时间比较结果图。在图5中,分别采用K均值聚类法和亲合力传播聚类法中划分簇的两种矩阵模块神经网络的学习时间要比其它分类器如:单个感知机、one-against-others模块神经网络以及采用随机划分簇的方法的矩阵模块神经网络等耗费更少。

图6是本发明分类器和和其它分类器的分类精度比较结果图。在图6中,分别采用K均值和亲合力传播划分簇的方法的两种矩阵模块神经网络对测试集的识别准确率要比其它分类器如:单个感知机、one-against-others模块神经网络以及采用随机划分簇的方法的矩阵模块神经网络等对测试集的识别准确率更高。

实施例:

美国邮政服务数据库(USPS)采自实际的手写邮政编码,样本均为16*16的归一化的灰度图像。数据集中共包含7291个训练样本和2007个测试样本。所有样本来自10个类别,分别代表数字0到9。每个类别所包含的训练样本数见表4.5,它们是不均衡的。USPS是一个比较困难的分类任务,因为人的肉眼对该数据的识别错误率达到2.5%。实验中,为了简化学习,根据公式(6)将所有数字字符图像转化为8*8的灰度图像。

I64(i,j)=I256(2i-1,2j-1)+I256(2i-1,2j)+I256(2i,2j-1)+I256(2i,2j)4,---(6)

其中i,j=1,2,...,8

                                   USPS训练集

  数字  字符  0  1  2  3  4  5  6  7  8  9  训练  样本数  1194  1005  731  658  652  556  664  645  542  644

A.训练集划分

用亲合力传播聚类法对训练集中每个类别进行簇划分,其中参数a分别设置为-1,0,0.5。同时,也分别用随机法和K均值聚类法对训练集中每个类别进行相同子簇数目的划分。

用亲合力传播聚类设置不同参数a值时,各类别被划分的簇数目

B.分类器设计

采用本发明中设计的分类器,分别针对三个不同的划分等级,设计分别包含4031,12035和40736个SN9701模块的矩阵模块神经网络。矩阵模块神经网络中,每个SN9701芯片模块都采用本发明中设计的动态构造和学习算法。同时,为了比较需要,还分别构造了单个三层感知机和包含10个SN9701芯片模块的one-against-others模块神经网络用于USPS分类。

各分类器中包含不同隐单元数的神经网络数目。其中‘NH’表示感知机中隐单元数,NH=0意味该网络为两层感知机,否则为三层感知机。

D.集成分类

采用本发明中的集成分类算法对矩阵模块神经网络中的网络输出矩阵集成,并进行分类决策。从图5和图6结果中可以看出,比较单个三层感知机,one-against-others模块神经网络,以及用随机法划分子簇的矩阵模块神经网络,本发明中用K均值聚类和亲合力传播法划分子簇的矩阵模块神经网络不仅能大大缩短分类器的学习时间,还能提高分类器的分类精度。训练集划分时,子簇划分越细,分类器精度越高;虽然分类器的学习时间会有所增加,但是仍然会比单个三层感知机和one-against-others模块神经网络节省很多学习时间。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号