Towards Discriminative Representation Learning for Unsupervised Person Re-identification论文解读

ICCV 2021
论文地址:https://openaccess.thecvf.com/content/ICCV2021/papers/Isobe_Towards_Discriminative_Representation_Learning_for_Unsupervised_Person_Re-Identification_ICCV_2021_paper.pdf

动机

采用一般的UDA方法:源域预训练+目标域伪标签微调,这种方法有2个缺点:(1)伪标签噪声;(2)两个域的gap。

思路

三种方法:聚类对比学习;步进域适应;傅里叶数据增强

1、聚类对比学习:用到了对比学习算法思路、moco思路(设置一个动态的队列挖掘负样本)、聚类;聚类和对比学习交替进行,从而减少错误噪声伪标签。

2、步进域适应:对两个域联合学习,而不是采用一般UDA方法

3、傅里叶数据增强:在傅里叶空间构建额外的损失
在这里插入图片描述

方法

在这里插入图片描述

Cluster-wise Contrastive Learning

效果:涨6个点

方法:聚类和对比学习交替进行。

个人理解:训练过程中,源域和目标域之间并没有联系。1、对于目标域的一个batch,在student encoder中找聚类得到的正样本,在teacher encoder中找负样本,构建对比学习损失,出发点—teacher学到更好的特征,这是moco的一个创新点,没有仅用某一个encoder的特征去做损失;2、队列中会有之前的feature,动态更新,此外聚类一次整个队列全部换一次,聚类+对比学习的点在这;3、会丢弃正例样本,这是本文创新,因为Moco是通过加很多负样本,从而减小正样本的影响(因为从teacher中认为都是负样本,即使有少量正样本,由于负样本比例大很多,所以不会影响)

1、产生伪标签,构建损失

在这里插入图片描述

**注意:**positive样本是在当前的batch中选,而negative样本是从MMA encoder得到的队列中选,这个队列包含当前和过去batch的样本feature。同时为了防止采样到负样本,会把队列里和anchor同一伪标签的特征丢弃。

和MOCO的区别:

(1)MOCO通过数据增强获得新的正样本,而负样本是非这类图像,即,拉近同一张图的不同数据增强的图像的距离,是实例级别。本文则是基于伪标签提取正负样本,并在队列中丢弃正样本。

个人理解:moco的输入是anchor样本及其数据增强后样本(正例)+一堆负例,目的就是想拉近正例距离,拉远与负例距离。本文两个encoder同时输入目标域,从数据上说,想要拉近的不是某一个id的不同数据增强样本,而实一个id不同视角下的图像;从标签上说,判断是否同一个id是用聚类获得, 而不是gt。

(2)队列会在重新聚类之后全部换一次,因为聚类伪标签每次都不会保持一致,而Moco则仅更新队列,将旧的batch逐步丢弃,加入新的batch。

在这里插入图片描述

Progressive Domain Adaptation

效果:涨8个点

目的:不采用一般UDA思路,当前较流行的是同时输入两个域的图像进行操作,但是本文针对Loss的更新进行了创新,比较巧妙。

方法:输入还是两个域,但是做有监督loss(交叉熵和三元)时,先对源域给大权重,目标域小权重,以梯度方式随着训练次数递减和升高。

在这里插入图片描述

首先,0到e1阶段仅用源域训练,相当于初始化;其次,e1到e2阶段,源域仍然采用两个loss更新,目标域除了那两个loss,还有一个CCL loss(不断找目标域负样本,拉远距离);最后阶段仅训练目标域。

个人启发:换成其他函数形式的更新方式,会不会提高一点?

Fourier Augmentation

提升2个点

目的:对输出特征用傅里叶变换后获得振幅M,可以当作一种非线性变换。本文实验证明它比用一个MLP效果好。

方法:用振幅做交叉熵。因为三元组损失在特征空间和傅里叶空间一样的,所以没有做三元。

总损失以及实验

在这里插入图片描述

Lspa是包含交叉熵和三元损失(目标域基于伪标签计算);Lfre仅包含交叉熵(傅里叶空间)

参数设置:

1、训练次数分段:0-20;20-50;50-80

2、deta=0.1;gamma=0.7(CCL不占大头但很有用,主要还是特征空间的交叉熵和三元)

3、队列长度为1024,对比损失CCL中,tao = 0.07

4、聚类用的DBSCAN

在这里插入图片描述

**注意:**加了星号的表示以MMT的方法为基础做的工作,即加上了soft label 和Mutual learning。(本文结构图的MMA就是一个mean net。)

合成数据集PersonX的跨域效果
在这里插入图片描述

车辆跨域重识别效果

在这里插入图片描述

启发

1、CCL思路:

(1)student-teacher结构,用teacher找负样本,student找正样本,做对比损失。

(2)teacher的特征用队列装起来,从而能保留past negative样本

(3)teacher的队列会丢弃正例样本。(label来自聚类)

2、PDA思路:

适用广,对于输入两个域的特征,在不同epoch中侧重不同的域的损失

3、傅里叶思路:

个人觉得纯属用于提点,换成加一个MLP其实也能涨几个点

强噪声的理想时频表示方法主要是为了在频域和时域上准确地表示出噪声信号。在处理强噪声信号时,我们希望减小噪声对信号的影响,从而更好地分析和提取信号的特征。 首先,为了处理强噪声信号,可以考虑使用适当的滤波方法。例如,我们可以使用带通滤波器来去除噪声信号中的不必要的低频和高频成分,从而保留信号的主要特征。此外,还可以采用自适应滤波器来根据噪声信号的特性自动调整滤波参数,以更好地去除噪声。 其次,为了获得理想的时频表示,可以考虑使用一些先进的时频分析方法,如短时傅里叶变换(STFT)、连续小波变换(CWT)或多尺度分析方法(如小波包变换)。这些方法可以将信号在时域和频域上进行局部化处理,从而更好地反映信号的瞬时特性和频谱特性。 另外,为了进一步减小噪声对时频表示的影响,可以考虑使用一些去噪技术。例如,小波阈值去噪是一种常用的方法,它可以根据信号的小波系数大小来判断是否为噪声,从而去除噪声成分。此外,还可以使用基于机器学习的方法来训练和应用噪声模型,从而更准确地估计和去除噪声。 综上所述,针对强噪声的理想时频表示方法可以包括滤波、时频分析和去噪等步骤。通过有效地组合这些方法,我们可以更准确地分析和提取信号的特征,从而更好地理解和利用强噪声信号。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值