本发明涉及人工智能中机器学习领域,特别是涉及一种基于极限学习机的碎纸片拼接复原方法及系统。
背景技术:
随着计算机的普及和迅猛发展,大量复杂劳累的工作被计算机取而代之,尤其是最近这几年基于神经网络的人工智能的兴起,计算机已经影响着我们生活的方方面面。人工智能的快速发展得益于互联网产生的大数据以及计算机性能的提升,目前业界常用的卷积神经网络cnn,循环神经网络等都需要大量的数据对模型进行大量的训练来使得模型的泛化能力更强,但是现实生活中存在很多样本数量极少的例子,无法使用常规的神经网络进行大量训练,所以寻找一种小样本且具备一定泛化性能的算法具有重要的研究意义。
碎纸片的拼接复原模型在文档安全保护、司法物证复原、历史文献修复以及军事情报获取等领域都有着十分重要的应用。碎纸片复原问题两种情况,一种是撕毁方式下的边缘不规则碎纸片,这种情况下通过边缘不规则轮廓匹配进行拼接和复原,复原难度较低还原率较高,本文不做讨论。另一种是碎纸机切割的边缘规则的破碎纸片,由于边缘形状一样无法通过轮廓进行匹配只能提取边缘特征进行匹配,只能通过图形边缘特征提取进行匹配,找到匹配程度较高的纸条进行拼接。传统地,由人工完成的碎纸片拼接与复原工作效率是很低的,从而,研究如何利用计算机技术准确快速地完成碎纸片的拼接与复原成为一项十分重要且有意义的工作,对该场景的研究和实践对小样本机器学习以及图片特征提取提供了一种可行的具有创新性的想法,对类似场景算法实现提供了参考依据。
传统神经网络中的所有参数都需要调整以达到目标输出解最优,但这种调整需要以基于梯度下降误差反向传播算法不断迭代,显然,这种方法的学习速度非常缓慢。
技术实现要素:
本发明的目的是提供一种基于极限学习机的碎纸片拼接复原方法及系统,能够快速、良好的实现碎纸片拼接复原效果。
为实现上述目的,本发明提供了如下方案:
一种基于极限学习机的碎纸片拼接复原方法,所述方法包括:
获取待拼接的碎纸片训练样本;
提取所述碎纸片训练样本的左右边界特征数据;
根据所述左右边界特征数据训练极限学习机神经网络模型,得到训练好的神经网络模型;
获取待拼接的碎纸片测试样本;
提取所述碎纸片测试样本的左右边界特征数据;
根据首张拼接原则选取一张碎纸片作为首张待拼接碎纸片;
通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片;
判断所述吻合度最高的碎纸片与所述首张待拼接碎纸片是否拼接正确;
若是,则对碎纸片进行拼接直至所有所述碎纸片拼接复原;
若否,则采用人工标记,继续通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片。
可选的,所述提取所述碎纸片训练样本的左右边界特征数据,具体包括:
对所述碎纸片训练样本进行二值化处理,得到一序列像素矩阵;
将所述像素矩阵信息和所述碎纸片训练样本的文字信息进行组合,得到所述碎纸片的左右边界特征数据;
所述碎纸片的左右边界特征数据用公式
可选的,所述根据首张拼接原则为选择左边界为白边的碎纸片作为拼接行的首张碎纸片。
可选的,所述根据所述左右边界特征数据训练极限学习机神经网络模型,得到训练好的神经网络模型,具体包括:
将所述左右边界特征数据作为极限学习机神经网络模型的输入,得到输出数据;
判断所述输出数据是否在误差范围阈值内;
若是,确定所述神经网络模型为训练好的神经网络模型;
若否,调整所述神经网络模型的参数权值,使所述输出数据在所述误差范围阈值内,得到训练好的神经网络模型。
为实现上述目的,本发明提供了如下方案:
一种基于极限学习机的碎纸片拼接复原系统,所述系统包括:
训练样本获取模块,用于获取待拼接的碎纸片训练样本;
训练样本特征提取模块,用于提取所述碎纸片训练样本的左右边界特征数据;
训练模块,用于根据所述左右边界特征数据训练极限学习机神经网络模型,得到训练好的神经网络模型;
测试样本获取模块,用于获取待拼接的碎纸片测试样本;
测试样本特征提取模块,用于提取所述碎纸片测试样本的左右边界特征数据;
首张拼接碎纸片选取模块,用于根据首张拼接原则选取一张碎纸片作为首张待拼接碎纸片;
吻合度计算模块,用于通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片;
判断模块,用于判断所述吻合度最高的碎纸片与所述首张待拼接碎纸片是否拼接正确;
若是,则对碎纸片进行拼接,直至所有所述碎纸片拼接复原;
若否,则采用人工标记,继续通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片。
可选的,所述训练样本特征提取模块,具体包括:
二值化处理单元,用于对所述碎纸片训练样本进行二值化处理,得到一序列像素矩阵;
左右边界特征数据提取单元,用于将所述像素矩阵信息和所述碎纸片训练样本的文字信息进行组合,得到所述碎纸片的左右边界特征数据;
所述碎纸片的左右边界特征数据用公式
可选的,所述根据首张拼接原则为选择左边界为白边的碎纸片作为拼接行的首张碎纸片。
可选的,所述训练模块,具体包括:
输出数据获取单元,用于将所述左右边界特征数据作为极限学习机神经网络模型的输入,得到输出数据;
判断单元,用于判断所述输出数据是否在误差范围阈值内;
若是,确定所述神经网络模型为训练好的神经网络模型;
若否,调整所述神经网络模型的参数权值,使所述输出数据在所述误差范围阈值内,得到训练好的神经网络模型。
根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供一种基于极限学习机的碎纸片拼接复原方法,采用极限学习机神经网络模型,只需将模型中的部分参数进行调整,而是通过随机初始化输入层权值和偏置值开固定部分参数使问题转化为一元问题通过函数的方式进行求解,通过将上述极限学习机神经网络模型应用到碎纸片拼接复原中,能够迅速、良好的实现碎纸片的拼接。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于极限学习机的碎纸片拼接复原方法流程图;
图2为本发明实施例设计极限学习机神经网络模型图;
图3为本发明实施例边缘不规则的碎纸片示意图;
图4为本发明实施例边缘规则的碎纸片示意图;
图5为本发明实施例边缘特征特征展示
图6为本发明实施例碎纸片特征分布可视化图;
图7为本发明实施例文字类碎纸片组合特征示意图;
图8为本发明实施例基于极限学习机的碎纸片拼接复原系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明实施例基于极限学习机的碎纸片拼接复原方法流程图。如图1所示,一种基于极限学习机的碎纸片拼接复原方法,所述方法包括:
步骤101:获取待拼接的碎纸片训练样本;
步骤102:提取所述碎纸片训练样本的左右边界特征数据;
步骤103:根据所述左右边界特征数据训练极限学习机神经网络模型,得到训练好的神经网络模型;
步骤104:获取待拼接的碎纸片测试样本;
步骤105:提取所述碎纸片测试样本的左右边界特征数据;
步骤106:根据首张拼接原则选取一张碎纸片作为首张待拼接碎纸片;
步骤107:通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片;
步骤108:判断所述吻合度最高的碎纸片与所述首张待拼接碎纸片是否拼接正确;
步骤109:若是,则对碎纸片进行拼接直至所有所述碎纸片拼接复原;
步骤110:若否,则采用人工标记,继续通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片。
所述提取所述碎纸片训练样本的左右边界特征数据,具体包括:
将碎纸片信息扫描并为每张纸条编号依次为0,1,2,…,n-1。
按照编号读取图片矩阵信息,由于图片信息为rbg值,需要将图片矩阵按照公式(1)转换为灰度图。
gray=(r*299+g*587+b*114+500)/1000(1)
对于文字类型的碎纸片通过设定阈值将图片进行一个二值化处理,设置一个阈值,本模型将非255(白色)部分全部处理为0(黑色),即阈值为255放大文字在纸条边界上的特征效果。
式中:qij为二值化前的图像的像素值
pij为二值化后的图像的像素值
通过对每一张图像进行公式(2)的二值化处理后,得到一序列像素矩阵信息,所述像素矩阵信息用于图像的特征提取,其能够反映碎纸片的层次结构。
获取文字能容碎纸片的结构特征,通过遍历图片矩阵的行内容,如果有元素非255(白色),就将该行内容全置0(黑色)。结构特征可以在匹配中帮助自动区别碎片所在列的碎纸片组,省去了聚类分类的麻烦。
所述像素矩阵信息能够和所述碎纸片训练样本的文字信息进行组合获得碎纸片组合特征。
每张所述碎纸片的左右边界特征数据用公式
对于文本类碎纸片可以选择左边界为白边的碎纸片作为拼接行的首张碎纸片。
拼接过程遵循左右相配原则,即当前匹配的碎纸片的左边界特征只和剩余碎纸片的右边界特征匹配,反之当前匹配的碎纸片的右边界特征只和剩余碎纸片的左边界特征匹配。
步骤103,具体包括:
将所述左右边界特征数据作为极限学习机神经网络模型的输入,得到输出数据;
判断所述输出数据是否在误差范围阈值内;
若是,确定所述神经网络模型为训练好的神经网络模型;
若否,调整所述神经网络模型的参数权值,使所述输出数据在所述误差范围阈值内,得到训练好的神经网络模型。
在神经网络模型的参数权值确定的过程中采用下列方法确定:
给定激活函数g(x),和n个任意不同的样本(xi,ti),其中xi=[xi1,xi2,...,xin]t∈rn且ti=[ti1,ti2,...,tim]t∈rm,即给定训练集
(1)确定隐含层数为1,初始化隐含层神经元个数为l。
(2)分配任意输入权重wi和偏置bi,其中
(3)计算隐藏层输出矩阵h。h称为神经网络的隐层输出矩阵;h的第i列是关于输入x1,x2,...,xn的第i个隐藏神经元的输出向量。
(4)根据hβ=t通过moore-penrose广义逆计算
其中,βi=[βi1,βi2,...,βim]t是连接第i隐藏神经元和输出神经元的权向量,
通过上述方法能够得到神经网络所有参数即:wi,bi,βi;
极限学习机特征匹配模型输出层定义:
(1)训练样本标签
本模型训练样本输出采用跟输入层维度相同的常数矩阵作为神经网络的输出,是已知数据,不需要计算,用来计算神经网络输出层权值β。实验中使用的是ti=[ti1,ti2,...,tim](本实验选取ti=i,ti的值可以任选,一般取正整数即可);
(2)检测输出列
根据训练计算出的wi,bi,βi,解过,将数据输入模型计算得出,跟输入层维度相同。
本发明的极限学习机神经网络模型使用协方差作为吻合度计算,协方差表示的是两个变量的总体的误差,这与只表示一个变量误差的方差不同。如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值,另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值。如果两个变量的变化趋势相反,即其中一个大于自身的期望值,另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。根据协方差公式
在拼接过程可能出现边缘相似但拼接错误的情况,需要进行很少量的人工干预,通过对模型设置拼接检测阈值(本模型设置为0.01,),吻合度大于等于0.01的拼接结果将会通过cui控制界面反馈出来,如果拼接错误通过人工标记改变协方差计算结果增大其值交由系统进行二次筛选,实验结果显示在最坏的情况下一般不超过三次标记就能获得正确的匹配结果。
图2为本发明实施例设计极限学习机神经网络模型图;图3为本发明实施例边缘不规则的碎纸片示意图;图4为本发明实施例边缘规则的碎纸片示意图;图5为本发明实施例边缘特征特征展示图6为本发明实施例碎纸片特征分布可视化图;图7为本发明实施例文字类碎纸片组合特征示意图。
本发明的上述方法均是对于文本类碎纸片的拼接复原来实现的,对于彩色图片的拼接复原方法是类似的,只不过对于彩色图片在进行左右边界特征提取时不需要进行二值化处理,因为彩色图片的碎纸条切割比较碎,相似度极高,特别是带高斯模糊效果的图像,不便于做二值化处理。所以只需直接提取碎纸片的左右边界特征即可。而且对于彩色图片一般通过模型随机选取一张碎纸片作为拼接行的首张碎纸片即可,不需要遵循左边界为白边的原则。
图8为本发明实施例基于极限学习机的碎纸片拼接复原系统结构图。如图8所示,一种基于极限学习机的碎纸片拼接复原系统,所述系统包括:
训练样本获取模块201,用于获取待拼接的碎纸片训练样本;
训练样本特征提取模块202,用于提取所述碎纸片训练样本的左右边界特征数据;
训练模块203,用于根据所述左右边界特征数据训练极限学习机神经网络模型,得到训练好的神经网络模型;
测试样本获取模块204,用于获取待拼接的碎纸片测试样本;
测试样本特征提取模块205,用于提取所述碎纸片测试样本的左右边界特征数据;
首张拼接碎纸片选取模块206,用于根据首张拼接原则选取一张碎纸片作为首张待拼接碎纸片;
吻合度计算模块207,用于通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片;
判断模块208,用于判断所述吻合度最高的碎纸片与所述首张待拼接碎纸片是否拼接正确;
若是,则对碎纸片进行拼接,直至所有所述碎纸片拼接复原;
若否,则采用人工标记,继续通过所述训练好的神经网络模型选取与所述首张待拼接碎纸片吻合度最高的碎纸片。
所述训练样本特征提取模块,具体包括:
二值化处理单元,用于对所述碎纸片训练样本进行二值化处理,得到一序列像素矩阵;
左右边界特征数据提取单元,用于将所述像素矩阵信息和所述碎纸片训练样本的文字信息进行组合,得到所述碎纸片的左右边界特征数据;
所述碎纸片的左右边界特征数据用公式
所述根据首张拼接原则为选择左边界为白边的碎纸片作为拼接行的首张碎纸片。
所述训练模块,具体包括:
输出数据获取单元,用于将所述左右边界特征数据作为极限学习机神经网络模型的输入,得到输出数据;
判断单元,用于判断所述输出数据是否在误差范围阈值内;
若是,确定所述神经网络模型为训练好的神经网络模型;
若否,调整所述神经网络模型的参数权值,使所述输出数据在所述误差范围阈值内,得到训练好的神经网络模型。
具体实施例1:
本发明的采用了8组不同切割程度的碎纸片进行测试,其中一部分数据采用公开数据,另一部分采用仿真数据,具体情况如下:
(1)2013年全国大学生数学建模b题附件一、二中的中文碎纸片数据分别为25.4mm*698.5mm共19片,附件一为中文,附件二为英文;
(2)仿真数据彩色图像集442mm*3.5mm共191片;
(3)2013年全国大学生数学建模b题附件三、四中的碎纸片数据分别为25.4mm*63.5mm共209片,附件三为中文,附件四为英文;
(5)仿真数据彩色图像集5.29mm*47.63mm共96片;
(6)仿真数据彩色图像集2mm*47.63mm共96片;
(7)仿真数据彩色图像集1.85mm*11.38mm共64片;
因为模型是模拟人工拼接纸片的过程所以需要选取一张碎纸片作为拼接的开始,对于文字类的可以选取左边界为空白的碎纸片作为拼接的开始,对于彩色图片类的碎纸片无法简单确定出起始行的碎纸片序号,故采用随机选取两端拼接的方式进行复原;
提取每一张碎纸片的的左右边界特征数据,对1.4.1步骤中设置阈值为255,获取到后碎纸片的左右边界分别记为
根据选定的初始碎纸片,将选定的碎纸片边界特征数据
对除选定碎纸片的剩余碎纸片进行匹配,将每一张碎纸片左边界特征输入选定碎纸片左边界特征训练出来的神经网络模型,将输出结果与对应的训练标签输入1.9的吻合度协方差计算公式,每一张碎纸片计算得到的值记为zi,从zi序列中选择最小值进行拼接并用此时选定碎纸片进项步骤3的下一步训练,重复步骤4,便完成了行序列的拼接工作。
对于拼接过程会存在少量误差,通过人工标记的方法对系统进行反馈,系统根据反馈对错误序列进行负激励即将协方差计算值设置为一个极大的数值,对步骤4中zi序列进行重排选择获得正确系列,实验结果表明在碎纸片加密程度不高的情况下需要人工标记的情况极低,对拼接效率造成的影响可忽略。
对于横纵切割的碎纸片在完成步骤4的行排列后可以将行碎纸片序列上下边界特征转化为做右边界特征转继续使用本发明的模型进行拼接即可完成复原,展示数据的拼接结果见附图8。结果展示对于比较碎的彩色图像拼接正确率普遍较高,而彩色图像单块碎纸片相似度高人工拼接非常困难,该专利提出的模型可以大大提高拼接的效率。
参与测试的8组数据在非人工干预下的还原率情况如下表:
表1各样本类型的还原率表
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。