跨域行人重识别(REID)Joint Disentangling and Adaptation for Cross-Domain Person Re-Identification 论文阅读与理解

01:介绍该领域
02:宏观介绍本方法
03:介绍本方法的具体实现
04:本方法的实验

01 Introduction

跨域概念介绍:训练集与测试集来源的时间、摄像头位置等具有较大差别,识别目标的所处季节、背景、视角等都发生变化。这就是目标域与源域之间的差距。同时,域内自身会有差距。

解决方法:

  1. 利用GAN完成风格迁移(源域到目标域、目标域内部):从inputl-level(输入级)方,和/或,从feature-level(特征级)方
  2. 在目标域内部无监督或辅助监督:

这些方法背后有一个共同问题:这种适应性通常在特征空间上运行,该特征空间编码 id 相关和 id 无关的因素。因此,id 相关特征的适配不可避免地受到 id 不相关特征的干扰和损害,限制了 UDA 的性能增益。

本论文提出了一种跨域和循环一致的图像生成方法,通过相应的编码器模拟三个潜在空间来分解源图像和目标图像。潜在空间包含捕获 id 相关特征的共享外观空间。
【净化特征空间(编码了身份相关与无关的特征,因此后者将对前者产生影响),前者举例:外观等;后者:姿势、位置、背景等】

解耦问题、域适应问题,共同解决相互促进:

  1. 解耦合导致更好的域适应:可以使后者更专注于 id 有关的特征,减轻 id 无关特征的干扰
  2. 域适应反过来改善解耦合:共享外观编码器在适配期间可以得到增强

02 Related work

文章中详细介绍了其他各类方法,不再展开。

DG-Net++相比之前工作的重要设计:

  1. DG-Net++旨在解决无监督的跨域重 id,而 DG-Net 是在完全监督的设置下开发的。
  2. DG-Net++建立在一个新的跨域循环一致性方案之上,在没有任何目标监督的情况下,将 id相关/不相关因素分离出来。相比之下,DG-Net 采用了通过潜在代码重构的域内解纠缠,并获得了基本的真实身份。
  3. DG-Net++以统一的方式将解耦合与适配无缝融合,使两个模块相互受益,这在 DG-Net 中是没有考虑到的。
  4. 在六个基准对上,DG-Net++在无监督跨域重标识方面显著优于 DG-Net。

03 方法

跨域循环一致性图像生成的示意图
重点:

  1. 将所有特征分为三个空间:Shared appearance space(id相关)、Source structure space与target structure space(均id无关)
  2. 共享外观解码器(shared appearance encoder),将解耦合与域适应相结合
  3. 源域与目标域共享图像和域鉴别器,但有自己的结构编码器和解码器
  4. 虚线表示源/目标结构编码器的输入图像被转换为灰度

图为特征空间的构造:
四个空间的生成模

03.1 解耦合模块

主要功能就是将两个域的图像编码至:id-related(共享外观空间) 与 id-unrelated(源/目标结构空间)。

3.1.1 公式

源域真实图片 X s = x s ( i ) i = 1 N s Xs ={x_{s(i)}}^{N_s}_{i=1} Xs=xs(i)i=1Ns ,图片对应标签为Y【上下标不变】

  • 注:s 表示的是源域, N s N_s Ns 表示源域中的图片编号,标签数量上限为 K s K_s Ks

同样,对目标域也采用类似标记,只将其中的s变为t

共享外观编码器 E a p p : x → v E_{app}: x \rightarrow v Eapp:xv

源结构空间编码器 E s t r s 、 解 码 器 G … E_{str}^{s}、解码器G… EstrsG
目标结构空间编码器、解码器
图片鉴别器(域无关性) D i m g D_{img} Dimg:辨别真实或合成图片
域鉴别器 D d o m D_{dom} Ddom:辨别源或目标空间

  • 对于合成图像,用上标表示提供外观代码的真实图像,用下标表示提供结构代码的真实图像;
  • 对于真实图像,只有下标作为域和图像索引。适应和重新识别使用外观代码进行的;

3.1.2 跨域生成

跨域cycle-consistency来加强外观与结构特征之间的分离
给定一对源图像和目标图像,我们首先交换它们的外观或结构代码来合成新图像。由于合成图像不存在真实监督,我们利用循环一致性自我监督,通过交换从合成图像中提取的外观或结构代码来重建两幅真实图像。
为了保证图像生成器伪造的质量以及提高特征的判别性,作者用循环一致性损失和交叉熵损失来约束:
在这里插入图片描述
外观编码器损失函数:
在这里插入图片描述在这里插入图片描述

图片鉴别器损失函数:
在这里插入图片描述
除了跨域生成之外,解耦合模块还可以灵活地将域内生成合并为进一步稳定、约束域内的解耦合工具。

03.2 域适应模块

专门在id-related的特征空间中进行,探索类内相似性与类间解耦合后的外观差异。

3.2.1 对抗对齐(Adversarial alignment)

为了消除两个域的差异,我们要实现 id-relate 信息也是域无关的,也就是不论是目标域还是源域,对于同一个id的图像,提取的 id-relate 特征应该是相似、对齐的,因此引入了一个domain的判别器 D d o m D_{dom} Ddom,用于区分编码的域成员 v s ( i ) v_{s(i)} vs(i) v t ( i ) v_{t(i)} vt(i)

在对抗训练过程中,共享外观编码器学习 D d o m D_{dom} Ddom不能区分的特征,因此跨域差异将减小。将这一部分对抗对齐的损失表示为:

在这里插入图片描述

3.2.2 自训练

有识别损失的自训练,能逐渐减少类内变化。

通过 E a p p E_{app} Eapp提取的特征进行聚类,预测打上一组伪标签: Y t ^ = { y ^ t ( j ) } \hat{Y_t}=\{\hat{y}_{t(j)}\} Yt^={y^t(j)}【因为是聚类的方法,所以伪标签和其对应的图片数量在训练过程中可能会变化】。本实验选取的聚类方法为DBSCAN,用 K-reciprocal 来衡量点对之间的距离,以迭代的方式进行网络微调,获得的伪标签通过识别损失约束 E a p p E_{app} Eapp

在这里插入图片描述
其中, p ( y ^ t ( j ) ∣ x t ( j ) ) p(\hat{y}_{t(j)}|x_{t(j)}) p(y^t(j)xt(j)) x t ( j ) x_{t(j)} xt(j) 预测在该伪标签下的概率。

同时也利用该伪标签计算合成图像的识别损失,从而保证伪身份一致性:

在这里插入图片描述

03.3 讨论与优化

讨论:两个模块相辅相成【叙述原因略】

优化方法:将上述多方的损失进行综合考虑,得到下面的加权和损失,为实验的优化总目标。
在这里插入图片描述
其中 λ \lambda λ 均表示权重,在实验中 λ c y c = 2 \lambda_{cyc}=2 λcyc=2 λ i d = 0.5 \lambda_{id}=0.5 λid=0.5

先使用解耦合模块在源域进行预热训练 E a p p E_{app} Eapp E s t r s E_{str}^s Estrs E s t r t E_{str}^t Estrt G s G^s Gs D i m g D_{img} Dimg,迭代100K次;再使用域适应模块中的对抗对齐训练整个网络50K次。然后使用自训练,所有组件(编码器、解码器)一起训练,每2个epochs更新一次伪标签。

04 实验

主要讲讲实验中的一些细节,实验结果与其他方法的对比将不再说明。【现在还没有太理解这样做的原因,之后理解了再继续更新】

论文源代码:https://github.com/NVlabs/DG-Net-PP

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值