创见博客
论文解读:Rethinking_Sampling_Strategies_for_Unsupervised_Person_Re-Identification
七崽爱吃小饼干2025/09/08阅读 0

《IEEE图像处理汇刊》,2023年第32卷

摘要

无监督行人重识别仍是一项具有挑战性的任务。尽管大量研究集中在框架设计和损失函数上,但本文表明采样策略同样起着重要作用。我们分析了在相同框架和损失函数下,不同采样策略性能差异的原因。研究发现,恶化的过拟合是导致性能不佳的重要因素,而增强统计稳定性可以解决这一问题。受此启发,我们提出了一种简单而有效的方法 —— 组采样,即将同一类别的样本聚成组。通过使用归一化的组样本训练模型,有助于减轻个体样本的负面影响。组采样通过确保样本更有效地分类到正确的类别中,更新了伪标签生成的流程。它调节了表征学习过程,逐步增强特征表示的统计稳定性。在 Market-1501、DukeMTMC-reID 和 MSMT17 数据集上进行的大量实验表明,组采样的性能与最先进的方法相当,并且在纯相机无关的设置下优于现有技术。代码可在 https://github.com/ucas-vg/GroupSampling 获取。

关键词:行人重识别、无监督学习、组采样、表征学习。

一、介绍

利用未标记数据集进行人员识别的类内相似性研究。通过减少数据标注所需的人力,无监督行人重识别有潜力扩展到实际应用中。现有的基于深度学习的无监督行人重识别研究通常可分为无监督域适应(UDA)方法[1 - 19]和完全无监督学习(USL)方法[20 - 36]。最近的大多数USL方法[29 - 31]通过挖掘特征相似性为每个样本估计伪标签,然后将生成的伪标签作为监督来训练模型。目前,USL方法在不使用任何身份标注的情况下,已取得与UDA方法甚至有监督方法相媲美的性能。在本文中,我们专注于研究完全无监督的行人重识别。

最近,SpCL[29]提出了一种自步对比学习框架,显著提升了无监督行人重识别的性能。我们采用SpCL[29]中的普通对比学习框架(即不含自步学习模块)作为研究基线,在本文中称为对比基线。传统的行人重识别框架通过构建三元组(即锚点、正样本和负样本)来学习类间判别性表示和类内相似性。相比之下,对比基线构建了一个记忆库[37]来存储所有样本特征,这样在优化每个锚点时,正样本和负样本可以直接从记忆库中获取。这意味着对于对比基线而言,无需在一个小批量中通过三元组采样[38,39](即随机选择P个类别,每个类别选择K个样本)从相同类别和不同类别中采样实例。令人惊讶的是,当我们用最直接的随机采样取代原始的三元组采样时,模型未能获得预期结果。这种现象从直观上难以解释,因为每个样本都是独立优化的,并且在特征提取、正负样本选择和损失计算过程中,样本之间没有相互作用。因此,从直观上讲,采样策略不应影响训练结果。

本文试图分析并解释为何不同的采样策略会导致这种异常情况。我们认为,当采用随机采样时,个体样本的随机性和倾向性可能会主导整个类别的优化方向,从而导致该类别的特征表示发生偏移。具体来说,具有不同真实标签的样本会不断聚集,使得类别逐渐失去个体身份特征,特征表示趋于恶化。用这样的类别所形成的伪标签进行监督,会使模型丧失区分类内相似性和类间差异的能力,我们将这种现象称为恶化的过拟合。

相应地,三联体采样成功的关键在于它在每个小批量中从同一类别中选择一定数量的样本。对同一类别的样本进行分组有助于减少个体样本对模型优化的影响,并突出类别的整体趋势。这使得每个类别能够保持其内部的统计稳定性,防止陷入恶化的过拟合。然而,三联体采样的成功似乎具有一定的偶然性,因为它的设计目的是采样正样本和负样本以构建三联体,而非对同一类别的样本进行分组。此外,由于三联体采样中的K值是固定的,可能会出现欠采样和过采样的情况。为了达到理想的性能,需要在这两种情况之间进行权衡。

因此,本文以对同一类样本进行分组为出发点,设计了一种组采样策略。组采样突出了同类别样本的整体性,减轻了个体样本的影响,使模型朝着与类别整体趋势一致的方向进行优化,有利于维持每个类别内部的相似性结构。同时,组采样有助于保持类别之间的差异,从而防止类别不断聚集、积累噪声并陷入恶化的过拟合。通过这种方式,模型有机会利用现有相似性结构中更细微的差异,提取独特的身份相似性。本文进行了大量实验,以反映恶化过拟合现象,并证明组采样在维持统计稳定性和提高模型表征能力方面的有效性。

本文的贡献总结如下:

  • 我们证明了采样策略在无监督行人重识别对比基线中起着至关重要的作用,并探究了随机采样导致训练崩溃以及三联体采样有效的机制。
  • 我们强调了三联体采样存在的缺陷,并进一步提出了一种新颖的用于无监督行人重识别的组采样策略。该策略解决了恶化过拟合的负面影响,增强了无监督模型的统计稳定性。
  • 在三个大规模数据集[21]、[40]、[41]上进行的大量实验表明,组采样在不增加额外参数和计算成本的情况下,显著提升了对比基线的性能,且性能与最先进的方法相当。此外,在纯相机无关的设置下,我们的方法优于现有技术。

二、相关工作

A. 无监督行人重识别

近年来,行人重识别任务逐渐扩展到许多更具挑战性的子任务,如跨模态行人重识别[42,43,44,45]、含标签噪声的行人重识别[46,47]、无监督行人重识别[1 - 36]等。无监督行人重识别摆脱了传统重识别框架中对精确标注的需求,旨在从无标签数据集中学习有效的特征表示。现有的大多数无监督行人重识别方法通常可分为两种范式。第一种是无监督域适应(UDA)方法[1 - 19],它将知识从有标签的源域转移到无标签的目标域。另一种是完全无监督学习(USL)方法[20 - 36],这类方法不使用任何身份标注。在本文中,我们专注于USL行人重识别。最近,许多USL方法使用生成的伪标签作为监督来训练模型[27 - 33]。伪标签可以通过伪标签生成器获得,或者从特征相似性中挖掘软标签信息得到。MMT[8]提出通过互均值教学生成更可靠的软标签。HCT[28]将层次聚类与硬批量三元组损失相结合,以提高伪标签的质量。MMCL[27]将无监督行人重识别表述为多标签分类任务,逐步寻找真实标签。SpCL[29]采用自步对比学习策略形成更可靠的聚类。ICE[31]利用实例间的成对相似性来促进对比学习。

相比之下,我们的方法试图在没有任何源域数据或源域预训练模型的情况下,提升无监督行人重识别在无标签数据集上的性能。我们采用基于伪标签的策略,并结合对比学习的训练方法。在此,我们提出一种更合理的采样策略,其性能优于现有方法。

B. 采样策略

采样是模型学习过程中减少偏差的基本操作[48] ,并且在随机优化领域也有相关研究[49],其目的是加速收敛到相同的全局损失函数。一种常用的采样方式是随机采样[50,51]。在相关文献中,人们提出了不同的采样策略,以助力各种损失函数的学习。对于对比损失,常见做法是从所有可能的样本对中随机选择[51,52,53],有时还会结合难负样本挖掘[54]。对于三元组损失,半难负样本挖掘方法最早在FaceNet[55]中使用,如今已被广泛采用[38,56] 。在行人重识别任务中,三元组采样[39,57]常与三元组损失结合使用。在每次训练批次中,随机选择一定数量的身份,然后从每个选定身份中抽取若干图像。这种采样策略能保证有效地挖掘正样本和负样本。在本文中,我们研究了采样策略对无监督行人重识别学习的影响,并进一步提出一种新的采样策略——组采样,以确保模型收敛并提升性能。

C. 无监督特征学习

深度特征学习旨在学习具有判别力的特征表示,使视觉上相似的样本相互靠近,不相似的样本相互远离[58]。无监督特征学习通常侧重于选择合适的自监督前置任务,这些任务的目标是自动生成的,无需手动标注。这个人为设定任务的性能通常并不关键,人们关注的是学习到的中间表示,期望它携带良好的语义或结构含义,并且对实际的下游任务有益。最近,无监督特征学习的最先进方法是基于对比学习[37,59,60,61,62]。它们采用特定的前置任务进行实例判别,将每一幅图像视为一个不同的类别,这比其他前置任务表现更优。然而,无监督行人重识别需要衡量类别间的相似性,因此实例判别策略并不适用。与DeepCluster[63]类似,我们的对比基线将特征聚类和伪标签优化作为其前置任务。

三、采样有多重要?

本节探究采样策略在无监督行人重识别中的重要性。在III-A小节中,我们首先简要介绍对比基线。然后,在III-B和III-C小节中,通过实验说明采样的重要性。实验设置和实现细节在VI-A和VI-B小节中进行描述。

A. 对比基线

我们采用SpCL[29]中提出的对比学习框架(不包含自步学习模块)作为我们的基线,称为对比基线。该对比基线结合了自监督对比学习策略[37,60,61,62]以及基于伪标签的无监督行人重识别方法[27,28,29,30,31,32,33]。它由一个基于卷积神经网络(CNN)且参数为θ\thetaθ的编码器fθf_{\theta}fθ​和一个特征记忆库MMM组成。编码器将无标签数据集X={x1,x2,…,xn}X = \{x_1, x_2, \ldots, x_n\}X={x1​,x2​,…,xn​}进行映射,从而得到一个特征集V={v1,v2,…,vn}\mathcal{V} = \{v_1, v_2, \ldots, v_n\}V={v1​,v2​,…,vn​},即:

V=fθ(X)(1)\mathcal{V} = f_{\theta}(\mathcal{X}) \quad (1)V=fθ​(X)(1)

记忆库MMM用于存储并动态更新每个样本的特征。我们的对比基线使用一个伪标签生成器GGG对记忆库中的特征进行聚类,为每个样本分配一个伪标签。采用GGG后,数据集XXX被划分为一个簇集C\mathcal{C}C和一个离群点集O\mathcal{O}O,其中C\mathcal{C}C包含NcN_cNc​个簇,即: C={C1,C2,…,CNc}(2)\mathcal{C} = \{C_1, C_2, \ldots, C_{N_c}\} \quad (2)C={C1​,C2​,…,CNc​​}(2) 属于同一簇的样本被分配相同的伪标签,而每个离群点被分配一个单独的伪标签。在被分配伪标签后,该实例将用于构建统一的对比损失。[29]中定义的统一对比损失函数为:

Lv=−log⁡exp⁡(<v,c+>/τ)∑k=1Ncexp⁡(<v,ck>/τ)+∑k=1Noexp⁡(<v,ok>/τ),\mathcal{L}_{v}=-\log \frac{\exp \left(\left<v, c^{+}\right> / \tau\right)}{\sum_{k = 1}^{N_{c}} \exp \left(\left<v, c_{k}\right> / \tau\right)+\sum_{k = 1}^{N_{o}} \exp \left(\left<v, o_{k}\right> / \tau\right)},Lv​=−log∑k=1Nc​​exp(⟨v,ck​⟩/τ)+∑k=1No​​exp(⟨v,ok​⟩/τ)exp(⟨v,c+⟩/τ)​,

其中c+c^{+}c+表示与vvv对应的正类原型,温度参数τ\tauτ根据经验设置为0.050.050.05,⟨⋅,⋅⟩\langle\cdot, \cdot\rangle⟨⋅,⋅⟩表示两个特征向量之间的内积,用于衡量它们的相似度,NcN_{c}Nc​是簇的数量,NoN_{o}No​是离群点的数量。更具体地说,如果vvv是一个已聚类的实例,c+=ckc^{+}=c_{k}c+=ck​是vvv所属簇CkC_{k}Ck​的质心。如果vvv是一个未聚类的离群点,那么c+=okc^{+}=o_{k}c+=ok​,即与vvv对应的离群点实例特征。当计算统一对比损失时,ckc_{k}ck​是根据存储在记忆库MMM中属于簇CkC_{k}Ck​的特征计算得到的,oko_{k}ok​是直接从记忆库MMM中检索到的特征。训练过程包括两个步骤:(1)使用记忆库中的特征对训练集样本进行聚类;(2)用统一对比损失优化编码器,并使用编码后的特征动态更新记忆库,其中更新公式定义为:

M[x]←m⋅M[x]+(1−m)⋅v,(4)\mathcal{M}[x] \leftarrow m \cdot \mathcal{M}[x]+(1 - m) \cdot v, \quad(4)M[x]←m⋅M[x]+(1−m)⋅v,(4)

其中m∈[0,1]m \in [0, 1]m∈[0,1]是用于更新记忆库中样本特征的动量系数,根据经验设置为0.20.20.2。算法1展示了对比基线的实现过程。

B. 采样策略描述

在本节中,我们将详细介绍几种采样策略。这些方法包括最常用的随机抽样、广泛用于个人重新识别的三元组采样[38]、[39]、[57]、形式上与三元组采样有些相似的重复增强(RA)[64],以及度量学习中的其他一些采样策略[48]、[55],其中三元组采样是对比基线中的默认方法。

1) 随机采样:随机采样是深度学习中最简单、最常用的采样策略。它从训练集中随机抽取样本,因此每个小批量的样本组成是完全随机的。采样列表 s 可以看作是用标签集 y 随机洗牌训练集 x 的结果,即

表I抽样策略的性能比较

2) 三元组采样:三元组采样[38]、[39]是在每个小批次中采样一定数量的正样本和负样本。具体来说,它以P×KP×KP×K的方式进行数据采样,即随机选择PPP个类别,每个类别有KKK个样本。当一个类别中的样本数量大于KKK时,只随机选择其中的KKK个,其余的将被丢弃。相反,当数量小于KKK时,一些样本将被重新采样。

在SpCL[29]中,三元组抽样的实现与常规的人re-ID[39],[57]中略有不同,具体来说,它仍然从每个聚类CiC_{i}Ci​中选择K个样本,但是,每个未聚类的异常值被视为一个特定的类,不重新采样而只采样一次,在本文中,我们遵循这种改进的三元组抽样。

3)重复增强(RA)(RA)(RA)采样:在RA采样[64]中,通过从数据集中采样⌈∣B∣/m⌉\lceil|B| / m\rceil⌈∣B∣/m⌉不同的图像形成图像小批量B,并通过一组高达m次的数据增量进行转换以填充小批量。因此,在小批量构造方面,RA采样与三元组采样的P×KP ×KP×K方式非常相似。不同之处在于,三元组采样侧重于对同一类内的不同实例进行采样,而RA则对每个实例进行重复采样。

4)一些其他采样策略:在深度度量学习中,有许多研究致力于数据采样,其中设计了几种有效的策略,例如硬/半硬采样[55]、距离加权采样[48]等。这些采样策略关注如何挖掘更高效的三元组以便于模型优化。尽管如此,在实施中,由于计算复杂性的限制,很难直接从所有训练样本中挖掘三元组。一种常见的策略是将数据采样为迷你批次,并在每个迷你批次中挖掘三元组,其中迷你批次构造遵循P×KP ×KP×K时尚[38],即如上所述的三元组采样。相比之下,本文从每个迷你批次中的样本组成的角度研究数据采样。从这个角度来看,三元组采样已经在深度度量学习中融入了上述采样策略。

C.抽样策略的比较

使用随机采样、三元组采样和重复增强(RA)采样所获得的性能表现列于表一的前三行。可以清楚地看到,与随机采样相比,三元组采样带来了显著的性能提升。然而,正如在第一节中所阐述的那样,对比基线中的采样策略并不会直接影响每个样本的优化过程。因此,为什么随机采样会导致训练崩溃,以及为什么三元组采样在一定程度上能够缓解这一现象,这从直观上是难以解释的。表二展示了几个采用随机采样的无监督行人重识别框架[29, 30, 31]的性能表现。与所报道的性能(见表八)相比,它们的性能有了显著下降,这表明由随机采样导致的训练崩溃现象并不仅仅出现在我们的对比基线中,而是似乎是一个相对普遍的现象。此外,尽管在形式上与三元组采样相似,但重复增强(RA)采样[64]未能取得令人满意的性能表现,这表明过度的重复采样并不适用于该对比基线。

表二 几种采用随机采样的无监督行人重识别框架的性能表现

四、为什么三元组采样会起作用?

在本节中,我们将研究为什么随机采样会导致对比基线无法收敛,以及为什么三元组采样能够缓解训练崩溃并保证良好的性能。在第四节A部分,我们提出了一个名为“恶化的过拟合”的概念,并解释了随机采样导致训练崩溃的原因。然后,在第四节B部分,我们提出了一个相应的概念,称为“统计稳定性”,并解释了统计稳定性是限制“恶化的过拟合”的一个重要因素。最后,在第四节C部分,我们解释并分析了分组操作有助于维持统计稳定性,这也就是为什么三元组采样能够抑制训练崩溃的原因。

A. 恶化的过拟合

图1.(上):单个样本误导了类的整体特征的优化趋势,导致不良的相似性结构得到加强,而身份结构遭到破坏。结果是,特征表示趋向于恶化的过拟合。(下):对属于同一类别的样本进行分组采用了类的整体趋势,削弱了单个样本的影响,从而在类内形成了统计稳定性。(最佳以彩色查看) 。

1)生成的类别大致可以分为强类和弱类。强类的特点是样本数量相对较多,并且在特征空间中样本较为紧凑,这意味着该类具有稳定的结构。相反,弱类的样本组成较为松散,这表明其结构不稳定,容易被破坏。因此,我们认为弱类中的样本更有可能分离出来,然后被强类“吞并”。当强类不断“吞并”弱类或其他分散的样本时,其规模会不断扩大。

当一个类别中存在大量具有不同真实标签的样本时,该类别的整体特征会变得泛化且粗糙,逐渐失去对个体身份的表征能力,这被称为特征表示恶化。由于模型拟合的是这种带有大量噪声的伪标签,它会陷入对恶化的特征表示的学习中,从而失去区分类内相似性和类间差异的能力。我们将这种现象称为恶化的过拟合。

2)恶化的过拟合所带来的负面影响:同一类别的样本具有一定的相似性结构,这种结构促使它们在特征空间中聚集在一起。然而,这种相似性结构不仅包含每个人身份所特有的特征相似性,还包含许多一般性的相似性。我们将一般性的相似性称为不良相似性,如图1中的虚线所示。

恶化的过拟合的后果是,不同真实标签的各种样本会混杂在一个类别中,这意味着该类别中不良相似性结构在持续聚集。如此一来,身份的相似性结构就被淹没在该类别中而无法体现。一旦形成这样的类别,模型就会朝着特征恶化的方向学习。也就是说,模型只能学到恶化后的语义信息,并且失去了挖掘样本间更细致特征的能力。

这对于无监督的行人重识别任务[44]来说尤其不利。此外,从特征恶化的类别中学到的知识会加剧再生伪标签中的噪声,进而形成恶性循环。

3)随机采样导致恶化的过拟合:为了进行优化而随机选取的样本加剧了单个样本对模型训练的影响。这可能表现为单个样本主导了整个类别的优化方向。或者,一些样本脱离了原本所属的类别,从而破坏了类别的结构。这些情况会导致该类别的特征表示发生偏移,同时强化了不良的相似性结构。

例如,如图1所示,该类别中的样本特征偏向于不良相似性。一旦这种由不良相似性结构所代表的语义信息得到强化,那些原本已被正确分类但不具备这种相似性的样本就会逐渐受到排斥,从而破坏了身份的相似性结构。与此同时,不同类别之间的区分度难以维持,于是强类会慢慢“吞并”弱类,类内的不良相似性也会持续累积。最终的结果是语义信息恶化,直接表现为伪标签中的噪声增加。这就是随机采样导致训练崩溃的原因。

4)纯净度与混乱度:为了直观地阐释恶化的过拟合现象,并证明随机采样确实会导致恶化的过拟合,我们定义了纯净度和混乱度。

直观来讲,当一个类别中的大多数样本具有相同的真实标签时,这意味着该类别相对纯净。相比之下,如果一个类别中有许多样本对应着不同的真实标签,那么这个类别就比较杂乱。我们通过所有类别的身份平均数量来定义混乱度DcD_{c}Dc​,即

Ci=I1i∪I2i∪⋯∪Inii,(6)\mathcal{C}_{i}=\mathcal{I}_{1}^{i} \cup \mathcal{I}_{2}^{i} \cup \cdots \cup \mathcal{I}_{n_{i}}^{i}, (6)Ci​=I1i​∪I2i​∪⋯∪Ini​i​,(6)

Dc=1Nc∑i=1Ncni,(7)\mathcal{D}_{c}=\frac{1}{N_{c}} \sum_{i=1}^{N_{c}} n_{i}, (7)Dc​=Nc​1​∑i=1Nc​​ni​,(7)

其中Iji\mathcal{I}_{j}^{i}Iji​表示类别cic_{i}ci​中的第jjj个身份集合,nin_{i}ni​表示类别cic_{i}ci​中身份的总数。我们通过所有类别中数量最多的身份的平均比例来定义纯净度DPD_{P}DP​,即

Dp=1Nc∑i=1Ncmax⁡j∣Iji∣∣Ci∣,(8)\mathcal{D}_{p}=\frac{1}{N_{c}} \sum_{i=1}^{N_{c}} \frac{\max _{j}\left|\mathcal{I}_{j}^{i}\right|}{\left|\mathcal{C}_{i}\right|},(8)Dp​=Nc​1​∑i=1Nc​​∣Ci​∣maxj​∣Iji​∣​,(8)

其中∣⋅∣\vert\cdot\vert∣⋅∣表示集合中样本的数量。纯净度和混乱度从两个角度反映了一个类别内样本的分布情况,它们相互补充,共同反映了类别的质量。

我们计算了随机采样的纯净度和混乱度,如图2所示。可以看出,随机采样导致许多人的身份样本聚集在一个类别中,并且没有任何一个(身份样本)能够主导该类别的特征表示。

我们计算了随机采样的纯净度和混乱度,如图2所示。可以看出,随机采样使得许多行人身份的样本聚集在一个类别中,且没有任何一个身份的样本能够主导该类别的特征表示,这就导致了如第四节A部分所描述的过拟合恶化的后果。

图2. 在Market-1501数据集上不同采样策略的纯净度和混乱度。它直观地反映了随机采样所导致的过拟合恶化现象,而三元组采样和分组采样能够抑制这一现象。(最佳以彩色查看)。

B. 统计稳定性

在上一部分中,我们解释过,强类别逐渐“吞并”弱类别,以及不良相似性不断累积,将会导致过拟合情况恶化。因此,为了抑制这种现象,有必要在训练过程中保持弱类别的稳定性,使其不易瓦解。我们将这一过程称为统计稳定性维护。

统计稳定性能够确保类内的相似性结构不会遭到严重破坏,同时保持与其他类别之间的一定区分度。只有当各个类别都维持其统计稳定性时,模型才能够不断探索样本之间本质且复杂的相似性,进而有能力从粗略的相似性中分辨出更细微的差异。通过这种方式,模型将学习到足够的类间判别性表示和类内相似性,以满足无监督行人重识别的需求。

C. 对样本进行分组能够实现统计稳定性

1)对样本进行分组是一种有效的方法:在上一部分中,我们解释了随机采样会导致过拟合恶化。其主要原因是单个样本影响了类别的整体趋势。因此,为了防止过拟合恶化情况的出现,有必要减少随机性并削弱单个样本的影响。三元组采样似乎为这个问题提供了一个合理的解决方案。

如第三节B部分第2点所述,三元组采样中有一个重要参数K,即一个小批次中每个人身份对应的样本数量。这种操作使得属于同一类别的一组样本能够同时进行训练,因此强调了该组样本的整体趋势。组内每个样本的随机性及其自身的倾向性被削弱,并且它们不容易从该组中分散出去。第三节C部分中阐述的三元组采样所带来的性能提升表明,它能够缓解训练崩溃的情况,这证实了三元组采样中的分组操作是实现统计稳定性的一种有效方法。

2)三元组采样中的样本数量会影响性能:我们使用不同的K值来训练对比基准模型,结果见表三。可以看出,K是一个至关重要的参数,对性能有着很大的影响。当将K设置为16时,可以获得非常有竞争力的性能。然而,当K大于16时,性能会出现显著下降。

3)验证:为了直观地验证分组操作能够实现统计稳定性这一结论,我们计算了通过三元组采样训练得到的纯净度和混乱度,并且同样选取了参数K的不同取值,如图2所示。

结果表明,通过三元组采样得到的类别的质量始终优于随机采样。也就是说,纯净度更高,混乱度更低。这表明一个类别中的行人身份数量通常较少,并且一个(或几个)行人身份在该类别中占主导地位。因此,该类别能够更好地表示行人身份的特征,并达到抑制过拟合恶化的预期效果。此外,从不同K值的结果可以看出,当性能更高时,纯净度更高,混乱度更低。这证实了当类别抑制过拟合恶化时,行人身份的特征表示会更加准确,从而带来更好的性能。

五、怎样才是更好的采样策略?

A. 三元组采样存在的问题

尽管与对比基准模型中的随机采样相比,三元组采样在性能上有了显著提升,但仍然存在一些问题。

图3.(左):对比基准模型的框架。每个样本的特征被动态存储在记忆库中,并进行聚类以生成伪标签。采样后,样本被输入到模型中进行特征提取,并使用伪标签进行优化。颜色相同的样本属于同一聚类,黑色样本表示离群点。(右):分组大小(N = 2) 的分组采样示意图,它将属于同一类别的样本分组进行训练。更多细节见第五节B部分和算法2。(最佳以彩色查看)。

1)三元组采样并非为分组而设计:尽管三元组采样的(P×K)模式能够对来自同一类别的样本进行分组,但这并非其最初的设计意图。其目的是在每个小批次中采样足够数量的正样本和负样本(即相同类别和不同类别的样本),这是三元组损失函数的结构所要求的。因此,通过三元组采样实现的分组只是对正样本进行采样所附带产生的结果。

2)三元组采样需要在欠采样和过采样之间进行权衡:如第三节B部分所述,三元组采样会为每个类别随机选择固定数量的样本,这可能会导致过采样或欠采样的情况。当出现欠采样时,记忆库中的某些样本特征无法及时更新。过度的欠采样对训练是不利的。当某个类别中的样本数量较少而导致过采样时,该类别的样本权重将会被放大,从而引发样本不均衡的问题。这两种情况都需要进行权衡,以实现理想的性能,这一点在表三中有所体现。当K值相对较小时,许多类别会出现欠采样的情况,进而导致性能不佳。然而,并非K值越大,性能就越好。当K值大于许多类别的样本数量时,过采样会导致样本不均衡,这体现在损失计算以及记忆库中的特征更新上。样本不均衡会增大单个样本的影响,同样会导致性能不尽如人意。

B. 分组采样

1)说明:为了改善三元组采样的这些问题,我们提出了一种更适合对比基准模型的采样策略,称为分组采样。我们首先对类别(C_{i})中的样本进行混洗,以增加随机性,然后在每个(C_{i})中,将每(N)个相邻的样本打包成一组,其中超参数(N)是每组中的样本数量,称为组大小。值得强调的是,当(C_{i})中的样本数量不能被(N)整除或小于(N)时,剩余的样本将直接打包成一组,且不进行重新采样。最后,将所有的组聚集在一起,并对这些组的顺序进行混洗。由于离群点也会显著影响模型训练,我们将离群点集(o)视为一组,并将其与其他组一起混洗。离群点的影响将在第六节E部分的第3点和第4点中进一步分析。算法2描述了分组采样的实现细节,图3展示了(N = 2)时的示意图。

2)性能与分析:我们采用分组采样来训练对比基准模型,其性能表现见表一。与随机采样和三元组采样的对比结果表明,分组操作能够防止训练效果下降,并取得令人满意的性能。此外,结合表三中的结果可以看出,分组采样的表现也优于三元组采样的最佳性能,这表明分组采样能够改善三元组采样的不足之处,并且能更好地适配对比基准模型。

与第四节A部分的第4点类似,我们绘制了分组采样的纯净度和混乱度曲线,如图2所示。可以直观地看到,与随机采样和三元组采样相比,分组采样得到的纯净度更高,混乱度更低。这表明分组采样能够取得最佳性能,因为它在保持每个类别内部统计稳定性的同时,防止了过拟合恶化情况的发生。通过这种方式,各个类别从最初混合的相似性结构中逐渐学习到身份的相似性,最终展现出具有身份独特性的特征表示。

六、实验

A. 数据集与设置

  1. Market-1501:[21] 包含 1501 个行人身份的 32668 张图像,每个行人身份最多由 6 台摄像机拍摄。具体来说,它由 751 个行人身份的 12936 张训练图像以及 750 个行人身份的 19732 张测试图像组成。所有图像均由行人检测器进行了裁剪。
  2. DukeMTMC-reID:[40] 包含 8 台摄像机拍摄的 1404 个行人身份的 36411 张图像。具体而言,它包含 702 个行人身份的 16522 张训练图像、2228 张查询图像以及 702 个行人身份的 17661 张用于测试的图库图像。
  3. MSMT17:[41] 由 15 台摄像机采集的 4101 个行人身份的 126411 张图像组成。这 15 台摄像机包括 12 台室外摄像机和 3 台室内摄像机。具体来说,它包含 1041 个行人身份的 32621 张训练图像、11659 张查询图像以及 82621 张用于测试的图库图像。该数据集存在显著的场景和光照变化,极具挑战性。
  4. 评估指标:参照 [21],采用平均精度均值(mAP)和累积匹配特性(CMC)来评估性能。此外,本文所报告的结果是在单查询设置下得到的,且未应用任何后处理技术。

B. 实现细节

我们采用在 ImageNet [65] 上预训练的 ResNet-50 [50] 作为编码器 (f_{\theta}) 的主干网络。移除池化层 5 之后的后续层,并添加一个一维批归一化层和一个 (L_{2}) 归一化层。使用 DBSCAN [66] 作为伪标签生成器 (G),并且在每个训练周期之前,采用带有 (k) 近邻互易((k)-reciprocal nearest neighbors)的杰卡德距离(Jaccard distance)[67] 进行聚类,其中我们将 (k) 设置为 30。对于 DBSCAN 算法,邻居之间的最大距离设置为 (d = 0.6),并且对于一个核心点的最小邻居数量设置为 4。统一对比损失中的温度参数 (\tau) 设置为 0.05,记忆库中的动量系数设置为 0.2。训练周期数设置为 50,初始学习率设置为 0.00035,并且每 20 个周期后将学习率除以 10。批量大小设置为 64。输入图像调整大小为 256×128。还引入了诸如随机翻转、裁剪和擦除 [68] 等策略。对于 Market1501、DukeMTMC-reID 和 MSMT17 数据集,分组大小 (N) 分别设置为 256、128 和 1024。关于分组大小 (N) 的更多消融研究将在第六节 E 部分的第 1 点中进行讨论。

对于Market-1501和DukeMTMC-reID数据集,使用单块GTX 2080TI GPU进行训练大约需要2个小时。对于MSMT17数据集,由于其数据量较大,我们使用4块GPU进行训练,总训练时间约为5小时。此外,我们为该数据集调整了一些超参数以获得更好的性能。具体来说,初始学习率设置为0.00005,批量大小设置为256,并且记忆库中的动量系数设置为0.1。

C. 分析

在第四节和第五节中,我们描述了由随机采样导致的特征表示恶化问题、三元组采样和分组采样的统计稳定性,以及三元组采样存在的缺点。在本节中,我们将从平均精度均值(mAP)得分、聚类数量、归一化互信息(NMI)得分、类内和类间方差、校正率以及误导率等方面,进一步分析和比较这三种采样策略的性能,如图4所示。所有实验均在Market-1501数据集上,采用无监督行人重识别设置进行。

1)聚类数量和归一化互信息(NMI)得分:通过聚类生成的聚类数量和NMI得分可以直观地反映伪标签的质量,如图4(b)和4(c)所示。可以看出,随机采样导致聚类数量和NMI得分急剧下降。图4(b)表明,随机采样产生的聚类数量较少,这意味着样本被归为大规模的聚类,在这些聚类中,样本成分更加混杂。NMI得分进一步表明,由随机采样生成的伪标签的可靠性非常低。相比之下,三元组采样和分组采样生成的聚类数量更接近真实的身份数量,并且获得了更高的NMI得分。我们的分组采样得到的NMI得分最高,最大值为0.95,这表明聚类结果更可靠,伪标签生成的质量更高,也直观地反映了分组采样性能最佳的原因。

2)类内和类间方差:通过计算类别内样本的类内方差以及类别之间的类间方差,来定量分析样本在特征空间中的聚集程度和分散程度。图4(d)展示了训练过程中类内和类间方差的曲线。可以看出,随着训练的进行,类内方差不断减小,而类间方差不断增大。这表明,在特征空间中,样本从最初相对分散的状态逐渐被归为紧凑的聚类,并且聚类之间的距离在不断增大。

然而,这三种采样策略产生了略有不同的方差曲线。随机采样使得每个聚类中的样本更为紧密,而不同聚类之间的分散程度更高,这就导致具有相同真实标签的样本被分散开来,因此一旦它们被误分类,就失去了被纠正的机会。相比之下,三元组采样和分组采样使得聚类内部更为松散,且彼此之间的距离更近,从而实现了相对较“软”的边界。被赋予错误伪标签的样本有更多机会脱离错误的类别,并被正确分类到相应类别中。通过这种方式,伪标签的可靠性得到了提高,进而模型的表征能力也得以迭代提升。这证实了我们之前的阐述,即分组操作是抑制性能恶化的一种有效方式。

图4. 随机采样、三元组采样和分组采样之间的比较与分析。结果证实,随机采样会导致低质量的伪标签以及类别特征的恶化。相比之下,分组采样保持了类别内部的统计稳定性,从而产生了更纯净的类别和更高质量的伪标签。(最佳以彩色查看)。

3)校正率和误导率:在这一部分,我们定义了校正率和误导率,以进一步分析三种采样策略之间的差异。我们找到每个类别(C_{i})中占比最大的身份集合(I_{i}^{i}),如公式(8) 所示,其中(j^{})表示该类别的主要身份。我们主观地将样本的身份(j)与该类别的主要身份(j^{})一致的样本定义为被正确分类的样本。我们比较相邻两个训练周期中样本的分类结果。如果上一个周期中被错误分类的样本在本周期中被正确分类了,我们称之为“校正”。相反,如果上一个周期中被正确分类的样本在本周期中被错误分类了,我们称之为“误导”。

校正率和误导率曲线如图4(e)和4(f)所示。结果表明,随机采样导致在训练过程中校正率一直很低,这使得样本最初的错误分类几乎无法得到纠正。同时,在训练的早期阶段,误导率相对较高,这导致越来越多的错误不断累积。这使得类别的整体语义信息发生偏离,并导致过拟合情况恶化。这一现象证实了第四节A部分中的描述。在训练后期误导率下降,是因为一个类别的整体结构已经形成,并且类别之间的样本交互很少。相比之下,三元组采样的校正率略高于随机采样,而分组采样的校正率最高。较高的校正率表明,最初被错误分类的样本有更多机会得到纠正,这有助于逐步提高伪标签的质量。同时,分组采样的误导率一直处于较低的范围,这抑制了类别语义信息的退化。

D. 可视化分析

我们随机选取了四个行人身份,并对训练过程中样本在特征空间中的分布情况进行了可视化,如图5所示。对于随机采样而言,这四个行人身份的样本被划分成了许多聚类,并且每个聚类中都包含多个行人身份的样本。值得注意的是,随机采样所产生的聚类数量比分组采样所观察到的要多,这似乎与第六节C部分第1点中的统计结果相矛盾,该结果表明随机采样产生的聚类数量更少。这是因为每个行人身份的样本都分散在许多类别中,如图2所示,并且每个聚类中都有许多其他行人身份的样本,而这些样本在图中并未绘制出来。

相比之下,很明显分组采样能够区分具有不同行人身份的样本,并且具有相同行人身份的样本能够被正确地聚类在一起。尽管一些具有不同行人身份的样本(红色和蓝色的点)被划分到了同一个聚类中,但它们并没有完全混合在一起,这表明它们的特征仍然是清晰可辨的。同样重要的是要注意到,所有这三个聚类中都只包含图中所示的样本,没有其他行人身份的样本。

图5. 训练过程中样本在特征空间中分布情况的T-SNE可视化结果。相同颜色的样本属于同一行人身份。虚线圆圈表示聚类,未被归入聚类的样本为离群点。该图直观地表明,与随机采样相比,分组采样成功地将具有相同行人身份的样本聚集在一起,这意味着它有助于增强特征表示能力。(最佳以彩色查看)。

可视化结果进一步证实,分组采样能够防止具有相同真实身份的样本被误分到不同的类别中,同时避免了过拟合情况的恶化。与此同时,在训练过程中,身份相似性结构未被破坏,这有助于模型逐步学习每个身份的特征,从而验证了第四节B部分中所描述的统计稳定性的重要性。

评论
0/100