Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification

1. 整体摘要

1.1 背景

行人重识别主要就是通过在不同的摄像头捕捉到的行人中,检索目标行人。无监督行人重识别分为两类,无监督域适应行人重识别和完全无监督行人重识别。目前完全无监督行人重识别就是通过聚类得到数据的伪标签,之后应用对比学习,这种方法比较依赖于特征表示学习。比较先进的方法有使用memory bank用于存储所有样例(instance-level)的特征,认为每一个样本就是一个类并通过匹配利用不同数据扩充方法扩充的图像学习特征,但是这种方法忽略了在ReID数据集中每一个类中不止一个正样本数据并且每个类的更新进度不一致。之后有人提出cluster contrastive learning,在cluster-level上应用对比学习,但没有考虑hard samples在instance-level中的关系。

1.2 问题

不管是instance-level还是cluster-level,这两种方式通常采用的是基于mini-batch的损失计算,这种损失计算只利用了一小部分数据,并且这部分数据没有包括所有类别的信息,也就是没有充分利用hard samples的信息。

1.3 提出方案

为了学习特征表示学习,以及为了充分利用hard samples的信息,本文引入了一个新的hard samples挖掘策略并提出了一个简单但有效的基于hard samples混合对比学习方法

  1. instance-level和cluster-level两种方法都存在一定的缺陷,所以本文提出了一个混合对比学习框架,这个框架结合了instance-level和cluster-level

  2. 为了充分利用hard samples的信息,本文基于instance-level提出了一个hard instance挖掘策略,学习区分容易混淆的样本

2. 模型方法

提出的模型框架图主要包括两部分,一个基于cluster-level的对比损失计算和一个基于hard samlpes的instance-level损失计算,模型结构图如下所示:

Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification_第1张图片 

2.1.1 Hybrid contrastive learning

文中对比了几种基于memory bank的非参数损失函数:

  1. SSL:在instance-level计算损失和更新memory bank

  2. SPCL:在cluster-level上计算损失,但在instance-level上更新memory bank。这种基于instance-level上更新memory bank的方法,因为每个类的数据数量是不一样的,进行更新时,就存在更新进度不一致问题。

  3. ClusterNCE:在cluster-level上计算损失和更新memory bank。这种方法虽然需要额外空间存储cluster-size的特征,但是这种单个特征向量并不能很好的表示类特征。

 基于cluster-level的更新方法,如果使用一个类所有样本的特征之和平均化作为类特征,这种方法可能会丢失一些类内相似性;如果使用类内中任意一个样本作为类特征,这种方法可能因为伪标签噪声问题引入一直偏置。所以本文就提出一种融合了instance-level和cluster-level的损失计算方法,损失的计算公式如下所示:

 

1)cluster centroid contrastive loss

使用cluster-level更新memory bank时,不管每个类的数据量大小,更新时都是以类为单位,都是1,这样保证了更新进度的一致性。使用InfoNCE loss计算cluster-level对比损失,计算公式如下:

其中,C表示每个training epoch中的类的个数,τc 是一个温度超参数,q表示query的特征表示,c^+表示正样本的特征表示,c^i表示类别i的特征表示。

在计算了损失之后,对cluster-level的memory bank进行更新,更新的方式是根据另一篇论文中提出的momentum updating strategy。Mcls更新的计算方式如下:

 

2)memory based hard mining scheme

为了更加容易区别易混淆样本以及探索类间数据的关系,提出了基于memory bank的hard samples mining strategy。不同于传统的使用hard triplet loss方式(这种方法在mini-batch中,计算类内距离最近的正样本与类间距离最远的负样本之间的距离),本文中提出的方式是基于所有的数据和包括了c-1个类的负样本数据,并且hard mining方法考虑了样本与其他类之间的关系。

hard mining方法中,对于同一个样本而言,可以构建C个样本对,其中包括了一个正样本对和C-1个hard样本对,这种方法构建的损失计算方法入下:

 

hard sample,表示在同一个类中,相似性距离最大的样本。z_{\text {hard }}^{+}表示与q属于同一个类中,具有最小相似度距离最小的样本的特征表示,即hard positive instance feature;z_{\text {hard }}^{i}表示类别i中,hard sample的特征表示。

4. 总结

本文的创新点在于,提出instance-level和cluster-level的memory bank各有缺陷,基于此提出将两种level进行融合,即提出了hybrid contrast learning。同时考虑了hard smples,使用hard samples对instance-level的memory bank进行更新,hard samples信息在以往的研究都忽略了,但这部分信息呢对区别易混淆数据又十分重要。

不足:根据2022年的两篇文章:1)Hybrid Contrastive Learning with Cluster Ensemble for unsupervised person Re-identification;2)Fully Unsupervised Person Re-Identification via Selective Contrastive Learning,可以知道这篇文章的不足之处

你可能感兴趣的:(python,深度学习,计算机视觉)