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的顺序,有一种更精细对齐的含义(同时过滤了一些背景杂波) 

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

这里写图片描述

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

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


Method

  • PCB结构:

基模型可以是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,其重要的参数设置,通过实验得到的,即
  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可以选择的一些结构变体: 


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

核心:考虑within-part consistency,如图,为均匀分割后的不一致性可视化描述: 
这里写图片描述 

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.如下图:


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%
  5. 关于图像分辨率以及去掉 Resnet50 最后一次 down-sample 的实验


  • 对 horizontal stripes 数目 p 的讨论


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






  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值