【Person Re-ID】GLAD: Global-Local-Alignment Descriptor for Pedestrian Retrieval

paper下载地址:https://arxiv.org/abs/1709.04329

 

 

 

Introduction

 

Person Re-ID任务是为了从gallery集中找到与query集中同一个人的图像。应用场景主要集中在视频监控、公共安全等领域,因此一个人的外表可能被摄像头的视角,人体姿态,模糊,遮挡等因素所影响,给此项任务带来挑战。大多数Re-ID工作都可以分为两步,即描述子学习和距离度量学习。

 

描述子学习:通过学习具有判别性的描述子来表征不同人的外表。

 距离度量学习:使得属于同一个人的图像的描述子之间的距离更近。

 

传统的描述子学习方法通常提取刚性的局部不变特征,因此人体姿态的改变,摄像头视角的改变都能影响其性能,导致不能很好的识别一个人。而大多数基于CNN的方法通过学习全局特征取得了明显的改善,而最近工作将行人图像分成固定长度的块,通过学习更加精细的局部特征,这些方法要比全局描述子性能更加优秀。然而固定长度的块对人体姿态的变化非常敏感,为了解决这个问题,文章提出了Global-Local-Alignment Descriptor (GLAD)。

 

Approach

 

GLAD包含两个模块:

 

 

部件提取:通过Deeper Cut算法估计人体的4个关键点,提取人体的头部、上半身体、下半身体。

描述子学习:由四个子网络组成一个CNN,并共享卷积层,分别学习三个部件信息和全局信息。

 

 

在training阶段,通过multi-task学习不同身体部件。在inference阶段,分别将全局图像和三个部件图像送到网络中得到四个描述子,然后concat起来得到GLAD。

 

整个过程主要分为两步,首先估计输入图像的各个部件,然后从全局图像和部件图像中学习描述子。

https://csdnimg.cn/release/phoenix/outside_default.png

 

 

Part Extraction

 

采用Deeper Cut算法估计行人的4个关键点(upper-head, neck, right-hip, left-hip),依据这4个关键点将输入图像分成3个部件(head, upper-body, and lower-body)。

 

https://csdnimg.cn/release/phoenix/outside_default.png

 

由于下半身体的估计不是很准,加上数据集中部分数据的下半身体不可见,因此作者直接将图像的下边缘作为下半身体的边界。

 

Descriptor Learning

 

整个CNN网络包含一个学习全局信息的子网络和三个学习局部信息的子网络。这些子网络采用同样的网络结构并且共享卷积层。作者采用Google-Net,将最后的全连接层替换为两个卷积层作为分类器(常用技俩),第一个卷计层作为feature map用来提特征,第二个卷积层作为confidence map,在这层之后加上global pooling层用作softmax分类。替换掉全连接层的好处:

 

 

参数量变少,举个例子,假如全连接层之前的卷积层输出为2048*7*7(Resnet-50),总共有1000类的话,则全连接层的参数量为1000*2048*7*7,是非常巨大的。换成3*3的卷积层之后,参数量变为1000*2048*3*3,是原来的3*3/(7*7)=9/49。

全连接层对输入图像的尺寸没有限制。

 

 

在测试阶段,用新加的feature map作为描述子,假设这层有M个通道,加上global pooling后,输出为M维的特征。全局图像加上局部图像总共得到4*M维的特征向量。

 

通过这种比较粗糙的部件检测方式,GLAD取得了部件检测的准确性与鲁棒性之间的平衡。

 

 

 

Experiment

 

https://csdnimg.cn/release/phoenix/outside_default.png

 

其中WO/S表示训练时没有共享参数,W/S表示训练时是共享参数的,“Global”表示提取全局图像特征,”Head+Upper+Lower body(W)” 表示对3个部件描述子加上权重之后的描述子。

 

 

共享参数训练的模型比没有共享参数训练的模型性能要好。

全局图像训练模型比局部图像训练的模型性能要好。原因可能是全局图像包含更多的视觉信息,因此能带来更好的判别性。而头部的判别性较差,导致的结果是加入头部(“Head+Upper+Lower body“)训练的模型性能反倒比没加头部(“Upper+Lower body”)训练的模型要差。

对各个部件加上权重之后的性能是最好的,说明头部的判别性对Re-ID任务还是有帮助的。

 

 

点评:本文是最近看的文章中做法比较流畅的,而且所有的训练只是在某一特定的数据集上进行,并没有合并所有的数据集,能取得这样的精度是值得称赞的。

猜你喜欢

转载自blog.csdn.net/chanbo8205/article/details/85056418