融合多聚类信息的无监督行人重识别算法

2022-09-21 05:38苏荻翔王帮海叶子成
计算机工程与应用 2022年18期
关键词:源域行人聚类

苏荻翔,王帮海,叶子成

广东工业大学 计算机学院,广州510006

行人重识别的任务是要在不同地方的多个不同摄像头中,对特定的行人进行识别。当视频或图像质量较低,无法进行人脸识别技术时,行人重识别技术作为一种替代的技术发挥着重要的作用。近年来,行人重识别研究重心是通过深度学习的方法[1-5],在已有的数据集上进行学习,对行人的相似度进行排序,从而找出特定的行人。行人重识别的难点在于,数据集中的行人图像是由不同的摄像头在不同地方进行拍摄,同一名行人的图像可能会因为摄像头之间的光照、角度以及视野的不同而出现较大的差异,如图1(a)所示;而不同行人的图像可能会因为穿着相同,出现过于相似的情况,如图1(b)所示。上述两种情况分别称为正负样本对中的难正样本对以及难负样本对[6],即难以正确匹配的样本对。在行人重识别任务中,有效地挖掘出训练样本中的难样本对成为了进一步提升重识别模型精度的关键。

图1 难以正确匹配的样本Fig.1 Samples of difficult to match correctly

在传统的有监督行人重识别模型学习中,通常使用标签信息作为监督,通过交叉熵损失函数(cross-entropy loss)进行分类学习,然后使用三元组损失函数(triplet loss)进行正负样本对位置的优化,并加入各种训练技巧避免模型出现过拟合情况[2]。但是在无监督学习中,缺少样本的标签作为强监督信息,很难学习到具有良好分辨能力的网络模型。解决无监督问题的方法主要有两类,一类是通过聚类的方法[7-11],这类方法对无标签数据的特征进行聚类,然后使用聚类的结果作为弱监督信息对网络的模型进行学习;另一类是通过域适应的方法[12-15],先在有标签信息的源数据集上进行有监督的训练,然后使用预训练过的网络模型在无标签目标数据集上进行学习。以上方法的主要思路都是通过学习样本中简单易成团的样本,使无监督模型对简单样本对具有区分性,但并没有对难样本对进行进一步挖掘。

受到Zhang等人[10]提出的MAR模型以及Yu等人[12]提出的PAST 模型的启发,本文提出一种利用多种聚类信息生成软多重标签来进行无标签数据难样本对挖掘的方法。MAR 模型通过设置参考样本,计算无标签目标域中的样本到所有参考样本的距离,生成无标签样本的软多重标签,使用软多重标签进行难样本挖掘。PAST 模型使用HDBSCAN[16]聚类信息与样本间相似度信息来进行难样本对挖掘。而本文提出的方法将不同的聚类信息融合至同一维度中,生成类似MAR 模型中的软多重标签信息,并利用该信息计算文献[6]提出的难样本三元组损失函数(TriHard Loss),从而完成难样本对的挖掘工作。

该方法的主要创新点在于使用了一种新的软多重标签作为无标签数据监督信息。该软多重标签融合了多种聚类的信息,能削弱由单一聚类方法生成的伪标签的局限性,更能体现样本间的关系。

1 相关研究工作

随着深度学习的发展,运用深度学习的方法进行行人重识别任务成为了当前行人重识别领域的主流。Luo等人[2]就通过使用ResNet-50[17]网络模型,加上标签平滑以及对图像进行随机遮挡与切割等训练技巧,学习到鲁棒性更强的行人重识别模型。近年也有学者提出PCB网络模型[5]以及EANET网络模型[18],通过对网络提取的特征图进行分割再重组的方法,使网络能够更加关注图像各部分特征之间的联系。而深度学习往往需要大量的训练数据,增加训练的数据量也能使网络学习到更多细节。CamStyle[19]的工作就是使每个摄像头都能生成与其他摄像头相同风格的行人图像,从而增加训练的数据量。Zhong 等人[13]则对CamStyle 的工作做了进一步改进,在CamStyle 的基础上使用Triplet Loss 提升行人重识别模型的性能。

1.1 无监督域适应

无监督域适应是当前无监督行人重识别的解决方法之一。将在有标签的源域进行过预训练的网络迁移至无标签的目标域以进一步学习是该方法的核心思想,其目的是将源域中学习到的知识迁移到目标域中。Deng等人[20]提出的PTGAN使用生成对抗网的方式,将源域的图像风格转换到目标域的图像风格,并以源域行人的标签进行约束,达到域适应的效果。Zhao等人[21]提出了一种联合训练抵抗噪声的无监督域适应行人重识别方法,使用两个结构相同但是初始化不同的网络,相互作为监督信息,判断各自选择的三元组样本是否为噪声样本。Wang 等人[7]的工作是将目标域中正样本对与负样本对的分布情况对齐到源域中正样本对与负样本对的分布情况,使两个域的分布情况尽可能相同,达到域适应的效果。Ge等人[22]提出的SpCl方法在进行目标域学习时,同时加入源域进行学习,揉合了源域与目标域,对模型进行分类学习,在识别任务中得到了很好的表现。

1.2 无监督行人聚类

使用聚类的方法做无监督行人重识别也是当前主流之一。主要方式为:对无标签行人数据进行聚类并得到每个行人的伪标签,使用伪标签作为监督信息进行特征学习。文献[9]提出的PAST自训练进步增强模型,利用HDBSCAN 聚类方法,对样本的相似度矩阵进行聚类,从聚类样本以及相似度矩阵中选择正负样本对,利用Triplet Loss 损失函数对正负样本对进行度量学习。该方法虽然能够学习到简单正负样本对的区别,但是没有难样本对的判断机制,难以对无标签数据集中的难样本进行挖掘。AD-cluster[10]方法加入了风格转换的图像进行聚类,提高了样本之间的区分性。MMT[8]方法利用两个网络进行联合学习,生成样本的聚类硬分类标签与软分类标签。其生成的伪标签具有很好的鲁棒性,能一定程度避免初始聚类噪声带来的影响。本文提出的多聚类信息融合进行难样本挖掘的方法,是对网络进行域适应以及特征聚类后的一种优化处理,目的是进一步提升网络模型的鲁棒性。

2 方法实现

下面将介绍网络结构与多种聚类信息融合进行难样本挖掘方法的具体实现过程。总体实现框架分为三个部分,如图2所示。第一部分对网络进行源域的有监督预训练。第二部分使用基于聚类以及记忆模块的方法,对无标签目标域数据进行初步学习,使训练的网络能够在一定程度上对目标域行人进行识别。第三部分融合多种聚类信息生成软多重标签,对目标域中的难样本对进行挖掘。该部分为介绍的重点,主要介绍如何将多种聚类信息进行融合以及如何利用此信息进行难样本挖掘。

图2 网络结构Fig.2 Network structure

2.1 源域预训练

本文方法使用的神经网络结构为在ImageNet[23]数据集上进行了预训练的ResNet-50网络结构。为了使该网络模型能够对行人图像数据更加敏感,对该网络结构进行了以下两个改进。

第一个改进为在ResNet-50的每个Layer输出位置,添加通道注意力模块以及空间注意力模块。注意力模块的机制主要参考CBAM 注意力模块[24]进行实现。首先将输入的特征图进行平均值池化,得到维数与特征图通道数相同的向量,再将该向量进行全连接,输出维数与输入维数一致,并使用Sigmoid 激活函数进行处理。处理后的向量与输入特征图相乘,得到经过通道注意力模块处理的特征图,并将此输入到空间注意力模块中。

空间注意力模块以通道方向对特征图分别进行平均池化与最大值池化然后叠加,得到通道数为2的特征图。使用卷积核大小为2×2 的卷积核对特征图进行卷积操作,用Sigmoid激活函数对输出进行处理,得到通道数为1 的空间特征图。将空间特征图与输入特征图相乘,最后得到经过两种注意力模块处理过的特征图。

第二个改进为去掉ResNet-50 最后的1 000 维全连接层,改为一个输出维数为1 024 的全连接层以及输出维数为源域行人ID数的分类层。分类层的作用是利用源域中的标签信息,将网络的训练过程转换为一种分类问题,利用Cross-entropy Loss 函数进行网络参数学习。这里使用文献[2]中的训练策略,对Cross-entropy Loss函数进行改进,改进后为:

式中,N为源域中行人ID 的个数,pi为当前样本对于第i个行人的预测值,传统的qi取值为0或1,为了防止过拟合,将qi改为:

式中,y为当前样本真实标签,ε为较小的常数,用于减少模型对训练集的置信度,设置ε为0.1。

同时对源域样本集进行难样本三元组损失的计算,该损失函数为:

式中,M为当前mini-batch中行人个数,Z为当前minibatch中每个行人拥有的图像个数,a为当前行人图像,p为a的正样本对,A为当前mini-batch 中a的正样本集,n为a的负样本对,B为当前mini-batch中a的负样本集,α为边界值,表示正样本与负样本之间的最小距离。使用难样本三元组损失函数能够减小类内样本间的距离,增大类间样本间的距离。

对于源域预训练阶段,使用Cross-entropy Loss 与TriHard Loss进行学习,总的损失函数为:

式中的σ用于平衡两个损失函数。

2.2 目标域初步学习

对于无标签目标域,首先需要学习目标域中的简单样本,即那些类内距离较近,容易成团的样本。参考SpCl 中的方法,使用记忆模型、DBSCAN[25]聚类以及动量更新的方法,对目标域样本进行初步学习。

在当前的网络模型中,ResNet-50 网络模型的输出会被连接到一个1 024维的全连接网络中。该全连接网络的输出定义为行人图像的特征向量。对目标域进行初步学习的第一步,对所有训练用的行人图像进行特征提取,并将提取的特征构建为记忆模型。第二步,使用DBSCAN 聚类方法对记忆模型进行聚类,聚类的结果会把行人图像数据分为聚类点和离群点。聚类点为当前特征相近的样本,在初步学习阶段,重点对聚类点进行处理。

首先计算每个聚类的聚类中心。对于每个聚类簇,计算其簇内样本特征向量的均值向量,则该均值向量就为该聚类簇的聚类中心,其计算公式为:

式中,c为当前聚类簇的聚类中心,K为当前聚类簇内样本的个数,f为样本特征向量。

使用在线样本匹配损失函数(OIM loss),对所有样本进行学习,其公式为:

式中,nc为聚类中心个数,nu为离群点个数,ck为第k个聚类中心,uk为第k个离群点在记忆模型中的特征向量,为计算两个向量之间的余弦距离,τ为放大系数,设为0.05。z为当前x的趋向位置。若当前x为聚类点,则z为x所属类别的聚类中心;若x为离群点,则z为x在记忆模型中的特征向量。

该损失函数目的在于使简单易成群的样本更加聚拢,并且在聚拢过程中一定程度地远离其他的聚类中心以及其他离群点,这样能使模型在目标域中达到初步学习简单样本的效果。

计算完损失函数并对网络进行更新后,需对记忆模型使用动量更新的方法进行更新,其方式为:

动量更新后的记忆模型,将会用于下一轮训练的聚类以及损失函数的计算中。

2.3 目标域难样本对挖掘

对模型性能进一步提升的关键在于对数据集中的难样本对进行挖掘。本文提出的多聚类融合方法,旨在减轻单种聚类信息产生的误差,为样本生成更鲁棒的软多标签,并使用该软多标签挖掘出当前数据集内的难样本对。

与初步训练的方法类似,网络的训练流程同样采用记忆模型与动量更新的方法,具体如图2 所示。每次迭代对记忆模型同时进行三种聚类算法的聚类,图2中的K、G、S 分别代表KMeans 聚类、高斯混合模型(Gaussian mixture model,GMM)聚类以及谱聚类(spectral clustering)。

2.3.1 KMeans聚类

KMeans 聚类算法是在聚类时,先在样本特征空间中随机选取k个点作为各个簇的中心(k为当前设定的簇个数)。接着计算每个样本到各个随机点的距离,选择距离最近的点为该样本的簇中心,将样本被分配到该簇。当所有样本都确定了自己所属的簇后,每个簇根据簇内样本的位置重新计算各个簇的中心。迭代地进行样本到簇中心距离的计算以及簇中心位置的计算,不断更新簇中心的位置,最后聚类所有的样本。

KMeans 聚类完成后能得到样本的硬标签与软标签。硬标签为当前样本所属的类别,软标签为当前样本到各个簇中心的距离,计算公式为:

式中,l(x)为当前样本软标签,x为当前样本特征,li为样本x到第i个簇中心的距离,k为聚类簇的个数,n为样本特征的维度,ci为第i个簇的簇中心。

考虑到硬标签只给出各样本的所属类别,而软标签则给出了样本到各簇中心的距离,更能体现样本间的位置关系,所以选择软标签进行下一步的聚类融合。

2.3.2 高斯混合模型聚类

高斯混合模型聚类算法是将样本数据看作是由多个不同的高斯模型生成的,即样本服从混合高斯分布。聚类的过程就是找出高斯混合模型最佳参数的过程。每个高斯模型则代表着一个聚类簇。

高斯混合模型公式为:

式中,p(x)为概率密度,x为当前样本,k为聚类簇个数,πi为第i个高斯模型的权重系数,ui为第i个高斯模型的均值,为第i个高斯模型的方差。

找出公式中最佳的πi、ui以及的值,使该高斯混合模型最大程度地拟合当前样本的分布。首先根据聚类簇个数k随机给定k个高斯分布。然后计算每个样本由各个高斯模型生成的后验概率,并使用后验概率重新计算模型的πi、ui和值。迭代地计算后验概率以及更新模型参数,最终使模型达到最优。

通过比较样本由各个高斯模型生成的概率,选择概率最大值,就能得到样本所属的类别,即样本的硬标签。样本的软标签则是当前样本由各个模型生成的概率,公式为:

式中的k为聚类簇个数,g(x)为样本软标签,gi为样本x由第i个高斯模型生成的概率。

2.3.3 谱聚类

谱聚类是从图论中演化出来的聚类算法。主要思想是把所有样本作为图节点,构成一个无向有权图,然后将图切分成若干子图。切分的结果使子图内各条边的权值尽可能大,子图间的边的权值尽可能小。这样每个子图构成一个聚类簇。

具体的谱聚类过程:使用K 邻近法,构建样本向量的相似矩阵,矩阵内的值为各边的权值。通过该相似矩阵,构建出样本的度矩阵以及邻接矩阵,进而计算出拉普拉斯矩阵。计算标准化后的拉普拉斯矩阵的特征值与特征向量,并构成特征矩阵。对特征矩阵的行进行聚类,聚类的结果为样本的谱聚类结果。

谱聚类给出的标签为硬标签,即当前样本所属的类别。将其转换为one-hot编码的模式

式中,s(x)为样本标签,x为当前样本,j为谱聚类对当前样本的聚类结果。

2.3.4 聚类分析与融合

KMeans聚类算法通过计算样本与中心的距离进行聚类,其聚类结构通常为圆形,能满足数据分布较为简单的聚类要求。

高斯混合模型聚类与KMeans 的不同点在于,该聚类算法采用概率模型来刻画聚类结构,其聚类结构通常为椭圆形,聚类簇的划分相对灵活。对于某些特定的样本分布,两种聚类的差别如图3所示。

图3 Kmeans与GMM聚类的差别Fig.3 Difference between KMeans and GMM clustering

当样本数据在特征空间中的分布呈现如图3(a)分布时,KMeans 聚类会根据样本到中心的距离对样本种类进行划分,如图3(b)所示。图中的A、B 样本不属于同一类,但KMeans聚类因两样本距离较近,错误地将其归为同一个类别。而高斯混合模型聚类则是根据概率模型对样本进行拟合,找出最有可能生成当前样本的概率模型,效果如图3(c)所示。高斯混合模型聚类能分辨出A、B这种位置较近,但明显不属于同一概率分布的样本。

当样本数据的分布较为稀疏且有特定形状时,KMeans聚类以及高斯混合模型聚类都难以做出正确判断,如图4所示。

图4 谱聚类与KMeans、GMM聚类的区别Fig.4 Difference between spectral clustering and KMeans and GMM clustering

图4(a)为样本数据分布情况。对该样本数据进行KMeans 聚类以及高斯混合模型聚类,会出现图4(b)以及图4(c)的分类情况,聚类效果不理想。而使用谱聚类算法对该样本数据进行聚类,则能得到很好的效果,如图4(d)所示。这是由于KMeans 聚类算法以及高斯混合模型聚类算法在簇内样本分布较为密集时,才能很好地发挥作用。而谱聚类算法是根据样本的相似矩阵进行聚类的,所以当簇内样本分布较为稀疏时,谱聚类仍然能有较好的效果。

在实际的数据集中,样本的分布形式可能会同时存在多种,如图5所示。

使用单一的聚类算法对样本进行聚类,只能获得部分样本的正确聚类信息。而不同的聚类算法,正确聚类到的样本可能不同,所以各聚类算法得出的聚类信息存在一定的互补性。这种互补性体现在:对于某一部分样本,当一种聚类算法进行了错误的聚类时,其他的聚类算法可能会正确聚类。基于上述情况,本文提出一种融合多种聚类信息生成软多标签的方法。

融合的思路:在判断两个样本是否属于相同类别时,若判断为相同类别的聚类算法越多,则当前两个样本属于相同类别的可能性越大。这两个样本融合聚类信息后生成的软多标签的相似度也越大。具体的融合公式为:

式中,r为样本的软多标签,l为公式(8)中KMeans 聚类得出的软标签,g为公式(10)中高斯混合模型聚类得出的软标签,s为公式(11)中谱聚类得到的one-hot编码标签,μ与λ为超参数,用于调整融合时各聚类标签的占比。若两个样本的l、g与s高度相似,即三种聚类都给出相同的结果时,则生成的软多标签r也高度相似。

虽然各标签的维度一致,但l为当前样本到各聚类簇中心的距离、g为样本属于各个聚类簇的概率、s为one-hot编码,故不能直接进行相加融合。考虑到,若当前样本属于某个聚类簇的概率越大,或者直接被认定为属于某个聚类簇时,则该样本离该聚类簇中心的距离应该越近。所以本文以l为基底,使用相减的方式融合三种聚类的标签,将概率信息和聚类信息转为距离信息。具体融合的过程如图6所示。

图6 多重聚类信息融合过程Fig.6 Multi clustering information fusing

比起使用单一聚类的标签,网络模型使用该软多标签对样本进行学习,能更好地判断数据集中的难样本,从而提升网络模型在行人重识别方面的性能。

2.3.5 难样本对挖掘

挖掘的思路:当两个样本的特征向量相似但是软多重标签不相似时,可以判断这两个样本为难负样本对;当两个样本的特征向量不相似但是软多重标签相似时,可以判断这两个样本为难正样本对。

对于每个样本,计算其在当前mini-batch 中与其他样本的相似度并排序。选择前k个样本组成候选的正样本集合P,而排名在k之后的选为候选的负样本集合N。集合P与N可表示为:

式中,f(⋅)为网络模型提取特征,f(x)为当前样本的特征向量,Sk为当前特征相似度排序中第k个样本的相似度值。

分别地,计算当前样本x的软多重标签与集合P、N中所有样本的软多重标签的相似度并排序。集合P中软多重标签相似度最低的样本将被视为难负样本;集合N中软多重标签相似度最高的样本将被视为难正样本。

获得当前难样本对后,计算目标域的难样本三元组损失函数(target-source TriHard loss)。该损失函数的形式为:

式中,B为当前mini-batch 中的样本个数,sa,p与sa,n分别为样本a与它的难正样本对以及难负样本对的相似度,β为边界值。

只进行难正样本对与难负样本对分布的优化,容易造成模型的崩溃,所以需要对样本本身的分布位置加以约束。参考源域学习中以Cross-entropy Loss 加上TriHardloss的思想,使用各自样本的候选正样本集P的均值作为各自样本的约束,构建中心约束损失函数(central constraint loss)。该损失函数的形式为:

式中,c为当前样本的候选正样本集合均值中心,ui为当前样本的候选负样本中第i个样本的特征向量,sx,c为当前样本x与其均值中心c的相似度,sx,u为当前样本x与负样本的相似度,γ为放大系数,设为0.05。该损失函数与Cross-entropy Loss 函数的作用相似,使当前样本往中心位置聚拢并远离其他负样本。

结合两个损失函数,难样本对挖掘的损失函数为:

式中,ω为可调参数,用于平衡两个损失函数。

使用公式(12)对网络模型进行优化后,重新提取该mini-batch 中样本的新的特征向量,并以公式(7)的方式,更新记忆模型,用于下一轮迭代的聚类计算。

3 实验分析

方法在Market-1501[26]以及DukeMTMC-reID[27]两个数据集中进行评估。

3.1 数据集介绍

Market-1501 数据集拥有32 668 张行人图像,一共包含1 501 个行人。其中,训练集包含12 936 张行人图像,分别属于751 个行人;测试集包含19 732 张行人图像,分别属于750 个行人;查询集中有3 368 张行人图像,由测试集中的750个行人在每个摄像头中随机选取一张组成。实验中使用Re-Ranking 重排序[28]的方法在测试集中进行检索。

DukeMTMC-reID 数据集共采集了1 404 个行人的36 411 张图像,其中训练集拥有16 522 张行人图像,包含行人702 个;测试集拥有17 661 张行人图像,包含行人702个;选取测试集中每个行人在每个摄像头下的随机图像作为查询集。在行人检索阶段使用重排序的方法进行检索。

3.2 参数设置

本实验在pytorch 框架下进行,使用的实验平台为Geforce RTX 3080 的GPU 以及i7-10700k 的CPU。将输入到模型的图像调整为256×168,并进行随机裁剪以及随机水平翻转,用作数据增强。

网络进行源域预训练阶段,初始学习率设置为0.01,使用SGD 优化器对模型进行优化。优化器momentum值设为0.9,总的训练epoch 设置为60,每经过20 个epoch 学习率衰减为原来的0.1 倍。每个训练批次从训练集中随机选择8 个行人,分布从这8 个行人中随机选择其4张图像,每个批次的训练样本共32个。在公式(2)中的参数ε设定为0.1,源域的难样本三元组损失函数的边界参数α设为0.3,总损失函数中σ设置为0.3。

网络对目标域进行初步学习阶段,使用Adam优化器对模型进行优化。初始学习率为3.5E-5,每经过15个epoch学习率衰减为原来的0.1倍,总epoch数设置为40。该阶段的联合对比损失函数的放大系数τ设置为0.05。该阶段中使用的DBSCAN 的领域距离阈值参数eps 设置为0.5,领域样本数阈值min_samples 设置为4个,对目标域的Jaccard 距离矩阵进行聚类。对记忆模型进行动态更新的动量系数m设为0.5。

目标域难样本挖掘阶段,初始学习率为3.5E-4,使用SGD 优化器对模型进行优化。优化器的momentum值设为0.8,总的训练epoch 为40 个,每经过15 个epoch学习率衰减为原来的0.5倍。为了减少实验参数过多的问题,将软多重标签公式(8)中的μ与λ设置为μ=2λ。不同的λ值对识别精度的影响如表1 所示,当λ值为0.22 时模型识别精度最高。对样本特征进行三种聚类时,聚类簇的个数设置为50个。在难样本的选择中,划分正负样本的k值设为20。目标域难样本三元组损失函数中的边界值β设置为0.3。中心约束损失函数的放大系数γ设为0.05。最后总的难样本挖掘损失函数中的ω平衡参数对识别精度的影响如表1所示,当ω值取0.2时模型识别精度最高。

表1 λ 与ω 对精度的影响Table 1 Effect of λ and ω on accuracy

3.3 结果分析

3.3.1 难样本挖掘效果

在DukeMTMC-reID 数据集中,对比网络模型在初步学习阶段与难样本挖掘阶段对某个行人搜索的效果,如图7所示。

图7 行人搜索结果Fig.7 Result of person search

图中第一行为初步学习阶段的网络对某一行人前25 个搜索,其中正确结果有11 个。图中第二行为经过难样本对挖掘后的网络对该行人前25 个搜索,其中正确结果有18个,比起初步学习阶段的网络多出7个。实验结果说明,网络在进行难样本对挖掘学习后,对于一些较难判断的样本有了更好的识别能力,能尽可能在较少的搜索中找到更多的正确样本。

对比网络模型在初步学习阶段与难样本挖掘阶段对难样本搜索的效果,如图8所示。图中第一行为网络初步学习阶段对两名行人搜索的结果。该阶段的网络难以对难样本进行正确的判断:对于第一个搜索行人,网络将两个衣着相似的难负样本排在了搜索的第6 名与第8名,将因为被遮挡而造成难以识别的难正样本排在100 名以外;对于第二个搜索行人,网络同样将衣着相似的难负样本排在搜索的第11 名与第17 名,将因为拍摄角度以及环境变化而难以识别的难正样本则排在100名以外。

图8 难样本搜索结果Fig.8 Result of hard samples search

经过本文方法学习后的网络对难样本的判断有了明显的提升:对于第一个搜索行人,网络能排除遮挡物的干扰,将难正样本提前至第5 名,并将原来判断错误的难负样本远离至第45 名与第56 名;对于第二个搜索行人,网络能排除拍摄角度以及环境的干扰,将难正样本提前至第15 名,并将判断错误的难负样本远离至第28名与第45名。这表明本文的方法能有效地识别出数据集中的正负难样本并做出正确的判断。

3.3.2 单聚类与多聚类比较

对比网络使用单聚类标签以及多聚类标签进行难样本对挖掘的效果,对Market-1501 数据集中某个行人的搜索进行可视化,结果如图9所示。

图9 搜索结果对比Fig.9 Comparison of search results

图中第一行为根据单聚类标签进行难样本对挖掘的结果。因为受到单聚类错误标签的误导,网络模型并没有很好地识别出当前样本的难样本。一些与搜索行人相似的难负样本被当作正样本,排在了搜索较前的位置。而有些正样本则被当作是负样本,排在了搜索靠后的位置。

第二行为根据多聚类标签进行难样本挖掘的结果。可以看出网络模型对当前样本的正负难样本都有了较好的判别能力。之前错误判断的难负样本被推开到搜索靠后的位置,而正样本则被拉近到靠前的位置。由此可以看出,比起使用单聚类标签进行训练,使用多聚类标签进行训练的网络更能挖掘出样本之间的联系。对比使用单聚类标签训练的模型性能与使用多聚类标签训练的模型性能。分别在Market-1501与DukeMTMCreID数据集上进行实验,结果如表2所示。表中的D为初步训练后的模型,以此为当前的baseline。K、G、S 为KMeans聚类、高斯混合模型聚类以及谱聚类。

表2 单聚类与多聚类对比结果Table 2 Comparison results of single clustering and multi-clustering

在DukeMTMC-reID 数据集上分别使用K、G、S 三种聚类算法的标签进行学习,mAP 值有3.6%到5.2%的提升,Rank-1 值有4.1%到5.1%的提升。而在Market-1501数据集上分别使用三种聚类算法的标签进行学习,只有高斯混合模型聚类以及谱聚类生成的标签能使网络模型有正向的学习,mAP 的值与Rank-1 的值都有提升。若只使用KMeans 聚类标签,反而使模型的性能下降。这说明若单聚类的标签出现过多的错误时,反而影响网络模型的判断能力。

融合了两种聚类算法后,生成的软多标签的鲁棒性比单聚类标签更强。在两个数据集中,模型使用两种聚类信息融合生成的软多标签进行学习,模型性能得到进一步提升。而原本会导致模型性能下降的KMeans聚类标签,在融合了高斯混合模型聚类标签或者谱聚类标签后,错误标签对模型的影响也被削弱。融合后的软多标签能使网络模型有正向的学习。

本文的方法是同时融合三种聚类算法。结果要比单聚类以及双聚类的方法要好。以DukeMTMC-reID数据集为例,在mAP值的比较上,使用多聚类的方法比单聚类方法要高3.7%到5.3%,比双聚类方法要高2.2%到3.3%;在Rank-1值的比较上,使用多聚类的方法比单聚类方法要高3.1%到4.1%,比双聚类方法要高2.1%到2.5%。说明模型使用多聚类生成的软多标签的效果要比使用单聚类的标签要好。

3.3.3 对比其他算法

与其他无监督域适应的方法进行比较,本文方法在mAP 指标上表现更优,如表3 和表4 所示。表3 为以Market-1501数据集为源域,以DukeMTMC-reID数据集为目标域作域适应。表4 以DukeMTMC-reID 为源域,以Market-1501为目标域作域适应。

表3 DukeMTMC-reID对比实验结果Table 3 Contrast experiment on DukeMTMC-reID

表4 Market-1501对比实验结果Table 4 Contrast experiment on Market-1501

表3、表4中的source表示模型只在源域进行学习,source+D表示模型在源域预训练后,在目标域进行了初步学习,并以此为baseline。baseline+KGS 表示模型在源域中进行了预训练,并且在目标域中进行了初步学习以及难样本对的挖掘学习。

从表3 与表4 可以看出,在不对模型进行初步学习以及难样本对挖掘的情况下,模型的准确率较低,在DukeMTMC-reID 数据集中仅有29.9%的mAP 值,在Market-1501 数据集中仅有33.9%的mAP 值。在对模型进行初步学习后,模型的性能有了进一步的提升,在DukeMTMC-reID 数据集中有48.9%的mAP 值,在Market-1501数据集中有46.9%的mAP值。最后对模型进行中心聚拢以及难样本挖掘的学习,使得模型的性能进一步提高:在DukeMTMC-reID数据集中的mAP值提升了8.9%,达到了57.8%;在Market-1501 数据集中的mAP值提升了14.4%,达到了61.3%。

在DukeMTMC-reID数据集上,对比只使用PCB-PAST方法,mAP超过了3.5%。对比AD-Cluster方法,mAP超过了3.7%;在Market-1501数据集中,对比PCB-PAST方法,mAP 超过了6.7%。在两个数据集上的表现均比使用单一聚类的方法更优,可以体现本文方法的有效性。

实验结果表明,本文方法在mAP 指标则有较大提升,而在Rank-1 指标上的提升不大。本文方法能拉近难正样本对的距离以及疏远难负样本对的距离,从而使整体效果得到提升。但用作生成软多标签的聚类方法只有三种,能对难样本对做出正确判断的通常只有一两种聚类方法,样本距离优化能力仍不够强,难正样本只能被优化到较近距离。

4 结论

本文提出了一种利用多种聚类信息融合来生成软多标签的方法。因为不同的聚类方法其聚类机制各不相同,融合多种聚类的信息能从多个角度判断样本之间的关系,从而使生成的软多标签比起单聚类标签更具鲁棒性。利用这种软多标签进行无标签域的难样本对挖掘。在Market-1501 数据集以及DukeMTMC-reID 数据集中的实验结果证明了该方法可以对已在目标域进行初步学习的模型进行进一步的难样本对挖掘,提升其在目标域识别的性能。本文方法在找到正确的难样本后,样本间距离优化的信息有限,使得网络不能再进一步的学习。今后研究的重点在于如何生成鲁棒性更强、包含更多信息的标签,进一步提升无监督网络模型的性能。

猜你喜欢
源域行人聚类
毒舌出没,行人避让
基于参数字典的多源域自适应学习算法
基于K-means聚类的车-地无线通信场强研究
路不为寻找者而设
我是行人
基于高斯混合聚类的阵列干涉SAR三维成像
曝光闯红灯行人值得借鉴
从映射理论视角分析《麦田里的守望者》的成长主题
基于Spark平台的K-means聚类算法改进及并行化实现
基于加权模糊聚类的不平衡数据分类方法