[阅读心得] 行人重识别经典论文——VPM

  • 写在前面
    • 1. Abstract
    • 2. Introduction
    • 3. VPM
      • 3.1 Architecture
      • 3.2 Inference
      • 3.3 Self-supervision
      • 3.4 Training
    • 4. Experiment
      • 4.1 Large scale dataset
      • 4.2 Crop Stretegy
      • 4.3 Visualization
    • 5. Analysis

【论文】Perceive Where to Focus: Learning Visibility-aware Part-level Features for Partial Person Re-identification

写在前面

本工作针对目标不全情况下(Partial obj)的ReID问题,提出了一种感知可见区域的网络VPM,利用自监督的方式学习目标的分区和特征,并且解决了holistic和partial这种不对等region的匹配问题。非常具有借鉴价值。

1. Abstract

本工作主要贡献为:提出了一种基于自监督学习的VPM模块,使其能够确定可见区域。在两张图片对比时,能够提出二者的共存区域,从而抑制来自非共存区域的“空间错位”和“噪声干扰”

2. Introduction

针对partial reid的匹配问题和holistic reid的匹配有一定的区别,而带来更大的挑战:

  1. 空间错位:holistic reid的错位只发生发动作和视角的变化;而对于partial reid,就算是视角相同,也会带来很大的空间错位,如上图(a)所示;这也是为什么像PCB这样对于holistic的reid方法直接应用在partial上反而会降低性能的原因。
  2. 干扰噪声:对于那些不共存的区域,利用这些进行匹配,反而相当于引入了干扰的噪声,如上图(b)所示;

3. VPM

3.1 Architecture


VPM的结构如上图所示,主要流程如下:
1)partial image作为输入,通过backbone得到三维的特征块Tensor T
2)Region locator用于将Tensor T中的像素进行分类,判定其属于各个分区的概率,输出probability maps代表各个像素对应哪个区域的概率

P ( R i ∣ g ) = s o f t m a x ( W T g ) = e x p W i T g ∑ j = 1 p e x p W j T g P(R_i|g) = softmax(W^Tg) = \frac{exp W_i^Tg}{\sum_{j=1}^pexpW_j^Tg} P(Rig)=softmax(WTg)=j=1pexpWjTgexpWiTg

3)Feature extractor将maps与Tensor T结合,得到隶属于不同region的embedding和该区域可见程度的评分Visibility Scores

C i = ∑ g ∈ T P ( R i ∣ g ) C_i = \sum_{g\in T} P(R_i|g) Ci=gTP(Rig)

f i = ∑ g ∈ T P ( R i ∣ g ) g C i f_i = \frac{\sum_{g\in T} P(R_i|g) g}{C_i} fi=CigTP(Rig)g

3.2 Inference

实际推理时,对于两张图片 I k , I l I^k, I^l Ik,Il,分别得到对应的embedding和可见度评分{ f i l , C i l f_i^l, C_i^l fil,Cil},{ f i k , C i k f_i^k, C_i^k fik,Cik},则两者距离衡量为:
D k l = ∑ i = 1 p C i k C i l D i k l ∑ i = 1 p C i k C i l D^{kl} = \frac{\sum_{i=1}^p C_i^k C_i^l D_i^{kl}}{\sum _{i=1}^p C_i^k C_i^l} Dkl=i=1pCikCili=1pCikCilDikl

其中, p p p表示设定的分区总数, D i k l D_i^{kl} Dikl表示统一区域对应embedding 的距离,使用欧氏距离计算;
由此可见,依照此方法,二者共同可见的区域权重占比大,二者均不可见的区域权重占比小,由此一定程度上的使距离衡量更加倾向于两图片共同出现的部分。

3.3 Self-supervision

自监督训练可以说是VPM最重要的环节,具体的方法是:对完整的holistic pedestrians图片,进行随机的crop,并按照实现预设的region为Tensor T进行分配:

we assign every pixel g g g on T with a region label L( L ∈ 1 , 2 , . . . p L \in 1,2,...p L1,2,...p) to indecate which region g belongs to.

self-supervision对VPM的作用主要有三:

  1. 为region locator模块提供了训练用的ground truth
  2. 使classification loss更加关注可见的区域(visible regions)
  3. 使triplet loss更加关注共享区域(shared regions)

3.4 Training

1) Region Locator
利用自监督生成的label L,通过cross-entropy loss进行训练
L R = − ∑ g ∈ T 1 i = L l o g ( P ( R i ∣ g ) ) L_R= -\sum_{g \in T} 1_{i=L} log(P(R_i|g)) LR=gT1i=Llog(P(Rig))

2)Region feature extractor
采用cross-entropy和triplet loss
L I D = − ∑ i ∈ V 1 k = y l o g ( s o f t m a x ( I P i ( f i ) ) ) L_{ID} = -\sum _{i \in V} 1_{k=y} log (softmax( IP_i(f_i))) LID=iV1k=ylog(softmax(IPi(fi)))
L t r i = [ D a p − D a n + α ] L_{tri} = [D^{ap} - D^{an} + \alpha] Ltri=[DapDan+α]

3) Total loss
L = L R + L I D + L t r i L = L_R + L_{ID} + L_{tri} L=LR+LID+Ltri

4. Experiment

4.1 Large scale dataset


通过比较发现,PCB对于残缺的目标reid效果非常差,说明PCB这种part-level方法对目标残缺的鲁棒性很差

4.2 Crop Stretegy


这里对crop的策略进行不同的尝试,由于测试的数据集的残缺形式于Top剪裁最为相近,所以Top/Bilateral的策略表现最好。这里作者提醒,如果对于不同的数据集,要根据实际情况选择crop stretegy

4.3 Visualization

5. Analysis

VPM把partial reid需要匹配的embedding数目统一成了固定数目,方便后面的匹配环节进行,这是很值得借鉴的。但是本工作使用有两个前提条件:训练集中全为完整的holistic目标、且bounding box必须紧密贴合目标。
但是对于自动驾驶的MOT工作,上述两个条件均不满足,目标是否完整是未知的,目标bbox的精确性依赖于检测环节。在这种情况下可能没法使用VPM中设计的自监督结构。由于不知道目标是否完整,所以要重新设计partial reid的结构。

【行人重识别论文阅读笔记——VPM】相关推荐

  1. 行人重识别论文阅读2-视频中基于时空相关性和拓扑学习的行人重识别(CTL)

    视频中基于时空相关性和拓扑学习的行人重识别 Spatial-Temporal Correlation and Topology Learning for Person Re-Identificatio ...

  2. [行人重识别论文阅读]无监督学习发展与小结

    Unsupervised domain adaptation (UDA) for person re-ID. UDA methods have attracted much attention bec ...

  3. [行人重识别论文阅读]Fine-Grained Shape-Appearance Mutual Learning for Cloth-Changing Person Re-Identification

    论文地址 论文代码:暂无 文章思想 在上篇文章中我们引入了sketch(行人轮廓图)的思想去解决换衣问题,但是我们会在实践中发现sketch的优劣性严重影响了最后实验结果的好坏.此篇论文的核心思想就提 ...

  4. [行人重识别论文阅读]Invariance Matters: Exemplar Memory for Domain AdaptivePerson Re-identification

    论文链接:https://arxiv.org/abs/1904.01990 代码:https://github.com/zhunzhong07/ECN Abstract 1.传统的无监督方法只关注于缩 ...

  5. 行人重识别论文阅读(2021.7.3-7.11)

    一 各种方法性能比较 Method Key Market  r1 Market mAP Duke r1 Duke mAP (1)BOT global+BNNeck 94.5 84.5 86.4 76. ...

  6. [行人重识别论文阅读]AlignedReID: Surpassing Human-Level Performance in Person Re-Identification

    论文地址: 代码地址: Abstract 摘要部分明确提出了本文的重要思想,利用局部特征学习影响全局特征学习,并指出局部特征的学习方法是通过计算局部特征间的最短距离进而aligned局部特征. 原文: ...

  7. 行人重识别 代码阅读(来自郑哲东 简单行人重识别代码到88%准确率)

    来自郑哲东 简单行人重识别代码到88%准确率 阅读代码 prepare.py 数据结构 部分代码 一些函数 model.py ClassBlock ResNet50 train.py 一些参数 使用f ...

  8. 行人重识别综述学习笔记

    文章目录 <行人重识别研究综述> 摘要: 1 行人重识别概述 1.1 背景与研究意义 1.2 研究现状 1.3 评价标准 2 基于图像的行人重识别研究(传统+深度) 2.1 特征表达方法 ...

  9. 行人重识别论文--A Bottom-up Clustering Approach to Unsupervised Person Re-identification

    A Bottom-up Clustering Approach to Unsupervised Person Re-identification 目录 A Bottom-up Clustering A ...

最新文章

  1. 2021年大数据HBase(十三):HBase读取和存储数据的流程
  2. 高效查看MySQL帮助文档的方法
  3. 每打一通AI骚扰电话,就会被罚款7万块,这是美国国会刚刚通过的法案
  4. TS2003基于触摸屏的应用
  5. c语言中size of 用法,C语言中sizeof()的用法
  6. Lind.DDD敏捷领域驱动框架~介绍
  7. java map join_HashMap 常见应用:实现 SQL JOIN
  8. .NET 项目中的单元测试
  9. vue/cli3 配置vux
  10. 新消费催生新制造:拼多多一年将培育百家销量过亿家纺企业
  11. deprecate node-sass@4.9.0 › request@~2.79.0 request has been deprecated, see https://github.com
  12. Android APT不能自动生成文件
  13. Vivado IP中的Shared Logic到底是干嘛的?
  14. 基于图数据库的空间频繁并置模式挖掘
  15. 基于NDK编译Android平台的FFmpeg动态库
  16. plumber r_使用Plumber和React缩放R
  17. micropython四位数码管程序代码(YX55759-+4位数码管模块)
  18. Leetcode 递归题目总结
  19. 学习过程中量变引起质变的原理
  20. 七大管理工具:SWOT、PDCA、6W2H、SMART、WBS、时间管理、二八原则!

热门文章

  1. 红米K40 Pro+5G手机出现电量显示故障的修复
  2. java fel_开发中常用Fel的写法
  3. 涨工资 啦 啊啊啊啊 !!
  4. 小学计算机有什么社团活动,小学电脑社团活动方案.doc
  5. Cocos2d-x 之大牛看法佐证
  6. 微信小程序五星评价功能实现
  7. “江一燕体”被群嘲,star(明星)卖人设有多招人烦?
  8. NLP的游戏规则从此改写?从word2vec, ELMo到BERT
  9. mac kafka 环境搭建
  10. 职场面试_002<招聘市场职业发展>