《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记

《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记


作者: Zhun Zhong, Liang Zheng, Zhiming Luo, Shaozi Li, Yi Yang
原文链接:link.

摘要

《Invariance Matters:Exemplar Memory for Domain Adaptive Person Re-identification》(ECN)中,作者主要研究目标域域内变化,并基于域内不变性提出了可行的模型泛化方法,引入Exemplar Memory模块来存储目标数据在训练过程中的中间特征,将re-id模型概括为三种基础不变性:样本不变性、相机不变性和邻域不变性(ECN)。本文在此基础上,融合基于GCN设计的GPP(graph based positive prediction),提升了模型性能。

对比两种方法

ECN:
《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
上图是ECN的整体框架,训练期间,有标签的源数据和无标签的目标数据被喂到deep re-ID网络来获得最新特征表示,随后,设计两个组件来利用源数据和目标数据优化网络,第一个是分类模块,用于计算源数据的交叉熵损失;第二个模块是Exemplar Memory,用于保存目标数据的最新特征并计算无标签目标数据的不变性学习损失。
在NI中,对于每个目标图像,目标数据中可能存在许多正样本。如果可以在训练的过程中利用这些正样本,我们就能够进一步提高模型在克服目标域变换方面的鲁棒性。为了实现这个目标,首先计算xt,i的特征f(xt,i)与存储在key memory K的特征之间的余弦相似性。然后在K中发现xt,i的k最近邻。
在ECN中,直接从Exemplar Memory模块中选择top-k最近邻,这忽略了memory中样本的潜在关系,当模型鉴别能力下降时,困难样本的相似性估计可能不准确。鉴于此,提出GPP来从memory中预测正邻居来获得训练目标样本
《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
上图是本文的网络框架 feature extractor是基于Resnet50为backbone的,用于提取特征,随后是两个分支:Source branch和Target branch。Source branch的目标有两个:1)用交叉熵损失优化的身份分类器学习feature extractor的基本表示;2)用二元分类损失学习GPP。Target branch 的目标是在无标注目标数据上强制执行三种不变性属性。
下面介绍GPP:
在ECN中直接在memory中选择top-k样本,这将f(xt,i)和特征之间的相似性独立估计,忽略了memory中的特征之间的关系。提出GPP来解决这个问题,GPP Network是基于GCN(graph convolutional networks)和positive classifier设计的。
《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
上图是GPP的流程图,给定 input, 首先计算input与memory中特征的相似度;然后,选择top-k样本作为候选邻居并被用来构建一个用于正预测的graph;接着,通过graph上的GCN来更新nodes 特征。Positive classifier被用来预测每个node为正的概率。
GPP在源域上训练:

  1. 相似度计算
    给定源域样本xis,用特征提取器提取特征f(xis),然后计算与memory中的特征Fs之间的余弦相似性。
  2. graph构造
    从ranked-list中选择k最近邻作为x_i^s的候选邻居,表示为V={v1,v2,…,vk};然后构造一个完整的无向graph G(V,E),V表示node的集合,E表示边的集合。H={Fs [v1],Fs [v2],…,Fs [vk]}是node特征,为了编码xis的信息,通过减去特征f(xis)来normalize H
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    E的权重由邻接矩阵A表示
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    A的每一行被softmax函数normalized。
  3. 使用GCN更新特征
    采用GCN在graphG(V,E)上来更新node特征,GCN的输入是一组node特征H和邻接矩阵A,输出是node特征Z的新集合,每一个graph convolutional layer在GCN中可以被表示为non-liner函数
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
  4. 用 positive classifier来预测
    获得GCN的输出Z,然后用positive classifier来预测node是属于输入xis的正样本概率。GPP的训练损失函数是
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    使用Lgpp损失在源域数据上优化GPP network。
  5. 选取可靠邻居
    除了最后一步计算损失外,用与源域训练过程相同的步骤在目标域推理出GPP Network,给定一个目标样本xit,首先计算f(xit)与目标memory 中的特征Fs的相似度,然后在后面步骤中获得正概率用于选取候选邻居,最后可靠的邻居K(xit)
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    源域loss和目标域loss和ECN中一样(参考我的这篇博客link),最终本文的总体损失为:
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
    《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记

Experiments

Ablation study

《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
添加GPP仅需少量的计算成本和计算时间,但是对性能来说提升很大。

与SOTA对比

《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记
《Learning to Adapt Invariance in Memory for Person Re-identification》论文笔记