logo资料库

2013全国大学生数学建模比赛B题.doc

第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
资料共38页,剩余部分请下载后查看
[2] 罗智中,基于文字特征的文档碎纸片半自动拼接,计算机工程与应用,37,207-210,2012
[3] 牛刚,基于特征像素统计的图像相关匹配算法,
[4] 卓金武,MATLAB在数学建模中的应用,北京:北京航空航天大学出版社,2011。
2013 高教社杯全国大学生数学建模竞赛 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们将受到严肃处理。 我们参赛选择的题号是(从 A/B/C/D 中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 重庆邮电大学 参赛队员 (打印并签名) :1. 2. 3. 指导教师或指导教师组负责人 (打印并签名): 日期: 2013 年 9 月 13 日 赛区评阅编号(由赛区组委会评阅前进行编号):
2013 高教社杯全国大学生数学建模竞赛 编 号 专 用 页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):
碎纸片的拼接复原 摘要 本文研究的是碎纸片的拼接复原问题。由于人工做残片复原虽然准确度高,但有着 效率低的缺点,仅由计算机处理复原,会由于各类条件的限制造成误差与错误,所以为 了解决题目中给定的碎纸片复原问题,我们采用人机结合的方法建立碎纸片的计算机复 原模型解决残片复原问题, 并把计算机通过算法复原的结果优劣情况作为评价复原模 型好坏的标准,通过人工后期的处理得到最佳结果。 面对题目中给出的 BMP 格式的黑白文字图片,我们使用 matlab 软件的图像处理功能 把图像转化为矩阵形式,矩阵中的元素表示图中该位置像素的灰度值,再对元素进行二 值化处理得到新的矩阵。题目每一个附件中的碎纸片均为来自同一页的文件,所以不需 考虑残片中含有未知纸张的残片以及残片中不会含有公共部分。鉴于残片形状分为“长 条形”与“小长方形”,残片内容分为中文、英文,纸张的打印类型分为“单面型”、“双 面型”,所以我们根据残片的类型对矩阵做不同处理。 针对问题一中给出的“长条形”碎纸片:对图片转化后的矩阵进行边缘检测,发现 每一张图片的两短边在一定范围内全是白色,而仅有 2 张图片的长边在一定范围内全是 白色,说明我们需要对长边进行拼接,一边包含全白的长边是原文件纸张的两端。由于 考虑到模型应用的推广,我们在此问中的模型包含了图片倒置的情况(仅在问题一中考 虑倒置情况,鉴于问题二、三中数据量的增多,二三问不再考虑倒置情况),对图片的 长边及矩阵中的第一列和最后一列与其他矩阵的第一列和最后一列进行边缘匹配,根据 边缘匹配度来确定图片复原,最后若发现拼接效果有偏差,在进行人工操作。 针对问题二中的“小长方形”碎纸片:由于数据量变多,盲目使用问题一中的方法 不能保证准确度,所以这里要进一步约束使当前图片与少量图片进行匹配。观察两种文 字的特点,我们可以发现中英文在位置上均有一定的特性,我们利用这种特性将有相同 位置特性的碎纸片归类为一组,在问题一方法的基础上做少许修改后代入有相同位置特 性的一组碎纸片中,根据边缘匹配度将他们连接、检查并做人工处理可得拼接后的横行 纸片,再将横行纸片的长边用同样的方法做边缘匹配可将行与行之间拼接起来,再做人 工调整得到最优结果。通过模型的建立求解过程可以发现中英文在本问题的求解方法中 有着一定的不同,英文需要更多地人工判断处理。 针对问题三考虑到双面问题以及问题二中英文碎纸片的情况,我们把碎纸片两面匹 配度之和作为判断碎纸片是否连接的评价标准,在问题一方法的基础上,在计算机每一 步的匹配结果加以人工选择与判断,这样再次处理得到的结果,可以得到同问题二中一 样的横行碎纸片,在根据新的横行碎纸片的两面边缘匹配度之和进行同样的操作处理可 以将原纸张拼接复原。 关键词: 残片复原 matlab 图像处理 二值化 边缘匹配度 倒置情况 位置特性 人工处理 1
一 问题重述 B 题 碎纸片的拼接复原 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。 传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼 接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提 高拼接复原效率。请讨论以下问题: 1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模 型和算法,并针对附件 1、附件 2 给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原 过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达(见 【结果表达格式说明】)。 2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件 3、附件 4 给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预 方式及干预的时间节点。复原结果表达要求同上。 3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼 接复原问题需要解决。附件 5 给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相 应的碎纸片拼接复原模型与算法,并就附件 5 的碎片数据给出拼接复原结果,结果表达要求同上。 【数据文件说明】 (1)每一附件为同一页纸的碎片数据。 (2)附件 1、附件 2 为纵切碎片数据,每页纸被切为 19 条碎片。 (3)附件 3、附件 4 为纵横切碎片数据,每页纸被切为 11×19 个碎片。 (4)附件 5 为纵横切碎片数据,每页纸被切为 11×19 个碎片,每个碎片有正反两面。该附件中每 一碎片对应两个文件,共有 2×11×19 个文件,例如,第一个碎片的两面分别对应文件 000a、 000b。 【结果表达格式说明】 复原图片放入附录中,表格表达格式如下: (1) 附件 1、附件 2 的结果:将碎片序号按复原后顺序填入 1×19 的表格; (2) 附件 3、附件 4 的结果:将碎片序号按复原后顺序填入 11×19 的表格; (3) 附件 5 的结果:将碎片序号按复原后顺序填入两个 11×19 的表格; (4) 不能确定复原位置的碎片,可不填入上述表格,单独列表。 2
二、模型假设 ①假设题目中的碎纸图片与真实文件纸张大小、颜色、边缘情况相同。 ②假设题目中的碎纸照片边缘完整,不存在破损。 ③假设所有碎纸片的扫描情况相同。 ④假设人工干预后可以得到正确结果。 ⑤假设原文件纸张的内容具有意义。 符号 iA iB iC 三、符号说明 符号意义 编号为i 的图片的灰度矩阵 编号为i 的图片经二值化处理后的矩阵 编号为i 的图片的二维边缘矩阵 D 、 'D 、 ''D 、 '''D 边缘匹配度矩阵 iE F 编号为 i 的图片在此处理后的二值化矩阵 边缘匹配度之和矩阵 *其他未提及的符号会在文章中说明。 四、问题分析 4.1 问题一的分析 4.1.1 中文碎纸片的复原分析 问题 1、2、3 附件 1、2、3、4、5 中的碎纸片均为一份纸张撕裂所得,所以碎纸片 中不会存在含有相同信息的公共部分,这里进行强调,下面不再重述。 附件 1 中所给的图片为[5]扫描原纸张碎片后得到的 BMP 格式的图片,图片像素均为 1980 72 ,使用[1]matlab 中的 iamread 函数可以做出图片的灰度矩阵 iA ,举例如下(由 于该像素图片转换后为1980 72 的矩阵,论文中无法放置,所以仅简单举例说明,论文 中若还出现庞大的矩阵,同本说明): 3
iA       255 255 0 255 220 150 255 0 0      矩阵的中元素表示该位置图片的灰度,255 表示为白,0 为黑,图片中信息为黑白文字 信息,但由于文字信息会存在阴影,所以矩阵中出现了介于 0-255 的元素。为了方便应 用,并查阅相关资料所得,可以对于本题中的黑白图片做[2]二值化处理,可将上面例 子中的 iA 转化为如下的矩阵: iB       0 0 1 0 1 1 0 1 1      其中白色用 0 值表示,非白色用 1 表示。 将附件 1 中的 19 张图片做如上处理得到各自的二值化后的矩阵 Bi,矩阵均为 1980 72 的矩阵,这里我们分别将每张图片的 Bi 矩阵第 1 列和第 72 列提取出来做一新 的二维边缘矩阵 Ci,它是1980 2 的矩阵。通过对所有图片矩阵的分析可以发现 C6、C8 矩阵中均有一列为 0,所以可以认为编号为 006 和 008 的图片为原完整文件的一端,在 做题过程中无需考虑会存在其他白边与白边拼接的情况。 两张图片匹配的原则可以根据下面的图 1、图 2 来表示。 图 1.图片未倒置 图 2.图片倒置 如图 1,当图片未出现倒置情况时,即题目中的图片均是正常摆放,将左边矩阵的 第二列元素与右边矩阵的第一列元素进行两两匹配。记录元素相同的个数,个数除以 1980 为左边矩阵第二列对右边矩阵第一列的边缘匹配度,记为: ijD  元素相同的数量 1980 将所有碎纸片的二值化矩阵做如上匹配可依次选取与其匹配的碎纸片。 图 1 中左边矩阵第一列与右边矩阵第二列匹配的原则与上述相同,不再重述。 4
如图 2,当图片出现倒置情况时,正常情况下应是左边矩阵的第二列元素与右边矩 阵的第一列元素进行两两匹配,若倒置后,则应该是左边矩阵的第二列元素与右边矩阵 的第二列元素倒置顺序进行比较,同样记录相同元素的个数并计算匹配度。 图 2 中左边矩阵第一列元素与右边矩阵第一列元素的匹配原则与上述相同,不再重 述。 综合图一图二我们可以做出 4 个边缘匹配度的矩阵,即未倒置时矩阵第一列与其他 矩阵第二列的边缘匹配度、未倒置时矩阵第二列与其他矩阵第一列的边缘匹配度、倒置 时矩阵第一列与其他矩阵第一列的边缘匹配度、倒置时矩阵第二列与其他矩阵第二列的 边缘匹配度。由于(未)倒置时矩阵第一列与其他矩阵第二列匹配在思想上同(未)倒 置时矩阵第二列与其他矩阵第一列匹配相同,所以这里只需考虑其中一种情况即可。 任选其中一例说明,由于碎纸片倒置情况未知,需要考虑未倒置时的情况与倒置式 的情况,未倒置时矩阵第一列与其他矩阵第二列的边缘匹配度矩阵第一行最大值与倒置 时矩阵第一列与其他矩阵第一列的边缘匹配度第一行的最大值进行比较,选取匹配度大 的作为拼接的纸片,即编号为 000 的碎纸片要与该纸片拼接。以此类推把 19 张碎纸片 拼接完成后做人工处理。 4.1.2 英文碎纸片的复原分析 将附件 2 的 19 张图片做 4.11 中处理得到二值化后的矩阵 Bi,矩阵均为1980 72 的 矩阵,这里我们分别将每张图片的 Bi 矩阵第 1 列和第 72 列提取出来做一新的二维边缘 矩阵 Ci,它是1980 2 的矩阵。通过对所有图片矩阵的分析可以发现 C3 、C4 矩阵中均有一 列为 0,所以可以认为编号为 003 和 004 的图片为原完整文件的一端,在做题过程中 无需考虑会存在其他白边与白边拼接的情况。 做如上判断后解题过程同 4.11。 4.2 问题二的分析 4.2.1 中文碎纸片的分析 此问中同 4.1 的图片处理方法,也需要将 209 张碎纸片进行同样的图像处理转化为 灰度矩阵后进行二值化处理得到处理后的矩阵。根据结果知此问中的图片转化后的矩阵 为 72 180 的矩阵,列数由第一问中的 1980 变为 180,虽然数量变少,但是图片数量由 19 张变为了 209 张。若同样使用 4.1 中的边缘匹配的方法,一张碎纸片对应其他 208 张 碎纸片的边缘匹配相同的像素点有 208 种情况,变化范围为 0-180,可知若直接采用 4.1 中的方法得到的结果可能出现多个相同或无法判断的情况,所以这里我们先考虑附件 3 中碎纸片的特性。 观察下面的图 3 可以发现,通过查阅资料分析[2]基于文字特征的文档碎纸片半自动 拼接,每一行的绝大多数中文文字均可认为拥有同一上界、同一下界(图 3 最右端出现 了“一”字,但是同行还存在其他文字,可以认为同一行文字有同一上界与同一下界), 5
我们可以根据这一特性使用软件将[3]匹配度高及位置相同的碎纸片归类为一组。方法 为:搜索每一张碎纸片转化后二值化矩阵 iC 的每一行,若矩阵该行中存在数值 1,则将 该行全部赋值为 1,若这一行元素全为 0,则将该行全部赋值为 0,其中 1 表示本行存在 灰度小于 255 的像素,0 表示不存在灰度小于 255 的像素,这样将 209 张碎纸片做出[4] 新的二值化矩阵 iE ,之后同 4.1 的分析取边缘做边缘匹配得修改后的[6]边缘匹配度矩阵 D ,匹配度高则说明碎纸片的文字信息处于同一水平位置,见下图图 4,之后再人工干 预,得到较优的结果。 图 3.处理的图片 图 4.再次处理后的图片 得到很多组有相同位置的的碎纸片后,在每一组内采用 4.1 的中的边缘匹配方法, 这里为了防止出现两白边匹配造成碎纸片连接混乱的现象,要加以限制。方法为:若在 组内做边缘匹配出现匹配度为 1 的情况,则暂时不连接此碎纸片,从剩余的碎纸片出发 做边缘匹配与其他碎纸片连接,直到组内所有碎纸片均已覆盖。 这样再通过一定的人工干预可以得到拼接复原后的的 11 横行碎纸片,在同样使用 6
分享到:
收藏