SlideShare a Scribd company logo
1 of 25
Download to read offline
2013 高教社杯全国大学生数学建模竞赛
承 诺 书
我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网
上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的
资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参
考文献中明确列出。
我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规
则的行为,我们将受到严肃处理。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展
示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从 A/B/C/D 中选择一项填写): B
我们的参赛报名号为(如果赛区设置报名号的话): 13243004
所属学校(请填写完整的全名): 华中农业大学
参赛队员 (打印并签名) :1. 王艺程
2. 张瞻基
3. 何力
指导教师或指导教师组负责人 (打印并签名): 任兴龙
日期: 2013 年 9 月 15 日
赛区评阅编号(由赛区组委会评阅前进行编号):
2013 高教社杯全国大学生数学建模竞赛
编 号 专 用 页
赛区评阅编号(由赛区组委会评阅前进行编号):
赛区评阅记录(可供赛区评阅时使用):
评
阅
人
评
分
备
注
全国统一编号(由赛区组委会送交全国前编号):
全国评阅编号(由全国组委会评阅前进行编号):
1
对于碎纸片拼接复原的研究
摘 要
零碎纸片的拼接复原问题,是计算机视觉、图象分析和模式识别中一个突出难题。本
文就矩形碎纸片的拼接问题提出了相应的模型,通过算法得出最优复原图像。
对于第一问,凭借差异性最小准则推得拼接方案。我们首先将 unit8 型数字图像信息
转化为双精度型数据信息,得到 19 个大小为 198072 的灰度矩阵。提取出每张碎纸片的
边界灰度信息,用碎片间边缘像素灰度值差的平方和来表征碎片边缘之间的差异程度,此
拼接问题即可转化为比较两张碎片边缘间差异性的问题,先确定一初始碎片,选取与之差
异性最小的碎片作为邻接碎片,并依次延伸下去,最后分别将中英文碎片拼接为两个完整
的图。相关表格见表 1 和表 2,图示见附录一和附录二,此问不需要人工干预。
对于问题二,从多个角度完善差异性准则,使用“种子生长”算法拼接碎片。由于经
过横切和纵切的碎片边缘长度减少,每张碎片可供利用的边缘灰度信息的丰富度下降,随
机性增强,如果继续使用问题一中的的差异性准则解决此问题,会出现很多“错配”的现
象。通过分析错配的图片特征和文字段落的固有特征,我们对差异性准则进行了补充和完
善:如果两张碎片拼接后边缘处像素灰度值出现最大值(unit8 格式下为 255,double 格式
下为 1)和最小值(0)之间的突变,则(在这种拼接方式下)两张碎片差异很大;如果
两张碎片的一定边拼接后横向或纵向边缘空白处对齐,则这两张碎片差异性小,这两张碎
片以此边相连的可能性大。具体寻找最佳拼接方案时,为了充分提取图像中可反映“差异
性”的的信息和碎片间的关系,我们采用种子生长算法进行碎纸片拼接,并严格监督每一
步拼接过程。该算法的大致过程为:在一张虚拟的足够大的“画布”上生成一个“种子”
(即选定一张独立碎片),综合分析上述各项差异性原则,依次从碎片的右、左、下、上
四个方向进行扩展,寻找尚未参与拼接的最低差异性碎片进行拼接(即“种子”的“生长”,),
由人工监督是否拼接,如果某一方向向外扩展时失败,则尝试下一方向的扩展。如果外围
碎片的各个方向都无法扩展,则随机选取一个未进行拼接操作的碎片作为新的“种子”放
入新画布,依次迭代直至没有可选取的“种子”,此时,各个“小碎片”已拼接为至多 5
个“大碎片”,可以很方便地根据排版、语义等信息拼接为完整图片。由概率论知识和操
作经验可知:1.容易被选中成为“种子”的碎片同样容易扩展为“大碎片”;2.随着算法的
进行,可拼接的小碎片数越来越少,算法的速度和准确性越来越高。此外,我们基于 Matlab
编制了一个可视化程序来监督算法的运行,只需点击一键即可实现放弃或拼接当前碎片。
人机交互下的“种子生长”算法在时间短的限制下在理论上也可以达到“零误判”的程度。
使用上述方法,我们对附件 3、4 中的英文和中文碎片分别进行了拼接复原,具体表格见
表三和表四,图示见附录三和附录四。整个过程人工放弃拼接碎片 37 次。
对于问题三,通过进一步改进上述“种子生长”算法求解。在针对双面打印情况改进
的“种子生长”模型中,考虑到正面和反面的单一种子生长区域存在差异而每一碎片又兼
具两面,为了保证种子生长区域的完整性,我们放宽了对参与拼接的碎片的限制,已经参
与过拼接的碎片也可以参与新的拼接(新种子的生长),当碎片的某一面由于“差异性低”
被选中参与拼接时,由于相对于当前种子的位置被固定,碎片的另一面的位置实际上也被
固定,但仍然可以参与新的拼接,以此保证“纸的另一面”信息不被浪费。在种子生长阶
段全部完成(无种可选)后,对于得到的 n 个“大碎面”通过取反面,可以再得到 n 个“大
碎面”,这 n+n 个大碎面综合起来可反映整张纸的正反两面的完整信息。用该方法处理附
件 5,我们得到了 3+3 个“大碎面”,结合语义分析和逻辑推理完整复原了两面纸张,具
体表格见表五和表六,图示见附录五和附录六。整个过程人工放弃拼接碎片 86 次。
本种子生长程序具有通用性,并附有运行说明。
关键词: 碎片拼接 种子生长算法
2
1 问题的提出
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要
的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片
数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎
纸片的自动拼接技术,以提高拼接复原效率。我们查阅了大量的文献,发现其研究的领域
与此题不甚相同。有大量的文献是在研究不规则的碎片拼接复原的方法,如采用链码表示
碎片轮廓,然后通过碎片旋转进行搜索,采用边界准则和面积准则进行碎片之间相似的匹
配部分的判断,达到碎纸自动拼接的目的,实现了基于计算机辅助的碎纸自动拼接复原;
抑或是研究三位拼接问题,利用不变距描述空间曲面的方法。对空间曲面的匹配问题采用
匹配面元法线的方法,利用面元法矢量匹配曲面等等。这些方法和算法与此题所给的碎片
有一定出入,但同时亦具有一定的借鉴意义。
2 问题的分析
2.1 纵向切割下的碎纸片拼接复原的模型与算法
此问是针对仅以纵切方式的破碎纸片所建立的模型。观察附件一中所给的碎图片,我
们可以发现,碎纸片均是矩形的,而且每张图片的宽度远远大于其长度。所以,在把图片
通过像素点的方式输入 matlab 后,我们打算运用“最小二乘法”的思想,按照其中一张
图片与剩余所有图片依次求出最左(右)列像素和最右(左)列像素的各行的差的平方和,
即两两图片之间的差异程度,并根据最小差异的数值对各张图片进行拼接复原。
2.2 交叉切割下的碎纸片拼接复原的模型与算法
此问在第一问的基础上增加了横向的分割,使得碎片边界的灰度值矩阵变小,从而可
能引起差异性差异不显著,或者为零的情况。正是由于这个原因,可能表现出在第一问中
大边界下未暴露出来的错误。并且,仅按问题一中的程序,我们无法考虑碎纸片间的上下
边界差异性,和算法的复杂度的增加程度。因此,针对于该问,我们打算先检验第一问中
的程序运行情况,然后基于上问中的模型,来增加各种约束确定出能解决该问的最终数学
模型。
2.3 双面交叉切割下的碎纸片拼接复原的模型与算法
第三问与第二问的不同之处主要在于一个只需考虑单面,而另一个需要考虑两个面。
由于同一张碎纸条存在两个面,假如我们只从一面出发的话,自动产生的新种子又可能是
相反的面,进而扩展成我们本不打算需要的块。如何有效的解决这个问题,或者说,如何
有效的利用这不同面的块,将其整合成为一张完整的面。我们拟打算人为选定种子、人为
组合某一面的特征元素或者讲两面的块全部生成,不再存在未判断碎纸条。然后在这基础
上再进一步,通过人工组合或者是人为对计算机提出的最优决策舍取来完成该问。
3 模型的假设
3.1 假设图像切割过程中,对边界灰度数据的影响不显著;
3.2 假设碎纸片灰度数据的提取充分可靠;
3.3 假设碎纸片中未出现大量灰度数据异常的情况;
3.4 假设题目附件中所给图片不存在色调不均的情况。
4 符号的定义与说明
3
符号 符号说明
),,,( RLjiC 第 i 张碎片右边界的灰度与第 j 张左边界的文字笔画的契合度
),,,( RLjiD 第 i 张碎片右边界的灰度与第 j 张左边界的灰度差异性
),,,( DUjiD 第 i 张碎片下边界的灰度与第 j 张上边界的灰度差异性
),( akz j j 号碎片第 k 行右边界的灰度值
),( jip 第 i 号碎片与第 j 号碎片的匹配概率
5 模型的建立与求解
5.1 纵切碎纸片的拼接复原
5.1.1 问题的分析
此题是针对仅以纵切方式的破碎纸片所建立的模型。观察附件一中所给的碎图片,我
们可以发现,碎纸片均是矩形的,而且每张图片的宽度远远大于其长度。所以,在把图片
通过像素点的方式输入 matlab 后,我们将打算运用“最小二乘法”的思想,计算出各张
图片之间的差异程度,并根据最小差异的数值对各张图片进行拼接复原。
5.1.2 数字图像的数值描述
我们知道,从客观场景中得到的信息是二维的信息。因此,一幅图片可以定义为一个
二维函数 ),( yxf ,其中, x , y 是空间坐标。对任何一对空间坐标 ),( yx 上的幅值 ),( yxf 称
为表示图像在该点上的强度或灰度,或简称像素值。显然,经过上面的采样与量化操作之
后,图像的坐标 x , y 和图像的幅值 ),( yxf 均为离散的、有限的数值[1]。
因为矩阵是二维结构的数据,同时量化值取整数,因此,一幅数字图像可以用一个整
数矩阵来表示。矩阵的元素位置 ),( ji ,就对应于数字图像上的一个像素点位置。矩阵元素
的值 ),( yxf 即为对应像素点的像素值。
在这里,我们采用的是灰度图像,指每个像素的信息由一个量化后的灰度级别来描述
的数字图像,灰度图像不包含彩色信息。标准灰度图像中每个像素的灰度由一个字节表示,
灰度级别为 256 级,每个像素可以是 0-255(从黑到白)之间的任何一个值。所以,我们
把每张图片的灰度信息读入 matlab 中,得到了 19 个 198072 的矩阵,即为各张图的灰度
信息矩阵,接下来,我们将对此矩阵进行分析。
5.1.2 模型的建立
设每张图片有 nm 个像素点,
记 第 i 张 图 片 的 灰 度 信 息 矩 阵 为  lkzi , , nlmki  1,1,191  , 其 中
72,1980  nm ,
设 19 张图片排列顺序如下:
1i 2i 3i 4i 5i 6i 7i 8i 9i 10i 11i 12i 13i 14i 15i 16i 17i 18i 19i
如果第 j 张图片顺接在第i 张图片的右边,记两个图片相邻的文字笔画的契合度为
),,,( RLjiC ,建立模型如下:
目标函数:
 RLiiC ,,,max 21
 RLiiC ,,,max 32

 RLiiC ,,,max 1918
4
约束条件:
19,,11 i
19,,12 i
kjii kj  ,
1921 ,, iii  从左到右顺序排列。
文字笔画的契合度最大,不妨转化为文字笔画的差异性最小,差异性用灰度信息矩阵
相邻列的差异性来描述,取第i 张图片的灰度信息矩阵 iz 的最后一列  nzi :, 与第 j 张图片的
灰度信息矩阵 jz 的第一列  1:,iz ,定义差异性函数如下
    

m
k
ji kznkzRLjiD
1
2
1,,),,,( ,
即求     

m
k
ji kznkzRLjiD
1
2
1,,),,,(min 。
5.1.3 算法流程与解释
算法的基本流程如图 1 所示:
图 1 算法流程图
首先把各张碎片的信息读入 matlab 中,得到 19 个 198072 的矩阵,即为各张图的灰
度信息矩阵。接下来构造关联矩阵,选出各张碎片的最左边的一列和最右边的一列,作为
这张碎片的关联矩阵。据此,我们随机选取一张碎片作为起始碎片,根据这张碎片最右边
读取图像灰度信息
构造边缘关联矩阵
分析关联矩阵定差异性 D
依差异性得拼接方案
显示拼接结果
随机确定初
始拼图
向右扩展向左扩展
5
的一列数值与其他碎片的最左边的数值进行差异性计算,得出一个 191 的矩阵,选取最
小值,即为该碎片的紧邻右侧的拼接碎片。再将紧邻碎片进行重复的操作,直至最右侧的
碎片的最右列的值全为 255(白)为止。同样的方式从起始碎片的左侧开始进行,直至最
左侧的碎片的最左列的值全为 255(白)为止。这样就可以得出各张碎片复原后的顺序。
5.1.4 拼接结果与分析
复原后的碎片序号排列结果如表 1 和表 2 所示,其图像结果请见附录一及附录二:
表 1 纵向切割下汉字碎片序列表
8 14 12 15 3 10 2 16 1 4 5 9 13 18 11 7 17 0 6
表 2 纵向切割下英文碎片序列表
3 6 2 7 15 18 11 0 5 1 9 13 10 8 12 14 17 16 4
对于人工干预的功能,我们并未使用。因为,在本问中,直接把图读入软件并按照我
们程序化的处理方式就可以正确地把碎片拼接成图。究其原因,我们认为,是每一列的像
素点的取值比较多,有 1980 个之多,所以,匹配的差异程度的大小比较容易发现,从而
进一步确定匹配的顺序。
5.2 交叉切割的碎纸片拼接复原
5.2.1 问题的分析
此问在第一问的基础上增加了横向的分割,使得碎片边界的灰度值矩阵变小,从
而可能引起差异性差异不显著,或者为零的情况。正是由于这个原因,可能表现出在第一
问中大边界下未暴露出来的错误。并且,仅按问题一中的程序,我们无法考虑碎纸片间的
上下边界差异性,和算法的复杂度的增加程度。因此,针对于该问,我们打算先检验第一
问中的程序运行情况,然后基于上问中的模型,来增加各种约束确定出能解决该问的最终
数学模型。
5.2.2 对问题一模型的检验。
根据问题一的模型,我们仍旧按照差异性进行碎纸片的拼接复原。只不过,由于第
一问不需要考虑上下边界的拼接,所以没有引出上下差异性的定义规则。针对于此问,我
们定义碎纸片间的左右(L/R)差异性 D1 和上下(U/D)差异性 D2 分别为:


m
k
ij bkzakzRLijD
1
2
1 )),(),((),,,(


n
o
ij odzoczDUijD
1
2
2 )),(),((),,,(
其中,每张小碎片的灰度矩阵大小均为 nm ,m 为 180,n 为 72;a、b 分别表示碎
片的左右边界,c、d 分别表示碎片的上下边界。
我们以 D1+ D2 最小为目标,按照问题一的解答方式进行了一次实验,发现碎纸片的
拼接过程出现了大量错误。并且,从左右两个方向匹配增加至上下左右四个方向匹配,其
次,碎纸片的数量由 19 张上升到 209 张,这些都大幅度地提高了算法复杂度。
对于问题一模型检验的结果,我们从大量错误中选取了部分图片,见图 2 至图 3。并
基于此,补充了针对问题二的约束。
6
图 2 相邻边界的“灰度突变”图
图 3 拼接之后“字高异常”图
5.2.3 对问题二模型的建立
通过对问题一中模型的检验之后,我们发现了误判处的特征主要有相邻边界的灰度骤
然变化和字高异常的情况。
约束 1:
针对于图 2 中左图,之所以仅从差异性无法选出真正吻合的碎纸片,左图中可能是由
于“大”(“人”)字的长横处所显示的灰度值很小,而“撇”字划本身的灰度值很大,
但是由于成斜线形式,因此导致了(正确吻合情况下)白色灰度值于黑色灰度值相差过大,
我可以通过图 4 和图 5 来进行更直观的说明。
正确匹配下:
7
图 4: 正确匹配分界线灰度图
其中,每一个小方块代表一个灰度值(分辨率点),黑灰白的灰度分别为 0,50,和 255,
若按图 4,可计算出该分界线的上下差异性 D2 为:
298.4125)50255()050()50255()050( 2222
2 D
错误匹配下:
图 5 错误匹配分界线灰度图
图 2 左侧图像中错误大致可抽象成如图 5 所以,旨在表现可能出现大量于白色灰度相
差不大,但实际上不允许的匹配。例如图 5 中所示上下差异性 D2 为:
134.72196)255200( 2
2 D
根据两个上下差异性 D2 的数值,可以发现存在错误匹配下,差异性值小于正确时的可
能。
针对于图 2 中的右图,同理,可能是 V 字母与 U 字母错误匹配。
为了解决这个问题,我们发现,图 2 中左右两图都存在异常点——边界处出现黑色突
变为白色。
但是实际情况下,灰度值一般是有一定渐变性的。因此,我们确定一个约束,不允许
边界线上,存在同一行灰度从 255 突变为 0,或从 0 突变为 255.表示为数学约束则为:
左右边界: | ),(),( bkzakz ij  |<255 mk ..2,1
上下边界: | ),(),( odzocz ij  |<255 no ,..2,1
其中,i,j 表示不同的碎纸片,k,o 分别表示灰度矩阵的行编号与列编号。m,n 为灰度
矩阵的大小,分别是 180 和 72. a、b 分别表示碎片的左右边界,c、d 分别表示碎片的上下
边界。 ),( akz j 表示 j 号碎纸片第 k 行右边界的灰度值。
约束 2(英文拼接下不考虑):
针对于图 3,差异性所产生的误差大致与图二中的错误原因一样,不过,我们发现此
类拼接错误的原因可以很好的从字高来进行考虑,具体的判别步骤如下:
Step1:选取任意小块碎片,分析其某行汉字的最大字高,确定一个值;
Step2:抽选不同碎片的某行最大字高,与第一步确定的数值进行比较,选出大值,
认为该值是汉字最大字高;
Step3:在考虑差异性之后,判断合成图片是否大于所设最大字高;
Step4:剔除字高大于设定值得合成图片,重新进行差异性考虑;
8
Step5:确定满足条件下的匹配。
其中需要注意的是,此处,我们将待判定字高认为是合成图片的灰度矩阵中,连续非
白行数。通过比较此行数与单张碎纸片中所确定的最大字高,来进行判断。具体判断过程
可参考图 6 和图 7
图 6 假设最大标准字高图
图 7 两种字高错误图
我们假定以上两图的最大字高为 11,则可以发现图 7 中产生了两种错误,一种是文字
本身不连续情况下的字高值超过了界限 11,另一种为多个字高值中,最大值超过界限的情
况。
通过多次比较,我们发现字高的最大值 H 为 41,即一个汉字在垂直方向,最多占 41
个像素点(即灰度矩阵的 41 行)。将此种约束转化为数学形式,则为:
max HnjiH ),,( 8n
其中,H 为已统计出的字高的最大值(设定值), ),,( njiH 表示,任意 i,j 合成图的第
n 个连续非白矩阵总行数。因为每张图片上不只一行汉字,所以会产生大于 1 的连续非白
字高值,但观察发现,最多可以出现 8 个“字”(在上下拼接时出现的最大次数)。
在以上两个约束都满足的情况下,然后从这 n 个字高中选取最大值与设定值比较,若
都成立,则认为此匹配符合要求。
约束 3:
我们运用以上约束进行匹配,并且规定当生成的模块四周均为白色时,则终止匹配,
最终产生了 10 个大块。下面选取了其中任意两个块,见图 8。
9
图 8 种子生成的块图
我们希望尽量减少块的数量,从而可以使最终的人工干预次数减少。我们发现,每个
块的白色宽度并不相同,例如图 8 中上图的上边界明显大于下图的上边界。我们可以通过
灰度矩阵中连续白色的总列数(同字高)的不同来进行块的匹配。
我们首先通过人为的方式,发现图 8 下方一图是一篇文章的最右部分。因为其最后一
列文字的右边距基本一致。根据灰度矩阵,将具有该种性质的图都以右边靠齐,并进行上
下排列。
然后,我们任意选取两张该类性质的块,根据上下边界白色宽度之和,与行距差的绝
对值( |-| ll空白 ),或者是与字高加两倍行距的差的绝对值(| lHl 2--空白 |)。只有当该值越
接近 0,则说明,他们之间越可能是相邻的。因为,一般情况下,两个块上下方向拼接时,
连接处生成的白色宽度为行距。同时也存在像图 8 上图中,一个段落已经结束,则之后生
成的白色宽度为两个行距加上一个字高。
但我们用数学方式来表达时,则可以写成如下目标:
min |-| ll空白 +| lHl 2--空白 |
通过设置了该目标,我们最终生成了两个大块。
综上所述,在关于块的生成过程中,我们建立了如下的数学模型:
min ),,,(),,,( 21 DUjiDRLjiD 
s.t.








8),,(max
,..2,1255),(),(
..2,1255<),(),(
nHnjiH
noodzocz
mkbkzakz
ij
ij
5.2.4 算法的流程与解释
正如一粒种子在阳光、雨水、土壤等条件下,逐渐地长大成为一棵参天大树,同样,
一张微小的碎纸片在一定的条件之下也能找到他的同伴,逐渐地扩展成为一篇完整优美的
文章。
我们基于种子算法的思想,拼接出了准确率为 100%的两篇文章。
首先,我们建立两个 1919 的矩阵,用来存储上下差异性 D1 和左右差异性 D2。使得
10
后面对于每个差异性判断时的选取,只需从中矩阵中选取最小值。避免了重复计算而产生
的时间复杂度[2]。
接着,我们选定了一张碎纸片,作为初始的种子。当碎纸片边界的灰度信息量越大,
即四周出现越多的灰色连接点,其向外扩展时,出现差异性误差的概率越小,整篇文章的
拼接时产生的错误值也越少。因此,我们在英文碎纸拼接时,人为的选定了一张四周都含
有灰度信息的碎纸片。
然后,我们创建了 K 张大小为(2m+1)(2n+1)的画布,正如种子生长所需的土壤,
此处用于碎纸片的向外拼接。并将种子至于该画布正中间,即坐标(m+1,n+1)处。之所
以选择(2m+1)(2n+1)规格的画布,是因为即使我们选取了一篇文章的边角碎片作为种
子,当其向外扩张至形成一张完整的图像时,其所覆盖的面积也仅仅为该画布的四分之一,
并未超出画布的边界。且在此种规格下,画布大小是最优的。
最后,我们给定了碎纸片扩展方向的顺序——右左下上。在不进行人为规定的情况下,
一张碎纸片的扩展顺序为 4
4A 种(上下左右、上左下右、上右下左···),若不规定扩展顺
序,则会大大增加算法的时间复杂度,但是,规定的顺序不一定是最优的扩展顺序。可能
根据种子的选取不同而产生不一样的效果。此处我们未深入研究其效率。
我们利用模型中的约束条件,将未知碎纸片与选定的固定边界进行判别,选出一个最
优方案,然后对于每次的方案,程序都会以图片的形式展现出拼接结果,如图 9 所示,并
在 matlab 主窗口处生成一行“是否匹配(1-是,0-否)”的字符串。
图 9 碎片拼接过程图
针对于图 9 中左侧可知,该左右匹配下是吻合的,并且通过右侧的文章意思“三过平山堂
下”(红线为自己另外标记,用于突出拼接位置),更加可以确信两站碎片是相邻的。故,
此时在 matlab 主窗口中输入 1,并回车。对于不吻合,产生错误的拼接,我们则按 0 加回
车,或者直接按回车,则可以改变图像的拼接方向。具体的扩展方向可以通过图 10,进
行更直观地了解。
图 10 种子扩展示意图
11
其中,括弧之中的 0 和 1 表示在经过人审核之后的输入值。括号外的数值表示在相应
输入值下的前 4 次扩展过程中的次序。主要的过程可以理解为走迷宫的形式,当输入值为
0 时,表示前方已经没有道路,则后退到上一路口,仍然按照“右左下上”的顺序进入方
向尚未走过的道路。以此类推,当倒数第二节点的四条路径都走过之后,则返回至倒数第
三节点处。
按照这个顺序扩展,我们实现了原始图片的完全复原。
针对于该算法,电脑对于每次的匹配都给出了最优的方案,大大减少了我们人工去依
次观测剩余碎片的工作量,并且,每次匹配的最终决策权还是在我们手上,完全可以避免
了碎片拼错的可能性。亮点在于图像的准确率上!十分适合于数学论文等含有大量公式或
者少量片段信息的缺失会严重影响信息获知的情况下。
同时,对于该算法,也有一定的不足,例如,在对信息准确率不是要求十分高的情况
下,此种算法可能还是会对人力资源产生一定的浪费。并且该算法尚未对最大横向碎片个
数为 19,进行约束,使得由于该原因而产生较多错误方案需要人为否决。因此该算法还
有进一步优化的空间。
5.2.5 拼接结果与分析
通过以上模型及在 matlab 环境下按照本问算法得出了如表 3 和表 4 的结果,具体生
成的图像结果,请见附录三和附录四:
表 3 交叉切割下汉字碎片序列表
50 55 66 144 187 3 58 193 179 119 191 96 12 23 130 29 92 189 142
62 20 79 68 70 100 163 97 132 80 64 117 164 73 7 178 21 53 37
169 101 77 63 143 31 42 24 148 192 51 180 121 87 196 27 2 88 19
39 149 47 162 25 36 82 190 123 104 131 194 89 168 26 9 10 106 75
72 157 84 133 201 18 81 34 203 199 16 134 171 206 86 153 166 28 61
15 129 4 160 83 200 136 13 74 161 204 170 135 40 32 52 108 116 177
95 35 85 184 91 48 122 43 125 145 78 113 150 98 137 165 128 59 44
126 14 183 110 198 17 185 111 188 67 107 151 22 174 158 182 205 140 146
30 65 112 202 6 93 181 49 38 76 56 45 207 11 105 99 173 172 60
8 209 139 159 127 69 176 46 175 1 138 54 57 94 154 71 167 33 197
90 147 103 155 115 41 152 208 156 141 186 109 118 5 102 114 195 120 124
表 4 交叉切割下英文碎片序列表
192 76 12 155 191 185 3 105 181 65 107 5 150 33 205 66 40 68 148
202 149 171 197 199 95 114 165 79 104 92 81 102 27 101 7 18 29 147
87 52 108 30 41 159 187 99 25 118 151 6 60 59 93 31 38 47 128
20 195 94 142 89 122 127 106 156 115 177 183 152 23 58 203 72 166 83
160 140 2 130 64 139 154 54 39 124 121 176 86 51 161 188 98 204 32
21 42 109 117 137 74 37 208 136 16 77 44 200 46 174 80 162 180 144
209 22 8 50 62 120 34 143 169 63 170 55 193 134 119 190 163 198 113
71 85 61 15 69 175 138 196 9 48 173 157 97 24 100 123 91 186 110
133 182 96 70 168 164 167 189 112 145 207 4 131 35 14 111 26 28 179
172 43 67 206 11 158 75 146 84 135 56 19 57 36 17 10 184 153 45
82 78 129 201 132 53 126 141 194 88 90 49 73 13 178 125 1 103 116
对于在汉字和英文环境下,分别出现了 167 次和 134 次错误方案供我们决策(输入 0
进行否决),并且最终匹配出完全吻合的图片。可以看出在匹配过程中会出现一定的错误,
但是,我们可以通过一些简单的人工干预的方式来巧妙地避开了这些错误,最后,我们得
12
到了正确率为 100%的中英文完整图像各一张。
5.3 双面交叉切割下的碎纸片拼接复原的模型与算法
5.3.1 问题的分析
第三问与第二问的不同之处主要在于一个只需考虑单面,而另一个需要考虑两个面。
由于同一张碎纸条存在两个面,假如我们只从一面出发的话,自动产生的新种子又可能是
相反的面,进而扩展成我们本不打算需要的块。如何有效的解决这个问题,或者说,如何
有效的利用这不同面的块,将其整合成为一张完整的面。我们拟打算人为选定种子、人为
组合某一面的特征元素或者讲两面的块全部生成,不再存在未判断碎纸条。然后在这基础
上再进一步,通过人工组合或者是人为对计算机提出的最优决策舍取来完成该问。
5.3.2 模型的建立
我们利用第二问中的程序,随机选取一个种子,这个种子可以在整张纸片的任何位置。
但是,与第二问不同的地方是,在碎纸片拼接的时候,每纳入一个新的碎片,不仅仅可以
确定改碎片的一个面在纸张的位置,同时可以确定碎片的另个面在纸张的位置,也就是说,
确定了该碎纸片在纸张的位置。然后同第二问中种子生长的过程,直到种子在一定区域无
法继续生长而停止。
与此同时,与第二问不同的是,种子随即形成可能存在于不同的面,比如说,第一个
种子可能在正面生长,第二个种子可能在背面生长,等等。不管种子是否在不同的面生成,
则要求其生长过程后形成的大块纸片最大限度的覆盖整个纸张。同时,我们允许种子因为
在不同的面而形成有相同部分的纸张。
最后,我们会得到一些大的单面的碎片,因为此纸张是双面打印的,所以,在具体拼
接时,会出现两倍数量的碎片。根据行距和语义,我们就可以拼出两块完整的纸张。
记最终形成的单面纸张为n ,拼接时种子数为k ;
模型的具体形式如下
min ),,,(),,,( 21 DUjiDRLjiD 
s.t.











4k02kn
8),,(max
,..2,1255),(),(
..2,1255<),(),(
nHnjiH
noodzocz
mkbkzakz
ij
ij
5.3.3 算法流程与解释
13
图 11 算法流程图
首先,我们建立两个 1919 的矩阵,用来存储上下兼容性 D1 和左右兼容性 D2。使得
后面对于每个兼容性判断时的选取,只需从中矩阵中选取最小值。避免了重复计算而产生
的时间复杂度。
接着,我们选定了一张碎纸片,作为初始的种子。当碎纸片边界的灰度信息量越大,
即四周出现越多的灰色连接点,其向外扩展时,出现兼容性误差的概率越小,整篇文章的
拼接时产生的错误值也越少。因此,我们在英文碎纸拼接时,人为的选定了一张四周都含
有灰度信息的碎纸片。
然后,我们创建了 K 张大小为(2m+1)(2n+1)的画布,正如种子生长所需的土壤,
此处用于碎纸片的向外拼接。并将种子至于该画布正中间,即坐标(m+1,n+1)处。之所
以选择(2m+1)(2n+1)规格的画布,是因为即使我们选取了一篇文章的边角碎片作为种
子,当其向外扩张至形成一张完整的图像时,其所覆盖的面积也仅仅为该画布的四分之一,
并未超出画布的边界。且在此种规格下,画布大小是最优的。
最后,我们给定了碎纸片扩展方向的顺序——右左下上。在种子进行扩展的过程中,
可以允许不同的种子形成的大碎片之间可以相互覆盖,同时,我们运用了定位的思想,若
是确定了一张碎片的一个面在整张纸的位置,同时就确定了该碎片在整个纸张的位置。在
输出结果时,结果数目为两倍的种子数。
5.3.4 拼接结果与分析
读取图像灰度信息
构造边缘关联矩阵
分析关联矩阵定差异性 D
依差异性得拼接方案
显示拼接结果(两倍种子数)
随机确定初
始种子
向上下扩展向左右扩展
允许大碎片相互覆盖
种子生长至
无法扩展
14
通过以上模型及在 matlab 环境下按照本问算法得出了如表 5 和表 6 的结果,具体生
成的图像结果,请见附录五和附录六:
表 5 双面交叉切割下的碎片正面序列表
164a 81a 189a 29b 18a 108b 66b 110b 174a 183a 150b 155b 140b 125b 111a 78a
60b 59b 14b 79b 144b 120a 22b 124a 192b 25a 44b 178b 76a 36b 10a 89b
187a 131a 56a 138b 45b 137a 61a 94a 98b 121b 38b 30b 42a 84a 153b 186a
175b 72a 93b 132a 87b 198a 181a 34b 156b 206a 173a 194a 169a 161b 11a 199a
2a 139b 70b 41a 170b 151b 1b 166b 115b 65b 191a 37b 180a 149b 107a 88b
142a 208a 64b 102b 17a 12a 28b 154b 197a 158a 58a 207a 116b 179b 184b 114a
193a 163b 130b 21a 202b 53a 177a 16a 19a 92a 190a 50b 201b 31b 171a 146b
40b 127b 188b 68a 8a 117a 167b 75a 63a 67b 46b 168b 157b 128b 195b 165a
135a 27b 80a 0a 185b 17b 126a 74a 32b 69b 4b 77b 148a 85a 7a 3a
205b 15a 101b 118a 129a 62b 52b 71a 33a 119b 160a 95b 51a 48b 133b 23a
103b 55a 100a 106a 91b 49a 26a 113b 134b 104b 6b 123b 109b 96a 43b 99b
表 6 双面交叉切割下的碎片背面序列表
78b 111b 125a 140a 155a 150a 183b 174b 110a 66a 108a 18b 29a 189b 81b 164b
89a 10b 36a 76b 178a 44a 25b 192a 124b 22a 120b 144a 79a 14b 59a 60a
186b 153a 84b 42b 30a 38a 121a 98a 94b 61b 137b 45a 138a 56b 131b 187b
199b 11b 161a 169b 194b 173b 206b 156a 34a 181b 198b 87a 132b 93a 72b 175a
88a 107b 149a 180b 37a 191b 65a 115a 166a 1a 151a 170a 41b 70a 139a 2b
114b 184a 179a 116a 207b 58b 158b 197b 154a 28a 12b 17b 102a 64a 208b 142b
146a 171b 31a 201a 50a 190b 92b 19b 16b 177b 53b 202a 21b 130a 163a 193b
165b 195a 128a 157a 168a 46a 67a 63b 75b 167a 117b 8b 68b 188a 127a 40a
3b 7b 85b 148b 77a 4a 69a 32a 74b 126b 17a 185a 0b 80b 27a 135b
23b 133a 48a 51b 95a 160b 119a 33b 71b 52a 62a 129b 118b 101a 15b 205a
99a 43a 96b 109a 123a 6a 104a 134a 113a 26b 49b 91a 106b 100b 55b 103a
从以上两表中,我们可以看到,双面交叉切割下的碎片序列表是有一定的关联性。比
如正面序列表中的第一列即为背面序列表倒数第一列的背面,正面序列表中的第二列即为
背面序列表倒数第二列的背面,等等。按照这个排列的顺序,我们可以将双面交叉切割下
的碎片拼接成两幅完整的图形
5.4 对问题的深入研究
5.4.1 问题的提出
对于前三问的算法中,我们进行了过多的人工干预来判断每次吻合的正确与否,但是
在实际情况中,即使产生一定的拼接错误,只要整体差异性相对较好,仍然可以很好地理
解文章的大意。因此,我们考虑在尽量少的人工干预下,产生最高的准确率。从而实现对
人工成本的降低,与碎片信息的充分利用。
5.4.2 模型的建立
我们在以上问题的基础上,提出了匹配概率 p 的概念[3]。由于当差异性越小时,其相
邻的概率越大,即差异性 D 与匹配概率 p 之间存在负相关关系,考虑到之后需要对 p 值
进行相乘,假如直接取倒数,最终结果会十分接近 0,故我们定义 p 的计算公式为:
)
),(
exp(),(

jiD
jip 
15
其中 ),( jiD 为 i 与 j 之间的差异性, 为一定值,具体取值可以根据碎片的大小规模
以及色彩类型进行一定的调整。
由于相邻碎片间的摆放位置不同,,我们将其概率分为三种情况:
(1) (2) (3)
针对于第一种情况(适用于第一行):
),,,(min)2,1( RLjiDD  ; )
)2,1(
exp()2,1(

D
p 
表示后一张碎片的左边界与前面已确定拼图的右边界的最大匹配概率;
针对于第二种情况(适用于第一列):
),,,(min)3,1( DUjiDD  ; )
)3,1(
exp()3,1(

D
p 
表示转行后第一张碎纸片与它上方已确定的下边界的最大匹配概率;
针对于第三种情况(适用于上方和左方的碎片已确定):
),,,(min),,,(min)4,3( DUgiDRLjiDD  ; )
)4,3(
exp()4,3(

D
p 
表示除第一行与第一列的所有碎片,综合考虑其上边界与左边界的差异性下产生的最
大匹配概率。
基于先验概率的原理,我们预先定义了一块 mn 的矩阵,其中每一个元素表示一张
碎纸片的编号。按照从左到右依次满足,直至超过矩阵列数而转为下一行的顺序进行全部
排序。我们可以从第 1 张碎片开始直到第 mn 张碎片,分别放进左上角进行递推,并且,
第一张碎片的概率定为 1,之后,每向后搜索最大概率值时,必须满足前一综合概率为最
大。最终,到达右下角,确定出一个全局概率 fP :


m
n
f nnpP
1
)1,( )),1(|()1,( npnpnnp 
此全局概率[4]表示的意思为,在某一特定初始碎片(左上角)的条件下,产生的全部
正确匹配概率最大的一种排列方式,即此种排列方式下图像完全还原的准确率最高。
因为,当下一张碎片进行填充时,必定需要满足该合成图像的概率最大,出现错误排
放的可能性有差异性 D(i,i+1)不唯一,甚至错误碎片的差异性 D 与正确碎片的小,因此
在该点处排放错误。但是,即使在某一点处错误摆放,由于此概率是基于两边界约束的情
况下得到的,在错误碎片的下方,很大可能左方产生概率的影响比上方产生概率的影响大
得多,因此,某个或者某些碎片的错误摆放在全局角度上不会产生显著性的影响。从而说
明按照该数学模型下的全局概率很好的确定出最优排列方式。
由于,左上角有 mn 种选择方式,故产生了同样数量的全局概率 fP ,在这些全局概
16
率中,我们又再次的选取了最大值,可用下面公式进行说明:
.,..2,1)(max nmpP f  
通过选取 mn 个全局概率中的最大值,最终确定出了一套完整的排列方式。此种排
列方式就是综合考虑了各因素后的最优方案。
5.4.3 模型的优化
1.考虑到左上角处的碎片一定是上边界和左边界的灰度值为 255(白色),据此,我们
可以将 mn 种初始方式通过此种约束,进行了大量的筛选。数学表达式为:
    0255),(255),(
11
  
n
o
j
m
k
j oczakz
此式表示第 j 张碎纸片的左边界灰度减去 255(白色灰度值)之和与右边界灰度减去
255( 白色灰度值)之和为 0。从而说明该张碎纸片可以作为初始碎片(左上角)进行全
局概率的计算。
2. 考虑到上下左右边缘的碎纸片均会有边界的灰度为 255,同第一种优化方式,我们
可以将上/下/左/右边界依次分类。数学表达式为:
 
 
 
 






















0255),(
0255),(
0255),(
0255),(
1
1
1
n
1
m
k
j
m
k
j
n
o
j
o
j
bkz
akz
doz
coz
右:
左:
下:
上:
根据此类约束,我们可以当待定碎片进行到边界处时,只用考虑选取对应边界类别中
的碎纸片,从而在边界处实现了算法时间复杂度的减少。
至于将该模型通过加维的方式进行彩色(RGB)拼图问题的运用,以及对于不规则图
形的拼接,此篇论文中,我们并未进行深入的研究。
6 模型的评价与推广
6.1 模型的评价
6.1.1 模型的优点
对于第一问,我们运用像素矩阵,计算了两张碎片的差别程度,并且以差异性作为衡
量的指标,差异越小,差异性越大。差异性指标选取合理。
对于第二问,我们运用了边界灰度突变、字高、行距这三个约束进行筛选,提高了拼
接的准确率。并且,我们可以很好的实现人机互动,对于每一个最优方案,都会经过人来
做最终裁决,使得准确率达到 100%。
对于第三问,我们在第二问的基础上,提出了正反两面种子同时扩展,在同一面上不
能排放相同序号的碎纸片(i-a 和 i-b 同时出现在一个块中)的约束下,将各个碎纸片均生
成块,最终通过正反两面转化来生成完整的图像。
6.1.2 模型的缺点
第一,本文中的模型在处理拼图过程时,效率较低,需要较多次数的人工干预。
17
第二,本文中的模型在种子生长过程中,即碎片往外扩展的过程,碎纸片拼接过程无
法很好的记录,算法整体系统性有待提高。
6.2 模型的推广
该论文中所涉及的模型在计算机领域,例如拼图问题,识别问题。以及在信息安全等
多方面都有很好的适用性。
参考文献:
[1]罗智中. 基于文字特征的文档碎纸片半自动拼接[J]. 计算机工程与应用,2012,05:207-210.
[2]贾海燕. 碎纸自动拼接关键技术研究[D].国防科学技术大学,2005.
[3] T.S. Cho, S. Avidan and W.T. Freeman. A probabilistic image jigsaw puzzle solver. In CVPR, 2010. 2873,
2874,2877, 2878, 2879, 2880
[4] X. Wang, X. Bai, W. Liu, and L. J. Latecki. Feature context for image classification and object detection.
IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2011.
附录:
附录一:纵向切割下的汉字复原图
18
附录二:纵向切割下的英文复原图
19
附录三:交叉切割下的汉字复原图
20
附录四:交叉切割下的英文复原图
21
附录五:双面交叉切割下的复原图(对应第一张结果表)
22
附录六:双面交叉切割下的复原图(对应第二张结果表)
23

More Related Content

Featured

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

2013 CHINA

  • 1. 2013 高教社杯全国大学生数学建模竞赛 承 诺 书 我们仔细阅读了中国大学生数学建模竞赛的竞赛规则. 我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网 上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。 我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的 资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参 考文献中明确列出。 我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规 则的行为,我们将受到严肃处理。 我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展 示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。 我们参赛选择的题号是(从 A/B/C/D 中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 13243004 所属学校(请填写完整的全名): 华中农业大学 参赛队员 (打印并签名) :1. 王艺程 2. 张瞻基 3. 何力 指导教师或指导教师组负责人 (打印并签名): 任兴龙 日期: 2013 年 9 月 15 日 赛区评阅编号(由赛区组委会评阅前进行编号):
  • 2. 2013 高教社杯全国大学生数学建模竞赛 编 号 专 用 页 赛区评阅编号(由赛区组委会评阅前进行编号): 赛区评阅记录(可供赛区评阅时使用): 评 阅 人 评 分 备 注 全国统一编号(由赛区组委会送交全国前编号): 全国评阅编号(由全国组委会评阅前进行编号):
  • 3. 1 对于碎纸片拼接复原的研究 摘 要 零碎纸片的拼接复原问题,是计算机视觉、图象分析和模式识别中一个突出难题。本 文就矩形碎纸片的拼接问题提出了相应的模型,通过算法得出最优复原图像。 对于第一问,凭借差异性最小准则推得拼接方案。我们首先将 unit8 型数字图像信息 转化为双精度型数据信息,得到 19 个大小为 198072 的灰度矩阵。提取出每张碎纸片的 边界灰度信息,用碎片间边缘像素灰度值差的平方和来表征碎片边缘之间的差异程度,此 拼接问题即可转化为比较两张碎片边缘间差异性的问题,先确定一初始碎片,选取与之差 异性最小的碎片作为邻接碎片,并依次延伸下去,最后分别将中英文碎片拼接为两个完整 的图。相关表格见表 1 和表 2,图示见附录一和附录二,此问不需要人工干预。 对于问题二,从多个角度完善差异性准则,使用“种子生长”算法拼接碎片。由于经 过横切和纵切的碎片边缘长度减少,每张碎片可供利用的边缘灰度信息的丰富度下降,随 机性增强,如果继续使用问题一中的的差异性准则解决此问题,会出现很多“错配”的现 象。通过分析错配的图片特征和文字段落的固有特征,我们对差异性准则进行了补充和完 善:如果两张碎片拼接后边缘处像素灰度值出现最大值(unit8 格式下为 255,double 格式 下为 1)和最小值(0)之间的突变,则(在这种拼接方式下)两张碎片差异很大;如果 两张碎片的一定边拼接后横向或纵向边缘空白处对齐,则这两张碎片差异性小,这两张碎 片以此边相连的可能性大。具体寻找最佳拼接方案时,为了充分提取图像中可反映“差异 性”的的信息和碎片间的关系,我们采用种子生长算法进行碎纸片拼接,并严格监督每一 步拼接过程。该算法的大致过程为:在一张虚拟的足够大的“画布”上生成一个“种子” (即选定一张独立碎片),综合分析上述各项差异性原则,依次从碎片的右、左、下、上 四个方向进行扩展,寻找尚未参与拼接的最低差异性碎片进行拼接(即“种子”的“生长”,), 由人工监督是否拼接,如果某一方向向外扩展时失败,则尝试下一方向的扩展。如果外围 碎片的各个方向都无法扩展,则随机选取一个未进行拼接操作的碎片作为新的“种子”放 入新画布,依次迭代直至没有可选取的“种子”,此时,各个“小碎片”已拼接为至多 5 个“大碎片”,可以很方便地根据排版、语义等信息拼接为完整图片。由概率论知识和操 作经验可知:1.容易被选中成为“种子”的碎片同样容易扩展为“大碎片”;2.随着算法的 进行,可拼接的小碎片数越来越少,算法的速度和准确性越来越高。此外,我们基于 Matlab 编制了一个可视化程序来监督算法的运行,只需点击一键即可实现放弃或拼接当前碎片。 人机交互下的“种子生长”算法在时间短的限制下在理论上也可以达到“零误判”的程度。 使用上述方法,我们对附件 3、4 中的英文和中文碎片分别进行了拼接复原,具体表格见 表三和表四,图示见附录三和附录四。整个过程人工放弃拼接碎片 37 次。 对于问题三,通过进一步改进上述“种子生长”算法求解。在针对双面打印情况改进 的“种子生长”模型中,考虑到正面和反面的单一种子生长区域存在差异而每一碎片又兼 具两面,为了保证种子生长区域的完整性,我们放宽了对参与拼接的碎片的限制,已经参 与过拼接的碎片也可以参与新的拼接(新种子的生长),当碎片的某一面由于“差异性低” 被选中参与拼接时,由于相对于当前种子的位置被固定,碎片的另一面的位置实际上也被 固定,但仍然可以参与新的拼接,以此保证“纸的另一面”信息不被浪费。在种子生长阶 段全部完成(无种可选)后,对于得到的 n 个“大碎面”通过取反面,可以再得到 n 个“大 碎面”,这 n+n 个大碎面综合起来可反映整张纸的正反两面的完整信息。用该方法处理附 件 5,我们得到了 3+3 个“大碎面”,结合语义分析和逻辑推理完整复原了两面纸张,具 体表格见表五和表六,图示见附录五和附录六。整个过程人工放弃拼接碎片 86 次。 本种子生长程序具有通用性,并附有运行说明。 关键词: 碎片拼接 种子生长算法
  • 4. 2 1 问题的提出 破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要 的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片 数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎 纸片的自动拼接技术,以提高拼接复原效率。我们查阅了大量的文献,发现其研究的领域 与此题不甚相同。有大量的文献是在研究不规则的碎片拼接复原的方法,如采用链码表示 碎片轮廓,然后通过碎片旋转进行搜索,采用边界准则和面积准则进行碎片之间相似的匹 配部分的判断,达到碎纸自动拼接的目的,实现了基于计算机辅助的碎纸自动拼接复原; 抑或是研究三位拼接问题,利用不变距描述空间曲面的方法。对空间曲面的匹配问题采用 匹配面元法线的方法,利用面元法矢量匹配曲面等等。这些方法和算法与此题所给的碎片 有一定出入,但同时亦具有一定的借鉴意义。 2 问题的分析 2.1 纵向切割下的碎纸片拼接复原的模型与算法 此问是针对仅以纵切方式的破碎纸片所建立的模型。观察附件一中所给的碎图片,我 们可以发现,碎纸片均是矩形的,而且每张图片的宽度远远大于其长度。所以,在把图片 通过像素点的方式输入 matlab 后,我们打算运用“最小二乘法”的思想,按照其中一张 图片与剩余所有图片依次求出最左(右)列像素和最右(左)列像素的各行的差的平方和, 即两两图片之间的差异程度,并根据最小差异的数值对各张图片进行拼接复原。 2.2 交叉切割下的碎纸片拼接复原的模型与算法 此问在第一问的基础上增加了横向的分割,使得碎片边界的灰度值矩阵变小,从而可 能引起差异性差异不显著,或者为零的情况。正是由于这个原因,可能表现出在第一问中 大边界下未暴露出来的错误。并且,仅按问题一中的程序,我们无法考虑碎纸片间的上下 边界差异性,和算法的复杂度的增加程度。因此,针对于该问,我们打算先检验第一问中 的程序运行情况,然后基于上问中的模型,来增加各种约束确定出能解决该问的最终数学 模型。 2.3 双面交叉切割下的碎纸片拼接复原的模型与算法 第三问与第二问的不同之处主要在于一个只需考虑单面,而另一个需要考虑两个面。 由于同一张碎纸条存在两个面,假如我们只从一面出发的话,自动产生的新种子又可能是 相反的面,进而扩展成我们本不打算需要的块。如何有效的解决这个问题,或者说,如何 有效的利用这不同面的块,将其整合成为一张完整的面。我们拟打算人为选定种子、人为 组合某一面的特征元素或者讲两面的块全部生成,不再存在未判断碎纸条。然后在这基础 上再进一步,通过人工组合或者是人为对计算机提出的最优决策舍取来完成该问。 3 模型的假设 3.1 假设图像切割过程中,对边界灰度数据的影响不显著; 3.2 假设碎纸片灰度数据的提取充分可靠; 3.3 假设碎纸片中未出现大量灰度数据异常的情况; 3.4 假设题目附件中所给图片不存在色调不均的情况。 4 符号的定义与说明
  • 5. 3 符号 符号说明 ),,,( RLjiC 第 i 张碎片右边界的灰度与第 j 张左边界的文字笔画的契合度 ),,,( RLjiD 第 i 张碎片右边界的灰度与第 j 张左边界的灰度差异性 ),,,( DUjiD 第 i 张碎片下边界的灰度与第 j 张上边界的灰度差异性 ),( akz j j 号碎片第 k 行右边界的灰度值 ),( jip 第 i 号碎片与第 j 号碎片的匹配概率 5 模型的建立与求解 5.1 纵切碎纸片的拼接复原 5.1.1 问题的分析 此题是针对仅以纵切方式的破碎纸片所建立的模型。观察附件一中所给的碎图片,我 们可以发现,碎纸片均是矩形的,而且每张图片的宽度远远大于其长度。所以,在把图片 通过像素点的方式输入 matlab 后,我们将打算运用“最小二乘法”的思想,计算出各张 图片之间的差异程度,并根据最小差异的数值对各张图片进行拼接复原。 5.1.2 数字图像的数值描述 我们知道,从客观场景中得到的信息是二维的信息。因此,一幅图片可以定义为一个 二维函数 ),( yxf ,其中, x , y 是空间坐标。对任何一对空间坐标 ),( yx 上的幅值 ),( yxf 称 为表示图像在该点上的强度或灰度,或简称像素值。显然,经过上面的采样与量化操作之 后,图像的坐标 x , y 和图像的幅值 ),( yxf 均为离散的、有限的数值[1]。 因为矩阵是二维结构的数据,同时量化值取整数,因此,一幅数字图像可以用一个整 数矩阵来表示。矩阵的元素位置 ),( ji ,就对应于数字图像上的一个像素点位置。矩阵元素 的值 ),( yxf 即为对应像素点的像素值。 在这里,我们采用的是灰度图像,指每个像素的信息由一个量化后的灰度级别来描述 的数字图像,灰度图像不包含彩色信息。标准灰度图像中每个像素的灰度由一个字节表示, 灰度级别为 256 级,每个像素可以是 0-255(从黑到白)之间的任何一个值。所以,我们 把每张图片的灰度信息读入 matlab 中,得到了 19 个 198072 的矩阵,即为各张图的灰度 信息矩阵,接下来,我们将对此矩阵进行分析。 5.1.2 模型的建立 设每张图片有 nm 个像素点, 记 第 i 张 图 片 的 灰 度 信 息 矩 阵 为  lkzi , , nlmki  1,1,191  , 其 中 72,1980  nm , 设 19 张图片排列顺序如下: 1i 2i 3i 4i 5i 6i 7i 8i 9i 10i 11i 12i 13i 14i 15i 16i 17i 18i 19i 如果第 j 张图片顺接在第i 张图片的右边,记两个图片相邻的文字笔画的契合度为 ),,,( RLjiC ,建立模型如下: 目标函数:  RLiiC ,,,max 21  RLiiC ,,,max 32   RLiiC ,,,max 1918
  • 6. 4 约束条件: 19,,11 i 19,,12 i kjii kj  , 1921 ,, iii  从左到右顺序排列。 文字笔画的契合度最大,不妨转化为文字笔画的差异性最小,差异性用灰度信息矩阵 相邻列的差异性来描述,取第i 张图片的灰度信息矩阵 iz 的最后一列  nzi :, 与第 j 张图片的 灰度信息矩阵 jz 的第一列  1:,iz ,定义差异性函数如下       m k ji kznkzRLjiD 1 2 1,,),,,( , 即求       m k ji kznkzRLjiD 1 2 1,,),,,(min 。 5.1.3 算法流程与解释 算法的基本流程如图 1 所示: 图 1 算法流程图 首先把各张碎片的信息读入 matlab 中,得到 19 个 198072 的矩阵,即为各张图的灰 度信息矩阵。接下来构造关联矩阵,选出各张碎片的最左边的一列和最右边的一列,作为 这张碎片的关联矩阵。据此,我们随机选取一张碎片作为起始碎片,根据这张碎片最右边 读取图像灰度信息 构造边缘关联矩阵 分析关联矩阵定差异性 D 依差异性得拼接方案 显示拼接结果 随机确定初 始拼图 向右扩展向左扩展
  • 7. 5 的一列数值与其他碎片的最左边的数值进行差异性计算,得出一个 191 的矩阵,选取最 小值,即为该碎片的紧邻右侧的拼接碎片。再将紧邻碎片进行重复的操作,直至最右侧的 碎片的最右列的值全为 255(白)为止。同样的方式从起始碎片的左侧开始进行,直至最 左侧的碎片的最左列的值全为 255(白)为止。这样就可以得出各张碎片复原后的顺序。 5.1.4 拼接结果与分析 复原后的碎片序号排列结果如表 1 和表 2 所示,其图像结果请见附录一及附录二: 表 1 纵向切割下汉字碎片序列表 8 14 12 15 3 10 2 16 1 4 5 9 13 18 11 7 17 0 6 表 2 纵向切割下英文碎片序列表 3 6 2 7 15 18 11 0 5 1 9 13 10 8 12 14 17 16 4 对于人工干预的功能,我们并未使用。因为,在本问中,直接把图读入软件并按照我 们程序化的处理方式就可以正确地把碎片拼接成图。究其原因,我们认为,是每一列的像 素点的取值比较多,有 1980 个之多,所以,匹配的差异程度的大小比较容易发现,从而 进一步确定匹配的顺序。 5.2 交叉切割的碎纸片拼接复原 5.2.1 问题的分析 此问在第一问的基础上增加了横向的分割,使得碎片边界的灰度值矩阵变小,从 而可能引起差异性差异不显著,或者为零的情况。正是由于这个原因,可能表现出在第一 问中大边界下未暴露出来的错误。并且,仅按问题一中的程序,我们无法考虑碎纸片间的 上下边界差异性,和算法的复杂度的增加程度。因此,针对于该问,我们打算先检验第一 问中的程序运行情况,然后基于上问中的模型,来增加各种约束确定出能解决该问的最终 数学模型。 5.2.2 对问题一模型的检验。 根据问题一的模型,我们仍旧按照差异性进行碎纸片的拼接复原。只不过,由于第 一问不需要考虑上下边界的拼接,所以没有引出上下差异性的定义规则。针对于此问,我 们定义碎纸片间的左右(L/R)差异性 D1 和上下(U/D)差异性 D2 分别为:   m k ij bkzakzRLijD 1 2 1 )),(),((),,,(   n o ij odzoczDUijD 1 2 2 )),(),((),,,( 其中,每张小碎片的灰度矩阵大小均为 nm ,m 为 180,n 为 72;a、b 分别表示碎 片的左右边界,c、d 分别表示碎片的上下边界。 我们以 D1+ D2 最小为目标,按照问题一的解答方式进行了一次实验,发现碎纸片的 拼接过程出现了大量错误。并且,从左右两个方向匹配增加至上下左右四个方向匹配,其 次,碎纸片的数量由 19 张上升到 209 张,这些都大幅度地提高了算法复杂度。 对于问题一模型检验的结果,我们从大量错误中选取了部分图片,见图 2 至图 3。并 基于此,补充了针对问题二的约束。
  • 8. 6 图 2 相邻边界的“灰度突变”图 图 3 拼接之后“字高异常”图 5.2.3 对问题二模型的建立 通过对问题一中模型的检验之后,我们发现了误判处的特征主要有相邻边界的灰度骤 然变化和字高异常的情况。 约束 1: 针对于图 2 中左图,之所以仅从差异性无法选出真正吻合的碎纸片,左图中可能是由 于“大”(“人”)字的长横处所显示的灰度值很小,而“撇”字划本身的灰度值很大, 但是由于成斜线形式,因此导致了(正确吻合情况下)白色灰度值于黑色灰度值相差过大, 我可以通过图 4 和图 5 来进行更直观的说明。 正确匹配下:
  • 9. 7 图 4: 正确匹配分界线灰度图 其中,每一个小方块代表一个灰度值(分辨率点),黑灰白的灰度分别为 0,50,和 255, 若按图 4,可计算出该分界线的上下差异性 D2 为: 298.4125)50255()050()50255()050( 2222 2 D 错误匹配下: 图 5 错误匹配分界线灰度图 图 2 左侧图像中错误大致可抽象成如图 5 所以,旨在表现可能出现大量于白色灰度相 差不大,但实际上不允许的匹配。例如图 5 中所示上下差异性 D2 为: 134.72196)255200( 2 2 D 根据两个上下差异性 D2 的数值,可以发现存在错误匹配下,差异性值小于正确时的可 能。 针对于图 2 中的右图,同理,可能是 V 字母与 U 字母错误匹配。 为了解决这个问题,我们发现,图 2 中左右两图都存在异常点——边界处出现黑色突 变为白色。 但是实际情况下,灰度值一般是有一定渐变性的。因此,我们确定一个约束,不允许 边界线上,存在同一行灰度从 255 突变为 0,或从 0 突变为 255.表示为数学约束则为: 左右边界: | ),(),( bkzakz ij  |<255 mk ..2,1 上下边界: | ),(),( odzocz ij  |<255 no ,..2,1 其中,i,j 表示不同的碎纸片,k,o 分别表示灰度矩阵的行编号与列编号。m,n 为灰度 矩阵的大小,分别是 180 和 72. a、b 分别表示碎片的左右边界,c、d 分别表示碎片的上下 边界。 ),( akz j 表示 j 号碎纸片第 k 行右边界的灰度值。 约束 2(英文拼接下不考虑): 针对于图 3,差异性所产生的误差大致与图二中的错误原因一样,不过,我们发现此 类拼接错误的原因可以很好的从字高来进行考虑,具体的判别步骤如下: Step1:选取任意小块碎片,分析其某行汉字的最大字高,确定一个值; Step2:抽选不同碎片的某行最大字高,与第一步确定的数值进行比较,选出大值, 认为该值是汉字最大字高; Step3:在考虑差异性之后,判断合成图片是否大于所设最大字高; Step4:剔除字高大于设定值得合成图片,重新进行差异性考虑;
  • 10. 8 Step5:确定满足条件下的匹配。 其中需要注意的是,此处,我们将待判定字高认为是合成图片的灰度矩阵中,连续非 白行数。通过比较此行数与单张碎纸片中所确定的最大字高,来进行判断。具体判断过程 可参考图 6 和图 7 图 6 假设最大标准字高图 图 7 两种字高错误图 我们假定以上两图的最大字高为 11,则可以发现图 7 中产生了两种错误,一种是文字 本身不连续情况下的字高值超过了界限 11,另一种为多个字高值中,最大值超过界限的情 况。 通过多次比较,我们发现字高的最大值 H 为 41,即一个汉字在垂直方向,最多占 41 个像素点(即灰度矩阵的 41 行)。将此种约束转化为数学形式,则为: max HnjiH ),,( 8n 其中,H 为已统计出的字高的最大值(设定值), ),,( njiH 表示,任意 i,j 合成图的第 n 个连续非白矩阵总行数。因为每张图片上不只一行汉字,所以会产生大于 1 的连续非白 字高值,但观察发现,最多可以出现 8 个“字”(在上下拼接时出现的最大次数)。 在以上两个约束都满足的情况下,然后从这 n 个字高中选取最大值与设定值比较,若 都成立,则认为此匹配符合要求。 约束 3: 我们运用以上约束进行匹配,并且规定当生成的模块四周均为白色时,则终止匹配, 最终产生了 10 个大块。下面选取了其中任意两个块,见图 8。
  • 11. 9 图 8 种子生成的块图 我们希望尽量减少块的数量,从而可以使最终的人工干预次数减少。我们发现,每个 块的白色宽度并不相同,例如图 8 中上图的上边界明显大于下图的上边界。我们可以通过 灰度矩阵中连续白色的总列数(同字高)的不同来进行块的匹配。 我们首先通过人为的方式,发现图 8 下方一图是一篇文章的最右部分。因为其最后一 列文字的右边距基本一致。根据灰度矩阵,将具有该种性质的图都以右边靠齐,并进行上 下排列。 然后,我们任意选取两张该类性质的块,根据上下边界白色宽度之和,与行距差的绝 对值( |-| ll空白 ),或者是与字高加两倍行距的差的绝对值(| lHl 2--空白 |)。只有当该值越 接近 0,则说明,他们之间越可能是相邻的。因为,一般情况下,两个块上下方向拼接时, 连接处生成的白色宽度为行距。同时也存在像图 8 上图中,一个段落已经结束,则之后生 成的白色宽度为两个行距加上一个字高。 但我们用数学方式来表达时,则可以写成如下目标: min |-| ll空白 +| lHl 2--空白 | 通过设置了该目标,我们最终生成了两个大块。 综上所述,在关于块的生成过程中,我们建立了如下的数学模型: min ),,,(),,,( 21 DUjiDRLjiD  s.t.         8),,(max ,..2,1255),(),( ..2,1255<),(),( nHnjiH noodzocz mkbkzakz ij ij 5.2.4 算法的流程与解释 正如一粒种子在阳光、雨水、土壤等条件下,逐渐地长大成为一棵参天大树,同样, 一张微小的碎纸片在一定的条件之下也能找到他的同伴,逐渐地扩展成为一篇完整优美的 文章。 我们基于种子算法的思想,拼接出了准确率为 100%的两篇文章。 首先,我们建立两个 1919 的矩阵,用来存储上下差异性 D1 和左右差异性 D2。使得
  • 12. 10 后面对于每个差异性判断时的选取,只需从中矩阵中选取最小值。避免了重复计算而产生 的时间复杂度[2]。 接着,我们选定了一张碎纸片,作为初始的种子。当碎纸片边界的灰度信息量越大, 即四周出现越多的灰色连接点,其向外扩展时,出现差异性误差的概率越小,整篇文章的 拼接时产生的错误值也越少。因此,我们在英文碎纸拼接时,人为的选定了一张四周都含 有灰度信息的碎纸片。 然后,我们创建了 K 张大小为(2m+1)(2n+1)的画布,正如种子生长所需的土壤, 此处用于碎纸片的向外拼接。并将种子至于该画布正中间,即坐标(m+1,n+1)处。之所 以选择(2m+1)(2n+1)规格的画布,是因为即使我们选取了一篇文章的边角碎片作为种 子,当其向外扩张至形成一张完整的图像时,其所覆盖的面积也仅仅为该画布的四分之一, 并未超出画布的边界。且在此种规格下,画布大小是最优的。 最后,我们给定了碎纸片扩展方向的顺序——右左下上。在不进行人为规定的情况下, 一张碎纸片的扩展顺序为 4 4A 种(上下左右、上左下右、上右下左···),若不规定扩展顺 序,则会大大增加算法的时间复杂度,但是,规定的顺序不一定是最优的扩展顺序。可能 根据种子的选取不同而产生不一样的效果。此处我们未深入研究其效率。 我们利用模型中的约束条件,将未知碎纸片与选定的固定边界进行判别,选出一个最 优方案,然后对于每次的方案,程序都会以图片的形式展现出拼接结果,如图 9 所示,并 在 matlab 主窗口处生成一行“是否匹配(1-是,0-否)”的字符串。 图 9 碎片拼接过程图 针对于图 9 中左侧可知,该左右匹配下是吻合的,并且通过右侧的文章意思“三过平山堂 下”(红线为自己另外标记,用于突出拼接位置),更加可以确信两站碎片是相邻的。故, 此时在 matlab 主窗口中输入 1,并回车。对于不吻合,产生错误的拼接,我们则按 0 加回 车,或者直接按回车,则可以改变图像的拼接方向。具体的扩展方向可以通过图 10,进 行更直观地了解。 图 10 种子扩展示意图
  • 13. 11 其中,括弧之中的 0 和 1 表示在经过人审核之后的输入值。括号外的数值表示在相应 输入值下的前 4 次扩展过程中的次序。主要的过程可以理解为走迷宫的形式,当输入值为 0 时,表示前方已经没有道路,则后退到上一路口,仍然按照“右左下上”的顺序进入方 向尚未走过的道路。以此类推,当倒数第二节点的四条路径都走过之后,则返回至倒数第 三节点处。 按照这个顺序扩展,我们实现了原始图片的完全复原。 针对于该算法,电脑对于每次的匹配都给出了最优的方案,大大减少了我们人工去依 次观测剩余碎片的工作量,并且,每次匹配的最终决策权还是在我们手上,完全可以避免 了碎片拼错的可能性。亮点在于图像的准确率上!十分适合于数学论文等含有大量公式或 者少量片段信息的缺失会严重影响信息获知的情况下。 同时,对于该算法,也有一定的不足,例如,在对信息准确率不是要求十分高的情况 下,此种算法可能还是会对人力资源产生一定的浪费。并且该算法尚未对最大横向碎片个 数为 19,进行约束,使得由于该原因而产生较多错误方案需要人为否决。因此该算法还 有进一步优化的空间。 5.2.5 拼接结果与分析 通过以上模型及在 matlab 环境下按照本问算法得出了如表 3 和表 4 的结果,具体生 成的图像结果,请见附录三和附录四: 表 3 交叉切割下汉字碎片序列表 50 55 66 144 187 3 58 193 179 119 191 96 12 23 130 29 92 189 142 62 20 79 68 70 100 163 97 132 80 64 117 164 73 7 178 21 53 37 169 101 77 63 143 31 42 24 148 192 51 180 121 87 196 27 2 88 19 39 149 47 162 25 36 82 190 123 104 131 194 89 168 26 9 10 106 75 72 157 84 133 201 18 81 34 203 199 16 134 171 206 86 153 166 28 61 15 129 4 160 83 200 136 13 74 161 204 170 135 40 32 52 108 116 177 95 35 85 184 91 48 122 43 125 145 78 113 150 98 137 165 128 59 44 126 14 183 110 198 17 185 111 188 67 107 151 22 174 158 182 205 140 146 30 65 112 202 6 93 181 49 38 76 56 45 207 11 105 99 173 172 60 8 209 139 159 127 69 176 46 175 1 138 54 57 94 154 71 167 33 197 90 147 103 155 115 41 152 208 156 141 186 109 118 5 102 114 195 120 124 表 4 交叉切割下英文碎片序列表 192 76 12 155 191 185 3 105 181 65 107 5 150 33 205 66 40 68 148 202 149 171 197 199 95 114 165 79 104 92 81 102 27 101 7 18 29 147 87 52 108 30 41 159 187 99 25 118 151 6 60 59 93 31 38 47 128 20 195 94 142 89 122 127 106 156 115 177 183 152 23 58 203 72 166 83 160 140 2 130 64 139 154 54 39 124 121 176 86 51 161 188 98 204 32 21 42 109 117 137 74 37 208 136 16 77 44 200 46 174 80 162 180 144 209 22 8 50 62 120 34 143 169 63 170 55 193 134 119 190 163 198 113 71 85 61 15 69 175 138 196 9 48 173 157 97 24 100 123 91 186 110 133 182 96 70 168 164 167 189 112 145 207 4 131 35 14 111 26 28 179 172 43 67 206 11 158 75 146 84 135 56 19 57 36 17 10 184 153 45 82 78 129 201 132 53 126 141 194 88 90 49 73 13 178 125 1 103 116 对于在汉字和英文环境下,分别出现了 167 次和 134 次错误方案供我们决策(输入 0 进行否决),并且最终匹配出完全吻合的图片。可以看出在匹配过程中会出现一定的错误, 但是,我们可以通过一些简单的人工干预的方式来巧妙地避开了这些错误,最后,我们得
  • 14. 12 到了正确率为 100%的中英文完整图像各一张。 5.3 双面交叉切割下的碎纸片拼接复原的模型与算法 5.3.1 问题的分析 第三问与第二问的不同之处主要在于一个只需考虑单面,而另一个需要考虑两个面。 由于同一张碎纸条存在两个面,假如我们只从一面出发的话,自动产生的新种子又可能是 相反的面,进而扩展成我们本不打算需要的块。如何有效的解决这个问题,或者说,如何 有效的利用这不同面的块,将其整合成为一张完整的面。我们拟打算人为选定种子、人为 组合某一面的特征元素或者讲两面的块全部生成,不再存在未判断碎纸条。然后在这基础 上再进一步,通过人工组合或者是人为对计算机提出的最优决策舍取来完成该问。 5.3.2 模型的建立 我们利用第二问中的程序,随机选取一个种子,这个种子可以在整张纸片的任何位置。 但是,与第二问不同的地方是,在碎纸片拼接的时候,每纳入一个新的碎片,不仅仅可以 确定改碎片的一个面在纸张的位置,同时可以确定碎片的另个面在纸张的位置,也就是说, 确定了该碎纸片在纸张的位置。然后同第二问中种子生长的过程,直到种子在一定区域无 法继续生长而停止。 与此同时,与第二问不同的是,种子随即形成可能存在于不同的面,比如说,第一个 种子可能在正面生长,第二个种子可能在背面生长,等等。不管种子是否在不同的面生成, 则要求其生长过程后形成的大块纸片最大限度的覆盖整个纸张。同时,我们允许种子因为 在不同的面而形成有相同部分的纸张。 最后,我们会得到一些大的单面的碎片,因为此纸张是双面打印的,所以,在具体拼 接时,会出现两倍数量的碎片。根据行距和语义,我们就可以拼出两块完整的纸张。 记最终形成的单面纸张为n ,拼接时种子数为k ; 模型的具体形式如下 min ),,,(),,,( 21 DUjiDRLjiD  s.t.            4k02kn 8),,(max ,..2,1255),(),( ..2,1255<),(),( nHnjiH noodzocz mkbkzakz ij ij 5.3.3 算法流程与解释
  • 15. 13 图 11 算法流程图 首先,我们建立两个 1919 的矩阵,用来存储上下兼容性 D1 和左右兼容性 D2。使得 后面对于每个兼容性判断时的选取,只需从中矩阵中选取最小值。避免了重复计算而产生 的时间复杂度。 接着,我们选定了一张碎纸片,作为初始的种子。当碎纸片边界的灰度信息量越大, 即四周出现越多的灰色连接点,其向外扩展时,出现兼容性误差的概率越小,整篇文章的 拼接时产生的错误值也越少。因此,我们在英文碎纸拼接时,人为的选定了一张四周都含 有灰度信息的碎纸片。 然后,我们创建了 K 张大小为(2m+1)(2n+1)的画布,正如种子生长所需的土壤, 此处用于碎纸片的向外拼接。并将种子至于该画布正中间,即坐标(m+1,n+1)处。之所 以选择(2m+1)(2n+1)规格的画布,是因为即使我们选取了一篇文章的边角碎片作为种 子,当其向外扩张至形成一张完整的图像时,其所覆盖的面积也仅仅为该画布的四分之一, 并未超出画布的边界。且在此种规格下,画布大小是最优的。 最后,我们给定了碎纸片扩展方向的顺序——右左下上。在种子进行扩展的过程中, 可以允许不同的种子形成的大碎片之间可以相互覆盖,同时,我们运用了定位的思想,若 是确定了一张碎片的一个面在整张纸的位置,同时就确定了该碎片在整个纸张的位置。在 输出结果时,结果数目为两倍的种子数。 5.3.4 拼接结果与分析 读取图像灰度信息 构造边缘关联矩阵 分析关联矩阵定差异性 D 依差异性得拼接方案 显示拼接结果(两倍种子数) 随机确定初 始种子 向上下扩展向左右扩展 允许大碎片相互覆盖 种子生长至 无法扩展
  • 16. 14 通过以上模型及在 matlab 环境下按照本问算法得出了如表 5 和表 6 的结果,具体生 成的图像结果,请见附录五和附录六: 表 5 双面交叉切割下的碎片正面序列表 164a 81a 189a 29b 18a 108b 66b 110b 174a 183a 150b 155b 140b 125b 111a 78a 60b 59b 14b 79b 144b 120a 22b 124a 192b 25a 44b 178b 76a 36b 10a 89b 187a 131a 56a 138b 45b 137a 61a 94a 98b 121b 38b 30b 42a 84a 153b 186a 175b 72a 93b 132a 87b 198a 181a 34b 156b 206a 173a 194a 169a 161b 11a 199a 2a 139b 70b 41a 170b 151b 1b 166b 115b 65b 191a 37b 180a 149b 107a 88b 142a 208a 64b 102b 17a 12a 28b 154b 197a 158a 58a 207a 116b 179b 184b 114a 193a 163b 130b 21a 202b 53a 177a 16a 19a 92a 190a 50b 201b 31b 171a 146b 40b 127b 188b 68a 8a 117a 167b 75a 63a 67b 46b 168b 157b 128b 195b 165a 135a 27b 80a 0a 185b 17b 126a 74a 32b 69b 4b 77b 148a 85a 7a 3a 205b 15a 101b 118a 129a 62b 52b 71a 33a 119b 160a 95b 51a 48b 133b 23a 103b 55a 100a 106a 91b 49a 26a 113b 134b 104b 6b 123b 109b 96a 43b 99b 表 6 双面交叉切割下的碎片背面序列表 78b 111b 125a 140a 155a 150a 183b 174b 110a 66a 108a 18b 29a 189b 81b 164b 89a 10b 36a 76b 178a 44a 25b 192a 124b 22a 120b 144a 79a 14b 59a 60a 186b 153a 84b 42b 30a 38a 121a 98a 94b 61b 137b 45a 138a 56b 131b 187b 199b 11b 161a 169b 194b 173b 206b 156a 34a 181b 198b 87a 132b 93a 72b 175a 88a 107b 149a 180b 37a 191b 65a 115a 166a 1a 151a 170a 41b 70a 139a 2b 114b 184a 179a 116a 207b 58b 158b 197b 154a 28a 12b 17b 102a 64a 208b 142b 146a 171b 31a 201a 50a 190b 92b 19b 16b 177b 53b 202a 21b 130a 163a 193b 165b 195a 128a 157a 168a 46a 67a 63b 75b 167a 117b 8b 68b 188a 127a 40a 3b 7b 85b 148b 77a 4a 69a 32a 74b 126b 17a 185a 0b 80b 27a 135b 23b 133a 48a 51b 95a 160b 119a 33b 71b 52a 62a 129b 118b 101a 15b 205a 99a 43a 96b 109a 123a 6a 104a 134a 113a 26b 49b 91a 106b 100b 55b 103a 从以上两表中,我们可以看到,双面交叉切割下的碎片序列表是有一定的关联性。比 如正面序列表中的第一列即为背面序列表倒数第一列的背面,正面序列表中的第二列即为 背面序列表倒数第二列的背面,等等。按照这个排列的顺序,我们可以将双面交叉切割下 的碎片拼接成两幅完整的图形 5.4 对问题的深入研究 5.4.1 问题的提出 对于前三问的算法中,我们进行了过多的人工干预来判断每次吻合的正确与否,但是 在实际情况中,即使产生一定的拼接错误,只要整体差异性相对较好,仍然可以很好地理 解文章的大意。因此,我们考虑在尽量少的人工干预下,产生最高的准确率。从而实现对 人工成本的降低,与碎片信息的充分利用。 5.4.2 模型的建立 我们在以上问题的基础上,提出了匹配概率 p 的概念[3]。由于当差异性越小时,其相 邻的概率越大,即差异性 D 与匹配概率 p 之间存在负相关关系,考虑到之后需要对 p 值 进行相乘,假如直接取倒数,最终结果会十分接近 0,故我们定义 p 的计算公式为: ) ),( exp(),(  jiD jip 
  • 17. 15 其中 ),( jiD 为 i 与 j 之间的差异性, 为一定值,具体取值可以根据碎片的大小规模 以及色彩类型进行一定的调整。 由于相邻碎片间的摆放位置不同,,我们将其概率分为三种情况: (1) (2) (3) 针对于第一种情况(适用于第一行): ),,,(min)2,1( RLjiDD  ; ) )2,1( exp()2,1(  D p  表示后一张碎片的左边界与前面已确定拼图的右边界的最大匹配概率; 针对于第二种情况(适用于第一列): ),,,(min)3,1( DUjiDD  ; ) )3,1( exp()3,1(  D p  表示转行后第一张碎纸片与它上方已确定的下边界的最大匹配概率; 针对于第三种情况(适用于上方和左方的碎片已确定): ),,,(min),,,(min)4,3( DUgiDRLjiDD  ; ) )4,3( exp()4,3(  D p  表示除第一行与第一列的所有碎片,综合考虑其上边界与左边界的差异性下产生的最 大匹配概率。 基于先验概率的原理,我们预先定义了一块 mn 的矩阵,其中每一个元素表示一张 碎纸片的编号。按照从左到右依次满足,直至超过矩阵列数而转为下一行的顺序进行全部 排序。我们可以从第 1 张碎片开始直到第 mn 张碎片,分别放进左上角进行递推,并且, 第一张碎片的概率定为 1,之后,每向后搜索最大概率值时,必须满足前一综合概率为最 大。最终,到达右下角,确定出一个全局概率 fP :   m n f nnpP 1 )1,( )),1(|()1,( npnpnnp  此全局概率[4]表示的意思为,在某一特定初始碎片(左上角)的条件下,产生的全部 正确匹配概率最大的一种排列方式,即此种排列方式下图像完全还原的准确率最高。 因为,当下一张碎片进行填充时,必定需要满足该合成图像的概率最大,出现错误排 放的可能性有差异性 D(i,i+1)不唯一,甚至错误碎片的差异性 D 与正确碎片的小,因此 在该点处排放错误。但是,即使在某一点处错误摆放,由于此概率是基于两边界约束的情 况下得到的,在错误碎片的下方,很大可能左方产生概率的影响比上方产生概率的影响大 得多,因此,某个或者某些碎片的错误摆放在全局角度上不会产生显著性的影响。从而说 明按照该数学模型下的全局概率很好的确定出最优排列方式。 由于,左上角有 mn 种选择方式,故产生了同样数量的全局概率 fP ,在这些全局概
  • 18. 16 率中,我们又再次的选取了最大值,可用下面公式进行说明: .,..2,1)(max nmpP f   通过选取 mn 个全局概率中的最大值,最终确定出了一套完整的排列方式。此种排 列方式就是综合考虑了各因素后的最优方案。 5.4.3 模型的优化 1.考虑到左上角处的碎片一定是上边界和左边界的灰度值为 255(白色),据此,我们 可以将 mn 种初始方式通过此种约束,进行了大量的筛选。数学表达式为:     0255),(255),( 11    n o j m k j oczakz 此式表示第 j 张碎纸片的左边界灰度减去 255(白色灰度值)之和与右边界灰度减去 255( 白色灰度值)之和为 0。从而说明该张碎纸片可以作为初始碎片(左上角)进行全 局概率的计算。 2. 考虑到上下左右边缘的碎纸片均会有边界的灰度为 255,同第一种优化方式,我们 可以将上/下/左/右边界依次分类。数学表达式为:                               0255),( 0255),( 0255),( 0255),( 1 1 1 n 1 m k j m k j n o j o j bkz akz doz coz 右: 左: 下: 上: 根据此类约束,我们可以当待定碎片进行到边界处时,只用考虑选取对应边界类别中 的碎纸片,从而在边界处实现了算法时间复杂度的减少。 至于将该模型通过加维的方式进行彩色(RGB)拼图问题的运用,以及对于不规则图 形的拼接,此篇论文中,我们并未进行深入的研究。 6 模型的评价与推广 6.1 模型的评价 6.1.1 模型的优点 对于第一问,我们运用像素矩阵,计算了两张碎片的差别程度,并且以差异性作为衡 量的指标,差异越小,差异性越大。差异性指标选取合理。 对于第二问,我们运用了边界灰度突变、字高、行距这三个约束进行筛选,提高了拼 接的准确率。并且,我们可以很好的实现人机互动,对于每一个最优方案,都会经过人来 做最终裁决,使得准确率达到 100%。 对于第三问,我们在第二问的基础上,提出了正反两面种子同时扩展,在同一面上不 能排放相同序号的碎纸片(i-a 和 i-b 同时出现在一个块中)的约束下,将各个碎纸片均生 成块,最终通过正反两面转化来生成完整的图像。 6.1.2 模型的缺点 第一,本文中的模型在处理拼图过程时,效率较低,需要较多次数的人工干预。
  • 19. 17 第二,本文中的模型在种子生长过程中,即碎片往外扩展的过程,碎纸片拼接过程无 法很好的记录,算法整体系统性有待提高。 6.2 模型的推广 该论文中所涉及的模型在计算机领域,例如拼图问题,识别问题。以及在信息安全等 多方面都有很好的适用性。 参考文献: [1]罗智中. 基于文字特征的文档碎纸片半自动拼接[J]. 计算机工程与应用,2012,05:207-210. [2]贾海燕. 碎纸自动拼接关键技术研究[D].国防科学技术大学,2005. [3] T.S. Cho, S. Avidan and W.T. Freeman. A probabilistic image jigsaw puzzle solver. In CVPR, 2010. 2873, 2874,2877, 2878, 2879, 2880 [4] X. Wang, X. Bai, W. Liu, and L. J. Latecki. Feature context for image classification and object detection. IEEE Conf. on Computer Vision and Pattern Recognition (CVPR), 2011. 附录: 附录一:纵向切割下的汉字复原图
  • 25. 23