0%

Deep CV-MIML

0. 前言

这篇论文主要的创新点是:不再需要在 video 的每一帧都给出行人的位置和 id,而是直接赋予一段 video 一个 video-level label,即这段 video 中有哪些人。主要目的也是为了降低标注成本。有点重新定义行人重识别问题的意思。我觉得很有意思,也更贴近实际一些。

1. Introduction

在传统的行人重识别设定中,每张图片表示用方框圈出来的行人。因此,作者提出了 weakly supervised setting,即在训练阶段,只有 video-level label,因此此时每段 video 中有多个行人,有个标签,即 multi-instance multi-label(MIML)。

订正(2019-05-24):论文中的 train set 分为:probe set 和 gallery set,probe set 每个行人的一系列图片组成一个 bag ,有准确的标签,gallery set 一段 video 组成一个 bag,取出这段 video 每一帧自动检测出的行人图片,有 video level label,但是不知道具体哪个行人对应哪个标签。

提出:

  • intra-bag alignment
  • cross-view bag alignment

基本定义:

  • gallery set 中的 every video clip 为一个 bag
  • 每个 bag 包含多个行人的图片,并标记 video-level label
  • probe set 中是经过手工标记的图片,为了统一,也视这些图片为一个 bag

解决的问题:

  • 每个 bag 中包含相同的行人: intra-bag alignment
  • bag 与 bag (跨摄像头)之间也包含相同的行人: cross-view bag alignment

现有的 MIML 直接应用到 person re-id 中存在的问题

  • 现有的 MIML 忽略了 intra-bag variation,即 bag 内会有相同类别的实例
  • 现有的 MIML 假设 instance-level label 是高度相关的,但是 person re-id 中的行人都相互独立的
  • 现有的 MIML 没有考虑到 bag 之间的 (cross-view) 相关性

2. The Proposed Approach

2.1 Problem Statement and Notation

在 weakly supervised person re-id setting 中,不再是以图搜图,而是以图搜视频,或者以视频搜视频,即给定同一个行人组成的视频,在只经过自动画框的视频中找出这个行人。

符号 含义
$C$ identities
$V$ camera views
$\tilde{C}$ $\tilde{C}=C+1$
$\cal{X}$ the training set
$N_{\cal{X}}$ $N_{\cal{X}}$ video in the training set
$\cal{X}_p, \cal{X}_g$ probe set and gallery set,and $\cal{X}_p + \cal{X}_g=\cal{X}$
$\cal{X}p=\lbrace (X_b, y_b, v_b) \rbrace {b=1}^{N_p}$ probe set
$\cal{X}g=\lbrace (X_b, y_b, v_b) \rbrace {b=1}^{N_g}$ gallery set
$v_b \in \lbrace 1,2,…,V \rbrace$ 摄像头
$y_b=[y_b^0, y_b^1,…, y_b^C]\in\lbrace 0,1 \rbrace^{\tilde{C}}$ 行人标签
$Xb=\lbrace x{b,1}, x{b,2},…, x{b,n_b} \rbrace $ 多实例
$x_{b,i}=f_e(I_b;\theta)\in \mathbb{R}^d$ 图片 $I_b$,特征提取方程 $f_e(\cdot;\theta)$
$f_c(\cdot;W)$ classifier
$y{b,i}=f_c(x{b,i};W)$ 分类器

基本保证每个行人至少在两个摄像头下出现过,并视在 untrimmed videos 中的出现的未知行人为新的一类,即第0类,所以 $\tilde{C}=C+1$

Question: probe set 是图片,gallery set 是视频,那training set 是什么?也是视频吗? gallery set 和 training set 是一个集合还是完全不同的集合?

gallery set 中的视频没有经过人工画框,只有 video-level weak label,其中的行人是自动检测出的,没有人工标定行人标签,所以具体到行人对应哪个标签也是未知的。

probe set 中,each query 由一系列同一个行人的检测图片组成。为了统一,视 probe set 中的 each query 也为一个 bag,此时 video-level 应该是单实例的。

所以,可以统一为:$\cal{X}=\lbrace \cal{X}p, \cal{X}_g \rbrace$,其中 $\cal{X}_p=\lbrace (X_b, y_b, v_b) \rbrace {b=1}^{Np}$,$\cal{X}_g=\lbrace (X_b, y_b, v_b) \rbrace {b=1}^{N_g}$.其中 probe set 的 bag 是单标签的,gallery set 的 bag label 为0时,表示不确定这个行人是否在这个 video 中出现过。

重新定义问题需要重新定义好多概念。

2.2 Cross-View MIML for Person Re-id

2.2.1 Weakly Supervised Person Re-id MIML

令 classifier $fc(\cdot;W)$, 对于 probe set $\mathcal{X}_p$,一个 bag 内的所有实例 $\lbrace x {b,i} \rbrace _{i=1}^{n_b}$ 标签都是一样的 label $y_b$,此时可以可以直接使用交叉熵损失函数。对于 gallery set $\mathcal{X}_g$,共享 weak video-level label $y_b$,很明显这时候不能直接使用交叉熵损失函数,所以 probe set 和 gallery set 需要分开训练。

对于 probe set 中的 bag,可以直接使用 instance-level 交叉熵损失函数。

其中,$yb^c$ 表示第 b 个 bag 的第 c 类的真实 bag 标签,$\tilde{y}{b,i}^c$ 表示第 b 个包的第 i 个图片的第 c 类的预测标签。

Question: probe set 中,一个 bag 是由行人的图片组成的像上面的一样,而 gallery set 中,一个bag的组成图片是一大张,行人在其中只占到很小的比例,明显两个不是一个尺度的,所以(根据 gallery set 的预测函数得出的猜测)猜测 gallery set 在进行训练时,是把每一帧中的行人(已经自动检测出)图片抠出来,然后送入网络,那么 gallery set 中,bag 大小不是表示这个 video 的帧数,而是这段 video 自动检测出来的行人图片个数,如果是这样的话,那怎么解决检测出的未知人(第0类)和丢失的行人。

对于 gallery set 中的 bag,因为是多实例多标签,所以用的方法略微不同,之前没见过,先举个例子解释下。

假设一个 bag 内有两个图片,label 是三类,即: $Xb=\lbrace x{b,1}, x{b,2} \rbrace $, $y_b=[1,0,1]$,预测标签是 $\tilde{y} {b,1}=[0.1, 0.2, 0.7], \tilde{y}_{b,2}=[0.3, 0.4, 0.3]$,对于每一类,先找出该类预测概率最大的图片,即 $q_1=2, q_2=2, q_3=1$,即第一类和第二类在第二张图片出现的概率最大,第三类在第一张图片出现的概率最大(纵向比较,而非常规意义上的横向比较),从而得到bag的预测概率 $\tilde{y}=[0,3, 0.4, 0.7]$,然后再做个交叉熵。

Question:其理论基础是什么。

选择第 c 类后验概率最大的实例,记为 seed instance $x_{b, q_c}$,其中 $q_c$ 的定义为:

然后定义 bag-level 分类损失:

从而得到 MIML classification loss:

2.2.2 Intra-bag Alignment

应该是指一段视频中即一个 bag,因为行人出现在连续的帧中,所以每一帧的行人分布是差不多的,因此可以尽可能地将属于同一个人的图片聚在一起。

在 gallery set 中,对于第 c 类已经找到 seed instance $x_{b, q_c}$,即对于第 c 类,这张图片比其他图片更像,从而构建一个 group 包含类似第 c 类的图片

其中,$\mathcal{N}{q_c}$ 表示 $x{b,q_c}$ 的 K-近邻,$\gamma\in (0, 1)$,上述的公式表示这个 group 中的图片既需要满足在特征上相近,也要满足预测概率大于预定值。

Question: soft multi-label, ECN 在选择正样本和负样本的时候的构建规则和这个就不太一样,或者说这么多构建最相似的规则,其区别大概在什么地方,特征相似,概率相似。不太懂,可能还是自己见得少吧。

因此可以得到 intra-bag alignment loss:

这个是用KL散度衡量分布一致性。

2.2.3 Cross-view Bag Alignment

intra-bag alignment and cross-view bag alignment 都是在尽量找到同一个行人的不同图片并且使这些图片得到特征相似,预测类别相似。

理论上来说,不同 view 下的同一个行人的特征应该也是相似的,因此,对每个行人引入 distribution prototype,并且同一个行人的图片特征应该近似 distribution prototype 的特征。公式定义为:第 t 个 epoch 时 第 c 类行人的 distribution prototype 为 $\hat{p}_c^t$:

其中,$Vc$ 表示所有的 camera view,$I{c,v}$ 表示在第 v 个 camera view 下第 c 类的所有实例,可以理解成,在 gallery set 中,每个 bag 是一段视频,视频的每一帧是一张大图片,然后从上面扣下来行人图片,即行人图片是指第几个 bag 的第几帧的第几个行人,同时 bag 还有 camera view 信息,即第几个摄像头拍的。

Question: $I{c,v}$ 是怎么得到的,在训练阶段, probe set 是可以具体到 instance-level label,在 gallery set 只有 bag-level label,那怎么得出属于同一类的 instance,是通过 $G{b,c}$ 吗?总感觉怪怪的。

从而得到对齐损失函数:

$I_c$ 表示第 c 类的所有 instance.

需要注意的是:两次求 KL-散度 都在前面乘以了 bag-level label 用以衡量当前 video 当前类的重要性。

这两个公式都写的很长哈。而且是那种需要把全部图片遍历一遍才可以计算的那种。

2.3 Deep Cross-view MIML Model

作者提出了一个新的 entropy regularization term,在 gallery set 中,总是会存在一些 outlier instance,在 intra-bag and cross-view alignment 中远离 data group,为了避免这种情况,设计了个正则项:

这是信息熵公式,应该是想尽可能使预测的概率陡峭,或为1或为0.

这个公式来得有点突然啊,是有什么实验证明吗?

Cross-view Multi-label Multi-Instance learning (CV-MIML):

2.4 Implementation Details

实现还是有点意思的,希望看到代码吧。

4. Experiments