Re-ranking Person Re-identification with k-reciprocal Encoding
Posted yeziyang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Re-ranking Person Re-identification with k-reciprocal Encoding相关的知识,希望对你有一定的参考价值。
Re-ranking Person Re-identification with k-reciprocal Encoding
Abstract
In this paper, we propose a k-reciprocal encoding method to re-rank the re-ID results. Our hypothesis is that if a gallery image is similar to the probe in the k-reciprocal nearest neighbors, it is more likely to be a true match.Specifically, given an image, a k-reciprocal feature is calculated by encoding its k-reciprocal nearest neighbors into a single vector, which is used for re-ranking under the Jaccard distance. The final distance is computed as the combination of the original distance and the Jaccard distance.
这篇论文提出了k-reciprocal 编码方法去重排re-ID结果。论文假定底库图片和查询图片在 k-reciprocal近邻是相似的,则它们最有可能是匹配的。论文主要利用原始距离和杰卡德距离完成re-ranking。
Introduction
上图是使用KNN(k=10)聚类的结果,其中Probe为查询图片,P1~P4为正样本,N1~N6为负样本。P1~P4在相似排名上并不靠前,而N1~N6却比较靠前,这说明使用KNN算法得到初始排序结果具有很大噪声。
上图是使用KRNN(k-reciprocal nearest neighbor)算法的重排结果。首先我们需要求出一张图片的表征特征(appearance feature)和k-r特征(k-reciprocal feature)然后分别计算原始距离和杰卡德距离,最后计算最终距离,得出re-ranking列表。
这篇文章的主要工作:
- 提出了单一的k-r特征,有利于re-ranking
- 不需要人工操作和数据标注,采用的是一种自动的和非监督的方法。
- 在多个数据集上,rank-1和mAP性能指标提升。
Proposed Approach
1. Problem Definition
Mahalanobis distance:
M为半正定矩阵 ,$d(p,g_i)$ 为文中提到的原始距离。
2. K-reciprocal Nearest Neighbors
KNN:
KNN算法简介:给定测试实例,基于某种距离度量找出训练集中与其最靠近的k个实例点,然后基于这k个最近邻的信息来进行预测。
- 时间复杂度o(n*k):n为样本数量,k为单个样本特征的维度。如果不考虑特征维度的粒度为o(n)
- 空间复杂度o(n*k):n为样本数量,k为单个样本特征的维度。如果不考虑特征维度的粒度为o(n)
KRNN:
∧为合取联结词,叫做合取,比如r=q∧p,那么当且仅当p与q同时为真(或者说同时为1)时r为真(或1),也就是说$g_i$是p的近邻,p也是$g_i$的近邻。
有时候正样本不在K近邻中,也不在k-r近邻中。为了解决这个问题,本文增加了$\frac12$k-r近邻,来获得更为鲁棒性的$R^*(p,k)$。
3. Jaccard Distance
$\left| \right|$代表这个数据集的数量。如果$g_i$和p是相似的,则$R^(p,k)$和$R^(g_i,k)$重合部分较多,则杰卡德距离$d_J(p,g_i)$就越小。
这步操作有3个缺点:
- 获得$R^(g_i,k)$和$R^(p,k)$数据非常费时。
- 计算所有近邻的权重都是相等的。
- 没有考虑到原始距离和杰卡德距离的联系。
4. Local Query Expansion
因为同一类别的图片具有相似的特征,我们使用KNN方法完成本地查询操作。
5. Final Distance
6. Complexity Analysis
假设底库图片集大小为N,一般情况下距离测量和重新排序的时间复杂度分别为$O(N^2)$,$O(N^2\log N)$。但是,我们提前在本地上计算距离和进行排序,故时间复杂度分别为$O(N)$,$O(N\log N)$。
以上是关于Re-ranking Person Re-identification with k-reciprocal Encoding的主要内容,如果未能解决你的问题,请参考以下文章