1.本发明涉及图像处理领域,具体涉及一种基于低秩子空间一致性的图像聚类方法。
背景技术:
2.传统子空间聚类主要集中在线性子空间聚类上。然而,在实践中,数据并不一定符合线性子空间。例如,在面部图像聚类的例子中,反射率通常是非兰伯斯特,并且对象的姿势经常变化。在这种情况下,一个对象的面部图像是位于非线性子空间中。其中,一些方法提出利用核技巧来解决这种非线性子空间的情况。但是,选择不同的核类型在很大程度上是经验的,没有明确的理由相信,预定义的核所对应的嵌入特征空间是适合子空间聚类的。另一些方法提出了一种新的深度神经网络结构(以无监督的方式)来学习数据的非线性映射,该映射对子空间聚类具有很好的适应性。尽管深度聚类算法相比于传统聚类算法取得了较大突破,但现有的若干算法没有充分考虑在嵌入空间学习的过程中如何保持数据样本之间的相似性,导致学习到的嵌入空间不能充分发现原始数据的语义结构,从而影响算法的最终聚类性能。
技术实现要素:
3.本发明旨在提供一种基于低秩子空间一致性的图像聚类方法,该方法克服现有技术缺陷,具有更好的聚类处理效果。
4.本发明的技术方案如下:
5.所述的基于低秩子空间一致性的图像聚类方法,包括以下步骤:
6.a、构建bp神经网络,bp神经网络结构具体如下:
7.包括编码网络、自表达层、解码网络;编码网络包括三个依次连接的隐藏层,第一隐藏层设有五个依次连接的卷积层,第二、三隐藏层分别设有三个依次连接的卷积层;自表达层包括依次连接的隐藏层和输出层,隐藏层设有设有十个节点;解码网络包括三个依次连接的隐藏层,第一、二隐藏层分别设有三个依次连接的卷积层,第三隐藏层设有五个依次连接的卷积层;
8.在编码网络中:在第一隐藏层中,第一卷积层的输入响应为原始图像,其他卷积层的输入响应为该阶段上一卷积层的输出响应;在第二、三隐藏层中,除了该阶段中的第一卷积层的输入响应之外,该阶段中的其他卷积层的输入响应为上一卷积层的输出响应,在第一、二、三隐藏层中最后一个卷积层的输出响应,经过最大值池化后作为下一个阶段的第一卷积层的输入响应;
9.在自表达层层中:编码网络输出的各个结果分别经过权重c后输入隐藏层的各个节点中,在隐藏层的各个节点中分别加权累加后,分别输出至输出层中的各个节点中,在输出层的各个节点中加权累加后输出至解码网络中;输出层节点数与编码器的输出维数相同;
10.在解码网络中:在第一隐藏层中,第一卷积层的输入响应为自表达层的输出响应,其他卷积层的输入响应为该阶段上一卷积层的输出响应;在第二、三隐藏层中,除了该阶段中的第一卷积层的输入响应之外,该阶段中的其他卷积层的输入响应为上一卷积层的输出响应,在第一、二、三隐藏层中最后一个卷积层的输出响应,经过最大值池化后作为下一个阶段的第一卷积层的输入响应;
11.b、构建训练函数,利用训练函数对神经网络进行训练和验证,得到训练好的神经网络;
12.c、利用训练好的神经网络进行图像聚类处理,聚类过程如下:原始图像数据集先经过编码网络卷积处理,然后在自表达层中经过加权累加,最后经过解码网络卷积处理,即得最终聚类结果。
13.所述的编码网络和解码网络中各个卷积层的表达式均为m*n-k conv relu,其中,m*n表示卷积核的大小,k表示输出通道数,conv表示卷积公式,relu表示激活函数;m*n、k均为预设值;所述的最终融合层的卷积表达式为m*n-k conv。
14.所述的编码网络中,第一隐藏层中各卷积层均为5*5卷积,通道数为5;第二隐藏层、第三隐藏层中各卷积层均为3*3卷积,通道数为3。
15.所述的编码网络中,第一隐藏层中,各卷积层的通道数均为5;第二隐藏层、第三隐藏层中各卷积层的通道数均为3。
16.所述的编码网络中,第一隐藏层、第二隐藏层中各卷积层均为3*3卷积,通道数为3;在第三隐藏层中各卷积层均为5*5卷积,通道数为5。
17.所述的编码网络中,第一隐藏层、第二隐藏层中各卷积层的通道数均为3;第三隐藏层中,各卷积层的通道数均为5。
18.所述的步骤b中,训练函数公式如下:
[0019][0020]
其中,表示编码器的输出;表示解码器输出处的重构信号;θ表示网络参数,包括编码器参数θe、自表达层权重参数c和解码器参数θd;s.t.diag(c)=0代表约束条件;代表权重矩阵;α是权衡自表达和正则项之间重要性的一个可调权值参数,β和γ均为权值参数。
[0021]
本发明设计独特结构的深度神经网络模型,以网络本身学习到的样本关系为指导,保持全局子空间一致性,可以有效地将输入数据转换为位于线性子空间并集上的新表示。首先,为了发现底层数据结构并获得更丰富的表示,该技术采用子空间一致性,也是就是说,每个样本可以由同一子空间中的其他样本的线性组合来表示,这种关系对于原始数据和嵌入都应该成立。然后,将子空间一致性和深度低秩子空间嵌入到一个统框架进行协同优化,从而得到总体最优的聚类结果。
[0022]
本发明利用样本之间的关系来指导深度自动编码器的表示学习,使嵌入表示很好地保持了数据特征上的局部邻域结构。
附图说明
[0023]
图1本发明实施例1提供的bp神经网络结构图;
具体实施方式
[0024]
下面结合附图和实施例具体说明本发明。
[0025]
实施例1
[0026]
本实施例提供的一种基于低秩子空间一致性的图像聚类方法,包括以下步骤:
[0027]
基于低秩子空间一致性的图像聚类方法,包括以下步骤:
[0028]
a、构建bp神经网络,bp神经网络结构具体如下:
[0029]
包括编码网络、自表达层、解码网络;编码网络包括三个依次连接的隐藏层,第一隐藏层设有五个依次连接的卷积层,第二、三隐藏层分别设有三个依次连接的卷积层;自表达层包括依次连接的隐藏层和输出层,隐藏层设有设有十个节点;解码网络包括三个依次连接的隐藏层,第一、二隐藏层分别设有三个依次连接的卷积层,第三隐藏层设有五个依次连接的卷积层;
[0030]
在编码网络中:在第一隐藏层中,第一卷积层的输入响应为原始图像,其他卷积层的输入响应为该阶段上一卷积层的输出响应;在第二、三隐藏层中,除了该阶段中的第一卷积层的输入响应之外,该阶段中的其他卷积层的输入响应为上一卷积层的输出响应,在第一、二、三隐藏层中最后一个卷积层的输出响应,经过最大值池化后作为下一个阶段的第一卷积层的输入响应;
[0031]
在自表达层层中:编码网络输出的各个结果分别经过权重c后输入隐藏层的各个节点中,在隐藏层的各个节点中分别加权累加后,分别输出至输出层中的各个节点中,在输出层的各个节点中加权累加后输出至解码网络中;输出层节点数与编码器的输出维数相同;
[0032]
在解码网络中:在第一隐藏层中,第一卷积层的输入响应为自表达层的输出响应,其他卷积层的输入响应为该阶段上一卷积层的输出响应;在第二、三隐藏层中,除了该阶段中的第一卷积层的输入响应之外,该阶段中的其他卷积层的输入响应为上一卷积层的输出响应,在第一、二、三隐藏层中最后一个卷积层的输出响应,经过最大值池化后作为下一个阶段的第一卷积层的输入响应;
[0033]
所述的编码网络中,第一隐藏层中各卷积层均为5*5卷积,通道数为5;第二隐藏层、第三隐藏层中各卷积层均为3*3卷积,通道数为3。
[0034]
所述的编码网络中,第一隐藏层中,各卷积层的通道数均为5;第二隐藏层、第三隐藏层中各卷积层的通道数均为3。
[0035]
所述的编码网络中,第一隐藏层、第二隐藏层中各卷积层均为3*3卷积,通道数为3;在第三隐藏层中各卷积层均为5*5卷积,通道数为5。
[0036]
所述的编码网络中,第一隐藏层、第二隐藏层中各卷积层的通道数均为3;第三隐藏层中,各卷积层的通道数均为5。
[0037]
b、构建训练函数,利用训练函数对神经网络进行训练和验证,得到训练好的神经网络;
[0038]
所述的练函数公式如下:
[0039][0040]
其中,表示编码器的输出;表示解码器输出处的重构信号;θ表示网络参数,包括编码器参数θe、自表达层权重参数c和解码器参数θd;s.t.diag(c)=0代表约束条件;代表权重矩阵;α是权衡自表达和正则项之间重要性的一个可调权值参数,β和γ均为权值参数。
[0041]
c、利用训练好的神经网络进行图像聚类处理,聚类过程如下:原始图像数据集先经过编码网络卷积处理,然后在自表达层中经过加权累加,最后经过解码网络卷积处理,即得最终聚类结果。
[0042]
所述的编码网络和解码网络中各个卷积层的表达式均为m*n-k conv relu,其中,m*n表示卷积核的大小,k表示输出通道数,conv表示卷积公式,relu表示激活函数;m*n、k均为预设值;所述的最终融合层的卷积表达式为m*n-k conv。
[0043]
实施例2
[0044]
实验
[0045]
1数据集
[0046]
本实施例将在三个基准数据集上对本发明的聚类方法进行实验评价:
[0047]
orl:该数据集由400个人脸图像组成,其中40个受试者每个具有10个样本。本文将原始人脸图像从112
×
92下采样到32
×
32。对于每个受试者,在不同的光照条件下拍摄的图像具有不同的面部表情(睁/闭眼,微笑/不微笑)和面部细节(戴眼镜/不戴眼镜)
[0048]
coil20/coil100:coil20由1440个灰度图像样本组成,分布在鸭子和汽车模型等20个对象上。同样,coil100由分布在100个对象上的7200幅图像组成。每个物体被放置在一个黑色背景的转盘上,并以5度的姿势间隔拍摄72张图像。图像为32
×
32。与以往人脸对齐良好、结构相似的人脸数据集相比,来自coil20和coil100的目标图像更加多样化,甚至来自同一目标的样本也会因为视角的变化而出现差异。这使得这些数据集对子空间聚类技术具有挑战性。
[0049]
表1基准数据集统计信息
[0050]
datasetexamplesclassesdimensionorl400401024coil201440201024coil10072001001024
[0051]
2实验设置
[0052]
在所有实验中,本实施例使用与dsc算法相同的网络设置、预训练和微调策略来提供公平的比较。我们采用adam优化器,β1=0.9,β2=0.999,学习速率在训练前设定为1e-3,在微调阶段设定为1e-4。其中orl数据集的超参数m设置为一个与集群数量成比例的数字。因此,在本文的微调步骤中,我们将α、β、γ和m分别设为1、2、1和10
×
k(m《《n=64
×
k),并采用标准的反向传播技术来训练模型。coil100数据集上进行实验的超参数为α=1、β=4、γ
=2和m=10
×
k;coil20是一个较小的数据集,由来自coil100数据集的20个不同对象(k=20)的1440张图像组成。因此使用与coil100数据集相同的超参数。所有实验都是在pytorch中完成的。表2显示了网络的架构详细信息。
[0053]
表2聚类实验的网络设置“核大小@通道”[0054][0055]
4.3结果
[0056]
本发明方法与几种典型的深度算法做了聚类性能对比,以此来证明本发明算法在聚类方面的有效性;本发明算法用lrscc表示。它们包括:低秩子空间聚类(lrsc)、稀疏子空间聚类(ssc)、核稀疏子空间聚类(kssc)、通过正交匹配追踪的ssc(ssc-omp)、具有预先训练的卷积自动编码器特征的ssc(ae ssc)、深度子空间聚类网络(dsc)、深度嵌入聚类(dec)、深度k-means(dkm)。
[0057]
为了评价聚类结果,本文采用了在聚类分析中得到广泛应用的评价指标:准确度(acc)。
[0058]
acc评价指标定义如下:
[0059][0060]
其中li和ci是数据点xi的真实标签和预测聚类。对于无监督的聚类算法,使用匈牙利算法计算聚类分配和真实标签之间的最佳映射。
[0061]
表3中给出3个数据集上的所有对比算法的聚类结果。其中关于对比方法的结果分别来自对应的论文公开发布的代码,如果某个算法不适用于特定数据集,聚类结果用n/a代替。加粗字体突出最好的性能结果。结果表明:
[0062][0063]
表3:orl、coil20和coil100数据集上不同方法的聚类准确率acc(%)。最好的结果是粗体。
[0064]
从表3可见,总体上来说,本发明rlscc算法的性能明显优于浅子空间聚类算法,这主要归功于神经网络强大的表示能力,表明了本发明的深度神经网络在无监督聚类范畴的有较大的研究和应用前景。dec和dkm的性能甚至比浅层方法更差,这是因为他们使用欧几里得距离或余弦距离来评价相对关系,这不能捕捉到复杂的数据结构,一般来说,子空间学习方法在这种情况下效果要好得多。与其他深度聚类方法相比,本发明的rlscc显著提高了性能。
转载请注明原文地址:https://tc.8miu.com/read-661.html