添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

云从的多粒度网络(MGN)的结构设计与技术实现-ReID

全局特征和局部特征的结合是提高人的再识别(re-ID)任务识别性能的一种有效方法。以前的基于部分的方法主要集中在定位具有特定预定义语义的区域来学习局部表示,这增加了学习的难度,但对具有较大方差的场景却没有效率或鲁棒性。本文提出了一种融合不同粒度判别信息的端到端特征学习策略。我们仔细设计了多粒度网络(MGN),这是一个多分支的深层网络结构,由一个分支用于全局特征表示,两个分支用于局部特征表示。我们不需要学习语义区域,而是将图像均匀地分割成若干条带,并在不同的局部分支中改变部分的数目,从而获得具有多个粒度的局部特征表示。在Market-1501、DukeMTMC-reid和CUHK03等主流评价数据集上进行的综合实验表明,我们的方法能够很好地实现最新的性能,并且在很大程度上优于任何现有方法。例如,在单查询模式下的Market-1501数据集上,用该方法重新排序后,得到的结果为Rank-1/mAP=96.6%/94.2%。

本文提出了一种不同粒度的全局和局部信息相结合的特征学习策略。如图1所示,不同数量的分区条带引入了内容粒度的多样性。我们定义原始图像只包含一个全局信息的整体分割为最粗情况,并且随着分割数目的增加,局部特征可以更多地集中在每个部分条带中更精细的判别信息,过滤其他条带上的信息。由于深度学习机制可以从整个图像中获取主体上的近似响应偏好,因此也可以从较小的局部区域中提取出更细粒度的局部特征显著性。请注意,这些部分区域不必是具有特定语义的定位分区,而只需要原始图像上的一块等分条带。从观察中我们发现,随着水平条纹数的增加,区分反应的粒度确实变得更细。基于这一动机,我们从ResNet-50[13]骨干网的第四剩余阶段设计了多粒度网络(MGN),一个多分支网络体系结构,将其分为一个全局分支和两个局部分支,并对其参数进行了细化。在MGN的每个局部分支中,我们参考文献[36]中的方法,将全局汇集的特征映射划分为不同数量的条带作为部分区域,以独立地学习局部特征表示。

与以往的基于部分的方法相比,我们的方法只利用等分部分进行局部表示,但在性能上优于以往的所有方法。此外,我们的方法完全是一个端到端的学习过程,易于学习和实现。大量实验结果表明,我们的方法可以在几个主流的Re-ID数据集上实现最新的性能,即使没有任何额外的外部数据或重新排序[50]操作。

2.网络结构

在这里插入图片描述
我们网络的主干是ResNet-50,它有助于在一些Re-ID系统中实现竞争性能。与原版本最明显的不同之处在于,我们将res_conv4_1块后的后续部分划分为三个独立的分支,与原ResNet-50共享相似的架构。
在测试阶段,为了获得最强大的识别能力,将所有降到256维的特征串接为最终特征,结合全局和局部信息来完善对学习特征的综合性。

看一下 global 分支。上面第一块的 Loss 设计。这个地方对 2048 维做了SoftmaxLoss,对 256 维做了一个 TripletLoss,这是对 global 信息通用的方法。下面两个部分 global 的处理方式也是一样的,都是对 2048 做一个 SoftmaxLoss,对 256 维做一个 TripletLoss。中间 part-2 地方有一个全局信息,有 global 特征,做 SoftmaxLoss+TripletLoss。
但是,下面两个 Local 特征看不到 TripletLoss,只用了 SoftmaxLoss,这个在文章里也有讨论,我们当时做了实验,如果对细节当和分支做 TripletLoss,效果会变差。为什么效果会变差?
一张图片分成从上到下两部分的时候,最完美的情况当然是上面部分是上半身,下面部分是下半身,但是在实际的图片中,有可能整个人都在上半部分,下半部分全是背景,这种情况用上、下部分来区分,假设下半部分都是背景,把这个背景放到 TripletLoss 三元损失里去算这个 Loss,就会使得这个模型学到莫名其妙的特征。
比如背景图是个树,另外一张图是某个人的下半身,比如一个女生的下半身是一个裙子,你让裙子跟另外图的树去算距离,无论是同类还是不同类,算出来的距离是没有任何物理意义或实际意义的。从模型的角度来讲,它属于污点数据,这个污点数据会引导整个模型崩溃掉或者学到错误信息,使得预测的时候引起错误。所以以后有同学想复现我们方法的时候要注意一下, Part-2、part-3 的 Local 特征千万不要加 TripletLoss。

在这里插入图片描述
上图显示了从IDE基线模型[47]和基于IDE的部件模型中提取的特定图像的特征响应图。我们可以观察到,即使没有明确的注意机制来增强对某些显著成分的偏好,深层网络仍然可以根据不同身体部位的内在语义来初步区分它们的反应偏好。然而,为了消除复杂度高的行人图像中无关模式的干扰,更高的响应只集中在行人的主体上,而不是任何具有语义模式的具体身体部位。当我们缩小表示区域的范围并将其训练为学习局部特征的分类任务时,我们可以观察到局部特征映射上的响应开始聚集在一些显著的语义模式上,这些语义模式也随着表示区域的大小而变化。
这一观察反映了图像内容量(即区域的粒度)与深度网络关注特定表示模式的能力之间的关系。我们相信这种现象是由于信息在有限区域内的局限性造成的。一般来说,从全局图像比较,很难从局部区域区分行人的身份。分类任务的监控信号强制将特征正确分类为目标身份,这也推动了学习过程试图在有限的信息中探索有用的细粒度细节。实际上,以前基于零件的方法中的局部特征学习
仅在有或无经验先验知识的情况下,将分区的基本粒度多样性引入到整个特征学习过程中。假设存在适当级别的粒度,则具有最具歧视性信息的细节可能最集中于深层网络。基于以上的观察和分析,我们提出了多粒度网络(MGN)架构,将全局和多粒度局部特征学习相结合,以获得更强大的行人表示。

云从的多粒度网络(MGN)的结构设计与技术实现-ReID1.摘要全局特征和局部特征的结合是提高人的再识别(re-ID)任务识别性能的一种有效方法。以前的基于部分的方法主要集中在定位具有特定预定义语义的区域来学习局部表示,这增加了学习的难度,但对具有较大方差的场景却没有效率或鲁棒性。本文提出了一种融合不同粒度判别信息的端到端特征学习策略。我们仔细设计了多粒度网络(MGN),这是一个多分支的深层网...
人工智能由“刷脸”进入“识人”阶段,跨镜追踪(ReID) 技术 大大提高商用水平 人脸 识别 技术 经过进几年的发展,已较为成熟,在众多的场景与产品中都已有应用,但人脸 识别 技术 只能用到人体的人脸信息,放弃了人体其他 要信息的利用,例如衣着、姿态、行为等,另外在应用时必须要有清晰的人脸正面照片,但在很多场景下无法满足要求,例如低头、背影、模糊身形、帽子遮挡等等。
下载 MGN -pytorch:https://github.com/seathiefwang/ MGN -pytorch 下载Market1501数据集:http://www.liangzheng.org/Project/project_reid.html 模型训练,修改demo.sh,将 --datadir修改已下载的Market1501数据集地址,将修改CUDA_VISIBLE_DEVICES=2,...
Luo H, Jiang W, Gu Y, et al. A strong baseline and batch normalization neck for deep person re-identification[J]. IEEE Transactions on Multimedia, 2019, 22(10): 2597-2609.(罗浩) 1906.08332.pdf (arxiv.org) https://github.com/michuanhaohao/reid-strong-ba
transformer在自然语言处理任务中取得了显著的成果,但在视觉任务中的应用较少。最近,有一些基于transformer的 行人 识别 (reid)方法被提出。 传统的 行人 识别 方法通常是在卷积神经 网络 (CNN)的特征提取器和分类器之间使用降维算法(如PCA或LDA)来构建特征向量,并将它们输入到分类器中。这种方法的局限是在处理变长序列的输入时存在困难:因为对于不同 行人 ,可能需要提取不同数量的图像帧。 基于transformer的reid方法通过建立一个序列到序列的模型来处理变长序列的输入。这些方法通常采用自注意力机制(self-attention mechanism),这意味着模型可以自动地学习输入序列中每个元素之间的关系,并将其编码为一个固定长度的向量。这个向量可以在之后的分类器中使用。 其中一种基于transformer的reid方法是 MGN (Multi-Granularity Network),它使用了多个并行的transformer模块,以提取多个不同尺度的特征。这些特征随后被连接并输入到分类器中。 另一个基于transformer的reid方法是DG-Net (Disentangled Graph Convolutional Network),它使用transformer作为局部区域的特征提取器,并利用图卷积 网络 对这些特征进行汇聚和整合。 总体而言,基于transformer的reid方法为处理变长序列的输入提供了一个新的解决方案,并可望在 行人 识别 等视觉任务中取得更好的表现。