CN107679505B - 一种实现对手写体字符拒识的方法 - Google Patents
一种实现对手写体字符拒识的方法 Download PDFInfo
- Publication number
- CN107679505B CN107679505B CN201710954869.3A CN201710954869A CN107679505B CN 107679505 B CN107679505 B CN 107679505B CN 201710954869 A CN201710954869 A CN 201710954869A CN 107679505 B CN107679505 B CN 107679505B
- Authority
- CN
- China
- Prior art keywords
- handwriting
- data
- coordinate
- value
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Character Discrimination (AREA)
Abstract
本发明公开了一种实现对手写体字符拒识的方法,首先采集并训练手写笔迹数据,获取训练笔迹数据;建立堆栈式RBN神经网络,读取训练笔迹数据,对模型进行搭建、训练和保存;读取训练笔迹数据和模型,并计算出训练笔迹数据的重构误差数据;重复多次重构误差数据的计算,得到重构误差数据集合,并通过计算重构误差数据集合R,获取并保存置信区间;然后输入新的手写笔迹数据,通过判断新的手写笔迹数据的重构误差是否在置信区间内来确定是否拒识该新的手写笔迹数据。本发明采用深度信念网络的解码重构损失作为输入字符笔迹是否属于系统支持字符类型的置信度评价以及一个阈值来判断是否拒识;可有效的拒识字符笔迹,使在低错误拒识率的前提下具有较高的正确拒识率。
Description
技术领域
本发明涉及手写体字符识别领域,具体涉及一种实现对手写体字符拒识的方法。
背景技术
随着模式识别和人工智能技术的发展,手写文本机器识别技术得到了有效的应用,同时相关的理论、技术、方法也得到了很大的发展,手写体字符识别技术作为手写文本识别技术的基础功能模块更是得到了广泛关注和大力研究。
手写体字符识别问题在本质上是一个分类问题,每一个识别系统有其支持的字符集,手写体字符识别的算法需要确定一个手写字符笔迹属于字符集中的哪一类字符,并在大多数的情况下给出一个可信度分值。
在现今,得益于机器学习和深度学习的发展,基于支持向量机(Support VectorMechine,SVM)、卷积神经网络(Convolutional Neural Network,CNN)等方法手写体字符识别的准确率达到了历史的高度,在某些测试中甚至超过了人类的识别水平。
然而,当有不属于系统支持字符集中的字符笔迹或者根本不是一个有意义的字符笔迹输入到识别算法中时,识别算法往往以高置信度分值把它分类为字符集中的某一个字符,这样的结果显然是荒谬的;在现有手写体字符识别过程中,其解决方法是通过加入大量的支持字符集之外的字符笔迹样本并把它们作为一个拒识类来训练,但是这需要大量的人工标记,同时由于这些字符笔迹样本没有同一的特征,通过机器学习等算法很难对它们进行特征识别,所以识别效果不好,识别的准确度不高。
发明内容
基于此,针对上述问题,有必要提出一种实现对手写体字符拒识的方法,其原理采用深度信念网络的解码重构损失作为输入字符笔迹是否属于系统支持字符类型的置信度评价以及一个阈值来判断是否拒识;使得可有效的拒绝识别不属于系统支持字符集中的字符笔迹,在低错误拒识率的前提下具有较高的正确拒识率。
本发明的技术方案是:
一种实现对手写体字符拒识的方法,包括以下步骤:
a、采集手写笔迹数据,并对所采集的手写笔迹数据进行训练处理,获取训练笔迹数据;
b、建立堆栈式RBN神经网络,并读取步骤a中训练笔迹数据,对模型进行搭建、训练和保存;
c、读取步骤a中的训练笔迹数据和步骤b中的模型,并根据模型计算出训练笔迹数据的重构误差数据;
d、重复多次步骤c,得到重构误差数据集合R,通过计算重构误差数据集合R,获取置信区间,并保存该置信区间数据;
e、输入新的手写笔迹数据,并计算出新的手写笔迹数据的重构误差,通过判断该重构误差是否在步骤d的置信区间内来确定是否拒识该新的手写笔迹数据。
在本发明方案中,首先采集手写笔迹数据,并建立一个堆栈式RBN神经网络;待将所采集的手写笔迹数据处理编成二维矩阵数据并进行训练处理后,读取到所建立的堆栈式RBN神经网络中,在该堆栈式RBN神经网络中对训练后的二维矩阵数据进行逐层迭代训练,形成DBN模型,并保存该模型;然后读取模型数据和新采集的经过训练后的手写笔迹数据,计算出该训练后的手写笔迹数据的重构误差,多次计算后,根据重构误差合集计算出均值、方差以及置信区间,并保存该置信区间数据;最后输入新的手写笔迹数据,计算出该新的手写笔迹数据的重构误差,判断该新的手写笔迹数据的重构误差是否在置信区间内,从而确定是否拒识该新的手写笔迹数据;
本发明采用深度信念网络DBN来无监督地提取训练集中样本(由大量的系统支持的字符集中的字符笔迹样本组成)的共有特征;这样,属于字符集中的字符笔迹经过特征提取后,重构回去能保持最小的损失误差,反之,不属于字符集中的字符笔迹经过特征提取并重构后有较大的损失误差,如此,就可以把DBN模型给出的重构误差当作输入字符笔迹是否属于训练集中字符类型的置信度评价,当大于一个规定的一个阈值时就拒识此数据;通过本发明的手写体字符拒识方法,提高了单字符识别算法的可靠性,增强了识别系统的健壮性和稳定性。
作为上述方案的进一步优化,所述步骤a包括以下步骤:
a1、获取笔迹点坐标序列Tl,并求得Tl的最大纵坐标值h和最大横坐标值w;
a2、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,计算出放缩比例ShrinkageRatio,并根据该放缩比例ShrinkageRatio将笔迹点放缩到横、纵坐标均为参数Len的二维矩阵M中;
a3、当放缩比例ShrinkageRatio大于1时,对放大后笔迹点之间的空隙进行填充,得到多个二维矩阵M的坐标数据;
a4、将二维矩阵M按行依次拼接为一个长度为Len*Len的向量Vo。
本方案实现了对手写笔迹的数据采集、处理和训练,将该手写笔迹数据处理成相关坐标序列,在序列中,纵坐标即为笔迹高度,横坐标即为笔迹宽度;并计算出放缩比例,根据放缩比例将手写笔迹数据编成二维矩阵数据,并拼接成一个长度为Len*Len的向量,形成训练笔迹数据,其中,笔迹等比例放缩的宽度Len取28(推荐值为28、32等在25至55之间的值);具有将图片数据或笔迹坐标形成统一的二维矩阵和向量的作用,为后续拒识判断提供了数据基础,方便进行模型化标准计算,进而提高了拒识判断的准确率。
作为上述方案的进一步优化,所述步骤a1包括以下步骤:
a11、判断手写笔迹数据的呈现形式是图片还是一系列的笔迹坐标点,如果是图片,则进入步骤a12;如果是一系列的笔迹坐标点Tp,则直接进入步骤a15;
a12、判断图片是彩色RRG三通道图像还是单通道灰度图像Io,如果是彩色RRG三通道图像,则将其转换成单通道灰度图像Io,并进入步骤a13;如果是单通道灰度图像Io,则直接进入步骤a13;
a13、根据OTSU算法对单通道灰度图像Io进行阈值分隔,形成二值图像Ir;且当笔迹像素点为白色时,取Ir=1-Ir;
a14、根据追踪算法在二值图像Ir中追踪达到一定长度的、连续的,且在一定宽度范围内的黑色像素点,并将该黑色像素点的坐标位置记录到坐标点序列Tp中;
a15、求得坐标点序列Tp中坐标的最小纵坐标值和最小横坐标值,并将该坐标点序列Tp中的坐标对应减去该最小纵坐标值和最小横坐标值,得到笔迹点坐标序列Tl;
a16、根据笔迹点坐标序列Tl,求得该笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w。
手写笔迹数据通常以三通道图像的形式呈现;如果手写笔迹数据以一系列的笔迹坐标点的形式呈现,则只需在取笔迹等比例放缩的宽度Len为28(推荐值为28、32等在25至55之间的值),取margin为2;在步骤a14中使用追踪算法时,设定在二值图像Ir中追踪达到5(参考范围为3至10)个像素长度的连续的在3(参考范围为2至5)个像素宽度范围内的黑色像素点,记录它的坐标位置到坐标点序列Tp中;通过该方案处理后,可将图像形式的手写笔迹数据转换为笔迹点坐标序列Tl,起到笔迹数据训练的作用。
作为上述方案的进一步优化,所述步骤a2包括以下步骤:
a21、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,取最大纵坐标值h、最大横坐标值w的长边值W_l以及最大横坐标值w的短边值W_s;
a23、计算短边方向起始偏移长度Offset=(Len-W_s×ShrinkageRatio)//2,其中,//表示除以并向下取整;
a24、根据放缩比例ShrinkageRatio和短边方向起始偏移长度Offset对笔迹点坐标序列Tl进行放缩,得到放缩序列Tz;
a25、遍历笔迹点坐标序列Tl,定义当前坐标点P(x,y),获取放缩映射后的坐标点P_z(x_z,y_z);其中:
x_z=x×ShrinkageRatio+Offset_x;
y_z=y×ShrinkageRatio+Offset_y;
当y>x时,则Offset_x=Offset,Offset_y=0;反之,则Offset_x=0,Offset_y=Offset;
a26、新建横、纵坐标均为Len的二维矩阵M,并将该二维矩阵M上对应放缩序列Tz中记录的坐标位置上的值定义为1,其余以0填充。
根据转换后的笔迹点坐标序列Tl,可计算出放缩比例ShrinkageRatio和短边方向起始偏移长度Offset,其中,边框宽度参数值margin取2;然后可定义笔迹点坐标序列Tl中的任意一个坐标点,根据该放缩比例ShrinkageRatio和短边方向起始偏移长度Offset计算出该坐标点放缩映射后新坐标点;新建横、纵坐标均为Len的二维矩阵M,并将该二维矩阵M中,放缩序列Tz记录的坐标位置上的值定义为1,其余以0填充;实现将输入的手写笔迹数据编成二维矩阵数据,满足建立模型的需求和后续数据计算的可行性。
作为上述方案的进一步优化,所述步骤a3包括以下步骤:
a31、计算笔迹点坐标序列Tl中的连接矩阵C;
a32、遍历连接矩阵C,得到其中相邻两点对应在放缩序列Tz中的坐标值c(x,y)和c(lx,ly),并判断(x-lx)或者(y-ly)的绝对值是否大于1,如果是,则进入步骤a33;如果否,则重新执行步骤a32;
a33、判断(x-lx)的绝对值是否大于(y-ly)的绝对值,如果是,则进入步骤a34;如果否,则进入步骤a37;
a34、判断参数lx是否大于x,如果是,则x=min,lx=max;如果否,则lx=min,x=max;
a36、定义二维矩阵M的坐标点(min+1,addy)的位置为1;
a37、判断参数ly是否大于y,如果是,则y=min,ly=max;如果否,则ly=min,y=max;
a39、定义二维矩阵M的坐标点(addx,min+1)的位置为1。
当放缩比例ShrinkageRatio大于1时,填充放大后笔迹点之间的空隙,使二维矩阵M更健壮,为将二维矩阵M按行依次拼接为一个长度为Len*Len的向量Vo提供了坐标数据基础。
作为上述方案的进一步优化,所述步骤b包括以下步骤:
b1、建立一个具有Len×Len个输入神经元、FeaNum个输出神经元以及列表MidNum个中间层神经元的堆栈式RBN神经网络;
b2、读取步骤a处理后编成的二维矩阵M,进行逐层迭代训练,且每层训练时保持前一层的参数不变,只更新本层神经元的参数,并保存训练后的模型参数;
b3、根据逐层迭代训练的模型参数,训练一个统一的DBN模型或共享神经网络层的多个类别DBN模型。
在本方案的步骤b中,DBN模型的输出神经元个数FeaNum和中间层神经元的个数列表MidNum均为参数,且FeaNum取256(参考范围为100至500),列表MidNum取[784,1024,500](神经网络的层数可在3至11层之间,每层的神经元个数可按照由大到小再由小到大的方式取);手写笔迹数据样本规模在73万左右,其中包含有93类包括数字,大小写字母,数学符号以及特殊符号等类别的样本;进行逐层训练,每层训练均采用如下相同方式:
选取初试学习率为0.001,迭代次数为80000,在4000次之后学习率均匀缩减到零,采取dropout的方式防止训练过程的过拟合问题,dropout参数值均设为0.8,以零到一之间的均匀分布随机初始化模型参数,采用AdaGrad(adaptivegradient,自适应梯度)方法更新参数;最终获得一个统一的DBN模型或共享神经网络层的多个类别DBN模型,并保存模型数据。
作为上述方案的更进一步优化,所述步骤c包括以下步骤:
c1、读取经步骤a处理后的训练笔迹数据的向量Vo;
c2、将向量Vo输入到步骤b的DBN模型,并读取模型参数,对向量Vo进行编码,得到编码向量Ve;
c3、对编码向量Ve进行解码重构,得到重构向量Vd;
c4、计算重构误差ReconError=(1-Vd×Vo÷((|Vd|×|Vo|)))÷2,其中|·|表示向量求模运算。
对处理训练后的笔迹数据进行重构误差计算,获取重构误差数据,在对向量Vo进行编码,得到编码向量Ve的过程中,即为从输入层到输出层的传导计算;然后再对编码向量Ve进行解码重构,得到重构向量Vd,即为从输出层到输入层进行传导计算;该重构方法可获取笔迹数据样本的重构误差数据集合以及新输入的手写笔迹数据的重构误差,其中笔迹数据样本的重构误差数据集合可作为计算集合均值、方差以及置信区间的数据基础,而新输入的手写笔迹数据的重构误差作为是否拒识该新输入的手写笔迹数据的判断基础。
作为上述方案的更进一步优化,所述步骤d包括以下步骤:
d1、将训练笔迹数据重复执行多次步骤c,得到重构误差数据集合R;
d3、保存相应的置信区间数据。
在获取到重构误差数据集合R后,计算置信区间并保存置信区间数据,其中通常取显著水平b的值为0.05(参考范围为0.15至0.05);获得的该置信区间作为是否拒识手写笔迹的判断依据。
作为上述方案的更进一步优化,所述步骤e包括以下步骤:
e1、将新的手写笔迹数据Tn经步骤a训练处理后,输入至步骤b的DBN模型中,计算出该新的手写笔迹数据Tn的重构误差;
e2、读取步骤d中的置信区间数据;
e3、判断步骤e1中的DBN模型是否是统一的模型,如果是,则进入步骤e4;如果否,则进入步骤e5;
e4、判断步骤e1中的重构误差是否在步骤e2所读取的置信区间内,如果是,则接受识别该手写笔迹;如果否,则拒绝识别该手写笔迹;
e5、判断步骤e1中的重构误差是否全部不在步骤e2所读取的置信区间内,如果是,则拒绝识别该手写笔迹;如果否,则接受识别该手写笔迹。
本方案为具体拒识笔迹的方法,根据DBN模型具有两种可能性,如果DBN模型是一个统一的DBN模型,则在步骤b中先按照各层神经元数为[784,1024,512]搭建一个DBN网络,之后将所有的73万个包含有93类的样本统一训练,形成一个统一的模型,然后确定一个显著水平为0.05的置信区间,如果输入的笔迹数据被置信区间拒绝则拒绝识别该笔迹;反之则否;如果DBN模型是共享神经网络层的多个类别DBN模型,即为每一个类别训练一个DBN模型,则在步骤b中先按照各层神经元数为[784,1024,512]搭建一个DBN网络,之后将所有的73万个包含有93类的样本统一训练,之后在此网络基础上裂出93个分支,每个分支都是个数为256的神经元层,以每个类别样本的数据训练分别训练这93个分支;然后为每个分支确定一个显著水平为0.05的置信区间,如果输入的笔迹数据被所有的分支拒绝则拒绝识别该笔迹;反之则否。
本发明的有益效果是:
1、采用深度信念网络的解码重构损失作为输入字符笔迹是否属于系统支持字符类型的置信度评价以及一个阈值来判断是否拒识,可有效的拒绝识别不属于系统支持字符集中的字符笔迹,在低错误拒识率的前提下具有较高的正确拒识率。
2、本发明具有一套完整的手写体字符拒识系统,首先采样并训练笔迹数据,经过读取训练笔记数据至堆栈式RBN神经网络中建立模型,最终计算出相应置信区间来作为判断拒识笔迹的依据,提高了识别系统的健壮性和稳定性。
3、本发明利用采集并训练的手写笔迹数据样本所获得的模型完整,使得进行计算出的置信区间具有极高可靠性,最终判断是否拒识手写笔迹的正确率高。
4、本发明的整个流程清晰,识别判断的过程严谨且快速,不会造成数据冗余。
附图说明
图1是本发明实施例所述训练手写笔迹数据、建立堆栈式RBN神经网络以及计算置信区间的流程图;
图2是本发明实施例所述判断是否拒识手写笔迹的流程图。
具体实施方式
下面结合附图对本发明的实施例进行详细说明。
实施例1
如图1和图2所示,一种实现对手写体字符拒识的方法,包括以下步骤:
a、采集手写笔迹数据,并对所采集的手写笔迹数据进行训练处理,获取训练笔迹数据;
b、建立堆栈式RBN神经网络,并读取步骤a中训练笔迹数据,对模型进行搭建、训练和保存;
c、读取步骤a中的训练笔迹数据和步骤b中的模型,并根据模型计算出训练笔迹数据的重构误差数据;
d、重复多次步骤c,得到重构误差数据集合R,通过计算重构误差数据集合R,获取置信区间,并保存该置信区间数据;
e、输入新的手写笔迹数据,并计算出新的手写笔迹数据的重构误差,通过判断该重构误差是否在步骤d的置信区间内来确定是否拒识该新的手写笔迹数据。
在本发明方案中,首先采集手写笔迹数据,并建立一个堆栈式RBN神经网络;待将所采集的手写笔迹数据处理编成二维矩阵数据并进行训练处理后,读取到所建立的堆栈式RBN神经网络中,在该堆栈式RBN神经网络中对训练后的二维矩阵数据进行逐层迭代训练,形成DBN模型,并保存该模型;然后读取模型数据和新采集的经过训练后的手写笔迹数据,计算出该训练后的手写笔迹数据的重构误差,多次计算后,根据重构误差合集计算出均值、方差以及置信区间,并保存该置信区间数据;最后输入新的手写笔迹数据,计算出该新的手写笔迹数据的重构误差,判断该新的手写笔迹数据的重构误差是否在置信区间内,从而确定是否拒识该新的手写笔迹数据;
本发明采用深度信念网络DBN来无监督地提取训练集中样本(由大量的系统支持的字符集中的字符笔迹样本组成)的共有特征;这样,属于字符集中的字符笔迹经过特征提取后,重构回去能保持最小的损失误差,反之,不属于字符集中的字符笔迹经过特征提取并重构后有较大的损失误差,如此,就可以把DBN模型给出的重构误差当作输入字符笔迹是否属于训练集中字符类型的置信度评价,当大于一个规定的一个阈值时就拒识此数据;通过本发明的手写体字符拒识方法,提高了单字符识别算法的可靠性,增强了识别系统的健壮性和稳定性。
实施例2
本实施例在实施例1的基础上,所述步骤a包括以下步骤:
a1、获取笔迹点坐标序列Tl,并求得Tl的最大纵坐标值h和最大横坐标值w;
a2、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,计算出放缩比例ShrinkageRatio,并根据该放缩比例ShrinkageRatio将笔迹点放缩到横、纵坐标均为参数Len的二维矩阵M中;
a3、当放缩比例ShrinkageRatio大于1时,对放大后笔迹点之间的空隙进行填充,得到多个二维矩阵M的坐标数据;
a4、将二维矩阵M按行依次拼接为一个长度为Len*Len的向量Vo。
本方案实现了对手写笔迹的数据采集、处理和训练,将该手写笔迹数据处理成相关坐标序列,在序列中,纵坐标即为笔迹高度,横坐标即为笔迹宽度;并计算出放缩比例,根据放缩比例将手写笔迹数据编成二维矩阵数据,并拼接成一个长度为Len*Len的向量,形成训练笔迹数据,其中,笔迹等比例放缩的宽度Len取28(推荐值为28、32等在25至55之间的值);具有将图片数据或笔迹坐标形成统一的二维矩阵和向量的作用,为后续拒识判断提供了数据基础,方便进行模型化标准计算,进而提高了拒识判断的准确率。
实施例3
本实施例在实施例2的基础上,所述步骤a1包括以下步骤:
a11、判断手写笔迹数据的呈现形式是图片还是一系列的笔迹坐标点,如果是图片,则进入步骤a12;如果是一系列的笔迹坐标点Tp,则直接进入步骤a15;
a12、判断图片是彩色RRG三通道图像还是单通道灰度图像Io,如果是彩色RRG三通道图像,则将其转换成单通道灰度图像Io,并进入步骤a13;如果是单通道灰度图像Io,则直接进入步骤a13;
a13、根据OTSU算法对单通道灰度图像Io进行阈值分隔,形成二值图像Ir;且当笔迹像素点为白色时,取Ir=1-Ir;
a14、根据追踪算法在二值图像Ir中追踪达到一定长度的、连续的,且在一定宽度范围内的黑色像素点,并将该黑色像素点的坐标位置记录到坐标点序列Tp中;
a15、求得坐标点序列Tp中坐标的最小纵坐标值和最小横坐标值,并将该坐标点序列Tp中的坐标对应减去该最小纵坐标值和最小横坐标值,得到笔迹点坐标序列Tl;
a16、根据笔迹点坐标序列Tl,求得该笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w。
手写笔迹数据通常以三通道图像的形式呈现;如果手写笔迹数据以一系列的笔迹坐标点的形式呈现,则只需在取笔迹等比例放缩的宽度Len为28(推荐值为28、32等在25至55之间的值),取margin为2;在步骤a14中使用追踪算法时,设定在二值图像Ir中追踪达到5(参考范围为3至10)个像素长度的连续的在3(参考范围为2至5)个像素宽度范围内的黑色像素点,记录它的坐标位置到坐标点序列Tp中;通过该方案处理后,可将图像形式的手写笔迹数据转换为笔迹点坐标序列Tl,起到笔迹数据训练的作用。
实施例4
本实施例在实施例2的基础上,所述步骤a2包括以下步骤:
a21、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,取最大纵坐标值h、最大横坐标值w的长边值W_l以及最大横坐标值w的短边值W_s;
a23、计算短边方向起始偏移长度Offset=(Len-W_s×ShrinkageRatio)//2,其中,//表示除以并向下取整;
a24、根据放缩比例ShrinkageRatio和短边方向起始偏移长度Offset对笔迹点坐标序列Tl进行放缩,得到放缩序列Tz;
a25、遍历笔迹点坐标序列Tl,定义当前坐标点P(x,y),获取放缩映射后的坐标点P_z(x_z,y_z);其中:
x_z=x×ShrinkageRatio+Offset_x;
y_z=y×ShrinkageRatio+Offset_y;
当y>x时,则Offset_x=Offset,Offset_y=0;反之,则Offset_x=0,Offset_y=Offset;
a26、新建横、纵坐标均为Len的二维矩阵M,并将该二维矩阵M上对应放缩序列Tz中记录的坐标位置上的值定义为1,其余以0填充。
根据转换后的笔迹点坐标序列Tl,可计算出放缩比例ShrinkageRatio和短边方向起始偏移长度Offset,其中,边框宽度参数值margin取2;然后可定义笔迹点坐标序列Tl中的任意一个坐标点,根据该放缩比例ShrinkageRatio和短边方向起始偏移长度Offset计算出该坐标点放缩映射后新坐标点;新建横、纵坐标均为Len的二维矩阵M,并将该二维矩阵M中,放缩序列Tz记录的坐标位置上的值定义为1,其余以0填充;实现将输入的手写笔迹数据编成二维矩阵数据,满足建立模型的需求和后续数据计算的可行性。
实施例5
本实施例在实施例2的基础上,所述步骤a3包括以下步骤:
a31、计算笔迹点坐标序列Tl中的连接矩阵C;
a32、遍历连接矩阵C,得到其中相邻两点对应在放缩序列Tz中的坐标值c(x,y)和c(lx,ly),并判断(x-lx)或者(y-ly)的绝对值是否大于1,如果是,则进入步骤a33;如果否,则重新执行步骤a32;
a33、判断(x-lx)的绝对值是否大于(y-ly)的绝对值,如果是,则进入步骤a34;如果否,则进入步骤a37;
a34、判断参数lx是否大于x,如果是,则x=min,lx=max;如果否,则lx=min,x=max;
a36、定义二维矩阵M的坐标点(min+1,addy)的位置为1;
a37、判断参数ly是否大于y,如果是,则y=min,ly=max;如果否,则ly=min,y=max;
a39、定义二维矩阵M的坐标点(addx,min+1)的位置为1。
当放缩比例ShrinkageRatio大于1时,填充放大后笔迹点之间的空隙,使二维矩阵M更健壮,为将二维矩阵M按行依次拼接为一个长度为Len*Len的向量Vo提供了坐标数据基础。
实施例6
本实施例在实施例1的基础上,所述步骤b包括以下步骤:
b1、建立一个具有Len×Len个输入神经元、FeaNum个输出神经元以及列表MidNum个中间层神经元的堆栈式RBN神经网络;
b2、读取步骤a处理后编成的二维矩阵M,进行逐层迭代训练,且每层训练时保持前一层的参数不变,只更新本层神经元的参数,并保存训练后的模型参数;
b3、根据逐层迭代训练的模型参数,训练一个统一的DBN模型或共享神经网络层的多个类别DBN模型。
在本方案的步骤b中,DBN模型的输出神经元个数FeaNum和中间层神经元的个数列表MidNum均为参数,且FeaNum取256(参考范围为100至500),列表MidNum取[784,1024,500](神经网络的层数可在3至11层之间,每层的神经元个数可按照由大到小再由小到大的方式取);手写笔迹数据样本规模在73万左右,其中包含有93类包括数字,大小写字母,数学符号以及特殊符号等类别的样本;进行逐层训练,每层训练均采用如下相同方式:
选取初试学习率为0.001,迭代次数为80000,在4000次之后学习率均匀缩减到零,采取dropout的方式防止训练过程的过拟合问题,dropout参数值均设为0.8,以零到一之间的均匀分布随机初始化模型参数,采用AdaGrad(adaptive gradient,自适应梯度)方法更新参数;最终获得一个统一的DBN模型或共享神经网络层的多个类别DBN模型,并保存模型数据。
实施例7
本实施例在实施例1的基础上,所述步骤c包括以下步骤:
c1、读取经步骤a处理后的训练笔迹数据的向量Vo;
c2、将向量Vo输入到步骤b的DBN模型,并读取模型参数,对向量Vo进行编码,得到编码向量Ve;
c3、对编码向量Ve进行解码重构,得到重构向量Vd;
c4、计算重构误差ReconError=(1-Vd×Vo÷((|Vd|×|Vo|)))÷2,其中|·|表示向量求模运算。
对处理训练后的笔迹数据进行重构误差计算,获取重构误差数据,在对向量Vo进行编码,得到编码向量Ve的过程中,即为从输入层到输出层的传导计算;然后再对编码向量Ve进行解码重构,得到重构向量Vd,即为从输出层到输入层进行传导计算;该重构方法可获取笔迹数据样本的重构误差数据集合以及新输入的手写笔迹数据的重构误差,其中笔迹数据样本的重构误差数据集合可作为计算集合均值、方差以及置信区间的数据基础,而新输入的手写笔迹数据的重构误差作为是否拒识该新输入的手写笔迹数据的判断基础。
实施例8
本实施例在实施例1的基础上,所述步骤d包括以下步骤:
d1、将训练笔迹数据重复执行多次步骤c,得到重构误差数据集合R;
d3、保存相应的置信区间数据。
在获取到重构误差数据集合R后,计算置信区间并保存置信区间数据,其中通常取显著水平b的值为0.05(参考范围为0.15至0.05);获得的该置信区间作为是否拒识手写笔迹的判断依据。
实施例9
本实施例在实施例1的基础上,如图2所示,所述步骤e包括以下步骤:
e1、将新的手写笔迹数据Tn经步骤a训练处理后,输入至步骤b的DBN模型中,计算出该新的手写笔迹数据Tn的重构误差;
e2、读取步骤d中的置信区间数据;
e3、判断步骤e1中的DBN模型是否是统一的模型,如果是,则进入步骤e4;如果否,则进入步骤e5;
e4、判断步骤e1中的重构误差是否在步骤e2所读取的置信区间内,如果是,则接受识别该手写笔迹;如果否,则拒绝识别该手写笔迹;
e5、判断步骤e1中的重构误差是否全部不在步骤e2所读取的置信区间内,如果是,则拒绝识别该手写笔迹;如果否,则接受识别该手写笔迹。
本方案为具体拒识笔迹的方法,根据DBN模型具有两种可能性,如果DBN模型是一个统一的DBN模型,则在步骤b中先按照各层神经元数为[784,1024,512]搭建一个DBN网络,之后将所有的73万个包含有93类的样本统一训练,形成一个统一的模型,然后确定一个显著水平为0.05的置信区间,如果输入的笔迹数据被置信区间拒绝则拒绝识别该笔迹;反之则否;如果DBN模型是共享神经网络层的多个类别DBN模型,即为每一个类别训练一个DBN模型,则在步骤b中先按照各层神经元数为[784,1024,512]搭建一个DBN网络,之后将所有的73万个包含有93类的样本统一训练,之后在此网络基础上裂出93个分支,每个分支都是个数为256的神经元层,以每个类别样本的数据训练分别训练这93个分支;然后为每个分支确定一个显著水平为0.05的置信区间,如果输入的笔迹数据被所有的分支拒绝则拒绝识别该笔迹;反之则否。
以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (7)
1.一种实现对手写体字符拒识的方法,其特征在于,包括以下步骤:
a、采集手写笔迹数据,并对所采集的手写笔迹数据进行训练处理,获取训练笔迹数据;
b、建立堆栈式RBN神经网络,并读取步骤a中训练笔迹数据,对DBN模型进行搭建、训练和保存;
c、读取步骤a中的训练笔迹数据和步骤b中的DBN模型,并根据DBN模型计算出训练笔迹数据的重构误差数据;
d、重复多次步骤c,得到重构误差数据集合R,通过计算重构误差数据集合R,获取置信区间,并保存该置信区间数据;
e、输入新的手写笔迹数据,并计算出新的手写笔迹数据的重构误差,通过判断该重构误差是否在步骤d的置信区间内来确定是否拒识该新的手写笔迹数据;
所述步骤c包括以下步骤:
c1、读取经步骤a处理后的训练笔迹数据的向量Vo;
c2、将向量Vo输入到步骤b的DBN模型,并读取模型参数,对向量Vo进行编码,得到编码向量Ve;
c3、对编码向量Ve进行解码重构,得到重构向量Vd;
c4、计算重构误差ReconError=(1-Vd×Vo÷((|Vd|×|Vo|)))÷2,其中|·|表示向量求模运算;
所述步骤d包括以下步骤:
d1、将训练笔迹数据重复执行多次步骤c,得到重构误差数据集合R;
d3、保存相应的置信区间数据。
2.根据权利要求1所述的实现对手写体字符拒识的方法,其特征在于,所述步骤a包括以下步骤:
a1、获取笔迹点坐标序列Tl,并求得Tl的最大纵坐标值h和最大横坐标值w;
a2、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,计算出放缩比例ShrinkageRatio,并根据该放缩比例ShrinkageRatio将笔迹点放缩到横、纵坐标均为参数Len的二维矩阵M中;
a3、当放缩比例ShrinkageRatio大于1时,对放大后笔迹点之间的空隙进行填充,得到多个二维矩阵M的坐标数据;
a4、将二维矩阵M按行依次拼接为一个长度为Len*Len的向量Vo。
3.根据权利要求2所述的实现对手写体字符拒识的方法,其特征在于,所述步骤a1包括以下步骤:
a11、判断手写笔迹数据的呈现形式是图片还是一系列的笔迹坐标点,如果是图片,则进入步骤a12;如果是一系列的笔迹坐标点Tp,则直接进入步骤a15;
a12、判断图片是彩色RRG三通道图像还是单通道灰度图像Io,如果是彩色RRG三通道图像,则将其转换成单通道灰度图像Io,并进入步骤a13;如果是单通道灰度图像Io,则直接进入步骤a13;
a13、根据OTSU算法对单通道灰度图像Io进行阈值分隔,形成二值图像Ir;且当笔迹像素点为白色时,取Ir=1-Ir;
a14、根据追踪算法在二值图像Ir中追踪达到一定长度的、连续的,且在一定宽度范围内的黑色像素点,并将该黑色像素点的坐标位置记录到坐标点序列Tp中;
a15、求得坐标点序列Tp中坐标的最小纵坐标值和最小横坐标值,并将该坐标点序列Tp中的坐标对应减去该最小纵坐标值和最小横坐标值,得到笔迹点坐标序列Tl;
a16、根据笔迹点坐标序列Tl,求得该笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w。
4.根据权利要求2所述的实现对手写体字符拒识的方法,其特征在于,所述步骤a2包括以下步骤:
a21、根据笔迹点坐标序列Tl的最大纵坐标值h和最大横坐标值w,取最大纵坐标值h、最大横坐标值w的长边值W_l以及最大横坐标值w的短边值W_s;
a23、计算短边方向起始偏移长度Offset=(Len-W_s×ShrinkageRatio)//2,其中,//表示除以并向下取整;
a24、根据放缩比例ShrinkageRatio和短边方向起始偏移长度Offset对笔迹点坐标序列Tl进行放缩,得到放缩序列Tz;
a25、遍历笔迹点坐标序列Tl,定义当前坐标点P(x,y),获取放缩映射后的坐标点P_z(x_z,y_z);其中:
x_z=x×ShrinkageRatio+Offset_x;
y_z=y×ShrinkageRatio+Offset_y;
当y>x时,则Offset_x=Offset,Offset_y=0;反之,则Offset_x=0,Offset_y=Offset;
a26、新建横、纵坐标均为Len的二维矩阵M,并将该二维矩阵M上对应放缩序列Tz中记录的坐标位置上的值定义为1,其余以0填充。
5.根据权利要求2所述的实现对手写体字符拒识的方法,其特征在于,所述步骤a3包括以下步骤:
a31、计算笔迹点坐标序列Tl中的连接矩阵C;
a32、遍历连接矩阵C,得到其中相邻两点对应在放缩序列Tz中的坐标值c(x,y)和c(lx,ly),并判断(x-lx)或者(y-ly)的绝对值是否大于1,如果是,则进入步骤a33;如果否,则重新执行步骤a32;
a33、判断(x-lx)的绝对值是否大于(y-ly)的绝对值,如果是,则进入步骤a34;如果否,则进入步骤a37;
a34、判断参数lx是否大于x,如果是,则x=min,lx=max;如果否,则lx=min,x=max;
a36、定义二维矩阵M的坐标点(min+1,addy)的位置为1;
a37、判断参数ly是否大于y,如果是,则y=min,ly=max;如果否,则ly=min,y=max;
a39、定义二维矩阵M的坐标点(addx,min+1)的位置为1。
6.根据权利要求1所述的实现对手写体字符拒识的方法,其特征在于,所述步骤b包括以下步骤:
b1、建立一个具有Len×Len个输入神经元、FeaNum个输出神经元以及列表MidNum个中间层神经元的堆栈式RBN神经网络;
b2、读取步骤a处理后编成的二维矩阵M,进行逐层迭代训练,且每层训练时保持前一层的参数不变,只更新本层神经元的参数,并保存训练后的模型参数;
b3、根据逐层迭代训练的模型参数,训练一个统一的DBN模型或共享神经网络层的多个类别DBN模型。
7.据权利要求1所述的实现对手写体字符拒识的方法,其特征在于,所述步骤e包括以下步骤:
e1、将新的手写笔迹数据Tn经步骤a训练处理后,输入至步骤b的DBN模型中,计算出该新的手写笔迹数据Tn的重构误差;
e2、读取步骤d中的置信区间数据;
e3、判断步骤e1中的DBN模型是否是统一的模型,如果是,则进入步骤e4;如果否,则进入步骤e5;
e4、判断步骤e1中的重构误差是否在步骤e2所读取的置信区间内,如果是,则接受识别该手写笔迹;如果否,则拒绝识别该手写笔迹;
e5、判断步骤e1中的重构误差是否全部不在步骤e2所读取的置信区间内,如果是,则拒绝识别该手写笔迹;如果否,则接受识别该手写笔迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710954869.3A CN107679505B (zh) | 2017-10-13 | 2017-10-13 | 一种实现对手写体字符拒识的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710954869.3A CN107679505B (zh) | 2017-10-13 | 2017-10-13 | 一种实现对手写体字符拒识的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107679505A CN107679505A (zh) | 2018-02-09 |
CN107679505B true CN107679505B (zh) | 2020-04-21 |
Family
ID=61141444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710954869.3A Expired - Fee Related CN107679505B (zh) | 2017-10-13 | 2017-10-13 | 一种实现对手写体字符拒识的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679505B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112712893B (zh) * | 2021-01-04 | 2023-01-20 | 众阳健康科技集团有限公司 | 一种提升计算机临床辅助诊断效果的方法 |
CN117301080B (zh) * | 2023-11-27 | 2024-01-30 | 广东汇博机器人技术有限公司 | 一种工业机器人的自动控制系统和方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826161A (zh) * | 2010-04-09 | 2010-09-08 | 中国科学院自动化研究所 | 一种基于局部近邻稀疏表示的目标识别方法 |
CN102279927A (zh) * | 2010-06-08 | 2011-12-14 | 富士通株式会社 | 拒识方法和拒识装置 |
CN102346847A (zh) * | 2011-09-26 | 2012-02-08 | 青岛海信网络科技股份有限公司 | 一种支持向量机的车牌字符识别方法 |
CN103745213A (zh) * | 2014-02-28 | 2014-04-23 | 中国人民解放军63680部队 | 基于lvq神经网络的光学字符识别方法 |
CN103810996A (zh) * | 2014-02-21 | 2014-05-21 | 北京凌声芯语音科技有限公司 | 待测试语音的处理方法、装置及系统 |
CN104268568A (zh) * | 2014-09-17 | 2015-01-07 | 电子科技大学 | 基于独立子空间网络的行为识别方法 |
CN105489222A (zh) * | 2015-12-11 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
CN106407874A (zh) * | 2016-03-25 | 2017-02-15 | 东南大学 | 基于笔迹坐标序列的手写识别方法 |
CN106709494A (zh) * | 2017-01-10 | 2017-05-24 | 天津师范大学 | 一种基于耦合空间学习的场景文字识别方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150371360A1 (en) * | 2014-06-20 | 2015-12-24 | Qualcomm Incorporated | Systems and methods for obtaining structural information from a digital image |
CN105447433B (zh) * | 2014-09-01 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种注册身份的方法及装置 |
-
2017
- 2017-10-13 CN CN201710954869.3A patent/CN107679505B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826161A (zh) * | 2010-04-09 | 2010-09-08 | 中国科学院自动化研究所 | 一种基于局部近邻稀疏表示的目标识别方法 |
CN102279927A (zh) * | 2010-06-08 | 2011-12-14 | 富士通株式会社 | 拒识方法和拒识装置 |
CN102346847A (zh) * | 2011-09-26 | 2012-02-08 | 青岛海信网络科技股份有限公司 | 一种支持向量机的车牌字符识别方法 |
CN103810996A (zh) * | 2014-02-21 | 2014-05-21 | 北京凌声芯语音科技有限公司 | 待测试语音的处理方法、装置及系统 |
CN103745213A (zh) * | 2014-02-28 | 2014-04-23 | 中国人民解放军63680部队 | 基于lvq神经网络的光学字符识别方法 |
CN104268568A (zh) * | 2014-09-17 | 2015-01-07 | 电子科技大学 | 基于独立子空间网络的行为识别方法 |
CN105489222A (zh) * | 2015-12-11 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | 语音识别方法和装置 |
CN106407874A (zh) * | 2016-03-25 | 2017-02-15 | 东南大学 | 基于笔迹坐标序列的手写识别方法 |
CN106709494A (zh) * | 2017-01-10 | 2017-05-24 | 天津师范大学 | 一种基于耦合空间学习的场景文字识别方法 |
Non-Patent Citations (2)
Title |
---|
"基于2DPCA的手写数字识别";王军平等;《电子设计工程》;20121130;第20卷(第21期);第58-61页 * |
"字符识别的置信度分析";林晓帆等;《清华大学学报(自然科学版)》;19981231;第38卷(第9期);第47-50页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107679505A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vaidya et al. | Handwritten character recognition using deep-learning | |
US20190180154A1 (en) | Text recognition using artificial intelligence | |
US10423852B1 (en) | Text image processing using word spacing equalization for ICR system employing artificial neural network | |
CN110619274A (zh) | 基于印章和签名的身份验证方法、装置和计算机设备 | |
CN111639646A (zh) | 一种基于深度学习的试卷手写英文字符识别方法及系统 | |
CN111914838B (zh) | 一种基于文本行识别的车牌识别方法 | |
CN114155527A (zh) | 一种场景文本识别方法和装置 | |
CN112307919B (zh) | 一种基于改进YOLOv3的单证图像中数字信息区域识别方法 | |
CN110866529A (zh) | 字符识别方法、装置、电子设备及存储介质 | |
CN111523622B (zh) | 基于特征图像自学习的机械臂模拟手写笔迹方法 | |
CN109492610B (zh) | 一种行人重识别方法、装置及可读存储介质 | |
CN111401156A (zh) | 基于Gabor卷积神经网络的图像识别方法 | |
CN107679505B (zh) | 一种实现对手写体字符拒识的方法 | |
CN114898472A (zh) | 基于孪生视觉Transformer网络的签名鉴定方法和系统 | |
CN110991374B (zh) | 一种基于rcnn的指纹奇异点检测方法 | |
CN113297956A (zh) | 一种基于视觉的手势识别方法及系统 | |
CN114581918A (zh) | 一种文本识别模型训练方法及装置 | |
CN110610131B (zh) | 人脸运动单元的检测方法、装置、电子设备及存储介质 | |
CN113780129B (zh) | 基于无监督图序列预测编码的动作识别方法及存储介质 | |
CN115393928A (zh) | 基于深度可分离卷积与加性角度间隔损失的人脸识别方法及装置 | |
CN111310820A (zh) | 基于交叉验证深度cnn特征集成的地基气象云图分类方法 | |
CN113657414A (zh) | 一种物体识别方法 | |
CN114220178A (zh) | 基于通道注意力机制的签名鉴别系统及方法 | |
Elaraby et al. | A Novel Siamese Network for Few/Zero-Shot Handwritten Character Recognition Tasks. | |
CN113762261A (zh) | 一种对图像的字符识别方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190805 Address after: Room 11H, Building No. 33 Zizhuyuan Road, Haidian District, Beijing 100089 Applicant after: Lin Hui Address before: 610000 Fifth Floor, Building No. 5, Tianfu New Valley, 399 West Section of Fucheng Avenue, Chengdu High-tech Zone, Sichuan Province Applicant before: CHENGDU ZHUNXING YUNXUE SCIENCE & TECHNOLOGY CO.,LTD. |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200421 Termination date: 20211013 |