基于遗传算法和字符识别技术的碎片复原方法.pdf

上传人:e2 文档编号:496544 上传时间:2018-02-19 格式:PDF 页数:21 大小:1.47MB
返回 下载 相关 举报
摘要
申请专利号:

CN201410338609.X

申请日:

2014.07.16

公开号:

CN104143095A

公开日:

2014.11.12

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06K 9/20申请日:20140716|||公开

IPC分类号:

G06K9/20; G06F17/30

主分类号:

G06K9/20

申请人:

暨南大学

发明人:

樊锁海; 许荷东; 庄子炜; 郑晶

地址:

510632 广东省广州市黄埔大道西601号

优先权:

专利代理机构:

广州市华学知识产权代理有限公司 44245

代理人:

陈燕娴;李斌

PDF下载: PDF下载
内容摘要

本发明公开了一种基于遗传算法和字符识别技术的碎片复原方法,包括下述步骤:S1、建立英文字符数据库,通过字符提取技术,获取各个字符的灰度矩阵;S2、对字符进行识别,判断需要识别的字符并是否有被切割;S3、对碎片进行分行聚类,所述分行聚类的基础是上述的字符识别技术和基准线距离信息,通过聚类向量、聚类中心和聚类距离,完成这一分行聚类过程;S4、经过分行聚类技术后,然后通过行内拼接技术,完成每一行的行内碎片拼接;S5、利用行间拼接技术进行碎片拼接。本发明可以广泛应用在各类碎纸机产生的纵横切碎片复原工作中,并在一定程度上同时保证了效率和准确度,为司法取证、历史文献修复以及军事情报的获取等领域提供支持。

权利要求书

1.  基于遗传算法和字符识别技术的碎片复原方法,其特征在于,包括下述步骤:
S1、建立英文字符数据库,通过字符提取技术,在字符图像中提取不同字体、不同字号的26个大小写英文字母的灰度矩阵;在获取各个字符的灰度矩阵后,将分别通过各个字符的灰度矩阵统计字符的大小和字符基准线距离两方面信息,并将其储存在英文字符数据库;
S2、对字符进行识别,若需要识别的字符并没有被切割,直接上述的字符提取技术,将需要识别的字符提取出来;若需要识别的字符并切割,可先将其进行拼接后,再利用上述的字符提取技术,将需要识别的字符提取出来;
S3、对碎片进行分行聚类,由于处理对象是纵横切碎片,需要先对碎片进行分行,将属于同一横行的碎片找出来;这一过程称为分行聚类,每一行被称为每一类;所述分行聚类的基础是上述的字符识别技术和基准线距离信息,通过聚类向量、聚类中心和聚类距离,完成这一分行聚类过程;
S4、经过分行聚类技术后,所有碎片已经分到各自所属行中;然后通过行内拼接技术,完成每一行的行内碎片拼接;
S5、利用行间拼接技术进行碎片拼接,行间拼接技术主要的基础是基准线位置;利用相邻两个文本行的基准线间距一致原理完成这一操作。

2.
  根据权利要求1所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S1中,建立英文数据库的具体步骤为:
S1.1、以字符提取技术得到的每个字符的边缘为边界,提取每个字符的灰度矩阵,并以之为基础,建立英文字符的数据库,即针对字符图像矩阵L=(lij)p×q,p×q指的是字符图像矩阵的规模,定义其中包含的一个字符的边缘值如下:
左边缘(Leftmost side):min{j|lij=1,i=1,…,p;j=1,…,q};
右边缘(Rightmost side):max{j|lij=1,i=1,…,p;j=1,…,q};
上边缘(Top edge):min{i|lij=1,i=1,…,p;j=1,…,q};
下边缘(Bottom edge):max{i|lij=1,i=1,…,p;j=1,…,q};
S1.2、通过上述字符提取技术得到的每个字符的灰度矩阵是数据库的储存内容之一,以便与接下来的字符识别工作;
S1.3、字符的大小特征信息包括字符的高度和宽度;这两个信息都可以通过字符的灰度矩阵得到;具体方法为:
字符的高度定义为,字符灰度矩阵的行数,即上边缘与下边缘之间的距离;
字符的宽度定义为,字符灰度矩阵的列数,即左边缘与右边缘之间的距离;
S1.4、若将所有英文字符放在同一行中,并进行水平投影,便可得到一投影条形图;投影条形图最顶端的水平线称为上基准线,最底端的水平线称为下基准线;对于不同的字符,都存在字符和上下基准线之间的距离,即每个字符都和基准线有两个距离,所述两个距离包括和上基准线的距离以及和下基准线的距离;将这两个基准线距离储存在数据库中。

3.
  根据权利要求1所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S2中,字符识别技术的步骤为:
S2.1、将需要识别的字符提取出来,并根据需要识别的字符的大小特征信息在英文字符数据库中寻找是否存在与之相同高度和宽度的字符,如不存在,可直接判断该字符不能被识别,如存在,将需要识别的字符的灰度矩阵,和数据库中与之有相同大小特征的字符的灰度矩阵进行对比匹配;
S2.2、为了衡量标准化,设定一个阈值,若两者灰度矩阵的相同元素个数高于阈值,需要识别的字符将被认为和数据库中的字符相匹配,并确定已被识别;若低于阈值,需要识别的字符将被认为无法识别;
S2.3、如果需要识别的字符被成功识别,其基准线的位置通过调用数据库里该字符的基准线距离也被确定。

4.
  根据权利要求1所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S3中,分行聚类的具体步骤为:
S3.1、针对每张碎片的图像矩阵,确定聚类向量;
S3.2、在原始的完整文档中,最左端的碎片包含着每一个文本行开始的信息,同时最左端的碎片也存在一个共同特征:碎片的左端存在较大面积的留白,利用这一特征筛选出文档中的最左端碎片,由于每张最左端碎片开启着纵横切碎片的每个横行,将这些最左端碎片被称为聚类中心;
S3.3、其它碎片将根据聚类距离分配到离其距离最短的聚类中心所属类;聚类距离指的是其它碎片的聚类向量CV=(a1,a2,a3,a4)T和聚类中心的聚类向量CV′=(a1′,a2′,a3′,a4′)T之间的距离;明显地,聚类距离是衡量两个聚类向量之间相似程度的一个指标;根据聚类向量的定义,如果两张碎片最后一个可识别行的两条基准线位置一致,即a2=a2′,a3=a3′,表明这两张碎片一定处于同一类;若表示第j张碎片与聚类中心Cp的聚类向量之间的距离,那么可定义如下:
Dj.Cp=(0,0),a2=a2≠0,a3=a3≠0(Inf,Inf),a2≠a2ora3≠a3(|a1-a1|,|a4-a4|),a2=a2=a3=a3=0]]>
S3.4、通过步骤S3.3中的式子进行计算:
S3.41计算其它碎片和各聚类中心的距离
S3.42:如果中的两个分量均不大于阈值,表明第j张碎片与聚类中心Cp属于同一类;
S3.43:利用上述步骤将所有碎片归入m类中,并统计每一类的碎片数目。

5.
  根据权利要求4所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S3.1中,确定聚类向量的步骤为:
S3.1.1:如果图像矩阵的第一行元素全为0,表明该碎片的最上方位置不存在不可识别行,令a1=0;否则,执行下一步;
S3.1.2:如果碎片的第一行为可识别行,表明碎片的最上方位置不存在不可识别行,令a1=0;否则,令a1=l1,l1表示第一不可识别行最下方水平位置;
S3.1.3:如果图像矩阵的最后一行元素全为0,表明碎片的最下方位置不存在不可识别行,令a4=0;否则,执行下一步;
S3.1.4:如果碎片的最后一行为可识别行,令a4=0;否则,令a4=l2,l2是最后一不可识别行最上方水平位置;
S3.1.5:如果碎片中存在至少一个可识别行,选取最下方的一个可识别行,并根据其中的可识别字符确定该可识别行的基准线位置,其中,la表示上基准线位置,lb表示下基准线位置;否则,令a2=0,a3=0;
S3.1.6:得到碎片的聚类向量CV=(a1,a2,a3,a4)T

6.
  根据权利要求4所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S3.2中,在碎片中获取聚类中心的具体步骤为:
S3.2.1:初始化计数变量t=1;
S3.2.2:初始化聚类中心的数量p=0和计数变量j=1;
S3.2.3:如果第j张碎片的图像矩阵的第1到第t列元素全为0,令p=p+1;
S3.2.4:如果j<m×n,j=j+1,返回步骤S3.2.3;
S3.2.5:如果p>m,t=t+1,返回步骤S3.2.2;如果p=m,表示m张碎片被获取,或称为m个聚类中心,m张碎片的图像矩阵的第1到第t列元素全为0,同时,将m个聚类中心记为C1,C2,…,Cm

7.
  根据权利要求1所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S4中,行内拼接技术的具体步骤为:
S4.1、构建行内碎片之间的距离矩阵;
S4.2、第一阶段的行内拼接,利用字符识别技术,以边缘字符为媒介,完成相邻碎片的拼接;
S4.2、第二阶段的行内拼接,通过第一阶段行内拼接后,同一行的碎片被记做{J1,J2,…,Jr},利用上面构建距离矩阵的方法,计算D(Jk,Jl),k,l=1,2,…,r,并以此构造一个新的距离矩阵。

8.
  根据权利要求7所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S4.1的具体为:
对于每张碎片而言,都存在两个垂直边缘;而行内拼接技术主要是依靠这两个边缘提供的信息量完成;假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,…,jn},于是一个n×n的距离矩阵可以用如下方法定义:
令第jp张碎片图像矩阵的右边缘为第jq张碎片图像矩阵的左边缘为(p,q=1,2,…,n);那么,可用欧氏距离定义第jp张碎片和第jq张碎片的距离为:
D(jp,jq)=0jp=jq-Infpjpjq=1,jp&NotEqual;jqdjpjqpjpjq=0,jp&NotEqual;jq,]]>
其中,是第jp张碎片和第jq张碎片拼合后边缘字符;
能否被识别的示性变量,定义如下:
pjpjq=0the character is unidentifiable1the charracter is identifiable.]]>

9.
  根据权利要求7所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S4.2具体为:
假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,…,jn},并得到碎片之间的距离矩阵,于是第一阶段的行内拼接步骤如下:
a、对于任一给定的k(k=1,2,3,…,n),如果D(jk,jl)>-Inf,l=1,2,3,…,n,碎片jk被记作(jk);
b、如果下面等式存在:
D(jk1,jk2)=D(jk2,jk3)=D(jk3,jk4)=...=D(jkt-2,jkt-1)=D(jkt-1,jkt)=-Inf,1k1,k2,...,ktn,]]>且k1,k2,…,kt两两互异,那么碎片jk1,jk2,...,jkt-2,jkt-1,jkt]]>被记作(jk1,jk2,...,jkt-2,jkt-1,jkt);]]>
最后碎片{j1,j2,…,jn}被写作{(jk1(1),jk2(1),...,jkL1(1)),(jk1(2),jk2(2),...,jkL2(2)),...,(jk1(r),jk2(r),...,jkLr(r))},]]>其中1r,Lrn,ks(i)=1,2,3,...,n,s=1,2,...,Li,i=1,2,...,r.]]>
进一步,{(jk1(1),jk2(1),...,jkL1(1)),(jk1(2),jk2(2),...,jkL2(2)),...,(jk1(r),jk2(r),...,jkLr(r))}]]>可以记作{J1,J2,…,Jr},其中,Ji(i=1,2,…,r)表示
通过第一阶段的行内拼接,{j1,j2,…,jn}用{J1,J2,…,Jr}表示。

10.
  根据权利要求1所述的基于遗传算法和字符识别技术的碎片复原方法,其特征在于,步骤S5中,假定第p(p=1,2,…,m)行的上下基准线位置分别为那么基准线间距可以定义为之间的距离;对于一个文本文档而言,基准线间距都是相同的。

说明书

基于遗传算法和字符识别技术的碎片复原方法
技术领域
本发明涉及碎片复原的研究领域,特别涉及一种基于遗传算法和字符识别技术的碎片复原方法。 
背景技术
破碎纸片的修复技术常运用在司法取证、历史文献修复以及军事情报的获取等领域上,但面对数量巨大的碎片,人工修复方式效率显得低下,需要开发复原效率高的自动拼接技术,以提高需求方的工作效率,最大化地从碎纸片中获取到准确度高的信息 
碎纸片目前被分为三个部分,分别是①具有不规则边缘的手撕型碎片,②被碎纸机切碎的条型碎片,③被碎纸机粉碎的横纵切的碎片。对于第①种碎片,国内外学者都给出不同的自动拼接方案。有些学者将不规则的碎片简化成为多边形,利用多边形的特点来对碎片进行拼接,但是这种方法仅仅能够对规模数量小的碎片进行拼接。另外有学者根据碎片边缘的周长以及边角的形状来对碎片进行半自动的拼接。还有学者根据碎片文本文字的形状设计了一种自动拼接算法。 
对于第②种条形的碎片,由于碎片中所包含的信息量大,所以能根据碎片之间的相关性来将其拼接。有一篇文献介绍的是利用英文单词的平均长度以及碎片边缘的二值化矩阵,比对两张碎片之间的文本特征来对纸片进行拼接。有一些学者提出来一种文字识别的算法,得出每个英文字母的特定的直方图,对在两碎片边缘上被切的字符进行拼接,但是缺点是,当原文本的文字行数下降的时候,也就是不能保证两碎片间有足够多的被切文字时,该算法失效。 
对于第③种碎片,也就是纵横切的碎片,拼接这些碎片可理解为解决一个NP问题。Biesingeret等学者提出了一种改进了的遗传算法去拼接这些碎片。Schauer等学者利用成本函数公式去计算两张碎片边缘灰度值的相似度。还有学者提出用蚁群优化的方法和最近邻方法。 
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于遗传算法和字符识别技术的碎片复原方法,解决针对碎纸机处理的文本文档碎纸的拼接复原问题。 
为了达到上述目的,本发明采用以下技术方案: 
基于遗传算法和字符识别技术的碎片复原方法,包括下述步骤: 
S1、建立英文字符数据库,通过字符提取技术,在字符图像中提取不同字体、不同字号的26个大小写英文字母的灰度矩阵;在获取各个字符的灰度矩阵后,将分别通过各个字符的灰度矩阵统计字符的大小和字符基准线距离两方面信息,并将其储存在英文字符数据库; 
S2、对字符进行识别,若需要识别的字符并没有被切割,直接上述的字符提取技术,将需要识别的字符提取出来;若需要识别的字符并切割,可先将其进行拼接后,再利用上述的字符提取技术,将需要识别的字符提取出来; 
S3、对碎片进行分行聚类,由于处理对象是纵横切碎片,需要先对碎片进行分行,将属于同一横行的碎片找出来;这一过程称为分行聚类,每一行被称为每一类;所述分行聚类的基础是上述的字符识别技术和基准线距离信息,通过聚类向量、聚类中心和聚类距离,完成这一分行聚类过程; 
S4、经过分行聚类技术后,所有碎片已经分到各自所属行中;然后通过行内拼接技术,完成每一行的行内碎片拼接; 
S5、利用行间拼接技术进行碎片拼接,行间拼接技术主要的基础是基准线位置;利用相邻两个文本行的基准线间距一致原理完成这一操作。 
优选的,步骤S1中,建立英文数据库的具体步骤为: 
S1.1、以字符提取技术得到的每个字符的边缘为边界,提取每个字符的灰度矩阵,并以之为基础,建立英文字符的数据库,即针对字符图像矩阵L=(lij)p×q,p×q指的是字符图像矩阵的规模,定义其中包含的一个字符的边缘值如下: 
左边缘(Leftmost side):min{j|lij=1,i=1,...,p;j=1,...,q}; 
右边缘(Rightmost side):max{j|lij=1,i=1,...,p;j=1,...,q}; 
上边缘(Top edge):min{i|lij=1,i=1,...,p;j=1,...,q}; 
下边缘(Bottom edge):max{i|lij=1,i=1,...,p;j=1,...,q}; 
S1.2、通过上述字符提取技术得到的每个字符的灰度矩阵是数据库的储存内 容之一,以便与接下来的字符识别工作; 
S1.3、字符的大小特征信息包括字符的高度和宽度;这两个信息都可以通过字符的灰度矩阵得到;具体方法为: 
字符的高度定义为,字符灰度矩阵的行数,即上边缘与下边缘之间的距离; 
字符的宽度定义为,字符灰度矩阵的列数,即左边缘与右边缘之间的距离; 
S1.4、若将所有英文字符放在同一行中,并进行水平投影,便可得到一投影条形图;投影条形图最顶端的水平线称为上基准线,最底端的水平线称为下基准线;对于不同的字符,都存在字符和上下基准线之间的距离,即每个字符都和基准线有两个距离,所述两个距离包括和上基准线的距离以及和下基准线的距离;将这两个基准线距离储存在数据库中。 
优选的,步骤S2中,字符识别技术的步骤为: 
S2.1、将需要识别的字符提取出来,并根据需要识别的字符的大小特征信息在英文字符数据库中寻找是否存在与之相同高度和宽度的字符,如不存在,可直接判断该字符不能被识别,如存在,将需要识别的字符的灰度矩阵,和数据库中与之有相同大小特征的字符的灰度矩阵进行对比匹配; 
S2.2、为了衡量标准化,设定一个阈值,若两者灰度矩阵的相同元素个数高于阈值,需要识别的字符将被认为和数据库中的字符相匹配,并确定已被识别;若低于阈值,需要识别的字符将被认为无法识别; 
S2.3、如果需要识别的字符被成功识别,其基准线的位置通过调用数据库里该字符的基准线距离也被确定。 
优选的,步骤S3中,分行聚类的具体步骤为: 
S3.1、针对每张碎片的图像矩阵,确定聚类向量; 
S3.2、在原始的完整文档中,最左端的碎片包含着每一个文本行开始的信息,同时最左端的碎片也存在一个共同特征:碎片的左端存在较大面积的留白,利用这一特征筛选出文档中的最左端碎片,由于每张最左端碎片开启着纵横切碎片的每个横行,将这些最左端碎片被称为聚类中心; 
S3.3、其它碎片将根据聚类距离分配到离其距离最短的聚类中心所属类;聚类距离指的是其它碎片的聚类向量CV=(a1,a2,a3,a4)T和聚类中心的聚类向量CV′=(a1′,a2′,a3′,a4′)T之间的距离;明显地,聚类距离是衡量两个聚类向量之间相似程度的一个指标;根据聚类向量的定义,如果两张碎片最后一个可识别行的两条基准线位置一致,即a2=a2′,a3=a3′,表明这两张碎片一定处于同一类;若 表示第j张碎片与聚类中心Cp的聚类向量之间的距离,那么可定义如下: 
Dj.Cp=(0,0),a2=a2&NotEqual;0,a3=a3&NotEqual;0(Inf,Inf),a2&NotEqual;a2ora3&NotEqual;a3(|a1-a1|,|a4-a4|),a2=a2=a3=a3=0]]>
S3.4、通过步骤S3.3中的式子进行计算: 
S3.41计算其它碎片和各聚类中心的距离
S3.42:如果中的两个分量均不大于阈值,表明第j张碎片与聚类中心Cp属于同一类; 
S3.43:利用上述步骤将所有碎片归入m类中,并统计每一类的碎片数目。 
优选的,步骤S3.1中,确定聚类向量的步骤为: 
S3.1.1:如果图像矩阵的第一行元素全为0,表明该碎片的最上方位置不存在不可识别行,令a1=0;否则,执行下一步; 
S3.1.2:如果碎片的第一行为可识别行,表明碎片的最上方位置不存在不可识别行,令a1=0;否则,令a1=l1,l1表示第一不可识别行最下方水平位置; 
S3.1.3:如果图像矩阵的最后一行元素全为0,表明碎片的最下方位置不存在不可识别行,令a4=0;否则,执行下一步; 
S3.1.4:如果碎片的最后一行为可识别行,令a4=0;否则,令a4=l2,l2是最后一不可识别行最上方水平位置; 
S3.1.5:如果碎片中存在至少一个可识别行,选取最下方的一个可识别行,并根据其中的可识别字符确定该可识别行的基准线位置,其中,la表示上基准线位置,lb表示下基准线位置;否则,令a2=0,a3=0; 
S3.1.6:得到碎片的聚类向量CV=(a1,a2,a3,a4)T。 
优选的,步骤S3.2中,在碎片中获取聚类中心的具体步骤为: 
S3.2.1:初始化计数变量t=1; 
S3.2.2:初始化聚类中心的数量p=0和计数变量j=1; 
S3.2.3:如果第j张碎片的图像矩阵的第1到第t列元素全为0,令p=p+1; 
S3.2.4:如果j<m×n,j=j+1,返回步骤S3.2.3; 
S3.2.5:如果p>m,t=t+1,返回步骤S3.2.2;如果p=m,表示m张碎片被获取,或称为m个聚类中心,m张碎片的图像矩阵的第1到第t列元素全为0,同时,将m个聚类中心记为C1,C2,...,Cm。 
优选的,步骤S4中,行内拼接技术的具体步骤为: 
S4.1、构建行内碎片之间的距离矩阵; 
S4.2、第一阶段的行内拼接,利用字符识别技术,以边缘字符为媒介,完成相邻碎片的拼接; 
S4.2、第二阶段的行内拼接,通过第一阶段行内拼接后,同一行的碎片被记做{J1,J2,…,Jr},利用上面构建距离矩阵的方法,计算D(Jk,Jl),k,l=1,2,...,r,并以此构造一个新的距离矩阵。 
优选的,步骤S4.1的具体为: 
对于每张碎片而言,都存在两个垂直边缘;而行内拼接技术主要是依靠这两个边缘提供的信息量完成;假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,...,jn},于是一个n×n的距离矩阵可以用如下方法定义: 
令第jp张碎片图像矩阵的右边缘为第jq张碎片图像矩阵的左边缘为(p,q=1,2,...,n);那么,可用欧氏距离定义第jp张碎片和第jq张碎片的距离为: 
D(jp,jq)=0jp=jq-Infpjpjq=1,jp&NotEqual;jqdjpjqpjpjq=0,jp&NotEqual;jq,]]>
其中,是第jp张碎片和第jq张碎片拼合后边缘字符; 
能否被识别的示性变量,定义如下: 
pjpjq=0the character is unidentifiable1the charracter is identifiable.]]>
优选的,步骤S4.2具体为: 
假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,...,jn},并得到碎片之间的距离矩阵,于是第一阶段的行内拼接步骤如下: 
a、对于任一给定的k(k=1,2,3,...,n),如果D(jk,jl)>-Inf,l=1,2,3,...,n,碎片jk被记作(jk); 
b、如果下面等式存在: 
D(jk1,jk2)=D(jk2,jk3)=D(jk3,jk4)=...=D(jkt-2,jkt-1)=D(jkt-1,jkt)=-Inf,]]>1≤k1,k2,...,kt≤n,且k1,k2,...,kt两两互异,那么碎片被记作
最后碎片{j1,j2,...,jn}被写作其中1≤r,Lr≤n,s=1,2,...,Li,i=1,2,...,r. 
进一步,可以记作{J1,J2,...,Jr},其中,Ji(i=1,2,...,r)表示
通过第一阶段的行内拼接,{j1,j2,...,jn}用{J1,J2,…,Jr}表示。 
优选的,步骤S5中,假定第p(p=1,2,...,m)行的上下基准线位置分别为和 那么基准线间距可以定义为之间的距离;对于一个文本文档而言,基准线间距都是相同的。 
本发明与现有技术相比,具有如下优点和有益效果: 
现有的拼接方法大多利用碎片边缘的不规则形状对手撕型的碎片进行拼接,它只能处理少量碎片,而且对于光滑边缘的矩形碎片拼接不起作用。对于用碎纸机破碎的碎片,边缘光滑,就需要利用到碎片内的文字信息进行拼接。 
目前已有利用碎片边缘的灰度矩阵临近度对碎片进行拼接,这要求碎片的边缘信息量要大,对于我们研究的这种文本信息量少的横纵切碎片来说,不能仅凭边缘灰度矩阵对所有碎片进行拼接。而利用遗传算法对所有碎片进行拼接计算量十分大,我们的方法就是降低算法的复杂度。 
本发明的创新点是建立一个英文字符数据库,设计一个字符识别的技术,利用字符识别确定每张碎片的文本基准线位置,利用基准线位置对庞大的碎片进行分类。然后通过字符识别将行内临近的碎片初步拼接起来,在对每行碎片进行行内拼接的时候我们的算法是并行的,大大减少了运行时间。与一次性对所有碎片进行拼接的方法对比,本发明的方法减少了相应旅行商问题模型的初始点的个数,从而降低了用遗传算法解决旅行商问题的复杂度。并且由于不仅依靠了碎片边缘的灰度矩阵还利用了碎片内部的文字信息,所以拼接精准度大大提高。 
附图说明
图1是本发明复原方法的流程图; 
图2是本实施例字符提取时的示意图; 
图3是本实施例字符识别技术的流程图; 
图4是本实施例行内拼接效果示意图; 
图5是本实施例行间拼接效果示意图; 
图6是本实施例第一次试验得到的准确率与碎片数量的关系曲线图; 
图7是本实施例第二次试验得到的准确率与碎片数量的关系曲线图; 
图8是本实施例其中一篇文档的拼接效果示意图; 
图9是本实施例另外一篇文档的拼接效果示意图。 
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。 
实施例 
如图1所示,本实施例基于遗传算法和字符识别技术的碎片复原方法,主要包括下述几个步骤: 
1、英文字符数据库的建立; 
2、字符识别; 
3、分行聚类技术; 
4、行内拼接技术; 
5、行间拼接。 
下面结合具体的技术方案对上述步骤做进一步的分析: 
1、英文字符数据库的建立 
本实施例所建立的英文字符数据库的对象是不同字体,不同字号的26个大小写英文字母(共52个字符)。在英文字符数据库的建立之初,用于建立数据库的字符图像将全部被二值化处理(处理阈值为205)。 
首先,通过本技术方案的字符提取技术,在字符图像中提取不同字体,不同字号的26个大小写英文字母(共52个字符)的灰度矩阵(已被二值化处理)。在获取各个字符的灰度矩阵后,将分别通过各个字符的灰度矩阵统计字符的大小,字符基准线距离两方面信息,并将其储存在英文字符数据库。以下是数据 库建立各技术的介绍: 
1.1字符提取技术 
如图2所示,针对字符图像矩阵(已被二值化处理)L=(lij)p×q,p×q指的是字符图像矩阵的规模,定义其中包含的一个字符的边缘值如下: 
左边缘(Leftmost side):min{j|lij=1,i=1,...,p;j=1,...,q} 
右边缘(Rightmost side):max{j|lij=1,i=1,...,p;j=1,...,q} 
上边缘(Top edge):min{i|lij=1,i=1,...,p;j=1,...,q} 
下边缘(Bottom edge):max{i|lij=1,i=1,...,p;j=1,...,q}。 
本实施例将以字符提取技术得到的每个字符的边缘为边界,提取每个字符的灰度矩阵,并以之为基础,建立英文字符的数据库。 
1.2数据库储存内容之一——字符的灰度矩阵 
通过上述字符提取技术得到的每个字符的灰度矩阵是数据库的储存内容之一,以便与接下来的字符识别工作。 
1.3数据库储存内容之二——字符的大小特征信息。 
字符的大小特征信息包括字符的高度和宽度。这两个信息都可以通过字符的灰度矩阵得到。具体方法为: 
字符的高度定义为,字符灰度矩阵的行数,即上边缘与下边缘之间的距离。 
字符的宽度定义为,字符灰度矩阵的列数,即左边缘与右边缘之间的距离。 
1.4数据库储存内容之三——字符的基准线距离。 
若将所有英文字符放在同一行中,并进行水平投影,便可得到一投影条形图。投影条形图最顶端的水平线称为上基准线,最底端的水平线称为下基准线。因此,对于不同的字符,都存在字符和上下基准线之间的距离,即每个字符都和基准线有两个距离(和上基准线的距离,和下基准线的距离)。这两个基准线距离将被储存在数据库中。 
基准线距离作为字符的特征信息非常重要,通过这一信息,分行聚类技术才得以进行。 
2字符识别技术 
若需要识别的字符并没有被切割,直接可利用上面提及的字符提取技术,将需要识别的字符提取出来。若需要识别的字符并切割,可先将其进行拼接后,再利用上面提及的字符提取技术,将需要识别的字符提取出来。 
字符识别技术依次分为两个部分:大小特征信息匹配和字符灰度矩阵匹配。 
如图3所示,字符识别技术首先将需要识别的字符提取出来,并根据需要识别的字符的大小特征信息在英文字符数据库中寻找是否存在与之相同高度和宽度的字符,如不存在,可直接判断该字符不能被识别,如存在,将需要识别的字符的灰度矩阵,和数据库中与之有相同大小特征的字符的灰度矩阵进行对比匹配。为了衡量标准化,我们将通过设定一个阈值,若两者灰度矩阵的相同元素个数高于阈值,需要识别的字符将被认为和数据库中的字符相匹配,并确定已被识别。若低于阈值,需要识别的字符将被认为无法识别。进一步,如果需要识别的字符被成功识别,其基准线的位置通过调用数据库里该字符的基准线距离也被确定。 
3、分行聚类技术: 
由于本技术方案处理对象是纵横切碎片,需要先对碎片进行分行,即将属于同一横行的碎片找出来。这一过程称为分行聚类,每一行被称为每一类。分行聚类技术正是处理这一过程的核心技术。它的基础是上述的字符识别技术和基准线距离信息,通过聚类向量,聚类中心和聚类距离,完成这一分行聚类过程。下面将详述这一技术的主要过程。 
3.1聚类向量: 
由于每张碎片都是纵横切产生,因此通过字符识别技术,每张碎片一定存在部分可识别字符,或者不可识别字符。若一张碎片中某一文本行的所有字符均不可被识别,该文本行对于这张碎片而言被称为不可识别行;若一张碎片中某一文本行至少存在一个字符能被识别,该文本行对于这张碎片而言被称为可识别行,进一步由于可识别行存在可识别的字符,通过调用数据库,该行的基准线位置可以确定。 
每张碎片的聚类向量是基于可识别行与不可识别行提出来的;聚类向量被定义为CV=(a1,a2,a3,a4)T,各分量说明如下: 
a1表示碎片中第一个不可识别行(由上而下)最下方水平位置。 
a4表示碎片中最后一个不可识别行(由上而下)最下方水平位置。 
a2表示碎片中最后一个可识别行(由上而下)的上基准线位置。 
a3表示碎片中最后一个可识别行(由上而下)的下基准线位置。 
针对每张碎片的图像矩阵(已被二值化处理,设定阈值205,大于205为0,小于或等于205为1),确定其聚类向量的步骤如下: 
步骤一:如果图像矩阵的第一行元素全为0,表明该碎片的最上方位置不存在不可识别行,令a1=0;否则,执行下一步。 
步骤二:如果碎片的第一行(由上而下)为可识别行,表明碎片的最上方位置不存在不可识别行,令a1=0;否则,令a1=l1,l1表示第一不可识别行(由上而下)最下方水平位置。 
步骤三:如果图像矩阵的最后一行元素全为0,表明碎片的最下方位置不存在不可识别行,令a4=0;否则,执行下一步; 
步骤四:如果碎片的最后一行(由上而下)为可识别行,令a4=0;否则,令a4=l2,l2是最后一不可识别行最上方水平位置。 
步骤五:如果碎片中存在至少一个可识别行,选取最下方的一个可识别行,并根据其中的可识别字符确定该可识别行的基准线位置,其中,la表示上基准线位置,lb表示下基准线位置。否则,令a2=0,a3=0。 
步骤六:得到碎片的聚类向量CV=(a1,a2,a3,a4)T。 
3.2聚类中心 
在原始的完整文档中,最左端的碎片包含着每一个文本行开始的信息,同时最左端的碎片也存在一个共同特征:碎片的左端存在较大面积的留白。本技术方案将利用这一特征筛选出文档中的最左端碎片,由于每张最左端碎片开启着纵横切碎片的每个横行(每一类),因此这些最左端碎片被称为聚类中心。 
在所有碎片中获取聚类中心的步骤如下: 
步骤一:初始化计数变量t=1。 
步骤二:初始化聚类中心的数量p=0和计数变量j=1。 
步骤三:如果第j张碎片的图像矩阵(已被二值化处理,设定阈值205,大于205为0,小于或等于205为1)的第1到第t列元素全为0,令p=p+1; 
步骤四:如果j<m×n,j=j+1,返回步骤三。 
步骤五:如果p>m,t=t+1,返回步骤二。如果p=m,表示m张碎片被获取,或称为m个聚类中心,m张碎片(聚类中心)的图像矩阵(已被二值化处理,设定阈值205,大于205为0,小于或等于205为1)的第1到第t列元素全为0,同时,将m个聚类中心记为C1,C2,...,Cm。 
3.3聚类距离(其它碎片和聚类中心之间的距离) 
除了聚类中心外,其它碎片将根据聚类距离分配到离其距离最短的聚类中心所属类(横行)。聚类距离指的是其它碎片的聚类向量CV=(a1,a2,a3,a4)T和聚类中 心的聚类向量CV′=(a1′,a2′,a3′,a4′)T之间的距离。明显地,聚类距离是衡量两个聚类向量之间相似程度的一个指标。根据聚类向量的定义,如果两张碎片最后一个可识别行的两条基准线位置一致,即a2=a2′,a3=a3′,表明这两张碎片一定处于同一类(横行)。若表示第j张碎片与聚类中心Cp的聚类向量之间的距离,那么可定义如下: 
Dj.Cp=(0,0),a2=a2&NotEqual;0,a3=a3&NotEqual;0(Inf,Inf),a2&NotEqual;a2ora3&NotEqual;a3(|a1-a1|,|a4-a4|),a2=a2=a3=a3=0]]>
3.4分行聚类技术过程 
步骤一:计算其它碎片和各聚类中心的距离
步骤二:如果中的两个分量均不大于阈值,表明第j张碎片与聚类中心Cp属于同一类(横行)。 
步骤三:利用上述步骤将所有碎片归入m类(横行)中,并统计每一类(横行)的碎片数目。 
4、行内拼接技术 
经过分行聚类技术后,所有碎片已经分到各自所属行中。行内拼接技术主要目标是,完成每一行的行内碎片拼接。行内拼接技术的主要基础是字符识别技术和遗传算法原理。 
该技术主要分为三个部分:构建行内碎片之间的距离矩阵,第一阶段行内拼接,第二阶段行内拼接。 
4.1构建行内碎片之间的距离矩阵 
对于每张碎片而言,都存在两个垂直边缘(左边缘和右边缘)。而行内拼接技术主要是依靠这两个边缘提供的信息量完成。假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,...,jn},于是一个n×n的距离矩阵可以用如下方法定义: 
令第jp张碎片图像矩阵的右边缘(最后一列元素)为第jq张碎片图像矩阵的左边缘(第一列元素)为(p,q=1,2,...,n)。那么,可用欧氏距离定义第jp张碎片和第jq张碎片的距离为: 
D(jp,jq)=0jp=jq-Infpjpjq=1,jp&NotEqual;jqdjpjqpjpjq=0,jp&NotEqual;jq,]]>
其中,是第jp张碎片和第jq张碎片拼合后边缘字符,拼接效果如图4所示; 
能否被识别的示性变量,定义如下: 
pjpjq=0the character is unidentifiable1the charracter is identifiable.]]>
4.2第一阶段行内拼接 
这一阶段的行内拼接技术的主要基础是字符识别技术。利用字符识别技术,以边缘字符为媒介,完成相邻碎片的拼接。 
假设现通过上述分行聚类技术后,得到处于同一横行的碎片集合为{j1,j2,...,jn},并得到碎片之间的距离矩阵,于是第一阶段的行内拼接步骤如下: 
a.对于任一给定的k(k=1,2,3,...,n),如果D(jk,jl)>-Inf,l=1,2,3,...,n,碎片jk被记作(jk)。 
b.如果下面等式存在: 
D(jk1,jk2)=D(jk2,jk3)=D(jk3,jk4)=...=D(jkt-2,jkt-1)=D(jkt-1,jkt)=-Inf,]]>1≤k1,k2,...,kt≤n,且k1,k2,...,kt两两互异,那么碎片被记作
最后碎片{j1,j2,...,jn}被写作其中1≤r,Lr≤n,s=1,2,...,Li,i=1,2,...,r. 
进一步,可以记作{J1,J2,...,Jr},其中,Ji(i=1,2,...,r)表示
通过第一阶段的行内拼接,{j1,j2,...,jn}用{J1,J2,…,Jr}表示。 
4.3第二阶段行内拼接 
第二阶段的行内拼接主要基础是遗传算法原理。通过第一阶段行内拼接后,同一行的碎片被记做{J1,J2,…,Jr},利用上面构建距离矩阵的方法,计算D(Jk,Jl),k,l=1,2,...,r,并以此构造一个新的距离矩阵。 
假定碎片J1包含这一行的聚类中心,那么第二阶段的行内拼接问题可以抽象成为一个TSP旅行商问题,拼接目标是根据常规技术手段,将采用遗传算法原理解决。除了经典遗传算法的主要步骤外,该方法设定适应度函数为并采用多点交叉和多点变异的方法,以快速完成第二阶段的拼接。 
在第一阶段拼接提供最优初始解的情况下,第二阶段的拼接显示出效率高,准确率高的特点。 
5、行间拼接技术 
行间拼接技术主要的基础是基准线位置。利用相邻两个文本行的基准线间距一致原理完成这一操作,具体说明如下: 
假定第p(p=1,2,...,m)行的上下基准线位置分别为那么基准线间距可以定义为之间的距离。明显地,对于一个文本文档而言,基准线间距都是相同的,如图5所示。 
与已有的方法相比,本技术方案对于纵横切的碎片复原具有高效率,高准确率的特点。 
在复原效率上,如表1所示本技术方案提出的方法复原130张碎片仅仅需要0.8276秒的时间。同时,在准确率上,本技术方案通过研究不同碎片个数对应的复原准确率,来验证该技术方案的可行性和有效性。 
表1 

通过两次实验,得到的准确率与碎片数量之间的关系如图7、图8所示: 
由图7和图8显示得到,当碎片的数量规模小于40时,碎片复原的准确率达到100%;当碎片的数量规模不多于100时,碎片复原的准确率达到90%以上;当碎片的数量规模大于100时,碎片复原的准确率依然能保持在75%以上。同时,由于本技术方案引入了字符识别技术,在行内拼接的第二阶段中,大大优化了遗传算法的初始解,解决了已有遗传算法复杂度高,耗时多等缺点,从而大大提高了本技术方案的效率。 
本技术方案将展示两个实例如下: 
以下表2是本技术方案所建立的英文字符数据库的部分信息(包括字号大小为20,字体类型为Times New Roman的英文字符的数据库信息),通过上述数据库,再结合本实施例的技术方案,本实施例中对两篇碎片的文档,可以很好的复原原始的文档,其拼接效果如图8和图9所示。 
表2 

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。 

基于遗传算法和字符识别技术的碎片复原方法.pdf_第1页
第1页 / 共21页
基于遗传算法和字符识别技术的碎片复原方法.pdf_第2页
第2页 / 共21页
基于遗传算法和字符识别技术的碎片复原方法.pdf_第3页
第3页 / 共21页
点击查看更多>>
资源描述

《基于遗传算法和字符识别技术的碎片复原方法.pdf》由会员分享,可在线阅读,更多相关《基于遗传算法和字符识别技术的碎片复原方法.pdf(21页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于遗传算法和字符识别技术的碎片复原方法,包括下述步骤:S1、建立英文字符数据库,通过字符提取技术,获取各个字符的灰度矩阵;S2、对字符进行识别,判断需要识别的字符并是否有被切割;S3、对碎片进行分行聚类,所述分行聚类的基础是上述的字符识别技术和基准线距离信息,通过聚类向量、聚类中心和聚类距离,完成这一分行聚类过程;S4、经过分行聚类技术后,然后通过行内拼接技术,完成每一行的行内碎。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1