当前位置:
文档之家› 2013数学建模B题国家一等奖
2013数学建模B题国家一等奖
1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼 接复原模型和算法,并针对附件 1、附件 2 给出的中、英文各一页文件的碎片数据进行拼 接复原。
2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附 件 3、附件 4 给出的中、英文各一页文件的碎片数据进行拼接复原。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他 公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。
我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反 竞赛章程和参赛规则的行为,我们将受到严肃处理。
2013 高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规 则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨 询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
3.1.1、附件 1 汉字拼接的模型建立:
附件 1 给出的是来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),用 matlab 打开附件 1 的任意一幅图,都会得到一个 1980×72 数字矩阵。矩阵中,我们截取两个汉 字观察,图 1 为附件 1 中 000 图中第 1 行的“魂”字和第 12 行的“国”字,发现每个汉 字形成的区域大约占据 41×41 的位置。
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
碎纸片的拼接复原
摘要
本文要解决的是利用计算技术拼接破碎的文件,减少人工拼接的工作量,提高拼接效 率。
针对问题一,发现所有汉字均占据约 41×41 个像素点的空间。将汉字看做 41×41 的 正方形区域,拼接纸片的过程便转化为利用计算机拼接正方形区域的过程。首先将 19 个 矩阵 0-1 化处理,统计左右两端字的长度,人工干预找出位于首列的 008,其余图片与它 进行匹配,判断两个纸条是否匹配的标准是拼接成的汉字长度是否接近 41,选择匹配值 最高的碎片与之匹配,依次匹配最终得到整张的复原图像,称为“边缘宽度匹配”法。 复原顺序为:8 14 12 15 3 10 2 16 1 4 5 9 13 18 11 7 17 0 6。
附件 2 给出了英文的 19 条碎片,而英文单词甚至英文字母均不具有汉字的方正特点, 所以采用另一种拼接方法。因为将文字放大后,字母的形状是连续变化的,也就是说, 若一个汉字被切开了,则在切断面的左右灰度值是近似相等的。
用 matlab 汉灰度值读取每张图片,会得到一个数字矩阵,矩阵中每个元素代表图 像该点的灰度值。
关键词:0-1 化处理、边缘宽度匹配、边缘像素点匹配、上边界宽度匹配、投影波
峰图
一 问题重述
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重 要的应用。传统的人工拼接方法很难在短时间内完成任务。而利用计算机技术,可以开 发碎纸片的自动拼接技术,提高拼接复原效率。现建立适当数学模型,利用计算机解决 以下问题:
6,建立 19 幅图的三维矩 阵 U( Zni , Yni , n ), zni 代表第 n 幅图片的第 i 行的左端长度,
yni 代表第 n 幅图片的第 i 行的
右端长度,将处理后得出来的 所有数据导入此矩阵之中。
7,人工干预:由于汉字 的左对齐特点,很容易找到整篇文章的最左列,即第一列为附件 1 中编号 008 的图片。
1×72 的矩阵,将它们拼接成为一个 27×72 的矩阵,令这个矩阵为 Aij
(1 ≤ i ≤ 27 ,1 ≤ j ≤ 72 ,ij 为整数),利用 Aij 的值划分汉字区域和空
白区域。
将 Aij 矩阵 0-1 化处理(0 表示汉字,1 代表空格)
图 2 行距
此处认为矩阵有连续三个以上为 1 处是字间距,包含最多一个为 1 的数字零区域为汉字 域(由于某些左右偏旁的汉字偏旁与部首之间错在空隙)。
8,用 zni 与 y8i 相加,合成一列矩阵,统计矩阵中和数值大小介于 41 和 41×阀值之
间的个数占所有不零数值的比例,我们命名此比例值为匹配度(此算法我们没有统计相 加为零的情况,排除了汉字中间有空白的情况,更加精确)。取使得匹配度最大的 n 对应 的图片与图 008 匹配。利用此算法类推可以得到附件一的复原图。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包 括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从A/B/C/D中选择一项填写):
B
我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):
ycu
参赛队员 (打印并签名) :1.
4,统计矩阵两端汉字域的长度,方法如下见图 3: ①若 ai1 = 41 ,则记第一幅图第 i 行左端长度为 Z = 0 。 ②若 ai1 ≠ 41 ,从左到右连续三个元素相加,直到其累加 aiz + aiz + 2 + aiz + 3 = 3 为止,
记下此时的 i 值为 z ,记作第 i 行左端长度为 Z = z 。 ③若 ai72 = 1,则记第 i 行右端长度为Y = 0 。
针对附件 2,英文不具有汉字的固定长度特征。我们对上述方法改进,采用更加精细 的匹配。将切割边缘像素点 0-1 化(0 代表空白,1 代表有文字),人工干预找出位于首 列的图片 003,其余图片的边界像素值与其相加匹配,判断两个纸条是否匹配的标准是 2 或 0 个数的多少,选择匹配值最高的碎片与之匹配,依次匹配最终得到整张的复原图像, 称为“边缘像素点匹配”法。复原顺序为:3 6 2 7 15 18 11 0 5 1 9 13 10 8 12 14 17 16 4。
阵,1 ≤ k ≤ 19 。 ③人工干预:根据右对齐的特点找到第一列,第一列为 003,即第 4 幅图。
④用 Qk 矩阵与 H 4 矩阵分别相加,对应两个元素相等的情况和为 2 或 0,统计 2 与 0
的个数之和,命此值为匹配值。选出匹配值最大的与 003 匹配(类似比武招亲)。 再将此图片定为待匹配矩阵,用剩余 17 个矩阵与新的待匹配矩阵相匹配。依次类似
④若 ai1 ≠ 1 ,从右到左连续三个元素相加,直到其累加 ai72 − y + ai71 − y + ai70 − y = 3 为止,
记下此时的 i 值为 y ,记作第 i 行右端长度为Y = y 。将每一行的左右两端的长度分别放入
Z 、Y 矩阵。
5,对附件 1 中所有的图片 按照以上 1,2,3,4 步骤进行处 理,只取每一行的左右端长 度。
针对对于附件 5 拼接正反两面的纵横切碎片,我们考虑仍然运用对附件 4 英文的投影 波峰图法,matlab 编写程序寻找到 416 个图片的匹配中部值,以此为标准按行分类。位 于同一行的图片利用“边缘像素点匹配”法得到行的图片排序,进行人工干预,再对行 采用“边缘宽度匹配”法和人工干预得到最终排序表见附录 2。
二 模型假设
1、假设不考虑附件中所给的所有图片的扫描误差。 2、假设对于附件中所给的汉字都是等高等宽的正方形。 3、假设不用对所有图片进行去躁处理。
三 模型建立及求解
3、问题一模型建立及求解:
问题分析:
附件 1 给出了汉字 19 的条碎片,需要将这 19 条碎片进行排序复原,观察左右边缘 处,发现有很多文字被切开,因此碎片的拼接转化成,对边缘处被截断的汉字的拼接。 但计算机无法识别汉字,考虑到汉字是方正的,因此只需要拼接成一个汉字大小的文字 区域,就可近似认为是拼接成一个完整的汉字。
2.
3.
指导教师或指导教师组负责人 (打印并签名):
(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔 细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。)
日期: 2013 年 9 月 16 日
赛区评阅编号(由赛区组委会评阅前进行编号):
2013 高教社杯全国大学生数学建模竞赛
图 1 汉字示例图
所以将任意两个纸条拼接后,如果拼接边缘的某一对应位置的区域能够拼接为一 个大约 41×41 的正方形区域,则理解为这一位置拼接成了汉字。按此道理得出,两个纸 条的边缘能拼接成完整字的数量,记为匹配值,匹配值除以总的字数,定为匹配度。匹 配度越大,这两个纸条越匹配。称此方法为“边缘文字长度匹配”。 1,利用 matlab 调用函数(附录 2)将附件 1 中的所有图片转化为三维数字矩阵 image_1, 其中 image_1(i,j,k)表示附件一中第 k 张图的 i 行 j 列的灰度值。任取一张图片将其灰度化, 即可统计出顶端空行 37,汉字总行数 27,空行高度为 26。 2,将得到的矩阵 0-1 化处理,即将灰度值在 200-255 的数据化为 0,认为此处是空白, 将不是此区间的数据全部化为 1,认为此处是汉字。 ,分析碎片产生的矩阵,锁定汉字区域的具体位置,如图 2。Matlab 中提取一张碎片的第一行的汉字区域,会得到一个 41×72 的矩阵, 将矩阵按列累加化成 1×72 的和矩阵。据第一列的位置依次找出剩下 26 列汉字区域,对于每一行进行与第一行相同的处理,最后有 27 个
3.从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件 5 给出的是一页英文印刷文字双面打印文件的碎片数据。尝试设计相应的碎纸片拼接复原 模型与算法,并就附件 5 的碎片数据给出拼接复原结果。
如果复原过程需要人工干预,写出干预方式及干达。