本文主要是介绍近日思索 以及 AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 论文翻译笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近思考了基于UV展开的行人重识别方法,并没有实现很好的效果,我在想此方法是不是太过于理想化,理论上是可行但实际上并不适合,因为uv图的比较要将图片切分成4*6的小块再进行比较,而uv展开图的小图差异又不易比较,如果没有非常接近的图片则不会将他们视为相似。 若是没有充足的图片供填充完整的uv图,只有有限个图片则不能高效的进行重识别
于是想借鉴一下别人的方法,这篇论文号称是效果很好的一篇,学习学习。
可以参考https://blog.csdn.net/linwh8/article/details/78808810#commentBox
AlignedReID: Surpassing Human-Level Performance in Person Re-Identification
摘要:在本文中,我们提出了一种名为AlignedReID的新方法,该方法提取了一个与局部特征共同学习的全局特征。 全局特征学习极大地受益于局部特征学习,其通过计算两组局部特征之间的最短路径来执行对准/匹配,而无需额外的监督。 在联合学习之后,我们只保留全局特征来计算图像之间的相似性。 我们的方法在Market1501上达到了94.4%的排名准确率,在CUHK03上达到了97.8%,大大超过了最先进的方法。 我们还评估了人类的性能,并证明我们的方法是第一个超过Market1501和CUHK03(两个广泛使用的Person ReID数据集)的人类级别性能。
1、Introduction
人员重新识别(ReID),在其他时间或地点识别感兴趣的人,是计算机视觉中的具有挑战性的任务。 它的应用范围从跟踪人们跨相机到在大型图库中搜索它们,从将相册中的照片分组到零售店中的访客分析。 像许多视觉识别问题一样,姿势,视点照明和遮挡的变化使得这个问题变得非常重要。
传统方法专注于低级特征,如颜色,形状和局部描述符[9,11]。 随着深度学习的复兴,卷积神经网络(CNN)通过各种度量学习损失,如端到端方式学习特征,在这个领域[24,32,6,64,16,24]占主导地位。 对比损失[32],三重态损失[18],改善三重态损失[6],四重损失[3]和三重态硬损失[13]。
许多基于CNN的方法在不考虑人的空间结构的情况下学习全局特征。这有一些主要缺点:1)不准确的人检测盒可能影响特征学习,例如图1(a-b); 2)姿势变化或非刚体变形使得度量学习变得困难,例如图1(c-d); 3)人体的被遮挡的部分可能将不相关的上下文引入学习的特征,例如图1(e-f); 4)强调全局特征中的局部差异是非常重要的,特别是当我们必须区分具有非常相似外观的两个人时,例如图1(g-h)。为了明确克服这些缺点,最近的研究已经注意到基于部分的局部特征学习。一些作品[33,38,43]将整个身体分成几个固定的部分,而不考虑部分之间的对齐。但是,它仍然会受到不准确的检测框,姿势变化和遮挡的影响。其他工作使用姿势估计结果进行对齐[52,37,50],这需要额外的监督和姿势估计步骤(通常容易出错)。
在本文中,我们提出了一种名为AlignedReID的新方法,该方法仍然学习全局特征,但在学习过程中执行自动部分对齐,无需额外监督或显式姿态估计。 在学习阶段,我们有两个分支机构,共同学习全球特征和地方特色。 在本地分支中,我们通过引入最短路径损耗来对齐本地部分。 在推理阶段,我们丢弃本地分支并仅提取全局特征。 我们发现只应用全局特征几乎与组合全局和局部特征一样好。 换句话说,借助于本地特征学习,全局特征本身可以在我们新的联合学习框架中极大地解决我们上面提到的缺点。 此外,全局功能的形式使我们的方法对于部署大型ReID系统具有吸引力,而无需昂贵的本地功能匹配。
我们还在度量学习设置中采用了相互学习方法[49],以允许两个模型相互学习更好的表示。 结合AlignedReID和相互学习,我们的系统在Market1501,CUHK03和CUHK-SYSU上大大优于theart-theart系统。 为了了解人类在ReID任务中的表现,我们在Market1501和CUHK03上测量了十个专业注释器的最佳人类表现。 我们发现我们的系统重新排序[57]具有比人类更高的准确度。 据我们所知,这是第一份在ReID任务中机器性能超过人类表现的报告。(日常cb需要)
2. Related Work
度量学习。 深度量度学习方法将原始图像转换为嵌入特征,然后将特征距离计算为它们的相似性。 通常,同一人的两个图像被定义为正对,而不同人的两个图像是负对。 三元组损失[18]的动机是正负对之间实施的保证金。 通过硬挖掘为训练模型选择合适的样本已被证明是有效的[13,3,39]。 将softmax损失与度量学习损失相结合以加速收敛也是一种流行的方法[10]
特征对齐。 许多方法学习全局特征来表示人物的图像,忽略图像的空间局部信息。 一些方法通过将图像分成若干部分而没有对齐来考虑局部信息[33,38,43],但是这些方法遭受不准确的检测框,遮挡和姿势未对准。
最近,通过姿势估计来对齐局部特征已成为一种流行的方法。 例如,姿势不变嵌入(PIE)将行人与标准姿势对齐以减少姿势[52]变化的影响。 全局局部对齐描述符(GLAD)[37]不直接对准行人,而是检测关键姿势点并从相应区域提取局部特征。 SpindleNet [50]使用区域提议网络(RPN)生成多个身体区域,逐步组合来自不同阶段的相邻身体区域的响应图。 这些方法需要额外的姿势注释,并且必须处理姿势估计引入的误差。
相互学习。 [49]提出了一个深刻的相互学习策略,在这个策略中,学生团体在整个培训过程中互相学习并相互教学。 DarkRank [4]为模型压缩和加速引入了一种新型的知识交叉样本相似性,实现了最先进的性能。 这些方法在分类中使用相互学习。 在这项工作中,我们在度量学习环境中研究相互学习。
重新排序。 在获得图像特征之后,大多数当前作品选择L2欧几里德距离来计算排名或检索任务的相似性得分。 [35,57,1]执行额外的重新排名以提高ReID准确度。 特别地,[57]提出了一种具有kreciprocal编码的重新排序方法,其结合了原始距离和Jaccard距离。
3. Our Approach
3.1. AlignedReID
在AlignedReID中,我们生成单个全局特征作为输入图像的最终输出,并使用L2距离作为相似性度量。 但是,全局特征是在学习阶段与本地特征共同学习的。
对于每个图像,我们使用CNN,如Resnet50 [12]来提取特征图,这是最后一个卷积层的输出(C×H×W,其中C是通道编号,H×W是 空间大小,例如,图1中的2048×7×7)。 通过在特征映射上直接应用全局池来提取全局特征(C-d向量)。 对于局部特征,首先应用水平池,其是水平方向上的全局池,以提取每行的局部特征,然后应用1×1卷积以将信道号从C减少到c。 以这种方式,每个局部特征(c-d矢量)表示人的图像的水平部分。 结果,人物图像由全局特征和H局部特征表示
两个人图像的距离是它们的全局和局部距离的总和。 全局距离只是全局特征的L2距离。 对于局部距离,我们从上到下动态匹配局部零件,以找到局部特征与最小总距离的对齐。 这是基于一个简单的假设,即对于同一个人的两个图像,来自第一图像的一个身体部分的局部特征更类似于另一个图像的语义对应的身体部分。
给定两个图像的局部特征,F = {f1,···,fH}和G = {g1,···,gH},我们首先通过逐元素变换将距离归一化为[0,1]:
其中di,j是第一图像的第i个垂直部分和第二图像的第j个垂直部分之间的距离。 基于这些距离形成距离矩阵D,其中其(i,j)元素是di,j。 我们将两个图像之间的局部距离定义为矩阵D中从(1,1)到(H,H)的最短路径的总距离。可以通过动态编程计算距离,如下所示:
其中Si,j是距离矩阵D中从(1,1)到(i,j)行走时最短路径的总距离,而SH,H是最终最短路径(即本地)的总距离两个图像之间的距离)。
如图3所示,图像A和B是同一人的样本。 对应的身体部位(例如图像A中的部分1)和图像B中的部分4之间的对齐包括在最短路径中。 同时,在非对应部分之间存在对齐,例如图像A中的部分1和图像B中的部分1,仍然包括在最短路径中。 这些非对应的对准对于保持垂直对准的顺序是必要的,并且使相应的对准成为可能。 非对应的对齐具有大的L2距离,并且在等式1中其梯度接近于零。 因此,这种比对在最短路径中的贡献很小。 最短路径的总距离,即两个图像之间的局部距离,主要由相应的对准确定。
全局和局部距离共同定义了学习阶段中两幅图像之间的相似性,我们选择[13]提出的TriHard损失作为度量学习损失。 对于每个样本,根据全局距离,选择具有相同身份的最不相似的一个和具有不同身份的最相似的一个,以获得三元组。 对于三元组,损失是基于全局距离和具有不同边距的局部距离来计算的。 使用全球距离挖掘硬样品的原因是出于两个考虑因素。 首先,全局距离的计算比本地距离的计算快得多。 其次,我们观察到使用两种距离采集硬样品没有显着差异。
请注意,在推理阶段,我们仅使用全局特征来计算两个人图像的相似性。 我们做出这个选择主要是因为我们意外地发现全局特征本身也几乎和组合特征一样好。 这种反直觉现象可能是由两个因素引起的:1)联合学习的特征图比仅学习全局特征更好,因为我们在学习阶段利用了人形象的结构; 2)借助于局部特征匹配,全局特征可以更多地关注人体,而不是过度拟合背景。
3.2. Mutual Learning for Metric Learning
我们应用相互学习来训练AlignedReID的模型,这可以进一步提高性能。 基于蒸馏的模型通常将知识从训练有素的大型教师网络转移到较小的学生网络,例如[4]。 在本文中,我们同时训练一组学生模型,相互之间传递知识,如[49]。 不同于[49],它只采用分类概率之间的Kullback-Leibler(KL)距离,我们提出了一种新的相互学习损失用于度量学习
我们的相互学习方法的框架如图4所示。整体损失函数包括度量损失,度量相互损失,分类损失和分类相互损失。 度量损失由全局距离和局部距离决定,而度量相互损失仅由全局距离决定。 分类互损是用于分类的KL分歧,如[49]中所述。
给定一批N个图像,每个网络提取其全局特征并计算彼此之间的全局距离作为N×N批距离矩阵,其中Mθ1ij和Mθ2ij分别表示矩阵中的第(i,j)个元素。 相互学习损失定义为
其中ZG(·)表示零梯度函数,它在计算梯度时将变量视为常量,在学习阶段停止反向传播。
通过应用零梯度函数,二阶梯度为
我们发现,与没有零梯度函数的相互损耗相比,它可以加速收敛并提高精度。
这篇关于近日思索 以及 AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 论文翻译笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!