本发明属于模式识别领域,具体涉及一种图像聚类方法。
背景技术:
在模式识别领域,对图像进行聚类分析是很重要也是很基础的一部分。其目的在于将相似的图像归为一类,使得原始输入的图像数据被分为不同的类别,被广泛运用于图像数据的处理和分析。具体来说,在金融、医学和社交媒体等领域,每天都会有大量的图像数据产生。通常情况下,这些图像数据都是没有标签的。由于数据量太大,人工分类费时费力,所以是不现实的。因此,对图像数据进行聚类分析就成了不可或缺的工作。通过对图像数据进行聚类分析,我们可以初步了解到图像数据的大致类别、数据的分布等信息;可以更清楚地了解数据背后的规律,为下一步的处理提供便利。随着信息化与多媒体技术的发展,图像数据的数量也呈爆炸式增长,对图像数据进行聚类分析变得尤为重要。
luxburg在《atutorialonspectralclustering》一文中介绍了谱聚类算法(sc)。该算法利用了由数据构成的拉普拉斯矩阵的特征向量。如果n个数据有n个类别,那么将拉普拉斯矩阵的特征向量按照其对应特征值的大小从小到大排列,选择前n个较小特征值对应的特征向量,将其按列拼成大小为n×n的矩阵。将该矩阵的每一行看成一个样本然后对该矩阵进行k-均值聚类,可得到最后聚类结果。与谱聚类类似,belkin等人在《laplacianeigenmapsfordimensionalityreductionanddatarepresentation》一文中提出了利用拉普拉斯特征映射(le)对数据进行降维。该降维方法的动机是高维数据的近邻结构信息在低维空间中应该保持不变。假设有n个数据,每个数据都是l维,如果要将这n个l维数据降至d维(d=l),经过数学推导,那么由原始数据构成的拉普拉斯矩阵中前d个较小特征值对应的特征向量按列拼成的大小为n×d的矩阵即是所要求的原始数据的低维表示,该矩阵的每一行即是对应原始数据的d维表示。
上述的方法都仅使用了拉普拉斯矩阵中固定的前几个较小特征值对应的特征向量。然而,仅仅使用前几个特征向量可能会同时造成信息的冗余和不足:在前几个特征向量中,可能出现不同的特征向量代表同一个簇这种情况;而那些代表包含较少数据点的簇的特征向量,可能不在前几个特征向量之中。
技术实现要素:
本发明提供了一种图像聚类方法,解决了传统谱聚类方法仅仅利用拉普拉斯矩阵前几个特征向量可能带来的信息冗余或不足问题。本发明能充分利用拉普拉斯矩阵特征向量中的所包含的聚类信息,对不同类型的图像数据进行准确聚类。
实现本发明目的的技术解决方案为:一种图像聚类方法,基于图像数据的相似度信息,利用由图像数据构成的拉普拉斯矩阵的特征向量,将其线性组合,得到了原始图像数据具有区分性的表示y*,对y*运用k-均值聚类算法,实现图像聚类,具体步骤如下:
第一步、对原始图像数据进行预处理和归一化处理:
对m个原始图像数据进行预处理并对其像素值进行归一化处理,得到处理后的图像数据。
第二步、提取上述处理后的图像数据的特征:
对每一幅处理后的图像数据,分别提取图像特征,提取完特征之后,输出的是m个包含图像特征信息的向量。
第三步、建立图模型:
由上述得到的包含图像特征信息的向量,计算特征间的相似程度,建k近邻图g。
第四步、求解拉普拉斯矩阵l:
根据k近邻图g的邻接矩阵w和相应的度矩阵d,计算拉普拉斯矩阵l。
第五步、计算候选特征向量集合up:
将拉普拉斯矩阵l归一化得到归一化拉普拉斯矩阵lsym,将lsym中的特征向量按其对应的特征值的大小从小到大排列,去掉最小特征值对应的特征向量后,依次选取其后的p个特征值对应的特征向量,组成候选特征向量集合up。
第六步、计算原始图像数据具有区分性的表示y*:
将上述得到的l和up带入到目标函数中,进行求解,得到原始图像数据具有区分性的表示y*。
第七步、对图像进行聚类:
y*矩阵的每一行都是对应原始图像数据的具有区分力的表示,运用k-均值聚类方法对y*进行聚类,即可得到最后聚类结果。
本发明与现有技术相比,其显著优点在于:(1)能自动地选取拉普拉斯矩阵中包含聚类信息的特征向量并且自动地确定它们的线性组合系数将其线性组合,由此便可得到图像数据的一种具有区分力的表示;(2)得到原始图像数据的新表示这一过程相当于将图像数据由原始空间映射到由部分具有聚类信息的特征向量张成的新空间中,并且在新空间中,原始图像数据的近邻结构信息仍然可以得到保持;(3)有选择地利用了拉普拉斯矩阵中更多的特征向量,从而能更好地挖掘出图像数据的聚类信息,同时也避免了信息的冗余;(4)能对复杂、具有挑战性的图像数据进行准确聚类。
附图说明
图1为本发明图像聚类方法的流程图。
图2为典型的图模型示意图。
图3为说明f范数更大的y矩阵更具有区分力的曲线图。
图4本发明与k-均值聚类方法在coil-20图像数据集上效果比较图。(nmi为归一化互信息,acc为聚类准确率,ri为兰德指数)
图5本发明与k-均值聚类方法在yale人脸数据集上效果比较图。
图6本发明与k-均值聚类方法在orl人脸数据集上效果比较图。
图7本发明在coil-20图像数据集上部分结果的可视化图。
图8本发明在orl人脸数据集上部分结果的可视化图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
结合图1,本发明提供了一种图像聚类方法,基于图论的视角,利用由图像数据构成的拉普拉斯矩阵的特征向量蕴含聚类信息这一性质,在保持原始图像数据近邻结构信息不变的情况下,自动地从拉普拉斯矩阵中选取具有聚类信息的特征向量并将其线性组合,得到原始图像数据的一种有区分力表示。对该表示运用k-均值聚类,可以有效准确地对图像进行聚类,具体步骤如下:
第一步,首先对于输入的m个图像数据x1,x2,...,xm,根据输入图像的类型,对其进行去噪、色彩空间转换、直方图均衡化或旋转平移预处理操作。然后对像素值进行归一化处理,使得每一个像素值都在0和1之间。
第二步,对于上述经过预处理之后的图像数据,提取图像特征。若图像较为简单,则可直接使用像素值特征;若图像内容较为复杂,可提取一些更高层次的特征,包括方向梯度直方图特征(hog)、尺度不变特征变换特征(sift)或局部二值模式特征(lbp)。提取特征之后,输出为m个包含对应图像特征信息的向量v1,v2,...,vm。
第三步,建立图模型。图2为典型的图模型示意图。一般来说,有两种建图的方法:一是全连接图,即任意两个图像数据xi、xj之间都有边相连,边的权重wij由高斯函数计算,wij=exp(-||vi-vj||2/2σ2),其中vi、vj分别表示图像数据xi和xj的特征,σ为待调参数;第二种是k近邻图,即某一点只与和它最邻近的k个点有边相连,权重也由上述高斯函数计算,而与其他点的权重为零。与全连接图不同,k近邻图的邻接矩阵是稀疏的,这有利于后续的处理和计算。本发明选择建立k近邻图。
第四步,k近邻图g建立完毕后,可以用其邻接矩阵
第五步,归一化后的拉普拉斯矩阵lsym共有m个特征值,每个特征值对应一个特征向量。假设
第六步,计算原始图像数据具有区分性的表示y*,具体步骤如下:
若原始图像数据具有c个类别,那么随机生成初始原始图像数据的表示
其中y=[y1,y2,...,yi,...,ym]t,yi=[yi(1),yi(2),...,yi(c)]即是第i个原始图像数据xi的c维表示,
注意(1)式第一项
为了求解目标函数(1),本发明使用线性化交替方向乘子法(linearizedalternatingdirectionmethodwithadaptivepenalty,ladmap)。传统的交替方向乘子法算法(admm)先引入拉格朗日乘子及惩罚参数,将式子写成增广拉格朗日形式。然后固定一个变量去优化包含另一个变量的目标函数,最后更新拉格朗日乘子和惩罚参数。如此迭代直至目标函数收敛。与传统admm算法不一样的是,在优化目标函数的时候,ladmap将目标函数中的二次项用它的一阶泰勒展开表示,也就是所谓的线性化。这样方便对目标函数进行求导等操作,更易找到当前目标函数的最小值。为了方便求解(1)式,我们引入辅助变量j,得到变量更新公式如下:
jk+1=(2αuptyk+1+λ2,k+μkak+1)/(2α+μk)(4)
其中yk,ak和jk分别为第k次迭代中原始图像数据的表示、系数矩阵和辅助变量。yk+1,ak+1和jk+1分别为第k+1次迭代中原始图像数据的表示、系数矩阵和辅助变量。算子‘max(p,q)’返回的是一个矩阵,该矩阵中每一个元素等于矩阵p和矩阵q中对应位置的元素的较大值。
所需线性化的部分
其中μmax为预设μ的最大值,ρ为μ更新的步长,α、β、和γ均为待调参数。
如此迭代求解直至目标函数收敛便可求得最优解,即原始图像数据具有区分力的表示y*。
第七步,上述得到的y*矩阵的第i行yi即是对应原始图像数据xi的具有区分性的表示。对y*进行k均值聚类,即可实现图像聚类。
图4~6分别为本发明和k-均值聚类方法在coil-20、yale和orl这三个图像数据集上的实验效果对比。评价指标有三个:归一化互信息(nmi)、聚类准确率(acc)和兰德指数(ri)。经归一化之后它们的值都在0~1之间,值越大说明聚类效果越好。由图4~6可以看出,在上述三个不同的评价指标上,本发明在几个不同类型的图像数据集上的表现均超过k-均值聚类方法。图7、图8分别是本发明在coil-20图像数据集和orl人脸数据集上部分聚类结果的可视化。其中图7为coil-20图像数据集经本发明聚类之后,从聚类结果中随机挑选出来的四个类别的部分物品图像。图8为orl人脸数据集经本发明聚类之后,从聚类结果中随机挑选出来的五个类别的部分人脸图像。可以看出,本发明确实能够将相似的图片归为一类,实现图像聚类的目的。