Learning Discriminative Features with Multiple Granularities for Person Re-Identification(MGN)

论文:Learning Discriminative Features with Multiple Granularities for Person Re-Identification,2018,cvpr.

作者:云从科技

代码: https://github.com/Gavin666Github/reid-mgn

摘要

背景:将整体特征与局部特征相结合是提高行人再识别(Re-ID)能力的重要解决方案。以往的基于局部的方法主要是通过定位具有特定语义的区域来学习局部表示,这增加了学习难度,但对方差较大的场景缺乏有效性和鲁棒性。

贡献:本文中提出了一种融合不同粒度的判别信息的端到端特征学习策略。设计了多分支深度网络体系结构,其中一个分支用于全局特征表示,两个分支用于局部特征表示。本文没有学习语义区域,而是将图像统一划分为若干条,并改变局部分支的部分数量,得到具有多个粒度的局部特征表示。

网络效果:在包括Market-1501、DukeMTMC-reid和CUHK03在内的主流评估数据集上进行的综合实验表明,论文中的方法稳健地实现了最先进的性能,并在很大程度上优于任何现有的方法。

介绍

本文提出了一种不同粒度的全局和局部信息相结合的特征学习策略。不同数量的分区条带引入了内容粒度的多样性。我们定义原始图像只包含一个全局信息的整体分割为最粗情况,并且随着分割数目的增加,局部特征可以更多的集中在每个部分条带中更精细的判别信息,过滤其他条带上的信息。深度学习机制可以从整个图像中获取主体上的近似响应偏好,因此也可以从较小的局部区域中提取出更细粒度的局部特征显著性。这些局部区域不必是具有特定语义的定位区域,而只需要是原始图像上的一块等分条带。从观察中我们发现,随着水平条数的增加,区分反应的粒度变得更细。

基于这一动机,我们从ResNet-50骨干网的第四剩余阶段设计了多粒度网络(MGN),一个多分支网络体系结构,将其分为一个全局分支和两个局部分支,并对其参数进行了细化。在MGN的每个局部分支中,将全局汇集的特征映射划分为不同数量的条带作为部分区域,以独立的学习局部特征表示。

与以往的基于局部的方法相比,本文中的方法只利用等分部分进行局部表示,但在性能上优于以往的所有方法,此外,该方法学习了一个端到端的学习过程,易于学习和实现。

网络结构

网络主干为ResNet-50,本文将res_conv4_1块后的后续部分划分为三个独立的分支,与原ResNet-50共享相似的架构。在测试阶段,为了获得强大的识别能力,将所有降到256维的特征串接为最终特征,结合全局和局部信息来完善对学习特征的总和性。

前三层网络是共享的,到第四层时分成三个支路,第一个支路是 global 的分支,第二个是 part-2 的分支,第三个是 part-3 的分支。在 global 的地方有两块,右边这个方块比左边的方块大概缩小了一倍(12×4),因为做了个下采样,下面两个分支没有做下采样,所以第四层和第五层特征图是一样大小的(24×8)。
接下来我们看一下图中黄色部分的区域。网络对 part-2 跟 part-3 做一个从上到下的纵向分割,part-2 在第五层特征图谱分成两块,part-3 对特征图谱从上到下分成三块。在分割完成后,我们用Max-pooling,得到一个 2048 的向量。
然后我们来看一下具体是怎么操作的,part-2 跟 part-3 的操作跟 global不一样,part-2 有两个 pooling,第一个pooling对应Zg p2(蓝色的长条),通过24×8大小的卷积核,将第五层特征图直接最大池化生成1×1×2048的向量。第二个pooling的卷积核大小和第一个不一样,为12×8,因此生成的是2×1×2048的向量,我们将其拆成2个1×1×2048的向量,对应图中part-2 中的2个接在一起的长条形。淡蓝色这个地方变成了小方体 ,大小为1×1×256,这个地方是做的降维,从 2048 维做成 256 维,主要是为了方便特征计算,这样更快更有效。

在测试的时候在淡蓝色的地方,小方块从上而下应该是8个,我们把这8个256维的特征串联在一起成为2048的特,用这个特征替代前面输入的图片计算相似度。

网络分支

global分支:图中第一块的Loss 设计,这个地方对2048维的特征做了SoftmaxLoss 损失,对256维的特征做了一个TripletLoss 损失。

part2&part3分支:中间part2部分和下部part3部分有一个全局信息,有global特征,做SoftmaxLoss + TripletLoss 。下面两个局部特征只用了SoftmaxLoss,未用TripletLoss,文中提到对细节使用TripletLoss效果会变差,(原因:一张图片分成从上到下两部分的时候,最完美的情况当然是上面部分是上半身,下面部分是下半身,但是在实际的图片中,有可能整个人都在上半部分,下半部分全是背景,这种情况用上、下部分来区分,假设下半部分都是背景,把这个背景放到 TripletLoss 三元损失里去算这个 Loss,就会使得这个模型学到莫名其妙的特征。)

解读

上图显示了从IDE基线模型和基于IDE的部件中提取的特定图像的特征响应图。可以观察到,即使没有明确的注意力机制来增强对某些显著成分的偏好,深层网络仍然可以根据不同身体部位的内在语义来初步区分它们的反应偏好。然而为了消除复杂度高的行人图像中的无关模型的干扰,更高的响应的只集中在行人的主体上,而不是任何具有语义模式的具体部位。当缩小表示区域的范围并将其训练为学习局部特征的分类任务是,我们可以观察到局部特征映射上的响应开始聚集在一些显著的语义模式上,这些语义模式也随着表示区域的大小而变化。

这一观察反映了图像内容量(即区域的粒度)与深度网络关注特定表示模式的能力之间的关系。我们相信这种现象是由于信息在有限区域内的局限性造成的。一般来说,从全局图像比较,很难从局部区域区分行人的身份。分类任务的监控信号强制将特征正确分类为目标身份,这也推动了学习过程试图在有限的信息中探索有用的细粒度细节。实际上,以前基于零件的方法中的局部特征学习
仅在有或无经验先验知识的情况下,将分区的基本粒度多样性引入到整个特征学习过程中。假设存在适当级别的粒度,则具有最具歧视性信息的细节可能最集中于深层网络。基于以上的观察和分析,我们提出了多粒度网络(MGN)架构,将全局和多粒度局部特征学习相结合,以获得更强大的行人表示。

Learning Discriminative Features with Multiple Granularities for Person Re-Identification(MGN)相关推荐

  1. MGN:Learning Discriminative Features with Multiple Granularities for Person Re-Identification阅读笔记

    Learning Discriminative Features with Multiple Granularities for Person Re-Identification Guanshuo W ...

  2. 云从MGN《Learning Discriminative Features with Multiple Granularities for Person Re-Identification》论文阅读

    这是云从大佬在CVPR上的一篇paper.基本思想就是通过对global feature进行多粒度的切分,提取更局部的细节特征.当时在Market-1501,CUHK03,DukeMTMC-reID三 ...

  3. 《Learning Discriminative Features with Multiple Granularities for Person Re-Identification》论文阅读之MGN

    刷新三数据集纪录的跨镜追踪(行人再识别-ReID)技术 云从科技在跨镜追踪(行人再识别)技术(ReID)上获取重大突破.同时在Market-1501,CUHK03,DukeMTMC-reID三个数据集 ...

  4. 论文MGN笔记《Learning Discriminative Features with Multiple Granularities for Person Re-Identification》

    MGN的核心思想是利用global feature+fine grain feature做特征融合然后分类,做part-based的branch取得很简单就是等分,但是为了让模型能收敛,用了多个pat ...

  5. 今天开始学模式识别与机器学习Pattern Recognition and Machine Learning (PRML)书,章节1.2,Probability Theory (上)

    Pattern Recognition and Machine Learning (PRML)书,章节1.2,Probability Theory (上) 这一节是浓缩了整本书关于概率论的精华,突出一 ...

  6. MHT: Basic Methods for Data Association(六)Multiple Hypothesis Tracking 多假设追踪(1)

    6.6 MHT: Basic Methods for Data Association(五)Multiple Hypothesis Tracking 多假设追踪(1) 文章目录 6.6 MHT: Ba ...

  7. Supporting Multiple Screens 翻译 支持各种屏幕(上)

    Supporting Multiple Screens 支持各种各样的屏幕尺寸.屏幕密度 Android runs on a variety of devices that offer differe ...

  8. Learning to rank的讲解,单文档方法(Pointwise),文档对方法(Pairwise),文档列表方法(Listwise)

    学习排序(Learning to Rank) LTR(Learning torank)学习排序是一种监督学习(SupervisedLearning)的排序方法.LTR已经被广泛应用到文本挖掘的很多领域 ...

  9. Use of Deep Learning in Modern Recommendation System: A Summary of Recent Works(笔记)

    注意:论文中,很多的地方出现baseline,可以理解为参照物的意思,但是在论文中,我们还是直接将它称之为基线, 也就是对照物,参照物. 这片论文中,作者没有去做实际的实验,但是却做了一件很有意义的事 ...

最新文章

  1. poj2503 Babelfish
  2. 云计算入门学习资料,linux云计算学习大纲
  3. Linux检查wlan0是否存在,linux - airmon-ng将wlan0更改为wlan0mon但不恢复[​​关闭] - 堆栈内存溢出...
  4. linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理
  5. opencv运行出现错误
  6. win7计算机无法最大化,主编教您win7游戏无法全屏怎么办
  7. Java学习6——基本数据类型及其转换
  8. iqooneo系统要不要更新_手机系统要不要升级?别纠结,1分钟看完你就知道
  9. robocode 创建机器人
  10. 路由交换技术vlan、trunk、单臂路由、三层交换、链路聚合、STP
  11. 用Python实现GB与BIG5码的转换
  12. QThread线程详细用法
  13. 安卓Intent 详解
  14. C++定义一个复数类Complex,使得下面的代码能够工作。(注:下列代码需放在主函数中。)
  15. 市场调研及发展前景分析报告有什么作用
  16. java servlet 教程_Java Servlet完全教程
  17. matlab 矩阵 幂运算符,matlab矩阵的乘方power运算
  18. Linux系统 PDF转图片
  19. 面试常见几种排序算法 Java代码总结
  20. 基于FPGA的自动导航系统智能车

热门文章

  1. 各种品牌的PLC协议转换网关介绍
  2. DCT 变换的一些思考
  3. pikachu——简介
  4. 【第59篇】MetaFormer实际上是你所需要的视觉
  5. 深入 javascript 之 call函数 用法
  6. FPGA之旅设计99例之第二十一例----VGA串口SDRAM显示图片
  7. CStdioFile类
  8. python中str类型和object类型_pandas str和object类型之间的区别
  9. webpack配置指定文件不打包
  10. Python参考题库1234