本发明属于图像处理技术领域,涉及一种图像聚类方法,具体涉及一种基于稀疏正交的双图非负矩阵分解的图像聚类方法,可用于文本聚类、图像聚类和人脸识别等实际应用。
背景技术:
随着照相机、摄像机和智能手机等拍摄工具的发展,图像成为人们生活中不可或缺的数据信息,而图像聚类方法作为一种有效的数据组织方法,也因此成为炙手可热的研究方向之一。图像聚类是按选择类别数将图像数据划分为几类,使同一个类中的类内相似度尽可能大,而不同的类之间的类间相似度尽可能小。常用的图像聚类算法有k-means聚类算法、层次聚类算法、som聚类算法和fcm聚类算法。
由于k-means聚类算法的效率高,所以随着大数据时代的到来,数据量及数据维数的不断增大,该算法在对大规模图像数据进行聚类时被广泛应用。目前,许多算法均围绕着k-means聚类算法进行扩展和改进,其中矩阵分解算法就可以对高维图像数据进行降维得到一个低维数据表示,然后采用k-means聚类算法可以对其进行有效聚类,得到较好的图像聚类效果。经典的矩阵分解算法有主成分分析(principalcomponentanalysis,pca)、奇异值分解(singularvaluedecomposition,svd)、线性判别分析(lineardiscriminantanalysis,lda)和非负矩阵分解(non-negativematrixfactorization,nmf)等等。相对于其他的矩阵分解算法,nmf可以把原始高维数据矩阵分解为两个低维数据矩阵,达到对原始高维数据降维的效果,并且可以有效学习目标(像文本和人脸)中的局部信息,因此在大规模文本聚类、图像聚类和人脸识别等领域得到了广泛的应用。
然而,在现实世界中有很多数据都存在少量的标签信息,而nmf算法是一种无监督算法,无法利用原始图像数据的这些标签信息,因此图像聚类的准确度一般要劣于半监督算法。针对这一问题,许多学者对无监督的矩阵分解算法进行了改进,提出了许多半监督矩阵分解算法,不仅具有nmf算法可以捕捉目标局部信息的优点,而且可以有效利用原始数据的少量标签信息,提高图像聚类的准确度。2012年,haifengliu等人在ieeetransactionsonpatternanalysis&machineintelligence的第34卷第7期第1299~1311页发表的文章“constrainednonnegativematrixfactorizationforimagerepresentation”中提出了一种半监督矩阵分解算法,即受限的非负矩阵分解(cnmf),该算法将标签信息作为硬限制嵌入到nmf的目标函数中。在新的低维表示空间中,具有相同标签的点有共同的坐标。2016年,mohammadrezababaee等人在neurocomputing第173卷第212~223页发表的文章“discriminativenonnegativematrixfactorizationfordimensionalityreduction”中也提出了一种半监督矩阵分解算法,即判别的非负矩阵分解(dnmf),该算法将少量数据的标签信息加入到判别正则矩阵中,并将判别正则矩阵引入到半监督矩阵分解的目标函数中。然而,cnmf和dnmf等很多算法没有利用到数据的局部几何信息,不能充分挖掘数据的潜在结构信息,而且在图像和低维数据表示矩阵的对应关系上也缺乏一定的判别性,因此图像聚类的准确度不高,聚类效果不好。另外,nmf、cnmf和dnmf算法都没有充分利用矩阵的稀疏性,计算较为复杂,优化聚类时间较长。
2016年,申请公开号为cn105740881a,名称为“一种基于矩阵分解的部分标注图像聚类方法及装置”的专利申请,公开了一种基于矩阵分解的部分标注图像聚类方法(lnmf),该方法提取图像及图像标注词的特征;基于字典学习得到图像稀疏表达;对观测的图像标注词特征矩阵分解获得图像标注词的隐变量表达,以保持图像稀疏表达和图像标注词的隐变量表达与图像和图像标注词的共生关系的一致性;结合图像字典学习与部分观测的标注词矩阵分解构建目标函数;优化目标函数学习图像稀疏表达;基于学习到的稀疏表达进行图像聚类。该方法属于半监督矩阵分解算法,可以利用少量标签信息辅助图像进行聚类,另外采用了矩阵分解和稀疏表达的方法可以对高维数据降维处理和稀疏表达,加快图像聚类的速度,提高图像聚类的效率。然而从目标函数可以看出,该方法在进行字典学习和矩阵分解时并没有利用图像数据的流形信息,不能充分挖掘图像数据的局部几何结构,所以得到的图像稀疏表达不够准确,最终聚类的准确度也不高。另外,该方法采用的是l1范数的稀疏约束,得到的稀疏表达仍然不够稀疏,图像聚类速度仍然较慢。
技术实现要素:
本发明的目的在于解决上述现有方法存在的问题,提出一种基于稀疏正交的双图非负矩阵分解的图像聚类方法,用于解决现有方法中存在的图像聚类准确度低和聚类速度慢的技术问题。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(1)输入待聚类图像的图像数据;
(2)计算数据空间相似度矩阵和特征空间相似度矩阵:
分别计算数据空间中数据之间的欧式距离os和特征空间中数据之间的欧式距离op,并根据欧式距离os,计算数据空间相似度矩阵ws,根据欧式距离op,计算特征空间相似度矩阵wp;
(3)计算数据空间相似度对角矩阵和特征空间相似度对角矩阵:
对数据空间相似度矩阵ws和特征空间相似度矩阵wp分别进行对角化,得到数据空间相似度对角矩阵ds和特征空间相似度对角矩阵dp;
(4)获取标签约束矩阵:
对图像数据中的标签信息进行整理,得到标签指示矩阵,并利用标签指示矩阵计算标签约束矩阵;
(5)定义并初始化三个稀疏正交的双图非负矩阵分解因子矩阵:
定义三个稀疏正交的双图非负矩阵分解因子矩阵:对角缩放矩阵、特征空间内含数据空间局部几何信息的系数矩阵和数据空间内含特征空间局部几何信息的标签辅助矩阵,并将对角缩放矩阵初始化为k×k的矩阵,将系数矩阵初始化为m×k的矩阵,将标签辅助矩阵初始化为(k+n-l)×k的矩阵,其中,k表示所选取的图像数据的选择类别数,m表示图像数据的特征数,n表示图像数据的像素点总数,l表示图像数据中带标签的像素点数;
(6)设置迭代次数t:
设置迭代次数t的初始值为1,最大值为t;
(7)获取三个稀疏正交的双图非负矩阵分解因子矩阵的更新公式和标签约束矩阵更新公式:
定义稀疏正交的双图非负矩阵分解的目标函数公式,并利用该目标函数公式,推导系数矩阵更新公式、对角缩放矩阵更新公式、标签辅助矩阵更新公式和标签约束矩阵更新公式;
(8)定义系数对角矩阵更新公式:
利用系数矩阵定义系数对角矩阵更新公式;
(9)在第t次迭代下对三个稀疏正交的双图非负矩阵分解因子矩阵、标签约束矩阵和系数对角矩阵进行更新:
(9a)利用系数矩阵更新公式对系数矩阵进行更新,得到更新的系数矩阵;
(9b)利用对角缩放矩阵更新公式对对角缩放矩阵进行更新,得到更新的对角缩放矩阵;
(9c)利用标签辅助矩阵更新公式对标签辅助矩阵进行更新,得到更新的标签辅助矩阵;
(9d)利用标签约束矩阵更新公式对约束辅助矩阵进行更新,得到更新的标签约束矩阵;
(9e)利用系数对角矩阵更新公式对系数对角矩阵进行更新,得到更新的系数对角矩阵;
(10)判断迭代次数t是否达到最大值t,若是,执行步骤(11),否则,将迭代次数t加1,并执行步骤(9);
(11)定义并计算低维数据表示矩阵:
定义低维数据表示矩阵计算公式,并利用该公式计算低维数据表示矩阵;
(12)图像聚类并输出:
利用k-means聚类算法对低维数据表示矩阵进行聚类,得到聚类图像并输出。
本发明与现有方法相比,具有以下优点:
第一,本发明计算数据空间相似度矩阵和特征空间相似度矩阵,目的是分别在数据空间和特征空间构造两个近邻图,这样就可以同时保留数据空间和特征空间的局部几何结构,充分挖掘数据的潜在流形信息,有效提高图像聚类的准确度。
第二,本发明定义并不断更新对角缩放矩阵,避免多个低维数据矩阵在更新迭代的过程中因比例不当产生不可靠解的问题,进一步提高图像聚类的准确度。
第三,本发明采用双正交约束,对系数矩阵加上正交约束,可以使每幅图像与低维数据表示矩阵中唯一的基础向量相对应,有效增强聚类的判别性,对低维数据表示矩阵加上正交约束,可以增强类间的排他性,进一步提高图像聚类的准确度。
第四,本发明利用系数矩阵计算并不断更新系数对角矩阵,目的是对系数矩阵加上l2,1/2范数的稀疏约束,不仅可以使系数矩阵具有很好的稀疏性、加快图像聚类速度,而且可以增强算法局部学习能力和鲁棒性。
附图说明
图1是本发明的实现流程框图;
图2是本发明与现有方法的图像聚类准确度对比曲线图;
图3是本发明与现有方法的图像聚类效果图,其中图3(a)为选取的图像数据集pie的原始图像,图3(b)为采用cnmf进行k-means聚类时的图像聚类效果图,图3(c)为采用本发明时的图像聚类效果图。
具体实施方式
下面结合附图和具体实施例,对本发明作进一步详细描述。
参照图1.基于稀疏正交的双图非负矩阵分解的图像聚类方法,包括如下步骤:
步骤1)输入待聚类图像的图像数据:
图像数据集pie中包含2856幅图像,有68个人,每个人有在不同灯光和照明条件下的含有4种表情的42张人脸图像。每一幅图像含有32×32个像素点/维度。本实施例中输入的图像数据是从图像数据集pie中随机选取的1050幅图像,有25个种类,每一类有42个不同的图像,其中25张图像如图3(a)所示。
步骤2)计算数据空间相似度矩阵和特征空间相似度矩阵:
(2a)分别计算数据空间中数据之间的欧式距离os和特征空间中数据之间的欧式距离op,其表达式分别为:
数据空间中数据之间的欧式距离的表达式为:
特征空间中数据之间的欧式距离的表达式为:
其中,
(2b)根据欧式距离os,计算数据空间相似度矩阵ws,根据欧式距离op,计算特征空间相似度矩阵wp,其计算公式分别为:
数据空间相似度矩阵的计算公式为:
特征空间相似度矩阵的计算公式为:
其中,ws表示数据空间相似度矩阵,wp特征空间相似度矩阵,exp(·)表示指数操作,σ表示高斯尺度参数。
本发明中利用的欧式距离是一种常用的评价相似度的测度算法,此方法物理意义明确而且计算简单。本发明计算数据空间相似度矩阵和特征空间相似度矩阵,目的是分别在数据空间和特征空间构造两个近邻图,这样就可以同时保留数据空间和特征空间的局部几何结构,充分挖掘数据的潜在结构信息,提高图像聚类的准确度。
步骤3)计算数据空间相似度对角矩阵和特征空间相似度对角矩阵:
对数据空间相似度矩阵ws和特征空间相似度矩阵wp分别进行对角化,得到数据空间相似度对角矩阵ds和特征空间相似度对角矩阵dp,其计算公式分别为:
数据空间相似度对角矩阵的计算公式为:
特征空间相似度对角矩阵的计算公式为:
其中,ds表示数据空间相似度对角矩阵,dp表示特征空间相似度对角矩阵,diag(·)表示生成对角矩阵操作,∑表示叠加操作,wis表示数据空间相似度矩阵的第i列,n表示图像数据的像素点总数,
本发明对数据空间相似度对角矩阵和特征空间相似度对角矩阵计算时分别利用到了数据空间相似度矩阵和特征空间相似度矩阵,所以也可以同时保留数据空间和特征空间的局部几何结构,充分挖掘数据的潜在结构信息,提高图像聚类的准确度。
步骤4)获取标签约束矩阵:
对图像数据中的标签信息进行整理,得到标签指示矩阵,并利用标签指示矩阵计算标签约束矩阵,实现步骤为:
(4a)定义一个标签指示矩阵dl×k=[dij],如果第i个像素点属于第j类,dij=1,否则,dij=0,其中,k表示所选取的图像数据的选择类别数,l表示图像数据中带标签的像素点数;
(4b)利用标签指示矩阵dl×k计算标签约束矩阵,其计算公式为:
其中,in-l表示n-l维的单位矩阵,n表示图像数据的像素点总数。
本发明采用了标签约束矩阵,可以充分利用了标签信息,提高图像聚类的准确度。
步骤5)定义并初始化三个稀疏正交的双图非负矩阵分解因子矩阵:
定义三个稀疏正交的双图非负矩阵分解因子矩阵:对角缩放矩阵、特征空间内含数据空间局部几何信息的系数矩阵和数据空间内含特征空间局部几何信息的标签辅助矩阵,并将对角缩放矩阵初始化为k×k的矩阵,将系数矩阵初始化为m×k的矩阵,将标签辅助矩阵初始化为(k+n-l)×k的矩阵,其中,k表示所选取的图像数据的选择类别数,m表示图像数据的特征数,n表示图像数据的像素点总数,l表示图像数据中带标签的像素点数;
步骤6)设置迭代次数t:
设置迭代次数t的初始值为1,最大值为t,本实施例中t设置为100;
步骤7)获取三个稀疏正交的双图非负矩阵分解因子矩阵的更新公式和标签约束矩阵更新公式,实现步骤为:
(7a)定义稀疏正交的双图非负矩阵分解的目标函数公式,其表达式为:
其中,osodnmf表示稀疏正交的双图非负矩阵分解的目标函数,x表示图像数据,p表示系数矩阵,r表示对角缩放矩阵,a表示标签辅助矩阵,c表示标签约束矩阵,q表示系数对角矩阵,wp表示特征空间相似度矩阵,dp表示特征空间相似度对角矩阵,ws表示数据空间相似度矩阵,ds表示数据空间相似度对角矩阵,i表示单位矩阵,t表示转置操作,α表示双图参数,β表示双正交参数,θ表示稀疏参数;
由稀疏正交的双图非负矩阵分解的目标函数公式可以看出本发明采用双正交约束,对系数矩阵加上正交约束,可以使每幅图像与低维数据表示矩阵中唯一的基础向量相对应,有效增强聚类的判别性,对低维数据表示矩阵加上正交约束,可以增强类间的排他性,提高图像聚类的准确度。
(7b)根据稀疏正交的双图非负矩阵分解的目标函数求拉格朗日函数lsodnmf,其表达式为:
lsodnmf=tr(xxt)-2tr(pratctxt)+tr(pratctcartpt)
+α[tr(pt(dp-wp)p)+tr(atct(ds-ws)ca)]
+β[tr(ptp-i)+tr(atctca-i)]+4θtr(ptqp)
(7c)利用拉格朗日函数lsodnmf对系数矩阵、对角缩放矩阵、标签辅助矩阵和标签约束矩阵分别求偏导,并用karush-kuhn-tucker条件获取系数矩阵更新公式、对角缩放矩阵更新公式、标签辅助矩阵更新公式和标签约束矩阵更新公式,其表达式分别为:
系数矩阵更新公式的表达式为:
对角缩放矩阵更新公式的表达式为:
标签辅助矩阵更新公式的表达式为:
标签约束矩阵更新公式的表达式为:
其中,(·)ij表示矩阵的第i行第j列的元素值,
步骤8)定义系数对角矩阵更新公式:
利用系数矩阵定义系数对角矩阵更新公式,其表达式为:
其中,qii表示系数对角矩阵q的第i行第i列的元素值,pi表示系数矩阵p的第i行元素构成的向量。
步骤9)在第t次迭代下对三个稀疏正交的双图非负矩阵分解因子矩阵、标签约束矩阵和系数对角矩阵进行更新:
(9a)利用系数矩阵更新公式对系数矩阵进行更新,得到更新的系数矩阵;
(9b)利用对角缩放矩阵更新公式对对角缩放矩阵进行更新,得到更新的对角缩放矩阵;
(9c)利用标签辅助矩阵更新公式对标签辅助矩阵进行更新,得到更新的标签辅助矩阵;
(9d)利用标签约束矩阵更新公式对约束辅助矩阵进行更新,得到更新的标签约束矩阵;
(9e)利用系数对角矩阵更新公式对系数对角矩阵进行更新,得到更新的系数对角矩阵;
本发明采用非负矩阵分解算法,对原始高维图像数据分解成四个因子矩阵,可以对高维图像数据进行有效降维,有利于图像聚类。对对角缩放矩阵进行不断更新,避免多个低维数据矩阵在更新迭代的过程中因比例不当产生不可靠解的问题,提高图像聚类的准确度。对标签约束矩阵进行不断更新,可以充分利用了标签信息,提高图像聚类的准确度。对系数对角矩阵进行不断更新,目的是对系数矩阵加上l2,1/2范数的稀疏约束,不仅可以使系数矩阵具有很好的稀疏性、加快图像聚类速度,而且可以增强算法局部学习能力和鲁棒性。
步骤10)判断迭代次数t是否达到最大值t,若是,执行步骤(11),否则,将迭代次数t加1,并执行步骤(9);
步骤11)定义并计算低维数据表示矩阵:
定义的低维数据表示矩阵计算公式,其表达式为:
s=ca
其中,s表示低维数据表示矩阵,a表示标签辅助矩阵,c表示标签约束矩阵;
本发明采用非负矩阵分解算法,对原始高维图像数据进行分解,并计算得到低维数据表示矩阵,可以去除原始高维图像数据的冗余特征,对高维图像数据进行有效降维,达到快速处理海量图像中高维数据的效果,并有利于图像聚类。
步骤12)图像聚类并输出:
利用k-means聚类算法对低维数据表示矩阵进行聚类,得到聚类图像并输出。
下面结合仿真实验,对本发明的技术效果作进一步详细描述。
1.仿真条件和内容:
本发明的仿真实验采用的硬件测试平台是:处理器为intercorei5,主频为2.50ghz,内存8gb;软件平台为:windows7旗舰版64位操作系统、matlabr2017a进行仿真测试。
本发明对实施例中的图像数据进行图像聚类方法仿真,并与现有方法在不同的选择类别数下的聚类准确度进行对比,对比曲线图参照图2。实验中随机选取10%的像素点作为训练样本,其余的作为测试样本,独立运行10次取平均作为聚类准确度。
本发明对实施例中的图像数据进行图像聚类方法仿真,并与现有方法的图像聚类效果进行对比,图像聚类效果图参照图3。在实验中,同样随机选取10%的像素点作为训练样本,其余的作为测试样本。
2.仿真结果分析:
图2是本发明与现有方法的图像聚类准确度对比曲线图,显示了4种现有方法(nmf,cnmf,dnmf,lnmf)以及本发明在选取的图像数据集pie上图像聚类后所得到的聚类准确度对比。图2中的横坐标表示选择类别数k,纵坐标表示聚类准确度(%)。图2中以三角形标记的曲线表示nmf方法仿真实验的结果,以加号标记的曲线代表cnmf方法仿真实验的结果,以圆圈标记的曲线代表dnmf方法仿真实验的结果,以米字号标记的曲线代表lnmf方法仿真实验的结果,以实线标记的曲线代表本发明仿真实验的结果。
由图2可以看出,对于图像数据集pie,在不同的选择类别数下,本发明的准确度均高于其他算法的准确度。从图形分析来看,本发明的准确度曲线一直在其他算法曲线之上,聚类准确度最高。
图3(a)为选取的原始的图像数据集pie中25张图像。图3(b)为采用cnmf进行k-means聚类时的图像聚类效果图,图3(c)为采用本发明时的图像聚类效果图。
由图3可以看出,本发明得到的聚类效果图更清晰,聚类效果更好,更接近原始的pie图像。
由以上仿真实验可知,本发明具有良好的降维聚类效果,为高效的图像聚类奠定了基础,是一种合理有效的基于稀疏正交的双图非负矩阵分解的图像聚类方法。