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≠a2′ora3≠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≠jqdjpjqpjpjq=0,jp≠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,1≤k1,k2,...,kt≤n,]]>且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))},]]>其中1≤r,Lr≤n,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)行的上下基准线位置分别为
和
那么基准线间距可以定义为
和
之间的距离;对于一个文本文档而言,基准线间距都是相同的。