Beyond Part Models- Person Retrieval with Refined Part Pooling

Motivation

当前利用 part-level feature 做re-id 的方法大致分为两类:

1. 利用在其他数据集上训练好的 pose estimation 模型 unsupervised transfer 到 re-id 数据集上得到 local part 的定位,然后基于local parts 提取 part-level features。

2.不使用额外的类似于 pose estimation 的模型,而是用统一的分块方式,(比如给定一张行人图像,将图像均匀分割为固定的p个horizontal stripes)或者采用 attention 机制去locate 等。

采用现成姿态估计得到的parts特征,因为和目标数据集存在bias,并不能在行人图像上得到理想的行人parts语义信息 
通过重定位外围像素点到它更适合的part中来精调这个均匀分割parts,这可以使得各part内具有连贯性,即相当于让模型更加注意两两parts的顺序,有一种更精细对齐的含义(同时过滤了一些背景杂波) 

使用第一种方法虽然可以显式的定位 local parts,但是也要忍受 transfer 过程由于 datasets bias 引入的误差。当然如果定位带来的提升大于引入误差导致的性能降低,整体也是可以接受的。这篇文章第一部分PCB模型属于第二类方法,使用得是均匀划分。对不同part用不同loss去训练。对于均匀分割或者其它统一的分割,不同图像在同一part可能因为没有对齐出现不同的语意信息。对此,作者提出了Refined Part Pooling 对统一分割进行提纯,增强 within-part 的一致性,这也是本文的一大亮点。

Specifically, we target at learning discriminative partinformed features for person retrieval and make two contributions.

(i) A network named Part-based Convolutional Baseline (PCB). Given an image input, it outputs a convolutional descriptor consisting of several part-level features. With a uniform partition strategy, PCB achieves competitive results with the state-of-the-art methods, proving itself as a strong convolutional baseline for person retrieval. 

(ii) A refined part pooling (RPP) method. Uniform partition inevitably incurs outliers in each part, which are in fact more similar to other parts. RPP re-assigns these outliers to the parts they are closest to, resulting in refined parts with enhanced within-part consistency. 

Experiment confirms that RPP allows PCB to gain another round of performance boost.

提取part级别的特征对于细粒度图像识别具有重要的意义,类似part aligned的想法,作者设计了新的更强的baseline-PCB(Part-based Convolutional Baseline),其能得到由几个part级别的特征得到的综合描述子用于reid任务的行人匹配,不过在此baseline中一个行人图像的各parts间不应该只是这种严格的均匀的分割区域方式,考虑各part之间信息过渡的连续性,作者设计了一个精巧的训练策略,采用RPP(refined part pooling),某part边缘部分的outliers重新划分到临近的parts上,这样就产生了一个part内连续性(连贯性),这使得应用part的model性能得到增强,不过,作者更加强调了RPP的训练策略,这是非常关键的,融入了一种对抗训练的思想。

reid中不同分割策略产生的part,后两种是一种软分割(如下图) 
典型地: 
采用现成姿态估计得到的parts特征,因为和目标数据集存在bias,并不能在行人图像上得到理想的行人parts语义信息 

通过重定位外围像素点到它更适合的part中来精调这个均匀分割parts,这可以使得各part内具有连贯性,即相当于让模型更加注意两两parts的顺序,有一种更精细对齐的含义(同时过滤了一些背景杂波) 

Beyond Part Models- Person Retrieval with Refined Part Pooling

PAR和本文都是利用做软分割(即提取的有效特征应用了注意力机制),而不用 no part labeling,并不是固定的含有更多背景杂波的矩形分块!! 
但PAR和本文PCB with RPP在训练策略,设计动机和机制上存在明显不同: 
具体如***意PAR的各parts分别训练采用各自的part loss外加全局约束来形成具有模糊对齐意义上的整体描述子。而PCB的RPP是在预训练的均匀分割上进行精调,训练策略上前面是同时训练,联合优化,而RPP需要预训练均匀part loss的模型后,再精调RPP部分引入的参数,且是一种半监督的方式。细节上的区别如下: 

Beyond Part Models- Person Retrieval with Refined Part Pooling

1.工作机制:采用注意法,PAR训练分类器在无监督方式下的训练,RPP可以看作半监督过程。

2.性能:稍微复杂的训练过程使得RPP具有更好的解释和显着更高的性能。


Method

  • PCB结构:

Beyond Part Models- Person Retrieval with Refined Part Pooling基模型可以是ResNet50, Google Inception等,本文主要采用了ResNet50. 

作者作的一些轻微的修改: 

如图,ResNet50的全均值池化被抛弃,而是分P个水平条纹,在各条纹上应用条纹全局均值池化,得到的p个2048维度的向量后,再由1*1卷积核的降维操作后,变为256-dim,最后,对每个条纹对应的特征向量,分别采用N类别的softmax多分类 loss训练得到p个N-IDs的分类器。 

测试阶段,p个特征向量会串接为一个描述子用于匹配ID。 

注意:可用作测试的特征向量可以来自于2048维的,也可以来自256维的特征向量串接,不过前者在更多计算消耗下可以获得更高一些的性能。

  1. 1.去掉Resnet50 global average pooling及以后的部分。
  2. 2.将最后一层feature map 分成 p个horizontal stripes。分别对p个horizontal stripes做global average pooling就得到了p个局部特征。
  3. 3.因为 Resnet50 最后一层feature map的通道数为2048,作者又用1x1 conv将其降到256维。
  4. 4.接着用p个n(训练集ID数目)分类softmax作为分类器进行训练。损失函数使用交叉熵损失。
  5. 5.测试时分别串联向量g和h作为行人图像的特征表示。
  6. PCB细节:
  • PCB benefits from fine-grained spatial integration,其重要的参数设置,通过实验得到的,即
  • Beyond Part Models- Person Retrieval with Refined Part Pooling
  1. 1.为了丰富特征粒度,参考 SSD 和 R-FCN,作者去掉了 Resnet50 最后一次 down-sampling。
  2. 2.图像 resize 到 384x128。
  3. 3.horizontal stripes 的个数 p 取6。
  4. 4.对比了使用单损失和多损失的性能。使用单损失函数时,对 p 个 h 求平均作为图像的特征表示。
  5. 5.对比了 p 个 softmax 前一层 FC 共享参数的性能。
  6. Potential Alternative Structures即PCB可以选择的一些结构变体: 

    Beyond Part Models- Person Retrieval with Refined Part Pooling


  • RPP motivition: 作者将 average pooling 前后的向量做最近邻( Beyond Part Models- Person Retrieval with Refined Part Pooling 与 Beyond Part Models- Person Retrieval with Refined Part Pooling ),注意到真实的边界并不和统一划分的边界重合,很显然这也是统一划分最大的弊端之一。

Beyond Part Models- Person Retrieval with Refined Part Pooling

核心:考虑within-part consistency,如图,为均匀分割后的不一致性可视化描述: 
Beyond Part Models- Person Retrieval with Refined Part Pooling 

The existence of these outliers suggests that they are inherently more consistent with column vectors in another part.我们需要对这些outliers进行重定位,即修改这些不一致性,使每个part的column vectors保持一致的相似性。

RPP结构

PCB with Refined part pooling conducts a “soft” and adaptive partition to refine the original “hard” and uniform partition,and the outliers originated from the uniform partition will be relocated.如下图:

  • Beyond Part Models- Person Retrieval with Refined Part Pooling

1.作者在最后一层 feature map 后面训练了一个 part classifier。part classifier 使用的是线性层 + softmax,参数记为 W。

2.接着将 average pooling 改为向量的加权和,权值即分类器的后验概率。

Beyond Part Models- Person Retrieval with Refined Part Pooling

RPP的训练:RPP 只有一项参数 W,训练分三步:

1.训练 PCB 至收敛。(这一步引导训练的重要性以及 step3 内在的思想见作者评论补充)

2.将 average pooling 替换为 part classifier。

3.固定其它参数训练 W 至收敛。

4.放开全部参数,fine tune。

训练策略:对抗式训练,取得一个精调的平衡: 

Beyond Part Models- Person Retrieval with Refined Part Pooling

Experiments

  • Datasets:Market-1501,DuckMTMC-reID,CUHK03 (new protocol)
  • setting:single-query,without re-ranking

Beyond Part Models- Person Retrieval with Refined Part Pooling


  • 结论:
  1. 相比 IDE,PCB 的 mAP 提升8.9-15.3%
  2. RPP 对 PCB 的 rank-1 提升 1.5-3.1%,mAP 提升 3.1-4.2%
  3. 多损失比单损失提升明显,mAP 提升约 10-15%
  4. p 个分类器不共享参数相比共享参数提升 mAP 2.4-7.4%
  5. 关于图像分辨率以及去掉 Resnet50 最后一次 down-sample 的实验

Beyond Part Models- Person Retrieval with Refined Part Pooling

  • 对 horizontal stripes 数目 p 的讨论

Beyond Part Models- Person Retrieval with Refined Part Pooling


PCB 引导训练的重要性讨论以及与另一篇基于 attention 机制方法的对比

Beyond Part Models- Person Retrieval with Refined Part Pooling


Beyond Part Models- Person Retrieval with Refined Part Pooling