首页 / 一种基于坎贝拉度量改进的智能拼图方法、系统和设备

一种基于坎贝拉度量改进的智能拼图方法、系统和设备无效专利 发明

技术领域

[0001] 本发明属于图像处理技术领域,特别涉及一种基于坎贝拉度量改进的智能拼图方法、系统和设备。

相关背景技术

[0002] 数据挖掘技术的进步使得能够解决大规模的图像问题。例如用计算机解决拼图问题不仅有利于碎片的还原,而且对于图像对象的定位也是有利的。好的拼图技术是能够在上百以及上千个拼图块中找到最好的匹配。
[0003] 在现有技术中,采用图像模型解决拼图问题,即采用一个节点代表相邻两块的相似度分数。在现有技术中公开的技术方案包括:第一、一种新的兼容性测量称为MGC(马氏相似度度量);第二、对于缺失拼图块的解决方案,图块的形状信息采用根据拼图块的颜色相似性进行匹配;第三、根据拼图分类策略来组装拼图;第四、采用分而治之的策略,通过对可能相互连接的碎片进行分组组装;第五、不考虑碎片的形状信息,主要考虑碎片的内容来解决方形拼图问题。这些方法一般都是首先计算相邻块的相似度,然后利用贪婪算法组装拼图。所以,目前大多数拼图算法侧重于计算拼图块之间的边缘相似度,即测量拼图块边缘的像素之间的兼容性。但不是检查所有边缘像素,虽然机器学习能够利用像素级分析边缘相似度,但是不容易实现。

具体实施方式

[0062] 为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
[0063] 实施例1
[0064] 本发明实施例1提出了一种基于坎贝拉度量改进的智能拼图方法,为解决现有技术中存在的技术问题,通过考虑拼图块之间的边缘相似度,提出一种解决未知方向,未知位置的拼图算法。如图1为本发明实施例1一种基于坎贝拉度量改进的智能拼图方法流程图。
[0065] 在步骤S100中,获取图像数据,并计算相邻拼图块之间的马氏距离加权值。 MGC(马氏相似度度量)通过考虑边缘相似度,使度量更准确。不但计算相邻块之间颜色梯度的协方差,并将马氏距离应用其中。
[0066] 计算相邻拼图块之间的马氏距离加权值的方法为:通过计算相邻拼图块之间的左右边缘颜色梯度变化来计算相邻拼图块之间的马氏距离加权值。
[0067] 假定拼图块xj在拼图块xi的右侧,采用GiL(t,c)表示拼图块xi右侧边界梯度变化,定义一个P*3的矩阵;则
[0068] GiL(t,c)=xi(t,P,c)‑xi(t,P‑1,c)   (1)
[0069]
[0070] 其中,t为行数;c为颜色通道;P为列数;μiL(c)为拼图块xi右边缘的平均分布;xi(t,P,c)代表拼图块i在第t行,第P列,第c颜色通道的梯度变化;xi(t,P‑1,c) 代表拼图块xi在第t行,第P‑1列,第c颜色通道的梯度变化
[0071]
[0072] 其中,ELR(xi,xj)为拼图块xi到xj的相似度度量,即xi为xi到xj的马氏距离; Si是像素块xi右边缘颜色梯度的一个3*3的协方差矩阵;
[0073] GijLR(t,c)=xj(t,1,c)‑xi(t,P,c);   (4)
[0074] 其中,GijLR(t,c)为拼图块xi右边缘到拼图块xj左边缘的梯度变化;xj(t,1,c)为拼图块xj的在第t行第1列第c通道的左侧颜色梯度变化;xi(t,P,c)为拼图块xi在第t行第P列第c颜色通道的右侧颜色梯度变化;
[0075] MGC(xi,xj)=ELR(xi,xj)+ERL(xj,xi)   (5)
[0076] 其中,公式(5)为修正公式,MGC(xi,xj)是xi到xj的之间的马氏距离的加权值;ELR(xi,xj)为xi到xj的马氏距离;所述ERL(xj,xi)为xj到xi的马氏距离。
[0077] 在步骤S110中,再针对获取的图像数据,计算相邻拼图块之间的坎贝拉相似度;坎贝拉距离(Canberra距离)是由Lance和Williams最早提出的。它是相似度分析中一种度量距离的常用方法。而好的度量方法对于碎片之间的微小差异是很敏感的,当图片中出现大量相似物时,利用MGC方法进行组装拼图的准确率会降低。因此本发明首次将坎贝拉距离算法应用于拼图中。
[0078] 计算相邻拼图块之间的坎贝拉相似度的过程包括:
[0079] c(xi,xj)=xi(h,Q,c)‑xj(h,1,c);   (6)
[0080]
[0081] 其中, 为拼图块xi在在第h行,Q列第c通道的梯度变化; 为拼图块xj在第h行,第1列,第c通道的梯度变化;c(xi,xj)代表拼图块xj左边缘到拼图块xi左边缘的梯度变化;d(xi,xj)为相邻拼图块xi和xj之间的坎贝拉距离。
[0082] d(xi,xj)越小,说明xi和xj接近程度越大;d(xi,xj)越大,说明xi和xj接近程度越小。
[0083] 计算相邻拼图块之间的坎贝拉相似度的过程还包括:
[0084] 如果N为任意相邻的拼图块的坎贝拉距离组成的相似度矩阵,P为所有拼图块的集合;则N的归一化矩阵N’;
[0085]
[0086] ε为不为0的常数。
[0087] 在步骤S120中,通过将计算出的相邻拼图块之间的马氏距离加权值和坎贝拉相似度相结合,对相邻拼图块的相似度进行评分。
[0088] 当有大量相似物时,单纯的MGC算法准确率不高,因此本发明提出将 Canberra与MGC结合的度量方式。新的度量方式能够增加碎片之间的差别
[0089] 第一种结合方式can1:设定Cadd1为第一种方式相结合的加权值,则:
[0090] Cadd1=a*MGC+b*Canberra;   (8)
[0091] a+b=1;   (9)
[0092] 其中MGC为MGC(xi,xj);Canberra为d(xi,xj);通过改变a和b的取值,得到正确匹配拼图块数量最多时对应的a和b的取值。
[0093] a和b的取值不同时,进行正确匹配的拼图块的数量不同,运行时间也会不同。
[0094] 在对a的不同取值进行分析时,a为{0.4,0.5,0.6,0.7},发现当a=0.7时进行正确匹配的拼图块的数量最多,效果最好。将此方法标记为Can1,如图2为本发明实施例1中a值不同时不同图片匹配正确的拼图块数量对比结果图。当a =0.7,b=0.3时正确匹配的拼图块的数量最多。因此后续的实验中取a=0.7,b=0.3。
[0095] 第二种结合方式can2:设定Cadd2为第二种方式相结合的加权值,
[0096] Cadd2=MGC*Canberra1/r;   (10)
[0097] 其中r为自由参数;r∈{1/2,1/4,1/8,1/16};通过改变r的取值,得到正确匹配拼图块数量最多时对应的r的取值。进行对比分析,发现当r=1/4时效果最好。将次方法标记为Can2。如图3为本发明实施例1中r值不同时不同图片匹配正确的拼图块数量对比结果图。可以看出当r=1/8开始正确匹配的拼图块数量明显下降,r=1/4时正确匹配的拼图块数量最多。因此后续的实验中取r=1/4。
[0098] 对相邻拼图块的相似度进行评分的方法包括:采用贪婪算法判断阈值函数值:
[0099] g(Can1)=mean(Can1)+var(Can1);   (12)
[0100] g(Can2)=mean(Can2)+var(Can2);   (13)
[0101] 其中,mean(Can1)为Can1的均值;mean(Can2)为Can2的均值;var(Can1) 为Can1的方差;var(Can2)为Can2的方差;g(Can1)为计算Can1方法均值和Can1 方法方差的加权和;g(Can2)为计算Can2方法均值和Can2方法方差的加权和。
[0102] 在步骤S130中,然后根据评分的结果再进行重建图像。选择所有拼图块之间阈值函数值最小的值作为正确的拼接,进行重建图像;如果重建后的图像超过原图像维度,则进行剪枝;并在剪枝之后,将剩余空缺调补完整。
[0103] 将计算的所有块与块、每种块与块之间的16种组合的g(Can1)、g(Can2) 的值,选择值最小的值作为正确的拼接。将上一次结果与剩余块拼接。防止出现重叠。如图4为本发明实施例1拼接发生冲突图;如图5为本发明实施例1 成功拼接示意图;任意拼图块之间拼接若发生冲突时,则合并这两个森林后的结果将被丢弃。任意拼图块之间拼接未发生重叠时因此为正确拼接。如果拼接之后的结果图片的维度超过原图像维度,需要剪枝。剪枝之后,将剩余空缺较小的部分重新填充完毕。
[0104] 本发明中将网络图像库以及我拍摄的一些图片分为14组,分别利用Can1 算法、Can2算法和MGC算法进行测试,将每张图片划分为432块,每块28x 28像素。结果如下表1所示:
[0105]
[0106] 从表1中可以发现,在所测试的14组图片中,使用本发明两种算法,拼图块进行匹配的准确率都有所提高。Can2相对于大多数图片,都能得到较高的准确率。有超过64%的图片都有高达90%以上的准确率。对于背景单一图片Can2 算法仍能达到80%左右的准确率,而此时MGC只能达到60%左右的准确率。 Can1相对于某些图片虽然也起到了微调的作用,准确率也有所提高,但相比于 Can2效果要差。
[0107] 噪声干扰下两种发明算法对比实验:拼图问题为广泛的实际应用提供了可能的解决方案。如考古遗物的重组,破坏的文件的复原,在这些应用中,现实存在的图像总是大量的噪声。过去的文献中,拼图问题的解决总是假定图像是完美的。本发明对于受到噪声干扰的图像做出实验预估。由于之前研究的算法受到噪声影响后,其准确率会有明显变化,比如MGC算法。因此首先对14组图片添加噪声,然后对两种算法的准确率进行对比。每张图片均加入密度为0.05 的椒盐噪声及均值为0,方差为0.01的高斯噪声,观察其准确率。如图6为本发明实施例1高斯噪声影响下两种算法准确率对比结果;如图7为本发明实施例1椒盐噪声影响下的两种算法准确率对比结果;对于14组测试图片中,MGC 算法对于个别背景单一的图片,加入噪声后其准确率会有所提高,而对于背景复杂的图片其准确率会有所下降。而Can2准确率始终比MGC准确率高,表现出很好的鲁棒性,优于MGC还原图像的算法。
[0108] 设置图片缺损下两种发明算法效果对比实验:重建图像的另外一个难题是当图片不完整时,是否还能达到很高的准确率。随机设置黑块制造不完整性,对第一组所有图片随机进行涂黑。将Can1算法与MGC算法作对比,如图8为本发明实施例1第一组图片加黑块后准确率结果;从图8中可以看出,MGC的准确率是低于Can1的准确率。
[0109] 坎贝拉测量算法实验结果表明,本文中的算法对于所测试图片有较高的准确率,当有噪声干扰时,Can2算法相比于MGC算法有较高的准确率,当图片设置缺损时,虽然两种算法相对于之前完整的图像准确率虽然有所降低,但是 Can1算法的准确率高于MGC的准确率。
[0110] 所以本发明实施例1提出的一种基于坎贝拉度量改进的智能拼图方法,通过坎贝拉距离计算相邻块边缘的颜色梯度,根据坎贝拉算法与MGC算法结合得到的距离对相邻拼图块的相似度进行评分,同时重建图像时先将结果值进行加权,然后还原图像,在拼图过程中具有较高的准确率,具有更强的拼图能力。
[0111] 实施例2
[0112] 基于本发明实施例1提出的一种基于坎贝拉度量改进的智能拼图方法,本发明实施例2提出了一种基于坎贝拉度量改进的智能拼图系统,如图9为本发明实施例1一种基于坎贝拉度量改进的智能拼图系统示意图,该设备包括包括第一计算模块、第二计算模块和重建模块;
[0113] 第一计算模块用于获取图像数据,并计算相邻拼图块之间的马氏距离加权值;
[0114] 第二计算模块用于再针对获取的图像数据,计算相邻拼图块之间的坎贝拉相似度;
[0115] 重建模块用于通过将计算出的相邻拼图块之间的马氏距离加权值和坎贝拉相似度相结合,对相邻拼图块的相似度进行评分,然后根据评分的结果再进行重建图像。
[0116] 第一计算设备实现的过程包括:计算相邻拼图块之间的马氏距离加权值的方法为:通过计算相邻拼图块之间的左右边缘颜色梯度变化来计算相邻拼图块之间的马氏距离加权值。
[0117] 假定拼图块xj在拼图块xi的右侧,采用GiL(t,c)表示拼图块xi右侧边界梯度变化,定义一个P*3的矩阵;则
[0118] GiL(t,c)=xi(t,P,c)‑xi(t,P‑1,c)   (1)
[0119]
[0120] 其中,t为行数;c为颜色通道;P为列数;μiL(c)为拼图块xi右边缘的平均分布;xi(t,P,c)代表拼图块i在第t行,第P列,第c颜色通道的梯度变化;xi(t,P‑1,c) 代表拼图块xi在第t行,第P‑1列,第c颜色通道的梯度变化
[0121]
[0122] 其中,ELR(xi,xj)为拼图块xi到xj的相似度度量,即xi为xi到xj的马氏距离; Si是像素块xi右边缘颜色梯度的一个3*3的协方差矩阵;
[0123] GijLR(t,c)=xj(t,1,c)‑xi(t,P,c);   (4)
[0124] 其中,GijLR(t,c)为拼图块xi右边缘到拼图块xj左边缘的梯度变化;xj(t,1,c)为拼图块xj的在第t行第1列第c通道的左侧颜色梯度变化;xi(t,P,c)为拼图块xi在第t行第P列第c颜色通道的右侧颜色梯度变化;
[0125] MGC(xi,xj)=ELR(xi,xj)+ERL(xj,xi)   (5)
[0126] 其中,公式(5)为修正公式,MGC(xi,xj)是xi到xj的之间的马氏距离的加权值;ELR(xi,xj)为xi到xj的马氏距离;所述ERL(xj,xi)为xj到xi的马氏距离。
[0127] 第二计算模块实现的过程包括:
[0128] c(xi,xj)=xi(h,Q,c)‑xj(h,1,c);   (6)
[0129]
[0130] 其中, 为拼图块xi在在第h行,Q列第c通道的梯度变化; 为拼图块xj在第h行,第1列,第c通道的梯度变化;c(xi,xj)代表拼图块xj左边缘到拼图块xi左边缘的梯度变化;d(xi,xj)为相邻拼图块xi和xj之间的坎贝拉距离。
[0131] 计算相邻拼图块之间的坎贝拉相似度的过程还包括:
[0132] 如果N为任意相邻的拼图块的坎贝拉距离组成的相似度矩阵,P为所有拼图块的集合;则N的归一化矩阵N’;
[0133]
[0134] ε为不为0的常数。
[0135] 重建模块实现的过程包括两种方式。
[0136] 第一种结合方式can1:设定Cadd1为第一种方式相结合的加权值,则:
[0137] Cadd1=a*MGC+b*Canberra;   (8)
[0138] a+b=1;   (9)
[0139] 其中MGC为MGC(xi,xj);Canberra为d(xi,xj);通过改变a和b的取值,得到正确匹配拼图块数量最多时对应的a和b的取值;
[0140] 第二种结合方式can2:设定Cadd2为第二种方式相结合的加权值,
[0141] Cadd2=MGC*Canberra1/r;   (10)
[0142] 其中r为自由参数;r∈{1/2,1/4,1/8,1/16};通过改变r的取值,得到正确匹配拼图块数量最多时对应的r的取值。
[0143] 对相邻拼图块的相似度进行评分的方法包括:采用贪婪算法判断阈值函数值:
[0144] g(Can1)=mean(Can1)+var(Can1);   (12)
[0145] g(Can2)=mean(Can2)+var(Can2);   (13)
[0146] 其中,mean(Can1)为Can1的均值;mean(Can2)为Can2的均值;var(Can1) 为Can1的方差;var(Can2)为Can2的方差;g(Can1)为计算Can1方法均值和Can1 方法方差的加权和;g(Can2)为计算Can2方法均值和Can2方法方差的加权和。
[0147] 根据评分的结果再进行重建图像的过程包括:
[0148] 选择所有拼图块之间阈值函数值最小的值作为正确的拼接,进行重建图像;如果重建后的图像超过原图像维度,则进行剪枝;并在剪枝之后,将剩余空缺调补完整。
[0149] 本发明实施例2提出的一种基于坎贝拉度量改进的智能拼图系统,将实施例1提出的一种基于坎贝拉度量改进的智能拼图方法模块化。具体的实现过程可参照实施例1中的详细过程。
[0150] 本发明实施例2提出的一种基于坎贝拉度量改进的智能拼图系统,通过坎贝拉距离计算相邻块边缘的颜色梯度,根据坎贝拉算法与MGC算法结合得到的距离对相邻拼图块的相似度进行评分,同时重建图像时先将结果值进行加权,然后还原图像,在拼图过程中具有较高的准确率,具有更强的拼图能力。
[0151] 实施例3
[0152] 本发明还提出了一种设备,包括:
[0153] 存储器,用于存储计算机程序;
[0154] 处理器,用于执行所述计算机程序时实现方法步骤如下:
[0155] 获取图像数据,并计算相邻拼图块之间的马氏距离加权值;
[0156] 再针对获取的图像数据,计算相邻拼图块之间的坎贝拉相似度;
[0157] 通过将计算出的相邻拼图块之间的马氏距离加权值和坎贝拉相似度相结合,对相邻拼图块的相似度进行评分,然后根据评分的结果再进行重建图像。
[0158] 本发明实施例3提出的一种设备中方法运行的过程可参照实施例1中公开的方法的详细过程。
[0159] 本发明实施例3提出的一种设备,通过坎贝拉距离计算相邻块边缘的颜色梯度,根据坎贝拉算法与MGC算法结合得到的距离对相邻拼图块的相似度进行评分,同时重建图像时先将结果值进行加权,然后还原图像,在拼图过程中具有较高的准确率,具有更强的拼图能力。
[0160] 需要说明:本发明技术方案还提供了一种电子设备,包括:通信接口,能够与其它设备比如网络设备等进行信息交互;处理器,与通信接口连接,以实现与其它设备进行信息交互,用于运行计算机程序时,执行上述一个或多个技术方案提供的分布式文件系统日志改进方法,而所述计算机程序存储在存储器上。当然,实际应用时,电子设备中的各个组件通过总线系统耦合在一起。可理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。本申请实施例中的存储器用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器 (PROM,Programmable Read‑Only Memory)、可擦除可编程只读存储器(EPROM, Erasable Programmable Read‑Only Memory)、电可擦除可编程只读存储器 (EEPROM,Electrically Erasable Programmable Read‑Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD‑ROM,Compact Disc Read‑Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM, Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM, Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM, SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM, SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器  (DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
[0161] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
[0162] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制。对于所属领域的技术人员来说,在上述说明的基础上还可以做出其它不同形式的修改或变形。这里无需也无法对所有的实施方式予以穷举。在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

当前第1页 第1页 第2页 第3页
相关技术
度量改进相关技术
拉度量相关技术
吴娟发明人的其他相关专利技术