行人重识别论文(五)Beyond Part Models: Person Retrieval wit

2019-07-14 11:48发布

摘要

作者主要的目标是学习描述局部信息特征。并且做出了以下两点贡献: 1. 提出了 Part-based ConvolutionalBaseline (PCB),给定一个图片作为输入,该网络将输出是由几个part-level特征组成的卷积描述符。(不需要额外线索)通过均等划分的策略,实现了不错的效果。 2, 提出了 refined part pooling (RPP) 方法。(提高划分区域的内容一致性,精修均等划分的区域。)均匀分区不可避免地会在每个部分中产生异常值,使得它们与其他部分更相似。 RPP将这些异常值重新分配给它们最接近的部件,从而增强部件的内部一致性。

1. Introduction

        学习有区别的局部特征的前提是准确定位。传统的准确定位的方法主要分为两类:一类是使用姿势评估和行人检测来实现定位,但是数据集之间的bias定位精度有影响,姿势检测带来的噪声。一类是注意力机制。语义分割虽然可以实现很好的局部对齐,但却容易出现嘈杂的姿势检测。因此本文通过对粗略的局部分割的精修来得到部件内部信息。如图1。      本文提出了Part-based Convolution Baseline(PCB)是一种分类网络,输入整张图片,输出卷积特征。通过对特征图进行均等划分来学习part-level特征。
     本文提出了adaptive pooling method,提高划分区域的内容一致性,精修均等划分的区域。      使用第一种方法虽然可以显式的定位 local parts,但是也要忍受 transfer 过程由于 datasets bias 引入的误差。当然如果定位带来的提升大于引入误差导致的性能降低,整体也是可以接受的。这篇文章第一部分PCB模型属于第二类方法,使用得是均匀划分。对不同part用不同loss去训练。对于均匀分割或者其它统一的分割,不同图像在同一part可能因为没有对齐出现不同的语意信息。对此,作者提出了Refined Part Pooling 对统一分割进行提纯,增强 within-part 的一致性,这也是本文的一大亮点。                                                   

2. Related Work

PAR和本文工作类似,都利用了part-classifier来引导soft partition 不同点:  PAR PAR 本文方法 Motivation 直接学习对齐区域 refine pre-partitioned parts Woking mechanism   unsupervised manner  semi-supervised Traning process /  引导学习 Performance /   better—

语义分割

https://zhuanlan.zhihu.com/p/37801090 https://zhuanlan.zhihu.com/p/27794982

注意力机制

3. PCB: A Strong Convolutional Baseline

3.1. Structure of PCB

Backbone network.
基础网络(Backbone network)作为特征提取器,对检测模型的性能有着至关重要的影响。
             
  1. 去掉Resnet50 global average pooling及以后的部分。
  2. 将最后一层feature map 分成 p个horizontal stripes。分别对p个horizontal stripes做global average pooling就得到了p个局部特征。
  3. 因为 Resnet50 最后一层feature map的通道数为2048,作者又用1x1 conv将其降到256维。
  4. 接着用p个n(训练集ID数目)分类softmax作为分类器进行训练。损失函数使用交叉熵损失。
  5. 测试时分别串联向量g和h作为行人图像的特征表示。

3.2 PCB细节:

  1. 为了丰富特征粒度,参考 SSD 和 R-FCN,作者去掉了 Resnet50 最后一次 down-sampling。
  2. 图像 resize 到 384x128。 spatial size of 设置为24 x8
  3. horizontal stripes 的个数 p 取6。
  4. 对比了使用单损失和多损失的性能。使用单损失函数时,对 p 个 h 求平均作为图像的特征表示。
  5. 对比了 p 个 softmax 前一层 FC 共享参数的性能。

3.3. Potential Alternative Structures


Variant 1. 训练阶段对h取平均得到hˆ ,只使用一个分类器,测试阶段仍然对g or h进行拼接
Variant 2. PCB所有的分类器共享全连接层参数
效果都比PCB差

4. Refined Part Pooling

  • RPP motivition: 作者将 average pooling 前后的向量做最近邻( f_{mn} 与 g_i ),注意到真实的边界并不和统一划分的边界重合,很显然这也是统一划分最大的弊端之一。
                                     

RPP结构

  1. 作者在最后一层 feature map 后面训练了一个 part classifier。part classifier 使用的是线性层 + softmax,参数记为 W。
  2. 接着将 average pooling 改为向量的加权和,权值即分类器的后验概率。
                                                         

RPP的训练:

RPP 只有一项参数 W,训练分三步:
  1. 训练 PCB 至收敛。(这一步引导训练的重要性以及 step3 内在的思想见作者评论补充)
  2. 将 average pooling 替换为 part classifier。
  3. 固定其它参数训练 W 至收敛。
  4. 放开全部参数,fine tune。
                                                                                                         

Experiments

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

结论:

  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%