摘要:由于不同摄像机内部的重大变化,行人识别(re-id)仍然具有挑战性。最近,人们越来越关注使用生成模型来增强训练数据并增强输入变化的不变性。然而,现有方法中的生成数据流程与辨别性re-id学习阶段保持相对分离。因此,re-id模型通常以直接的方式利用生成的数据训练。在本文中,我们通过更好地利用生成的数据来寻求改进学习的re-id特征。为此,我们提出了一个联合学习框架,它将re-id学习和数据生成端到端地结合在一起。我们的模型涉及一个生成模块,它将每个人分别编码为特征代码和结构代码,以及一个与生成模块共享外观编码器的判别模块。通过切换特征或结构编码,生成模块能够生成高质量的交叉ID组合图像,这些图像在线反馈到特征编码器并用于改进判别模块。提出的联合学习框架在不使用生成数据的情况下显著改善了基准,从而在几个基准数据集上实现了最先进的性能。
1 简介
行人重识别(re-id)旨在建立不同摄像机之间的身份对应。 它通常被认为是度量学习问题[54],其中人们试图从给定查询图像的非重叠相机中检索包含感兴趣的人的图像。 这在某种意义上是具有挑战性的,即由不同相机捕获的图像通常包含由背景,视角,人体姿势等的变化引起的显着的类内变化。因此,设计或学习对于类内变化具有鲁棒性的特征, 一直是行人重识别的主要目标之一。
卷积神经网络(CNNs)最近成为人们重要的选择,因为它们具有强大的表现力和学习不变深度特征的能力。 当前最先进的re-id方法宽泛地将此项工作表达为深度度量学习问题[13,55],或者使用分类损失作为学习深度特征的代理目标[23,39,41,49,54,57]]。 进一步减少类内变化的影响,许多现有方法采用基于部分的匹配或整体来明确地对齐和补偿变化[35,37,47,52,57]。
增强针对输入变化的鲁棒性的另一种可能性是让re-id模型在训练期间潜在地“看到”这些变化(特别是类内变化)。随着生成对抗网络(GANs)的最新进展[11],生成模型已成为免费引入额外增强数据的有吸引力的选择[56]。尽管形式不同,但这些方法背后的一般考虑是“现实主义”:生成的图像应具有良好的品质,以弥合合成场景与真实场景之间的领域差距;和“多样性”:生成的图像应包含足够的多样性,以充分覆盖看不见的变化。在此背景下,一些先前的作品已经探索了无条件的GAN和人类姿势条件的GAN [10,17,27,31,56]来生成行人图像以改善re-ID学习。这些方法背后的一个常见问题是它们的生成流程通常作为独立模型呈现,它们与辨别的re-ID模型相对独立。因此,生成模块的优化目标可能与re-id任务不完全一致,从而限制了生成数据的增益。
鉴于上述观察,我们提出了一个学习框架,在一个称为DG-Net的统一网络中将辨别性和生成性学习联合起来。我们实现这一目标的策略是引入一个生成模块,编码器将每个行人图像分解为两个潜在空间:一个外观空间,主要编码外观和其他身份相关的语义;以及包含几何和位置相关结构信息以及其他附加变化的结构空间。我们将空间中的编码特征称为“编码”。表1总结了由两个潜在空间捕获的属性。外观空间编码器还与判别模块共享,用作re-ID学习基础网络。这种设计造就了一个统一的框架,它包含了生成和判别模块之间的这些相互作用:(1)生成模块产生合成图像,用于在线改进外观编码器; (2)编码器,转换,影响生成模块,改进外观编码; (3)在共享外观编码器的情况下,两个模块共同优化。
我们将图像生成表示为在两个图像之间切换外观或结构编码。 给定具有相同/不同身份的任何成对图像,人们能够通过操纵代码来生成逼真且多样的帧内/交叉ID组合图像。 Market-1501 [53]上的这种组合图像生成的一个例子如图1所示。我们对生成流程的设计不仅导致高保真度生成,而且鉴于现有身份的组合成分,也产生了实质性的多样性。 与无条件GAN [17,56]不同,我们的方法允许更可控的生成好质量的图像。 与姿势引导的代[10,27,31]不同,我们的方法不需要任何额外的辅助数据,而是利用现有的数据集内姿势变化以及除姿势变化外的其他多样性。
这种生成模块设计专门用于我们的判别模块,以更好地利用生成的数据。对于一个行人图像,通过保持其外观代码并结合不同的结构代码,我们可以生成多个图像,这些图像保持衣服和鞋子不变但改变姿势,视角,背景等。如图1的每一行所示,这些图像对应于不同的人穿着同样的衣服。为了更好地捕获这些组合的交叉ID信息,我们通过动态软标签策略引入“主要特征学习”。或者,我们可以保持一个结构代码并结合不同的外观代码来产生各种图像,这些图像保持姿势,背景和一些身份相关的细节但改变衣服和鞋子。如图1的每列所示,这些图像形成了对穿着不同衣服和鞋子的同一个人的有趣模拟。这为进一步挖掘独立于服装的微妙身份属性创造了机会,例如携带,头发,身体大小等。因此,我们提出了互补的“细粒度特征挖掘”来学习其他微妙的身份属性。
据我们所知,这项工作提供了第一个能够端到端地将判别和生成学习整合到一个统一的行人重识别网络中的框架。 宽泛的定性和定量实验表明,我们的图像生成与现有图像生成相比有利,而更重要的是,我们的重新定位精度在几个基准测试中始终优于其他竞争算法。
2 相关工作
行人重识别的大部分研究的重点是度量学习损失。 一些方法将识别损失与验证损失结合起来[48,55],其他方法将三元组损失与困难样本挖掘相结合[6,13,33]。 最近的几项工作采用行人属性来强制执行更多监督并执行多任务学习[26,36,44]。 替代方案利用行人对齐和零件匹配来利用人体结构。 常见的做法之一是水平分割输入图像或特征图以利用局部空间线索[23,39,50]。 以类似的方式,将姿势估计结合到学习局部特征中[35,37,47,52,57]。 除了姿势之外,在[19]中使用人工解析来增强空间匹配。 相比之下,我们的DG-Net仅依赖于reid学习的简单识别丢失,并且不需要额外的辅助信息,例如用于图像生成的姿势或人工解析。
另一个活跃的研究方向是利用GAN来增加训练数据。在[56],郑等人首先介绍使用无条件GAN从随机向量生成图像。黄等人使用WGAN [1]继续这个方向,并为生成的图像分配伪标签[17]。李等人建议在重新识别模型和GAN鉴别器之间共享权重[25]。另外,一些最近的方法利用姿势估计来进行姿势条件图像生成。在[28]中基于姿势开发了两阶段生成流水线以细化生成的图像。类似地,在[10,27,31]中也使用姿势来生成不同姿势的行人的图像,以使学习的特征对于姿势变化更加鲁棒。 Siarohin等通过使用最近邻丢失来代替传统的“1”或“2”损失[34],实现更好的姿态条件图像生成。所有方法都将图像生成和重新学习设置为两个脱节步骤,而我们的DG-Net端到端将两个任务集成到一个统一的网络中。
同时,最近的一些研究还利用合成数据进行行人图像的样式转换,以补偿源域和目标域之间的差异。 CycleGAN [61]应用于[9,60],以将行人图像样式从一个数据集传输到另一个数据集。 在[59]中使用StarGAN [7]来生成具有不同相机样式的行人图像。 Bak等 [3]采用游戏引擎使用各种照明条件渲染行人。 魏等人[46]采用语义分割来提取辅助风格转移中的前景蒙版。 与全球风格转移相比,我们的目标是操纵外观和结构细节,以促进更强大的重新学习。
3 方法
如图2所示,DG-Net将用于图像生成的生成模块与用于re-id学习的判别模块紧密耦合。 我们引入了两个图像映射:同一身份生成和跨身份生成,以合成高质量的图像,这些图像在线用于re-id学习。 我们的判别模块涉及主要特征学习和细粒度特征挖掘,它们使用生成模块进行编码以更好地利用生成的数据。
3.1 生成器模块
公式:我们将真实图片和身份标签用其中N是图片额数量。yi属于{1, K},其中K表示数据集中类别或ID的数量。给定训练集中的两张真实图片xi和xj,生成器通过通过交换两个图像的外观或结构编码生成一张新的行人图片。如图二所示,生成器由外观编码器 Ea:xi --> ai,结构编码器 Es:xj --> sj,解码器 G:(ai,sj) --> xij, 和区分真实图像和生成图像的一个辨别器D组成。当i==j时,生成器可以被看做自动编码器,如xii约等于xi。注意:对于生成的图像,我们使用上标来表示提供外观代码和下标指示提供结构代码的真实图像,而实际图像仅具有下标作为图像索引。与外观编码ai相比,结构编码sj保持更多的空间分辨率以保持几何和位置属性。 然而,这可能导致G的简单解决方案仅使用sj而忽略图像生成中的ai,因为解码器倾向于依赖具有更多空间信息的特征。 在实践中,我们将Es的输入图像转换为灰度以驱动G利用ai和sj。 我们强制执行生成模块的两个目标:(1)同一性生成以规范生成器;(2)交叉身份生成,使生成的图像可控并匹配实际数据分布。
同身份产生:正如图2(b)展示,给一张图像xi,生成器首先学习如何重构xi, 这种简单的自我重建任务是整个生成器的重要正规化步骤。通过使用像素值L1损失重构图像:
基于不同图像中同一人的外观编码接近的假设,我们进一步提出了同一身份的任意两个图像之间的另一个重建任务。换句话说,生成器应该能够重建xi通过具有相同身份yi = yt的图像xt :
这种相同的身份但是跨图像重建损失促使外观编码器将相同身份的外观编码拉到一起,从而减少了类内特征变化。 同时,为了强制不同图像的外观编码分开,我们使用识别损失来区分不同的身份:
其中p(yi | xi)是xi基于其外观编码属于真实类yi的预测概率。
跨身份产生:与使用相同身份的图像重构的自我身份生成不同,跨身份生成侧重于具有不同身份的图像生成。 在这种情况下,没有像素级真实标签监督。 相反,我们引入基于外观和结构编码的潜在编码重构来控制这种图像生成。如图2(c)所示,给定两个不同身份yi不等于yj的图像xi和xj ,生成的图像xij = G(ai,sj)需要保留来自xi外观编码和来自于xj的结构编码sj信息。 然后,我们应该能够在对生成的图像进行编码后重构两个潜在编码:
类似于同一ID生成,我们还基于其外观编码对生成的图像强制执行识别损失,以保持身份一致性:
其中p(yi | xij)是xij属于xi的属于真实类别yi的预测概率,即在生成xij时提供外观编码的图像。 此外,我们采用对抗性损失来将生成的图像分布与实际数据分布相匹配:
讨论:通过使用所提出的生成机制,我们使生成模块能够以明确和互补的含义学习外观和结构编码,并基于潜在编码生成高质量的行人图像。 这在很大程度上减轻了生成的复杂性 。相比之下,先前的方法[10,17,27,31,56]必须从随机噪声或仅管理姿势因子来学习图像生成,这难以操纵输出并且不可避免地引入伪像。 此外,由于使用潜在编码,我们生成的图像中的变体可以解释并限制在真实图像的现有内容中,这也确保了生成的真实性。 理论上,我们可以通过对各种图像对进行采样来生成O(N×N)个不同的图像,从而产生比在[17,11,56]中离线生成的O(2×N)图像的在线生成的训练样本池大得多的训练样本池。
3.2 辨别模块
我们的判别模块通过共享外观编码器作为re-id学习的主干而嵌入在生成模块中。 根据通过切换外观或结构编码生成的图像,我们提出主要特征学习和细粒度特征挖掘,以更好地利用在线生成的图像。 由于这两个任务关注于生成图像的不同方面,因此我们在外观编码器的顶部为两种类型的特征学习分支出两个轻量级头,如图2(d)所示。
主要特征学习:类似于现有工作,可以将生成的图像视为训练样本[17,13,56]。 但是交叉id组合图像的类间变化促使我们采用具有动态软标签的teacher-student型监督。 我们使用teacher模型为xij动态分配软标签,具体取决于xi和xj的复合外观和结构。 teacher模型只是在原始训练集上利用分类损失训练的基线CNN。 为了训练主要特征学习的判别模块,我们最小化由判别模块预测的概率分布p(xij)与teacher模型预测的概率分布q(xij)之间的KL差异:
其中K是ID的数量。 与固定的one-hot标签[31,62]或静态平滑标签[56]相比,这种动态软标签在我们的情况下更适合,因为每个合成图像由来自两个真实图像的视觉内容形成。 在实验中,我们表明作为teacher模型的简单基线CNN可靠地提供动态标签并提高性能。
细粒度特征挖掘:除了直接使用生成的数据来学习主要特征之外,我们特定的生成流程可以实现的一个有趣的替代方案是模拟同一个人的服装变化,如图1中的每一列所示。 以这种方式,判别模块被迫学习与服装无关的细粒度的id相关属性(例如头发,帽子,包,身体尺寸等)。 我们将由一个结构编码生成的图像与不同的外观编码组合在一起作为与提供结构编码的真实图像相同的类。 为了训练用于细粒度特征挖掘的判别模块,我们对此特定分类强制执行分类损失:
这种损失以多任务方式对判别模块施加额外的身份监督。 此外,与以前使用手动标记的行人属性[26,36,44]的工作不同,我们的方法通过利用合成图像来执行自动细粒度属性挖掘。 此外,与在[13,33]中应用的硬抽样方法相比,没有必要明确地搜索具有细粒度细节的硬训练样本,因为我们的判别模块通过这种细粒度特征挖掘学会了关注细微的身份属性。
讨论:我们认为,我们的高质量合成图像在本质上可以被视为“内部”(与“异常值”相反),因为我们生成的图像保留并重新组合来自真实数据的视觉内容。 通过上述两个特征学习任务,我们的判别模块根据我们操作外观和结构编码的方式,特定地使用生成的数据。 我们不是像几乎所有以前的方法一样使用单一监督[17,31,56],而是通过主要特征学习和细粒度特征挖掘以两种不同的视角处理生成的图像,前者侧重于结构不变性 服装信息和后者关注外观不变的结构线索。
3.3 优化
我们联合训练外观和结构编码器,解码器和鉴别器以优化总目标,这是以下损失的加权和:
由于交叉id生成的图像的质量在开始时并不好,因此识别损失Lcid可能使训练不稳定,因此我们设置小权重λid= 0.5。 我们在整个训练过程中在所有实验中确定两个权重。 在生成质量稳定之前,我们不涉及判别特征学习损失Lprim和Lfine。 例如,我们在Market-1501上进行30K迭代后添加两个损失,然后在4K迭代中将λprim从0线性增加到2并设置λfine=0.2λprim。 请参阅第4.3节中有关如何确定权重的更多详细信息。 类似于GAN的替代更新策略,在如图2(a)所示的交叉身份生成中,我们交替地在生成的图像之前训练Ea,Es和G以及在生成的图像之后训练Ea,Es和D。
4 实验
我们根据三个基准数据集的标准协议评估提出的方法:Market-1501 [53],DukeMTMC-reID [32,56]和MSMT17 [46]。 我们定性和定量地比较了DG-Net与生成方法和判别结果的最新方法。大量实验证明DG-Net可以产生更逼真和多样化的图像,同时,大幅度地优于最新的竞争算法在所有基准的re-id准确性。
4.1 实验实现细节
我们的网络在PyTorch中实现。在下文中,我们使用通道×高度×宽度来指示要素图的大小。(i)Ea基于在ImageNet [8]上预训练的ResNet50 [12],我们删除其全局平均池和完全连接层,然后附加自适应最大池层以输出2048×4的外观编码a 。它通过两个完全连接的层映射到主要特征fprim和细粒度特征ffine,两者都是512-dim向量。(ii)Es是浅网络,输出128×64×32的结构编码。它由四个卷积层和四个参差块组成[12]。(iii)G进程s 四个参差块和四个卷积层组成。与[16]中一样,每个残差块包含两个自适应实例归一化层[15],它们集成为缩放和偏置参数。(iv)D遵循流行的多尺度PatchGAN [18]。我们在三个不同的输入图像尺度上使用鉴别器:64×32,128×64和256×128。我们还在更新D时应用梯度惩罚[30]以稳定训练。(v)对于训练,所有输入图像的大小调整为256×128。类似于先前的深度re-id模型[54],SGD用于训练Ea,学习率为0.002,动量为0.9。我们应用Adam [20]来优化Es,G和D,并将学习率设置为0.0001,并且(β1,β2)=(0,0.999)。 (vi)在测试时,我们的re-id模型仅涉及Ea(以及两个轻量级),其网络大小与使用ResNet50作为主干的大多数方法相当。我们将fprim和ffine连接成1024-dim向量作为最终的行人表示。更多架构详细信息可在附录中找到。
4.2 评估生成器
定性评估:我们首先定性地比较DG-Net与其消除在线输送和身份监督的两种变体。 如图4所示,在没有将生成的图像在线馈送到外观编码器的情况下,模型遭受模糊边缘和不期望的纹理。 如果进一步去除身份监督,则图像质量不令人满意,因为模型无法产生准确的服装颜色或样式。 这清楚地表明我们的联合判别学习有利于图像生成。
接下来,我们将完整模型与其他生成方法进行比较,包括一个无条件GAN(LS-GAN [29])和三个开源条件GAN(PG2-GAN [28],PN-GAN [31]和FD-GAN [10]])。 与图3相比,LS-GAN生成的图像具有严重的伪像和重复的模式。 FD-GAN易于产生非常模糊的图像,这在很大程度上会恶化了现实主义。 PG2-GAN和PN-GAN均以姿势为条件,产生相对良好的视觉效果,但仍含有可见的模糊和伪影,尤其是在背景中。 相比之下,我们生成的图像更逼真,并且在前景和背景中都接近真实。
为了更好地理解 学习外观空间--行人表示的基础,我们在两个外观编码之间执行线性插值并生成相应的图像,如图5所示。这些插值结果验证了外观空间的连续性,并显示 我们的模型能够在空间中进行推广,而不是简单地记忆琐碎的视觉信息。 作为补充研究,我们还通过在两个结构编码之间进行线性插值来生成图像,同时保持外观编码完整。 请参阅附录中有关此研究的更多讨论。 然后,我们在图6中的三个基准测试中展示了我们的生成结果,其中发现DG-Net能够在不同数据集上始终如一地生成逼真且多样的图像。
定量评估:我们的定性观察结果通过定量评估得到了证实。 我们使用两个度量:Frechet初始距离(FID)和结构相似度(SSIM)[45]来分别测量生成图像的真实性和多样性。 FID测量生成的图像与真实图像的分布有多接近。 它对视觉伪像敏感,因此表明生成的图像的真实性。 对于身份条件生成,我们应用SSIM来计算类内相似性,其可用于反映生成多样性。 如表2所示,我们的方法在现实性和多样性方面明显优于其他方法,这表明我们生成的图像具有高质量。 值得注意的是,由于切换结构代码引入的各种姿势,携带,背景等,我们获得了比原始训练集更高的SSIM。
局限性: 我们注意到,由于原始训练集中的数据偏差,我们的生成模块倾向于学习常规纹理(例如,条纹和点),但忽略了一些罕见的模式(例如,衬衫上的徽标),如图7所示。
4.3 评估辨别器
消融研究。我们首先研究表3中主要特征和细粒度特征的贡献。我们在每个原始训练集上利用分类损失训练Resnet-50作为标准。它还用作主要特征学习中的teacher模型,以对生成的图像执行动态软标签。我们的主要特征是在很大程度上改善了基线。值得注意的是,在没有使用重要的外观信息的细粒度的特征,但只考虑微妙的id相关线索已经达到了令人印象深刻的准确性。通过结合这两个特征,我们可以进一步改善性能,其在Rank 1上大大优于基线6.1%,在三个数据集上平均优于mAP 12.4%。然后,我们评估在合成图像离线生成后独立学习的两个特征。这导致Market-501的mAP为84.4%,低于端到端训练的86.0%mAP,这表明我们的联合生成训练有利于re-id学习。
超参的影响:在这里我们展示如何设置re-id学习相关的权重:一个是α,λfine和λprim之间的比率来控制Lfine和Lprim在训练中的重要性; 另一个是β与重量ffine结合fprim作为测试中的最终行人代表。 我们在Market-1501的原始训练集中分离出一个验证集上的两个超参数(第一个用于训练的651个类和用于验证的100个类)。 基于图8中的valiation结果,我们在所有实验中选择α= 0.2和β= 0.5。
与最先进的方法进行比较:最后,我们在表4和表5中报告了我们的方法与其他最先进结果的表现。请注意,我们不应用任何后处理,例如重新排序[51]或多查询融合[53]。 在每个数据集上,我们的方法获得最佳性能。 与使用单独生成的图像的方法相比,DG-Net在Market-1501和DukeMTMC-reID上实现了mAP的8.3%和10.3%的明显增益,表明了所提出的联合学习的优势。 此外,我们的框架更具训练效率:我们只使用一个训练阶段进行联合图像生成和重新学习,而其他人则需要两个培训阶段来按顺序训练生成模型和re-id模型。 DG-Net在两个数据集上的利润率也超过了其他非生成方法。 对于最近发布的大规模数据集MSMT17,DG-Net的性能明显优于第二好的方法,Rank 1为9.0%,mAP为11.9%。
5 结论
在本文中,我们提出了一个联合学习框架,端到端的组合在统一网络中re-id学习和生成图像。 在判别模式和生成模块之间存在一个在线交互循环,以使两个任务互利。 我们的两个模块是共同设计的,让re-id学习更好地利用了生成数据,而不是简单地训练它们。 三个基准测试的实验表明,我们的方法始终如一地为图像生成质量和重新准确性带来了实质性的改进。