2019 CVPR(oral)之ReID:Joint Discriminative and Generative Learning for Person Re-identification

34 篇文章 2 订阅
13 篇文章 0 订阅

Joint Discriminative and Generative Learning for Person Re-identification
这篇文章的思路和2017 NIPS之GAN(image transfer):Unsupervised Image-to-Image Translation Networks思路相近,甚至源码都是相近的。
本文源码:https://github.com/NVlabs/DG-Net
17NIPS源码:https://github.com/mingyuliutw/unit
个人推荐CSDN博主,有本文的代码详解和论文翻译:https://blog.csdn.net/weixin_43013761/article/details/102364512
当前的问题及概述
目前,ReID任务通过GAN网络训练越来越热门,然而,现有方法中的G途径与D再识别学习阶段相对独立。因此,reid模型通常直接对生成的数据进行训练。
本文提出了一个联合学习框架,将ReID任务和端到端的图像生成结合起来。提出的模型包括一个生成模块,它将每个人分别编码为一个外观码和一个结构码,以及一个判别模块,它与生成模块共享外观编码器。生成模块通过切换外观码或结构码,其中,appearance code(外观= [身份信息]+ [衣服+鞋子+手机+包包等] 编码)与structure code(姿态+头发+脸型+背景 编码),可以从下图看到,交换他们的st code与ap code。对于ap 编码器,其与discriminative(行人ID鉴别)模型是共用的,也就是说ap 编码器同与行人重识别是同一个模块:
在这里插入图片描述
模型及loss
在这里插入图片描述
本文提出的DG-Net。(a)我通过共享外观编码器Ea嵌入到生成模块中。虚线黑线表示将结构编码器Es的输入图像转换为灰色。红线表示生成的图像在线反馈给Ea。生成模块有两个目标:(b)通过相同的输入ID生成自我身份,©通过不同的输入ID生成交叉身份。(d)为了更好地利用生成的数据,本文主要进行特征学习和细粒度特征学习。
2.1Generative Module
G模块包含了an appearance encoder Ea : xi → ai, a structure encoder Es : xj → sj, a decoder G : (ai, sj) → xij(生成图像,使用上标表示提供外观码的真实图像,下标表示提供结构码的真实图像,而真实图像只有下标)三部分,其中包含两个目标:Self-identity generation和Cross-identity generation.:
2.1.1Self-identity generation:
如图2(b),给一个输入图,经过此网络首先需要重建生成与输入图一样的图,通过l1 loss学习:
在这里插入图片描述
假设同一个人在不同图像中的外观码是相近的基础上,进一步提出了同一身份的任意两个图像之间的另一个重构任务:
在这里插入图片描述
再通过CE loss来区分不同的身份:
在这里插入图片描述
2.1.2Cross-identity generation
如图2©,输入两个不同ID的图像xi和xj,生成的图像xi j = G(ai, sj)分别保留来自xi的外观码ai和来自xj的结构码sj的信息。重建loss:
在这里插入图片描述
通过CE loss保持身份一致性:
在这里插入图片描述
通过对抗loss匹配生成的图像和ground-truth之间的分布:
在这里插入图片描述
2.2Discriminative Module:
如图2(d)所示,本文的D模块嵌入到G模块中,共享外观编码器作为backbone。根据外观码和结构码转换产生的图像,提出了特征学习(Primary feature learning)和细粒度特征挖掘方法(Fine-grained feature mining),以更好地利用在线生成的即时信息。
2.2.1Primary feature learning:
通过教师模型给xij分配一个软标签,同时为了训练用于主特征学习的判别模块,我们将判别模块预测的概率分布p(xi j)与老师预测的概率分布q(xi j)之间的KL差异最小化:
在这里插入图片描述
2.2.2Fine-grained feature mining:
如图1的每一列所示,生成同一个人的不同衣服的变化。当对以这种方式组织的图像进行培训时,D模块被迫学习与服装无关的细粒度ID相关属性(如头发、帽子、包、身体大小等)。把由一个结构码和不同外观码组合而成的图像视为提供结构代码的真实图像的同一类。为了训练用于细粒度特征挖掘的D模块,使用ID loss进行分类:
在这里插入图片描述
2.3overall:
总loss:
在这里插入图片描述

实验
数据集:Market-1501 , DukeMTMC-reID , MSMT17
不同GAN网络生成效果比较:
在这里插入图片描述

双向生成展示:
在这里插入图片描述
不同网络比较:
在这里插入图片描述
消融实验:
在这里插入图片描述
总结
本文的出发点是将输入图像分为外观码和结构码,通过两个不同码的特征信息将某两幅不同图像分别进行GAN网络风格迁移生成图像,从而可以减少图像间特征差异。在G模块,分为类内部分和类间部分,类内部分,首先是将单幅图像的自我重建生成原图来训练编解码器,其次将统一ID图像进行类内重建并通过CE loss区分ID,类间部分,通过提取不同ID的两幅图像的外观码和结构码,分别交叉生成,通过CE loss区分ID,通过对抗loss进行作为目标函数训练匹配图像和Ground-Trurh之间的分布从而训练GAN网络。在D模块,通过计算教师模型对预测的概率分布和教师模型的概率分布之间的KL散度以及通过学习与服饰及颜色无关的ID属性进行细粒度特征挖掘来训练。同时,本文和以往的GAN网络最大的不同之处在于,本文通过在线学习的方式,将ReID任务和端对端的图像生成任务结合起来。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值