转载地址:https://zhuanlan.zhihu.com/p/32603701
一. 论文背景
论文:AlignedReID: Surpassing Human-Level Performance inPerson Re-Identification 【点击下载】
Caffe代码:【Github】
首先通过下图来看ReID面临的问题:
由于检测框不准确(a-b),姿态变化(c-d),遮挡(e-f)和 近似外观(g-h)。
为了解决以上问题,一些研究将重心放在part-based learning,在整体特征无法准确描述的情况下,利用局部特征来强调差异。
局部特征有很多方法,最常用的 水平划分,PAR(基于FCN),AttentionModel,RPP 等。
算法提到了两个创新点,动态对齐(Dynamic Alignment)和 协同学习(Mutual Learning),算法在Market1501和CUHK03上的Rank-1达到了94.0%和96.1%,首次在行人再识别问题上超越了人类表现。
二. 算法描述
最关键的 Aligned ReID 框架图,下图是不包含 Mutual Learning 的情况:
这里面 N 为一个Batch(论文中N=128),通过一个共享的特征提取层后,分别提取局部特征和全局特征,通过N*N的距离矩阵描述,计算triplet loss。
在一个min-batch中,通过global distance计算距离,选择 相同标签差异最大、不同标签差异最小的input构造hard samples。实验中Triplet margin设为0.3。
2.1 动态规划
动态规划实际是为了解决两幅图像之间的 Part对齐问题,如图 [part1]<->[part4]
1)Part model能够对目标特征进行细粒度刻画,是非常必要的
2)最短路径包含非相关特征(如part1<->part1),这非但不会对结果造成影响,而且还会对维护垂直方向对齐的次序起着至关重要的作用。
即 路径规划本身隐含了自上而下的顺序。
注:非相关特征距离d比较大,其梯度接近于0,因此对于最短路径的贡献是比较小的。
有兴趣的同学可以参考下面的公式证明一下。
3)路径规划过程
先来看part距离公式(H表示水平划分,文中已验证最好的H=6):
规划从(1,1)到(H,H)的最短路径,参考公式:
规划得到的SH,H最短路径即是两幅图像最佳的Local 匹配。
2.2 协同学习
协同学习的框架:
1) 通过两个网络(上图θ1和θ2)实现 Mutual Learning
每个网络又包含 Classification Learning和 Metric Learning,用于分类和距离度量。
通过 Classification Mutual Loss 和 Metric Mutual Loss 实现协同学习。
注:两个网络相互学习,没有主次之分。
2)预测阶段,只用到了全局特征,没有采用局部特征
原因在于,通过协同学习,提取的全局特征在局部特征影响下,已经能够准确描述图像,和局部特征并无区别,作者通过实验验证(仅在小gallery上Rank-1有所提升,0.3-0.5%)。
当然还有一个原因,就是全局特征的提取更快,一致性描述更强。
3)Batch解构
对于一个Batch内N幅图像,通过global distance计算两两之间的距离,得到N*N的距离矩阵M,其中Mi,j表示图像(i,j)之间的距离,Mutual LearningLoss定义为:
2.3 Re-Ranking
重排序对于ReID来讲通常是非常必要的,能够显著提高准确率,本文采用的Re-Ranking方法并无不同,本节不展开。
三.实验结果
算法在测试过程中已经超过了人类的认知,在典型数据集上表现也非常不错。和state-of-the-art 方法的对比: