Pyramidal Person Re-IDentification via Multi-Loss Dynamic Training
Feng Zheng, Cheng Deng等人 2019 CVPR
1. Motivation
不精确的bounding box给reid造成行人损失,但除了做成行人搜索外又不可避免,于是作者提出一个新的coarse-to-fine的金字塔模型(锥形)来缓解对于精确bb的需求,不仅集成了局部和全局信息,还集成了它们之间的渐进线索。该模型能匹配不同尺度的图像,即使图像没有很好的对齐。此外,还提出了一种动态训练策略以无缝地统一两个损失(ID损失和triplet损失联调,但其换了一种联调方式),并从中提取适当的共享信息。
2. 介绍
局部信息逐渐被合并为全局信息,而局部信息也会得到使用。
以上就是coarse-to-fine的金字塔模型,其基于backbone提取的feature map进行操作。首先,金字塔实际上是为了在不同空间尺度上捕捉鉴别性信息;然后,用一个卷积层来削减维度并送给各独立分支学习;最后,各独立分支用ID损失和Triplet损失做监督。
贡献:
- coarse-to-fine的金字塔模型,集成了局部+全局信息和渐进的线索(局部信息合成全局信息的过程),从而放松了对于检测bb的要求;
- 最大程度利用了不同损失的优势,提出了一种动态训练策略以无缝联合这两种损失并提取鉴别性行人表示
- SOTA的效果
3. 方法
3.1 coarse-to-fine的金字塔模型
设M是
C
∗
H
∗
W
C*H*W
C∗H∗W的,而n是分成的part数,图2中n=6,则第 l 层的第 k 个part的特征图为
P
{
l
,
k
}
P\{l,k\}
P{l,k},则P为:
每次逐渐合并都是多出一个分支(特征图),但每个特征图的size比上一个特征图的size小一个水平part的大小,即H/n。
而对于图2中提到的分支,每个分支的都是由两个连续的下图所示结构组成:
3.2 多损失动态训练
ID损失 + Triplet损失
常见的是使用一个权重进行联调,如最终总损失 = ID损失 + 权重 * Triplet损失,但这种固定权重的做法不够好。作者提出两种采样策略,一种是随机采样----ID损失,一种是ID平衡的采样----triplet损失。后者是PK采样,P=K=8,这种采样有好处,但也有坏处,例如会导致那些图像数少于8的ID永远不会用到(除非用重复采样)。如下图所示:
下面就是为解决固定权重不好而提出的动态权重了,用 t 代表不同任务,
t
∈
{
i
d
,
t
p
}
t \in \{id,tp\}
t∈{id,tp},在第
τ
\tau
τ次迭代时的平均损失为:
L
τ
t
L^t_{\tau}
Lτt,则:
其中
然后,损失不会下降的似然概率为:
当上式结果为1时,表示这次迭代不会带来损失的下降,但保证了损失也不会上升。
继而有:
然后,总损失可以重写为:
当
时,ID损失发挥着主导作用,反之则Triplet损失主导。
总之最小化L最终会导致模型通过式5来挑选会让损失下降的那些损失来优化模型,例如前期基本都是ID损失更起作用,于是算法1中会设置
算法如下:
4. 实验
4.1. 实验细节
4.2 .和SOTA比
相当高的性能
4.3. 消融
4.4. 示例
PCB本身就是一个很强的baseline,该方法比PCB更强出很多