【论文笔记】Person Transfer GAN to Bridge Domain Gap for Person Re-Identification
Person Transfer GAN to Bridge Domain Gap for Person Re-Identification
Person Transfer GAN to Bridge Domain Gap for Person Re-Identification
摘要
虽然行人再识别(ReID)的性能已经得到了显著的提高,但在真实场景中的许多挑战性的问题还没有得到充分的研究。
例如,复杂的场景和灯光变化,视点和姿态的变化,以及摄像机网络中大量的身份。为了促进对征服这些问题的研究,文章贡献了一个新的数据集msmt171,它具有许多重要的特性,例如:
(1)原始视频是由部署在门和外景的15个摄像头网络拍摄的;
2)视频覆盖了很长的时间和呈现复杂的灯光变化;
3)它包含了目前最多的注释标识,4101个身份和126,441个边界框。
除此之外,在不同的数据集上训练和测试时,域差距通常存在于数据集之间,这本质上会导致严重的性能下降。这就意味着可用的训练数据不能有效地用于新的测试领域。
为了减轻注解新训练样本的开销,我们提出了一种逐元转移生成的对抗网络来弥补这一领域的差距。
介绍
论文Introduction部分简要的介绍了行人重识别所面临的的问题以及解决方案(启示:解决了哪方面的问题就介绍哪个方面的问题,不要多BB)。
行人重识别的任务是从摄像头网络收集的大量数据集(gallery set)中找到并返回目标人物(probe person)。虽然现在已经表现很好了,但是还是存在两个问题:
首先,现有的公共数据集不同于在真实场景中收集的数据。例如,当前的数据集要么包含有限数量的身份,要么在受限的环境下使用。
另一个挑战是不同person ReID数据集之间存在领域差距,即在不同person ReID数据集上进行训练和测试会导致性能严重下降。例如,在CUHK03[20]上训练的模型仅达到的Rank-1精度在PRID[10]上测试时为2.0%。(作者认为这种现象的原因有多种:领域差距可能是由许多原因造成的,比如不同的光照条件、分辨率、人类、季节、背景)
论文的贡献总结为三点:
- MSTL数据集 ;
- PTGAN模型;
- 总结了行人重识别的一些问题;
相关工作
相关工作无非是介绍了一下之前别人在哪些方面都做了哪些工作,本文分成了两个部分,第一个部分介绍了一下ReID的相关描述,第二部分是关于GAN网络的相关工作,不再赘述。
MSMT17是一个大型的ReID数据集,现在的一些公开数据集的准确度已经被刷得很高,这个数据集的提出进一步延续了ReID的发展。
MSMT17数据集有以下几个特性:
- 数据采集时长约为180小时
- 总共有15个相机,其中12个室外相机,3个室内相机
- 行人框由Faster RCNN机标完成
- 最后总共有4101个行人的126441个bounding boxes
现在这个数据集已经公开了,在之前的文章中提到的那个整理数据集的链接中就有这个数据集的下载地址,现在网上也应该能下载的到。
下面是该数据集和其他数据集的直观对比:
MSMT17数据集的新特性表现为以下几个方面:
- 更多的身份、边界框和摄像机;
- 复杂的场景和背景;
- 多个时段会导致严重的照明变化;
- 更可靠的检测框;
文章还提供了更为详细的数据对比:
Person Transfer GAN(PTGAN)
Person Transfer GAN (PTGAN)是作者提出的一个针对于ReID问题的GAN。这个GAN最大的特点就是在尽可能保证行人前景不变的前提下实现背景domain的迁移。
文章中提到这种迁移工作并不是说只是把一张图片中的人抠出来放在另一张图片背景里,设计PTGAN执行从a到b的转变满足两个约束:即风格迁移和个人身份保持。
风格装换(style Transfer)的目标是学习不同人员数据集之间的样式映射函数。个人身份保存(person identity keeping)的目的是保证一个人的身份在转移后保持不变。由于一个人的不同转移样本被视为具有相同的人ID,因此对人身份的约束对于人ReID训练来说非常重要。
PTGAN网路的损失函数包括两部分:
L
P
T
G
A
N
=
L
S
t
y
l
e
+
λ
1
L
I
D
L_{PTGAN}=L_{Style}+λ_1L_{ID}
LPTGAN=LStyle+λ1LID
其中
L
S
t
y
l
e
L_{Style}
LStyle代表生成的风格损失,或者说domain损失,就是生成的图像是否像新的数据集风格。
L
I
D
L_{ID}
LID代表生成图像的ID损失,就是生成的图像是否和原始图像是同一个人。
λ
1
λ_1
λ1是平衡两个损失的权重。下面的关键就是看这两个损失怎么定义。
首先PTGAN的基础是CycleGAN,所以loss也和正常的CycleGAN的loss差不错。首先第一部分是 L S t y l e L_{Style} LStyle,这个就是标准的CycleGAN的判别loss
L
S
t
y
l
e
=
L
G
A
N
(
G
,
D
B
,
A
,
B
)
+
L
G
A
N
(
G
‾
,
D
A
,
B
,
A
)
+
λ
2
L
C
y
c
(
G
,
G
‾
)
L_{Style}=L_{GAN}(G,D_B,A,B)+L_{GAN}(\overline{G},D_A,B,A)+λ_2L_{Cyc}(G,\overline{G})
LStyle=LGAN(G,DB,A,B)+LGAN(G,DA,B,A)+λ2LCyc(G,G)
L
G
A
N
L_{GAN}
LGAN表示标准对抗性损失( standard adversarial loss),
L
c
y
c
L_{cyc}
Lcyc表示循环一致性损失(cycle consistency loss)。关于这部分内容,会在Cycle-GAN中介绍。
以上几部分都是正常的CycleGAN的损失,保证生成的图片和期望的数据集的domain是一样的。
论文的另外一个改进的地方就是 L I D L_{ID} LID。为了保证图片迁移过程中前景不变,先用PSPNet对图片进行了一个前景分割,得到一个mask区域。
传统的CycleGAN并不是用于ReID任务,因此也不需要保证前景物体的ID信息不变,这样的结果就是 前景可能模糊之类的质量很差,更糟糕的现象是行人的外观可能改变,比如衣服颜色发生了改变, 这是ReID任务非常不希望见到的。
为了解决这个问题,论文提出 L_{ID}损失,用PSPNet提取的前景,这个前景就是一个mask,最后ID损失为:
L
I
D
=
E
a
∼
p
d
a
t
a
(
a
)
[
∣
∣
(
G
(
a
)
−
a
)
⊙
M
(
a
)
∣
∣
2
]
+
E
b
∼
p
d
a
t
a
(
b
)
[
∣
∣
(
G
¯
¯
¯
¯
(
b
)
−
b
)
⊙
M
(
b
)
∣
∣
2
]
L_{ID}=E_{a∼pdata(a)}[||(G(a)−a)⊙M(a)||_2]+E_{b∼pdata(b)}[||(G¯¯¯¯(b)−b)⊙M(b)|| _2]
LID=Ea∼pdata(a)[∣∣(G(a)−a)⊙M(a)∣∣2]+Eb∼pdata(b)[∣∣(G¯¯¯¯(b)−b)⊙M(b)∣∣2]
其中 M(a)和 M(b)是两个分割出来的前景mask,ID loss将会约束行人前景在迁移过程中尽可能的保持不变。最后转换的效果如下图所示:
可以看出,直观上和传统的CycleGAN相比能够更好的保证行人的ID信息。
实验细节
PTGAN的网络结构与Cycle-GAN中的网络结构相似。对于生成网络,设计了步长为2的卷积、9个残块和两个步长为-1/2条纹卷积。鉴别器网络包括两部分。
PatchGAN作为其中的一个部分。PatchGAN对图像中一个70×70的patch是真的还是假的进行分类。
另一部分,在前景person上计算传输图像和输入图像之间的
L
2
L_{2}
L2距离。
PTGAN采用Adam solver。对于生成器网络,学习率设置为0.0002。鉴频器网络的学习率设为0.0001。最后,训练PTGAN 40个epochs。
总结
这篇论文是使用GAN网络在行人重识别网络的一次尝试,通过设计的PTGAN网络在实现风格迁移的基础上保证了行人ID信息不变。文章提供的数据集也为行人重识别领域添砖加瓦。