行人重识别(Person Re-ID)【四】:论文笔记——Beyond Part Models: Person Retrieval with Refined Part Pooling

论文:Beyond Part Models: Person Retrieval with Refined Part Pooling

链接:http://openaccess.thecvf.com/content_ECCV_2018/papers/Yifan_Sun_Beyond_Part_Models_ECCV_2018_paper.pdf

 

前言:


这篇是ECCV2018关于行人重识别(Person Re-ID)的文章,由清华大学孙奕帆(SVDNet的作者)、郑良大神等人提出。

本文主要是提出一种既能精确划分部件信息(part-level features)而又不借助姿态估计的方法——PCB+RPP的网络框架。

PCB硬划分提取局部特征,然而简单粗暴的划分会使得对齐不够精确,于是作者考虑加入了软划分来辅助精修,但一般的软划分需要借助分割甚至是关键点和姿势估计,需要昂贵的标注成本,因此提出PCB+RPP。

 

这里做下补充,目前利用局部特征做 Re-ID 的方法大致分为下面两类:

 1. 利用在其他数据集上训练好的姿势估计模型无监督迁移到 Re-ID 数据集上,得到局部特征的定位,根据这些提取到的关键点信息,利用图像处理(图像区域联结)的方法,得到各个部件(如头、上身,下身、手,脚等),然后基于这些分割开的部件,提取局部特征信息(part-level features),如下图CVPR2017的工作Spindle Net  (http://openaccess.thecvf.com/content_cvpr_2017/papers/Zhao_Spindle_Net_Person_CVPR_2017_paper.pdf) 就利用了14个人体关键点来提取局部特征,Spindle Net直接利用这些关键点来抠出ROI;

行人重识别(Person Re-ID)【四】:论文笔记——Beyond Part Models: Person Retrieval with Refined Part Pooling

 2.不使用额外的类似于姿势估计的模型,而是用统一的分块方式,最常用的就是水平切块(stripe)(例如对一个行人均匀分割为固定数目的水平块)或者采用 attention 机制去locate等。

 使用第一种方法虽然可以显式的定位这些人体的部件,但是也要忍受从姿势估计这个任务迁移到行人重识别任务过程中,由于 数据的偏差(datasets bias )引入的误差,如果通过姿势估计定位带来的提升大于引入误差导致的性能降低,那么整体也是可以接受的;但是引入姿势估计一方面是模型训练的时间消耗较大,另一方面是标注的成本增加。

这篇文章第一部分PCB模型属于第二类方法,使用得是均匀水平切块(分成6块)。且对不同part用不同loss去训练(6块对应6个loss)。但是对于均匀分割来说,一个致命的问题就是:不同图像在同一part可能因为没有对齐而出现不同的语意信息(比如第一张图的从上到下的第一个水平块对应这个人的头部,但是由于第二张图顶部有很大的背景空余,导致同一个ID的人的头部出现在第四个水平块,这样会给模型的学习带来很大的干扰)。具体可以看下面这张图:

行人重识别(Person Re-ID)【四】:论文笔记——Beyond Part Models: Person Retrieval with Refined Part Pooling

因此,有一些论文就针对分块提出了对齐的策略,如AlignedReID (https://arxiv.org/pdf/1711.08184.pdf) 就提出了基于SP距离的自动对齐模型,在不需要额外信息的情况下来自动对齐局部特征。而采用的方法就是最短路径距离。

而本文作者提出了 RPP(Refined Part Pooling) 对统一分割进行精修,这也是本文的一大亮点。(给我的感觉有那么一点像目标检测里two stages的Faster RCNN,第一步先得到proposals也就是比较粗略的信息,然后通过第二步进行回归精修得到准确的信息,只不过这边的第二步利用了局部信息,相当于在全局信息上增加了attention)

 

 

Abstract:

论文摘要部分首先提到,提取局部特征(part-level features)对于Re-ID这种细粒度程度很大的图像识别任务是十分重要的一步,不过先决条件是,一个行人图像的各part之间要能准确的 located 到,也就是能准确定位到行人的各part部件,不能只是严格的均匀的分割区域方式,如前面提到水平切块(stripe),否则就会有很大的对齐问题需要解决,因此有时水平切块会被学界吐槽太过于“简单粗暴”,因为人体也不是方方正正的网格结构而是要考虑各part之间信息过渡的连续性

作者没有引入姿势估计的模型,而是注重于让模型学习到有区分性的有益的部件信息,文章主要有以下2点贡献:

1.作者设计了新的更强的baseline网络-PCB(Part-based Convolutional  Baseline),输入一张行人的图片,其能得到由几个part级别的特征得到的综合描述子用于Re-ID任务的行人匹配,作者设计了一个精巧的训练策略,采用RPP(refined part pooling),某part边缘部分的outliers重新划分到临近的parts上,这样就产生了一个part内连续性(连贯性),这使得应用part的model性能得到增强,不过,作者更加强调了RPP的训练策略,这是非常关键的,融入了一种对抗训练的思想。