【行人重识别论文阅读笔记——VPM】

【论文】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的结构。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值