AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 详解

一、概述

现有的方案大多数侧重于全局特征,无视行人的空间结构,会带来一些弊端和问题如下:
在这里插入图片描述
在这里插入图片描述
1、不精准的bbox,会影响feature learning,如图a,b;
2、变形和模糊的体态,会影响metric learning困难,如图c,d;
3、occlusions会导致引入无关的context进入the learnt feature,如图e,f;
4、对于相似性很高的行人,local difference in a global feature是很重要的,如图g,f。

针对以上的问题,当前的解决方案是:
1、使用part-based, local feature learning,即:将完整的行人分为多个固定的部分。
这个方法的缺点:
a、没有考虑各个部分之间的alignment;
b、无法解决inaccurate detection box, pose variation, occlusion等问题。

2、其他方法:pose estimation result来解决alignment的问题
缺点:需要额外的监督信号。

综上:文章方法的优势:extract a global feature jointly learnt with local features。即:AlignedReID的global feature 是根据局部的feature提炼而来的。

二、AlignedReID

作者提出的方法所提取到的global feature其实是在训练过程中联合local feature来共同提炼出来的,最终生成一个单一的global feature作为最后的输出。
整体的网络构架如下图:
在这里插入图片描述

2.1 如何理解feature map, global feature, local feature这三个概念?

对于一个原始图片,经过CNN网络后产生一个CxHxW的tensor作为feature map,对产生的这个feature map进行global pooling得到的结果就是一个global feature,即为一个C-d的 vector,对产生的这个feature map做一个horizontal pooling,然后经过1x1的 conv对channels的维度进行减小,即得到local feature,即为c-d vector。所以每一个local feature就可以表达一个行人的水平部位。最后对于输入的一个行人的图片,可以得到一个global feature和H个local features的联合表达,上图中H=7。

2.2 如何理解行人的两个图片的相似度比较?

两个人的照片的 = 他们的global distance + local distance
global distance = 他们的global feature 的L2距离(即:全局特征距离是指全局特征之间的L2距离)
local distance 假设:同一个人的两张图片,其中一张图片的身体的某个部位的local feature与另一张图片中对应的身体部位的local feature的相似度应该是更高的。
local distance = 在总的距离最小化的前提下,动态的从上到下(扫面图片)对local parts做配对,然后find a alignment of local feature。

2.3 如何计算local feature的距离?

首先对于两张图片进入CNN后得到的feature map分别为F和G,F={ f 1 f_1 f1, f 2 f_2 f2, f 3 f_3 f3,…, f H f_H fH},G={ G h G_h Gh, G h G_h Gh, G h G_h Gh,…, G H G_H GH},其中 f i f_i fi G i G_i Gi分别代表feature的第i行。对所有的f和g都做归一化,使其每个值都在[0,1)之间,之后作者给出了两张图的local feature,即 f i f_i fi G i G_i Gi之间的距离计算公式:
在这里插入图片描述
在这里插入图片描述
根据上面的公式我们可以计算得到一个matrix D(HxH大小),里面的每个值都是由 d i , j d_{i,j} di,j计算而来。
所以:两张图片之间的距离的local distance = 从(1,1)到(H,H)的最短距离的总和;
公式(2)表示: S i , j S_{i,j} Si,j代表从(1,1)到(i,j)的最短距离的总距离
S H , H S_{H,H} SH,H代表两张图之间的最短路径的总距离,见下图:

在这里插入图片描述
左上角到右下角的最短路径长度就是local feature的长度,可以用动态规划法求解。上图右图中有的边是没用的,如A的1连B的1,其实是不匹配的。但是在设计 d i , j d_{i,j} di,j的公式时,使得不匹配的地方L2差别大,梯度小,这样在训练时还是主要在缩小匹配部分的距离,不匹配的地方不太起作用。使用TriHard loss进行训练。而测试时只使用global feature来计算距离,因为local feature和global feature的联合训练实际上也优化了global feature,使得它almost as good as the combined features。

2.4 如何理解corresponding and non-corresponding parts alignment?

两张图相似说明两张图的local feature的最短距离总和是最短的。最短路径是由corresponding parts 的alignment构成的,比如上图的(1,4),但是non-corresponding parts的alignment也有辅助的作用,根据公式(1)我们发现对于non-corresponding parts,它们对alignment距离的贡献度很低,即: d i , j 很 小 d_{i,j}很小 di,j,对整体的alignment距离不会有太大影响。

2.5 损失函数

根据上面的分析我们知道:两张图的相似度由他们的global feature和local feature来决定。作者选用TriHard loss来作为metric learning loss。
对于任意一张图片,我们需要两个global distance:1、同一个行人的相似度最差的另一张图的global distance;2、相似度接近,但是不是同一个行人的另一张投影片的global distance。
对于triplet的计算:待补充

三、Mutual learning for metric learning

在这里插入图片描述
在这里插入图片描述

3.1为什么作者要使用mutual learning?

为了增强模型的效果。前人很多都采用了distillation的方法来训练teacher-student网络。本文作者提出:
1)同时训练一组student models,让它们相互学习;
2)采用了损失函数的联合体,即:
metric loss:由global local distance共同产生
metric mutual loss:由global distance决定
classification loss:
classification mutual loss:由KL divergence for classification决定

3.2 如何理解mutual learning approach的结构图

输入一个batch的image,尺寸为(N,w,h,c),经过两个不同initialized CNN网络提取到global features后,各自得到两个输出结果,分别为:一个是关于classification probabilities的tensor或者matrix;另一个是一个NxN的matrix,它是由N张图之间的global feature distance构建的matrix里的每一个值。
根据上面的四个matrices,可以构建4个loss。其中classification mutual loss帮助实现两个模型在classification 上的相互学习;metric mutual loss帮助实现两个模型在metric learning(相似性)上的相互学习。

3.3 如何理解通过the mutual learning loss公式来实现模型的相互学习?

在这里插入图片描述
引入了zero gradient function,作用是为了加速convergence,提升预测准确度。
TODO…理解了再来详细说明为什么

四、实现细节

不详细说了,自己看paper。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值