ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification

动机:

对于跨数据集的re-id问题来说,最大的障碍就是不同数据集分布不同的这个gap,而解决这个问题最直接的办法就是将Source Domain的数据分布强行拉成Target Domain的分布,而这个最容易想到的办法就是GAN。这篇文章的通过GAN,改变Source Domain数据的环境背景,去接近Target Domain。

创新:

这里可能有人会想到,为什么不直接提取Source Domain的前景和Target Domain的背景再去融合。当然,让Source Domain数据看起来像Target Domain绝对没有那么简单,这牵扯到光照,摄像机角度等很多因素,这里可以理解为,把Source Domain中的人“拿”出来,放到Target Domain的环境里。
所以可以画个图:
ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification

  • 这就是一个基本的框架了,而camera style adaptation for person re-identification就是采用的这种思路,但是有个问题,看过那篇文章的人都知道,通过Cyclegan,生成的跨域样本,结果只能骗过计算机。因为生成的样本只是颜色、亮度发生了改变,很难看到样本的cam信息发生了变化。所以,需要人为引导计算机去对目标真正的迁移,我认为也是题目中Instance-Guided的意义所在。
  • 那么重点来了,如何引导呢?作者在文章里介绍了之前GAN的几篇类似文章,即通过attention的思想,对目标区域加强,而弱化非目标区域对目标区域的影响,之后得到不同区域的mask再合并得到最终的样本。借鉴这样的思路,我们可以看看流程图。
    ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification
  • 通过目标图像XTX_{T}结合目标图像maskMTM_{T},源图像XSX_{S}得到RGB的迁移图像XRX_{R}和权重图XCX_{C},之后通过XRX_{R}XCX_{C}XSX_{S}的组合得到最后的生成图像XGX_{G}
  • 这里作者没有介绍XRX_{R}XCX_{C},我查阅了作者提及的GANimation文章后对这个大致了解。XRX_{R}为RGB掩模,XCX_{C}为注意力掩模,而这也是这种GAN的标准构造,有兴趣可以深入这个网络看看。
  • 关于GAN的损失函数作者除了常见的对抗性损失,又加入了关于背景,视角以及身份的验证。
    ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification
  • 关于整个算法流程作者也给出了解释:主要分为 1 训练判别器 2训练图像生成器 3生成新样本ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification

实验:

ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification
实验效果还是非常好的。
ICCV2019-行人重识别-Instance-Guided Context Rendering for Cross-Domain Person Re-Identification
对比了各个损失函数的贡献