一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于超高维数据元聚类的图像匹配方法与流程

2021-10-24 07:07:00 来源:中国专利 TAG:匹配 图像 算法 优化 特别


1.本发明涉及算法优化以及图像匹配技术领域,特别涉及一种基于超高维数据元聚类的图像匹配方法。


背景技术:

2.随着深度学习的发展,许多基于聚类的图像数据挖掘技术被用来进行图像匹配。然而,图像的像素通常是巨大的,在训练模型时通常数据是高维且稀疏的。传统的聚类算法在处理图像数据挖掘的高维数据时,由于维数灾难,使得样本之间的距离都非常大,遭遇了极大的挑战,使得图像匹配的效果不佳。因此,迫切需要一个高效的超高维数据聚类方法来处理图像数据聚类,从而实现最优的图像匹配。
3.目前,图像聚类算法主要有以下三种:
4.基于划分的聚类算法,如k均值聚类算法(k

means)和k中心聚类算法(k

modes),这类算法初始挑选随机点,并通过数据点的迭代重置得到聚类中心,通过把样本划分到最近的中心把样本集划分为若干类。实现同类点类内距离尽可能地小,不同类的点之间的距离尽可能地大。近年来,针对特定预先给定的聚类簇数的自适应选择提出了许多改进的算法。然而,这类算法虽然简单,却对初始值,噪声和离群点非常敏感,而且对高维数据的流形要求很严格,在非凸数据上效果显著恶化。
5.层次聚类算法,如agglomerative nesting divisive analysis(agnes)和diana聚类算法,其中agnes使用自底向上的聚合方法,通过计算类与类之间的距离,把相近的类进行合并;而diana通过计算样本之间的距离使用自顶向下的分拆方法。这类算法在不同层次对数据集进行划分,使数据集形成树状的聚类结构。通常,这类方法具有很好的解释性,可以在任意想要的簇数上选择聚类的结果。然而,这一类算法时间复杂度比较高,并且是一类贪心算法。这类算法由于需要计算类与类之间的距离,以及样本之间的距离,同样存在维数灾难的挑战。
6.基于密度的聚类算法,如density

based spatial clustering of applications with noise(dbscan)算法,使用密度来将点聚成簇。其可以根据点的密度划分簇,使得密度大的区域簇比较小,密度小的区域簇比较大,从而克服有划分聚类算法中基于距离的算法只能实现“凸”型数据的聚类的缺点。在计算样本的密度时需要计算样本之间的距离,这类算法同样存在维数灾难的挑战,另外,聚类的结果对密度阈值这个参数也比较敏感。


技术实现要素:

7.本发明的目的是提供一种基于超高维数据元聚类的图像匹配方法,用以高效的进行图像数据的聚类,并通过聚类结果确定匹配的图像,从而实现图像的有效匹配。
8.为了实现上述任务,本发明采用以下技术方案:
9.一种基于超高维数据元聚类的图像匹配方法,步骤包括以下:
10.s1,获取图像像素数据s={x1,x2,

,x
d
}∈r
n
×
d
,其中x
i
表示第i个特征,d为特征
数,n为图像数量,r为实数集;
11.s2,采用金字塔范式的聚类算法,设置算法的层数为m层,金字塔范式的第一层的输入特征集为图像像素数据s,输出特征集作为第二层的输入特征集;从第二层至第m

1层,每一层的输入特征集为上一层的输出特征集,输出特征集作为下一层的输入特征集;
12.s3,对于第一层至第m

1层,每一层中的处理过程为:
13.将输入特征集划分为个特征子集x1,

,x
m
,在第n层中d’的值为n=1,

,m

1;特征子集划分的过程为:
14.s3.1,首先计算划分特征集的数目m,然后在输入特征集划中随机选择一个特征x
g
,初始化m个特征子集,初始化方法如下:
15.s3.1

1,令x
g
为第一个特征子集,并令初始特征集合z={x
g
};
16.s3.1

2,计算输入特征集中所有特征与z的相似度,选择欧氏距离最小的特征x
z
加入到集合z中作为第二个特征子集;重复该步骤直到z中有m个特征子集;
17.s3.2,得到m个特征子集之后,依次把输入特征集剩余的特征分配到某一特征子集中;
18.s4,对特征集进行元聚类
19.在每一个特征子集上,根据特征的属性特点选择对应的元聚类器;经过元聚类器的聚类,得到每个图像在该特征子集上的标签;将一层中所有的特征子集分别经过元聚类得到的标签作为新的特征,构成该层的输出特征集,进入下一层作为输入;
20.s5,在金字塔范式的最后一层,而通过元聚类器对上一层输入的特征集进行最后一次聚类,得到所有图像在该特征集上的标签,然后将具有相同标签的图像匹配在一起,完成图像匹配过程。
21.进一步地,对于输入特征集中剩余的第j个特征x
j
,其所分到的特征子集计算如下:
[0022][0023]
其中,x
h
是特征子集x
i
中的某个特征,sim(x
j
,x
h
)是特征x
j
与x
h
之间的相似度,i,=1,

,m。
[0024]
进一步地,所述在每一个特征子集上,根据特征的属性特点选择对应的元聚类器,包括:
[0025]
判断当特征子集中的特征是数值型特征时,则元聚类器采用k

means聚类算法对其进行聚类;当特征子集的特征是属性数据时,则元聚类器采用ocil聚类算法进行聚类。
[0026]
进一步地,将输入特征集划分为若干特征子集{x1,

,x
m
}后,对每一个特征子集x
i
上通过一个元聚类器进行聚类,聚类问题定义如下:
[0027][0028]
其中y=(y1,y2,

,y
n
)为聚类标签,y
i
∈{1,

,c},i=1,

,n为第i个图像的聚类标签,c为类的数目,θ为把n个图像划分为c类所有可能的方案,f
i
(.)为在特征子集x
i
上的指标函数、参数化误差函数或者代价损失函数。
[0029]
一种基于超高维数据元聚类的图像匹配装置,包括:
[0030]
图像获取模块,用于获取图像像素数据s={x1,x2,

,x
d
}∈r
n
×
d
,其中x
i
表示第i个特征,d为特征数,n为图像数量,r为实数集;
[0031]
设置模块,用于采用金字塔范式的聚类算法,设置算法的层数为m层,金字塔范式的第一层的输入特征集为图像像素数据s,输出特征集作为第二层的输入特征集;从第二层至第m

1层,每一层的输入特征集为上一层的输出特征集,输出特征集作为下一层的输入特征集;
[0032]
特征子集划分模块,用于对于第一层至第m

1层,每一层中的处理过程为:
[0033]
将输入特征集划分为个特征子集x1,

,x
m
,在第n层中d’的值为n=1,

,m

1;特征子集划分的过程为:
[0034]
s3.1,首先计算划分特征集的数目m,然后在输入特征集划中随机选择一个特征x
g
,初始化m个特征子集,初始化方法如下:
[0035]
s3.1

1,令x
g
为第一个特征子集,并令初始特征集合z={x
g
};
[0036]
s3.1

2,计算输入特征集中所有特征与z的相似度,选择欧氏距离最小的特征x
z
加入到集合z中作为第二个特征子集;重复该步骤直到z中有m个特征子集;
[0037]
s3.2,得到m个特征子集之后,依次把输入特征集剩余的特征分配到某一特征子集中;
[0038]
元聚类模块,用于对特征集进行元聚类
[0039]
在每一个特征子集上,根据特征的属性特点选择对应的元聚类器;经过元聚类器的聚类,得到每个图像在该特征子集上的标签;将一层中所有的特征子集分别经过元聚类得到的标签作为新的特征,构成该层的输出特征集,进入下一层作为输入;
[0040]
匹配模块,用于在金字塔范式的最后一层,而通过元聚类器对上一层输入的特征集进行最后一次聚类,得到所有图像在该特征集上的标签,然后将具有相同标签的图像匹配在一起,完成图像匹配过程。
[0041]
一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,处理器执行计算机程序时实现前述基于超高维数据元聚类的图像匹配方法的步骤。
[0042]
一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现前述基于超高维数据元聚类的图像匹配方法的步骤。
[0043]
与现有技术相比,本发明具有以下技术特点:
[0044]
本发明对于超高维图像数据,通过相似性将特征集划分为多个特征子集,每一个特征子集通过一个聚类元得到该特征子集上的标签,从而有效避免特征维数灾难;基于这些特征子集进行聚类,采用基于金字塔范式的元聚类分层组织结构,下层聚类标签作为上层的特征逐层聚类的模式,通过特征子集的标签,不断地基于特征子集的标签进行分层聚类。本方法通过聚类将相似的图像划分为一类,从而将他们匹配在一起,可以有效克服超高维图像数据的维数灾难问题。
附图说明
[0045]
图1为本发明方法的流程示意图;
[0046]
图2为特征集划分流程示意图;
[0047]
图3为元聚类流程示意图;
[0048]
图4为一个五层的金字塔范式的元聚类分层组织结构;
[0049]
图5为本发明方法对不同特征数的合成数据进行3层、4层元聚类和k

means聚类的示意图;
[0050]
图6为本发明方法和k

means聚类算法得到的奥利维蒂人脸数据库前100幅图像的聚类分配结果的图示。
[0051]
图7为“基于密度快速聚类”算法得到的奥利维蒂人脸数据库前100幅图像的聚类分配结果的图示。
具体实施方式
[0052]
针对现有的图像匹配方法中图像数据聚类存在的维数灾难的问题,本发明提供了一种有效避免超高维维数灾难的聚类算法,该聚类算法使用基于金字塔范式的元聚类分层组织结构,够对超高维稀疏数据直接聚类,从而提高图像聚类的准确度。
[0053]
一种基于超高维数据元聚类的图像匹配方法,步骤包括以下:
[0054]
s1,获取图像像素数据s={x1,x2,

,x
d
}∈r
n
×
d
,其中x
i
表示第i个特征,d为数据维数(特征数),n为图像数量;r为实数集,在超高维数据中,通常n<d。
[0055]
s2,采用金字塔范式的聚类算法,设置算法的层数为m层,金字塔范式的第一层的输入特征集为图像像素数据s,输出特征集作为第二层的输入特征集;从第二层至第m

1层,每一层的输入特征集为上一层的输出特征集,输出特征集作为下一层的输入特征集;
[0056]
s3,对于第一层至第m

1层,每一层中的处理过程为:
[0057]
将输入特征集划分为个特征子集x1,

,x
m
,在第n层中d’的值为n=1,

,m

1;特征子集划分的过程为:
[0058]
s3.1,以第二层为例,首先计算划分特征集的数目m,然后在输入特征集{x1,x2,

,x
d
}划中随机选择一个特征x
g
,初始化m个特征子集,初始化方法如下:
[0059]
s3.1

1,令x
g
为第一个特征子集,并令初始特征集合z={x
g
};
[0060]
s3.1

2,计算特征集{x1,x2,

,x
d
}中所有特征与z的相似度,选择欧氏距离最小的特征x
z
加入到集合z中作为第二个特征子集;重复该步骤直到z中有m个特征子集。
[0061]
s3.2,得到m个特征子集之后,依次把特征集{x1,x2,

,x
d
}剩余的特征分配到某一特征子集中:
[0062]
对于特征集{x1,x2,

,x
d
}中剩余的第j个特征x
j
,其所分到的特征子集计算如下:
[0063][0064]
其中,x
h
是特征子集x
i
中的某个特征,sim(x
j
,x
h
)是特征x
j
与x
h
之间的相似度,i,=1,

,m,i*为所分配到的特征子集的序号。
[0065]
通过上式,能够使得分在同一特征集中的特征之间的相似度最小,从而使每一个特征子集的特征尽可能地散布于整个特征空间而能够提供充足的信息进行聚类分析;特征集的划分示例图见图2。
[0066]
以上是以第一层中进行特征子集划分为例进行说明,第二层至第m

1层中的特征子集划分过程与其相同,不再赘述。
[0067]
s4,对特征集进行元聚类。
[0068]
在每一个特征子集上,根据特征的属性特点,采用合适的元聚类器;第二层至第m

1层中,每一层中的每个特征子集对应一个元聚类器,因此也可以认为是将元聚类器以金字塔的范式分层组织。
[0069]
判断当特征子集中的特征是数值型特征时,则元聚类器采用k

means聚类算法对其进行聚类,得到每个图像在该特征子集上的标签;当特征子集的特征是属性数据时,则元聚类器采用ocil聚类算法进行聚类,得到每个图像在该特征子集的标签;将一层中所有的特征子集分别经过元聚类得到的标签作为新的特征,构成该层的输出特征集,进入下一层作为输入。
[0070]
本方案提出的元聚类技术通过把元聚类器以金字塔的范式分层组织,下层元聚类器得到的分类标签将作为上层元聚类器的特征输入。
[0071]
仍以第一层为例,通过上述特征划分方法把输入特征集{x1,x2,

,x
d
}划分为若干特征子集{x1,

,x
m
},如图3所示,对每一个特征子集x
i
上通过一个元聚类器进行聚类,聚类问题定义如下:
[0072][0073]
其中y=(y1,y2,

,y
n
)为聚类标签,y
i
∈{1,

,c},i=1,

,n为第i个图像的聚类标签,c为类的数目,θ为把n个图像划分为c类所有可能的方案。f
i
(.)为在特征子集x
i
上的指标函数、参数化误差函数或者代价损失函数。
[0074]
本方案根据特征子集x
i
的特征的属性选择合适的聚类方法,例如,当特征子集的特征是数值型数据时,可以选用经典的k

means均值聚类方法在该特征子集上进行聚类得到在该特征子集上的分类标签;当特征子集的特征是属性数据或标签数据时,选用object

cluster similarity metric(ocil)聚类算法作为元聚类器进行聚类得到其聚类标签,合1并所有得到的标签作为特征进入下一层的元聚类。
[0075]
s5,在金字塔范式的最后一层,不进行特征子集的划分过程,而通过元聚类器对上一层输入的特征集进行最后一次聚类,聚类算法例如可采用ocil算法,得到所有图像在该特征集上的标签,然后将具有相同标签的图像匹配在一起,完成图像匹配过程。
[0076]
图4展示了一个原始特征数为10000的一张图像通过本发明的五层元聚类方法的标签的过程。每层的图里面的数字表示改层的特征子集的数目,每个特征子集的里面的特征数为10。第一层通过将原始的10000个特征集使用k

means算法聚类为1000个特征子集,并将这1000个特征子集作为第二层的输入,第二层通过将这1000个特征子集使用ocil算法聚类为100个特征子集,并将这100个特征子集作为第二层的输入,第三层通过将这100个特征子集使用ocil算法聚类为10个特征子集,并将这10个特征子集作为第四层的输入,第四层通过将10个特征子集使用ocil算法聚类为1个特征子集(即图像的标签),输出到第五层。
[0077]
本发明创新性地提出一种在超高维数据上直接聚类的图像匹配方法,这种方法不需要对超高维数据进行降维,使用元聚类的方法,尽可能的保存了超高维数据的信息特征,同时有效避免了维数灾难。本发明方案中的自适应特征集快速划分的方法,这种方法首先将特征将相似性差异最大的特征划分进多个特征子集,然后再将其余特征划分进相似性差异最小的特征子集。通过这样的特征集划分,使得数据的维度降低,同时能够提供较为丰富的知识信息用于聚类得到较为精确的聚类标签,避免了聚类过程中的维度灾难的影响。
[0078]
对比试验:
[0079]
1.将提出的元聚类算法与最具代表性的聚类算法k

means聚类算法在人造数据集上进行比较,以展示其聚类效果。仿真数据服从高斯混合分布,该数据集包含3个高斯分布,即含有3个类。每一个高斯分布的均值m
i
的每一个分量为[

5,5]中的某一随机值,方差为σ
i
的每一个分量为[0,2]的某一个随机值,i=1,2,3。然后分别以0.3,0.3,0.4的概率以第1,2,3个高斯分布产生500样本数据。该实例以3层元聚类算法和4层元聚类算法在该数据集上测试,以验证算法的性能和对层数参数的鲁棒性,并以k

means聚类算法作为基准进行比较,每个算法分别独立运行10次,计算准确率,取结果平均值。实验结果展示在图5,图5中,每行上的值代表10次独立运行的平均值(

m)和最小值(

w);实验结果表明本发明提出的元聚类技术具有很好的鲁棒性,算法的性能没有随着维数的增加而下降,能有效避免维数灾难的挑战。
[0080]
2.在实验中选取奥利维蒂人脸数据库以展示所发明的聚类算法在图像数据挖掘应用上的效果。奥利维蒂人脸数据库(olivetti face database)是机器学习算法的一个广泛应用的测试集。该数据集有多个不同的人的脸部图像,每个人有十个不同角度的脸部图像。每张图的像素为92
×
112,即每幅图像的特征数为10304。因此这是一个超高维数据集;图5展示了元聚类算法和k

means聚类算法在该数据集上的比较结果;图6中,其中1标记表示两个算法图像匹配结果都是正确的;2标记表示所提出的方法图像匹配结果是正确的,k

means聚类算法图像匹配结果是错误的;0标记表示两个算法图像匹配结果都是错误的;实验结果展示了元聚类算法可以得到比k

means聚类算法更优秀的图像匹配结果。
[0081]
3.用“基于密度快速聚类”算法对实验2中的使用的100幅图像进行聚类。图7显示了使用该算法对这100幅图像的聚类分配结果。图6中,f标记表示“基于密度快速聚类”算法不能够实现匹配,w标记表示“基于密度快速聚类”算法匹配错误,t标记表示“基于密度快速聚类”算法匹配成功。数据集中仅有41幅图像被匹配,其中匹配正确的图像有38幅。将近60%的图像未被匹配。结果对比证明所提出的图像匹配方法的性能更优。
[0082]
根据本技术的另一方面,提供了一种基于超高维数据元聚类的图像匹配装置,包括:
[0083]
图像获取模块、设置模块、特征子集划分模块、元聚类模块以及匹配模块,上述各个模块的具体功能和相关解释参见前述方法实施例中对应的步骤s1至s5,在此不赘述。
[0084]
本技术实施例进一步提供一种终端设备,该终端设备可以为计算机、服务器;包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于超高维数据元聚类的图像匹配方法的步骤,例如,前述的s1至s5。
[0085]
本技术的实施提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述基于超高维数据元聚类的图像匹配方法的步
骤,例如,前述的s1至s5。
[0086]
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0087]
以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜