基于k-倒排最近邻的检索重排序

本文介绍了一种在行人重识别领域提升检索准确率的再排序方法。该方法通过K-倒排最近邻编码,利用杰卡德距离进行图像对距离的重新计算,自动优化检索排序结果,无需人工介入。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文:Re-ranking Person Re-identification with K-reciprocal Encoding

即行人重识别中经常用来提升检索MAP与CMC指标的经典re-ranking方法。

论文中算法公式较多,需要有耐心理清其算法步骤。下图为重排序架构图。

 


Abstract

行人重识别作为图像检索的子问题, 重排序能够在后期很大程度上提高检索准确率。本文的假设是如果检索库中的图像与检索图像特征很相似,并且在检索图像的K-倒排最近邻集合中,其有很大的概率是真实的匹配。具体就是给定义检索图像,先将其K-倒排最近邻匹配图像集合编码成一个基于全局的称为K-倒排特征的N维向量,然后使用检索图像的K-倒排特征与其最近邻基于杰卡德距离进行距离矩阵重拍序。本文的方法是自动执行的方法,无需人工介入。

Introduction

重排序通常应用在通用实例检索应用中,其优势就是无需额外的训练样本,直接对模型的检索排序结果进行优化重排。而且重排序的效率依赖于有高准确率的初始排序。传统的重排序认为原始排序的top-k结果具有很好的匹配程度,并利用其关系进行结果重排 。然而如下图所示,真实的匹配P1, P2, P3 与P4没有全部在top-4中,而假匹配N1-N6具有较高的排序分数,所以直接使用top-k图像会给重排系统引进噪声并会使重排结果打折扣。

在文献[15,35]中提出了K-倒排最近邻方法,可以解决诸如假匹配图像对Top-K匹配的不利影响。

如果两图像被称为K-倒排最近邻,那么无论两者谁做为检索图像另一张都是Top-K结果,即两者互相检索都是排名靠前的。从图中可以看出,检索图像是真实匹配的K-倒排最近邻,而不是假匹配的K-倒排最近邻,此方法可以识别出真实的最近邻匹配,从而提高重排序结果。

本文的方法有3步:(本部分可能概念抽象)

1、将加权的K-倒排邻居集合编码成向量来组成K-倒排特征,然后通过K-倒排特征计算两张图像间的用杰卡德距离;

2、为了获取更加鲁棒的K-倒排特征,本文提出了一种局部检索扩展方法来提高整体检索性能。

3、最后的度量距离就是原始的距离与杰卡德距离的加权和,然后用于重排序列表生成。

本文方法

1、问题定义 :

给定一张检索图像p与N张检索库图像,检索图像与与任意库图像之间的原始距离可以用马氏距离表示。本文的重排序主要就是对初始排序列表进行优化重排,使得更多的真实匹配在列表的Top-k中。

2、K-倒排最近邻居 :

本文定义N(p,k)为检索图p最近邻居(原始排序列表中的Top-K样本),K倒排最近邻公式定义如下:

上式描述了检索图像的K-倒排最近邻就是其K最近邻图像中能够满足互搜都是K-最近邻的要求的图像集合。

但是由于现实中,光线,视角,姿态以及遮挡变化的存在,使得正样本匹配可能,么有包含在K-最近邻中,也就使得无法包含在K-倒排最近邻中。为了解决这一问题,本文将检索图像的K倒排最近邻中每一候选图像的1/2k倒排最近邻加入检索倒排集合中形成一更加鲁棒的K倒排最近邻集合。

公式条件如下:候选图像的K倒排最近邻与检索图像的K倒排最近邻要有2/3的交集,通过此操作可以将更多的相似于候选图像的正样本加入检索图像的K-倒排最近邻中。

本部分需要知道每一个候选图像也都要计算其各自的K倒排最近邻。(应该是先根据马氏距离计算出N个被检索图像的K最近邻,其复杂度为N*N然后根据K最近邻分别计算出所有N张图像的K倒排最近邻,用于后续使用。具体算法下次进行介绍。)

下图展示了具体的匹配扩展过程。开始时,难正样本G没包含在R(Q,20)中而被忽略,但是G包含在RC(C,10)中,通过上述公式操作,可以将G召唤回来。

此外,本文没有将得到的R*(p,k)直接作为最后的Top排序结果,而是考虑将其作为上下文知识来重新计算检索图像与库图像的距离。

3、杰卡德距离 

本文部分主要介绍如何通过两图像的K倒排最近邻集合来重新计算图像对之间的距离。原理就是如果 两图像的K倒排近邻集合具有较好的重叠,那么两个集合就很相似,图像距离就越近。两个集合的杰卡德距离度量公式如下:

此距离就是先使用两集合的交并比计算杰卡德系数,然后用1减去即是距离,越大越好。

 尽管上式可以获取两图像的相似关系,但仍存在较多的不足。

1、由于需要计算所有图像对的集合交并比,并且每个R*(p,k)与R*(gi,k)交并比需要大量的耗时(主要就是两个集合中相同图像的检索,作者采用N维向量进行热点编码结合中存在的图像。),一种方法就是讲近邻集合编码成简单的等价向量,可以很大程度减少计算复杂度。

2、距离计算过程将所有邻居平等看待,使得判别性不够好,事实上,与检索图像越近的候选就越可能是真实的匹配,所以可以通过原始距离重新计算它们的权重。

3、如果单纯地使用上下文信息作为距离度量就会存在一些限制,因此作者考虑使用原始距离与杰卡德距离的组合作为最终的距离度量。

上述3个问题的解决方法:

针对前两个问题,将检索图像的K倒排最近邻集合编码成N维向量Vp=[Vp,g1 Vp,g2 ... Vp,gn]。Vp,gi定义如下:

这样,N维向量的每一维表示相应的图像是与否是检索图像的K倒排最近邻(即属于R*(p,k)) ,然而此方法仍没有解决等价对待所有候选图像的问题,下面公式引入了不同候选图像的权重,表示其与检索的相似程度。

基于上述定义,交并集中的候选图像数量可以用下式表示。

 

 其中的最大最小操作是对Vp与Vgi两个N维特征向量进行对应元素的操作。交集通过最小操作将两个特征向量对应维度上的最小的那个值作为两者共同包含gi的程度。并集的最大操作就是为了统计两个集合中的匹配候选的总集合。

4、局部检索扩展 

本部分主要是通过检索图像的最近邻对检索图像的K倒排最近邻特征向量进行扩展,其扩展公式如下,就是取其最近邻候选的特征向量的均值。文中将此方法应用到了检索p与所有gi上,并且考虑到噪声的存在,对最近邻的个数进行了限制。此处的N(p,k)中的k用k2表示,R*(gi,k)中的k用k1表示,k2<k1。文中采用k2=6,k1=20

 5、度量距离

本文主要通过结合杰卡德距离与原始的马氏距离对原始的排序列表进行重新修正,其距离为两者的加权和,加权参数主要用来权衡两个距离的重要程度,文中采用了λ等于0.3。

实验:

 

### 回答1: 基于ORL数据库的人脸图像处理中,可以利用K-L变换和PCA方法进行特征降维和人脸识别。 K-L变换(Karhunen-Loève Transform)是一种线性变换方法,用于将原始图像转换为具有最大可分性的特征。首先,将ORL数据库中的人脸图像进行归一化处理,消除图像的尺度和亮度差异。然后,将每个人脸图像展开为一维向量,并构建图像样本矩阵。接下来,计算样本矩阵的协方差矩阵,并对其进行特征值分解。根据特征值的大小,选取前N个最大的特征值对应的特征向量作为K-L变换的投影向量。最后,将原始图像使用这些投影向量进行线性变换,即可得到特征脸向量。通过计算待识别图像与特征脸向量的欧氏距离,可以实现人脸识别。 PCA(Principal Component Analysis)是一种常用的降维方法,通过线性变换将高维特征映射到低维的子空间中。在利用PCA进行人脸识别时,首先进行数据预处理,将ORL数据库中的人脸图像归一化并展开为一维向量。然后,计算样本矩阵的均值向量,并将每个样本向量减去均值向量,得到零均值样本矩阵。接下来,计算零均值样本矩阵的协方差矩阵,然后对协方差矩阵进行特征值分解。根据特征值的大小,选取前N个最大的特征值对应的特征向量作为主成分,构建PCA的投影矩阵。最后,将原始图像用投影矩阵进行线性变换,得到降维后的特征向量。通过计算待识别图像与特征向量的欧氏距离,可以进行人脸识别。 总的来说,基于ORL数据库的人脸图像处理中,利用K-L变换和PCA方法可以进行特征降维和人脸识别。这些方法可以有效地提取人脸图像的主要特征,降低计算复杂度,提高人脸识别的准确率。 ### 回答2: 基于ORL数据库的KL变换和PCA方法是一种人脸识别的方法。ORL数据库是一个用于人脸识别的数据库,其中包含了40个人的400张正面灰度人脸图像。 KL变换(Karhunen-Loève Transform)是一种基于统计学原理的数据降维方法。它通过计算数据的协方差矩阵的特征向量来获得数据的主要成分。在人脸识别中,可以使用KL变换来降低人脸图像的维度,提取出最具有代表性的特征。 PCA方法(Principal Component Analysis)也是一种常用的降维方法。它通过计算数据的协方差矩阵和特征向量来找到数据的主要成分。在人脸识别中,可以使用PCA方法将图像从高维空间映射到低维空间,提取出最具有代表性的特征。 基于ORL数据库的KL变换和PCA方法的步骤如下: 1. 将ORL数据库中的人脸图像矩阵按列排成一个大矩阵,每个人脸图像作为一列。 2. 对大矩阵进行均值中心化处理,即减去每一列的平均值。 3. 计算大矩阵的协方差矩阵。 4. 对协方差矩阵进行特征值分解,得到特征值和特征向量。 5. 将特征向量按特征值大小从大到小排序。 6. 选择前N个特征向量,构成一个转换矩阵。 7. 将转换矩阵应用于原始图像,得到降维后的特征脸。 8. 将降维后的特征脸作为训练集用于人脸识别,可以使用k最近邻算法或其他分类方法进行人脸识别。 KL变换和PCA方法都是常用的人脸识别方法,它们能够从高维的图像空间中提取出最具有代表性的特征,有效地提高了人脸识别的准确率和效果。 ### 回答3: 基于ORL数据库,利用K-L变换和PCA方法可以实现人脸识别。首先,K-L变换是一种用于图像压缩和特征提取的数学方法,可以将原始图像转换为一组能够描述其特征的系数。PCA(Principal Component Analysis)是一种常用的统计学方法,可以将高维数据转换为低维数据,从而降低数据维度并提取出最具有代表性的特征。 在利用K-L变换和PCA进行人脸识别的流程中,首先利用ORL数据库中的训练图像进行训练。通过对所有训练图像进行K-L变换,将其转换为特征系数。然后使用PCA方法对特征系数进行降维处理,选择最具有代表性的主成分。这些主成分将构成人脸的特征空间。 接下来,对于待识别的人脸图像,同样进行K-L变换和PCA降维处理,得到其特征系数。然后,将待识别的特征系数与训练图像集中的特征系数进行比较,可采用欧氏距离或者余弦相似度等方式进行匹配度量。通过与训练图像的匹配度量结果,可以确定待识别图像属于数据库中的哪个人。 总结而言,基于ORL数据库,利用K-L变换和PCA方法能够实现人脸识别。通过训练图像的K-L变换和PCA降维处理,构建出人脸的特征空间。然后,将待识别图像的特征系数与训练图像集的特征系数进行匹配度量,从而实现人脸的分类与识别。这一方法在数字图像处理领域具有较高的应用价值,可以广泛应用于人脸识别、图像检索等方面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值