FD-GAN: Pose-guided Feature Distilling GAN forRobust Person Re-identification(NIPS 2018)

FD-GAN: Pose-guided Feature Distilling GAN forRobust Person Re-identification(NIPS 2018)

设计了特征提取生成对抗网络(FD-GAN)用于学习与身份相关姿势无关的表示,即在设计网络使得在行人重识别的时候不去考虑姿势。

Introduction

行人重识别(reID)目的是在多个摄像机上匹配具有相同身份的行人图像。姿势变化,模糊和遮挡是行人重识别的一个重大挑战。有使用GAN进行行人重识别算法的研究。zheng 等人提出半监督结构,利用标记平滑正则化生成图像,用于异常值正则化。PTGAN被提出用于弥补不同数据集之间的域差距。GAN还能用于表示学习。

提出的FD-GAN(特征提炼生成对抗网络)尝试在姿势发生变化的同时保持身份信息的一致性。

图1

特征学习过程中应用连体结构,每个分支都包含一个编码器和图像生成器,图像编码器嵌入了输入图像中的人的特征。图像生成器通过编码生成以姿势信息和输入人物特征为条件的新的图像。框架中继承了多个鉴别器,用于区分两个分支生成的图像之间的分支间和分支内的关系。

所提出的身份鉴别器,姿势鉴别器和验证分类器以及重建损失和新颖的相同姿势损失共同规范了用于实现健壮的人reID的特征学习过程。

总的贡献:

  1. 提出新的FD-GAN,用于姿势发生变化的行人重识别。在推理期间不在需要额外的辅助姿势信息或增加计算复杂度。
  2. 人图像生成作为辅助任务,但是仍然生成了质量比较好的图像。

Feature Distilling Generative Adversarial Network

特征提取生成性对抗网络(FDGAN)旨在学习和身份相关,姿势无关的任务表示。

方法总体框架如下所示:

![
图2

所提出的FD-GAN采用了暹罗结构(连体结构),包括图像编码器E,图像生成器G,身份验证分类器V和两个鉴别器(身份鉴别器和姿势鉴别器)。网络的每个分支将人的图像和生成图像的姿势标记图作为输入。图像编码器首先将每个分支的输入的任务图像转换为特征表示,身份验证分类器用于监督行人reID的特征学习。图像生成器G通过给定输出图像姿势和输入图像生成使得学习特征鲁棒并且和姿势无关的图像。身份鉴别器和姿势鉴别器用于规范图像生成过程,促进生成器生成图像。这两个判别器都是条件判别器,用于根据输入标识符姿势对输入图像是真是假进行分类。同时鼓励图像生成器和图像编码器共同用伪造的图像欺骗鉴别器。还增加了同一个人的不同图像生成姿势应当一致的损失(图中的Same-pose loss)。整个框架是端到端的方式进行训练。在推断阶段,仅使用了图像编码器没有使用辅助姿势信息。

图3

以上所提到的结构如上图所示。

Image encoder and image generator

图像编码器和图像生成器的结构如上图中a所示,给定一个输入图像,图像编码器利用ResNet-50将其输入图像编码为2048维的特征向量。图像生成器将编码的人物特征和目标姿势图作为输入,旨在生成目标姿势指定的同一人的另一幅图像。然后将视觉特征,目标姿势特征和标准高斯分布采样的附加的256维噪声矢量连接并输入到一系列采样快中输出生成的人图像。

Identity verification classifier

给定来自图像编码器的两个输入图像,身份验证分类器V确定两个图像是不是同一个人。结构如上图中b所示。分类器使用二进制交叉熵损失训练。表示sigmoid函数输出的可信度分数。该部分损失函数为:

其中的是置信度标签。

Image generation with identity and pose discriminators

使用生成对抗网络规范图像编码器E,使他只学习身份相关的信息。

Identity discriminator

区分生成的图像和同一分支输入人的图像是不是属于同一个人。身份鉴别器网络和上面的身份验证分类网络是相同的。但是不和图像编码器E共享权重。

\mathcal { L } _{ i d } = \max_ { D _{ i d } } \sum_ { k = 1 } ^ { 2 } \left( \mathbb { E }_ { y _{ k } ^ { \prime } \in \mathcal { Y } } \left[ \log D_ { i d } \left( x_{ k } , y_{ k } ^ { \prime } \right) \right] + \mathbb { E }_ { y _{ k } \in \mathcal { Z } } \left[ \log \left( 1 - D_ { i d } \left( x _{ k } , y_ { k } \right) \right) \right] \right)

Pose discriminator

区分生成图片和目标姿态是否匹配。如图中d所示,使用了PatchGAN的结构。对抗损失如下:

\mathcal { L } _{ p d } = \max_ { D _{ p d } } \sum_ { k = 1 } ^ { 2 } \left( \mathbb { E } _{ y_ { k } ^ { \prime } \in \mathcal { Y } } \left[ \log D _{ p d } \left( \left[ p , y_ { k } ^ { \prime } \right] \right) \right] + \mathbb { E } _{ y_ { k } \in \mathcal { Z } } \left[ \log \left( 1 - D _{ p d } \left( \left[ p , y_ { k } \right] \right) \right) \right] \right)

实验中观察到,姿态判别器会出现过拟合姿态信息,它会记住特定姿态和行人外观之间的相似性,因此提出了在线姿势图增强方案,在训练期间,对于每个姿势界标,其在一些特定范围内的随机高斯带宽获得其1通道高斯类热图。

Reconstruction loss

单独的鉴别器不能保证产生人类能看懂的图像,因此引入重建损失,最小化生成图像和对应的真实图像之间的差距。

其中是图像的像素值。当没有对应的真实图像的时候,不适用这个损失。

Same-pose loss

输入同一个人的两张不同的图像应该会得到近似相同的外观。因此引入这个相同的姿势损失最小化同一个人的两个生成图像和目标姿势之间的差异。这也鼓励了两个输入图像中的学习视觉特征仅仅和身份相关,忽略其他因素。

Over all training objective

\mathcal { L } = \mathcal { L } _ { v } + \lambda _ { i d } \mathcal { L } _ { i d } + \lambda _ { p d } \mathcal { L } _ { p d } + \lambda _ { r } \mathcal { L } _ { r } + \lambda _ { s p } \mathcal { L } _ { s p }

Trianing scheme

共分为三个阶段。第一阶段预训练编码器E和身份验证分类器V。预训练的权重用于初始化第二阶段中的E,V和身份鉴别器。第二阶段固定E和V,训练G,。第三阶段将整个网络以端到端的方式微调。

你可能感兴趣的:(FD-GAN: Pose-guided Feature Distilling GAN forRobust Person Re-identification(NIPS 2018))