[发明专利]基于聚类和蚁群算法的横纵切碎片复原方法有效
申请号: | 201710162924.5 | 申请日: | 2017-03-19 |
公开(公告)号: | CN106952230B | 公开(公告)日: | 2021-02-02 |
发明(设计)人: | 刘有军;陈军华 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06T3/40 | 分类号: | G06T3/40;G06K9/62 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 基于聚类和蚁群方法的横纵切碎片复原方法属于图像处理领域。本发明根据碎片中文字的位置信息提取每一个碎片的特征向量,结合碎片实际情况对少数特征向量进行调整,以每行碎片的首个碎片的特征向量为聚类算法的中心向量对碎片进行分行聚类。对每一行进行排序拼接,把碎片行内拼接问题转化为旅行商问题,应用蚁群算法求解这个旅行商问题。与此同时,使用合并策略和分治策略提高行内碎片的拼接精度。最后使用行碎片的特征向量匹配实现行碎片的拼接。 | ||
搜索关键词: | 基于 算法 切碎 复原 方法 | ||
【主权项】:
基于聚类和蚁群方法的横纵切碎片复原方法,其特征在于,包括如下步骤:1.1.根据每一个碎片中文字的位置信息提取每一个碎片的特征向量CV=[a1,a2,a3,a4]T;1.2.以每行碎片的首个碎片的特征向量为聚类方法的中心向量对碎片进行分行聚类;1.3.对每一行进行排序,把碎片行内拼接问题转化为旅行商问题,应用蚁群方法求解这个旅行商问题;1.4.使用合并策略和分治策略提高行内碎片的拼接精度;1.5.使用行碎片的特征向量进行匹配实现行碎片的拼接;所述的步骤1.1包括:2.1.如果碎纸片的顶部是白的,则该碎片顶部中不存在不完整的文字行,令a1=0;2.2.如果碎纸片的顶部第一行文字是完整的,则令a1=0,即该行文字的上边界与碎纸片的上边界重叠;否则令a1=l1,其中l1是碎片顶部不完整行的底部在碎纸片的位置;2.3.如果碎纸片的底部是白的,则该碎片的底部不存在不完整的文字行,令a4=0;2.4.如果碎纸片的底部最后一行文字是完整的,则令a4=0,即该行文字的上边界与碎纸片的下边界重叠;否则令a4=l4,其中l4是碎片底部不完整行的顶部在碎纸片中的位置;2.5.如果碎纸片中包含任意一行完整的文字,则令a2=l2,a3=l3,其中l2是最靠近碎纸片底部的那行完整的文字的上边界在碎纸片中的位置,l3是最靠近碎纸片底部的那行完整的文字的下边界在碎纸片中的位置,否则令a2=0,a3=0并跳转执行步骤2.7.;同时令l=l2‑l3,l′=a4‑a3,其中l是一行文字的字高,l′是文字行之间空隙的高度,如果某个碎片中没有任何完整的行,导致无法计算l,l′,此时用来自于同一个文件的其他碎片的平均值代替;2.6.如果a3<L‑l‑l′,其中L是碎纸片的高度,把a2,a3修正为a2=a2+l+l′,a3=a3+l+l′;如果修正后的a3和未修正的a4满足条件a3+l′≤L∪a4=0,则把a4修正为a4=a3+l′;如果修正后的a2和未修正的a1满足条件(0≤a2‑N(l′+l)≤l)∪a1=0时,把a1修正为a1=a2‑N(l′+l);结束特征向量提取;2.7.如果a1=0,a4=0,这意味着该碎纸片中没有文字信息,把该碎片从重建复原问题中移除;否则利用a1,a4,l,l′对a2,a3进行修正并结束特征向量提取;所述步骤1.2包括:3.1.根据每一行碎纸片首个碎片的左边是一片空白的特点寻找每行首个碎片,并以该碎片对应的特征向量为聚类方法的聚类中心向量;该碎片对应的特征向量标记为CV′1,CV′2,……CV′m,其中m表示文件被切成碎纸片的行数;3.2.若碎片i的特征向量与聚类中心向量j的差向量的一范数满足条件|CVi‑CVj|≤Tth,则碎纸片i与该聚类中心向量j对应的碎纸片属于同一行,其中Tth是一个阈值,为碎纸片图像中像素点行数的二十分之一;3.3.对于所有碎片执行步骤3.2.进行聚类分行;所述的步骤1.3包括:4.1.聚类分行结果中的每一行都单独处理,把每行的碎纸片抽象成图论中的顶点,碎片边缘矩阵之间的匹配度抽象成顶点之间的距离;4.2.利用公式计算顶点i到顶点j的距离dl(i,j),即碎纸片i的右边缘与碎纸片j的左边缘;计算任意顶点之间的距离得到一张完全赋权图;e(i,j,y)=0.7|Vi(y)‑Vj(y)|+0.1|Vi(y+1)‑Vj(y+1)|+0.1|Vi(y‑1)‑Vj(y‑1)| +0.05|Vi(y+2)‑Vj(y+2)|+0.05|Vi(y‑2)‑Vj(y‑2)|其中Vi(y)表示碎纸片i的图像的右边缘在y点的灰度值,Vj(y)表示碎纸片j的左边缘在位置y处的灰度值;e(i,j,y)表示碎纸片i的右边缘与碎纸片j的左边缘在位置y处的距离,e′(i,j,y)是e(i,j,y)二值化之后的结果,τ是二值化的阈值,为200;上述公式的y需要满足条件y∈[3,L‑2]∩y∈N*,其中N*表示正整数,当不满足条件时用公式e(i,j,y)=|Vi(y)‑Vj(y)|计算碎纸片在y点的距离;4.3.使用蚁群方法计算结果,蚁群方法的参数设为α=1,β=5,ρ=0.5,其中α代表启发因子,β代表自启发量因子,ρ代表信息素残留系数;蚁群方法中的蚂蚁数量设置为碎纸片的数量;4.4.若拼接结果每一行都无拼接错误,则跳转至步骤1.5,如果有拼接错误,则把有错误行的碎片跳转至步骤1.4重新计算拼接;所述的步骤1.4包括:5.1.当碎纸片i的右边缘与碎纸片j的左边缘的距离dl(i,j)<Tth时,把碎纸片i,j合并为新的碎纸片,以碎纸片i的左边缘作为新碎片的左边缘,以碎纸片j的右边缘为新碎片的右边缘;5.2.把合并后的碎片重新重复步骤4.1到步骤4.3计算得到更加精确的结果,若拼接结果每一行都无拼接错误,则结束步骤1.4,执行步骤1.5;如果有拼接错误,则把有错误行的碎片跳转至步骤5.3.重新计算拼接;5.3.对于同行碎纸片中文字行数不一样的碎纸片分类处理,对每一类重复步骤4.1.到步骤4.3.直至拼接无错误或者尝试拼接10次以上仍未完全拼接正确;所述步骤1.5包括:6.1.根据步骤1.1确定每一行碎片的特征向量CVCi=[a1,a2,a3,a4];6.2.根据碎纸片第一行上部空白没有文字的特点确定碎纸片的第一行以及其特征向量为CVC1,令当前待拼接行的特征向量为CVCC初始值设定为CVCC=CVC1;6.3.若某行碎纸片的特征向量CVCi的分量与当前待拼接特征向量CVCC满足条件或者时认为行碎纸片i与当前待拼接纸片相邻,完成对行碎纸片i的拼接,令CVCC=CVCi,其中δ是随机误差容忍度一般情况下δ可以设定为3,n∈{1,2};其中表示当前待拼接行的特征向量CVCC的分量a4,表示某行碎纸片的特征向量CVCi的分量a1;表示当前待拼接行的特征向量CVCC的分量a3,表示某行碎纸片的特征向量CVCi的分量a2;6.4.重复步骤6.3.直到行碎纸片拼接完成。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710162924.5/,转载请声明来源钻瓜专利网。
- 上一篇:可提高切削平行度的机床
- 下一篇:一种群钻刃磨夹具