[CVPR2019]Patch-based Discriminative Feature Learning for Unsupervised Person Re-identification论文笔记
文章目录
-
1. 摘要
-
2. 方法
-
- 2.1 算法总体框架
- 2.2 Patch Generation Network(补丁生成网络)
- 2.3 Patch-based Discriminative Feature Learning(局部特征度量学习PEDAL)
- 2.3 Image-level Patch Feature Learning(总特征度量学习IPFL)
- 2.4 总损失函数
-
3. 实验结果
1. 摘要
局部特征在有监督ReID应用极其有效,但是由于目标域缺少标签,导致局部特征在无监督领域并不能发挥性能。
该论文提出一个网络框架和两个损失函数,使得局部特征能够在无监督方向使用。
- 提出一个网络框架(PatchNet)。
- 提出两个损失函数,一个补丁级损失(PEDAL)和一个图像级损失(IPFL)。
2. 方法
2.1 算法总体框架

PatchNet包括CNN主干网络和补丁生成网络(Patch generation network, PGN)组成。首先利用随机图像变换行人图像生成替代正样本,将他们输入CNN得到特征图,然后经过PGN网络得到M个补丁块,接着用M个独立的CNN网络提取小特征图的特征作为局部特征,并将他们拼接作为该行人图像的总特征。PEDAL和IPFL损失函数分别对局部特征和全局特征进行度量学习。
2.2 Patch Generation Network(补丁生成网络)

LN包含一个卷积层和两个全连接层,输出Θ = [θ1, . . . , θm, . . . , θM],通过得到的θ可以得到需要采样的网格区域,并利用采样器对特征图进行采样得到M个Patch。
2.3 Patch-based Discriminative Feature Learning(局部特征度量学习PEDAL)

定义x_i^m为mini-batch(迷你批量)的第i张图片的第m个局部特征,需要将它与其他所有图片的第m个局部特征进行比较,但由于batch无法实现,所以定义一个patch memory bank,用于存储所有图片的patch特征,表示为W_m = \{w^m _j \}^N _{j=1}。

公式中t代表训练周期,m代表第m个局部特征,j代表图像的序号。
在训练之前,初始化所有图像的M个局部特征,存入memory bank当中。
将x_i^m与其它所有图像的第m个局部特征进行比较,得到k近邻集合K_i^m,定义损失函数L_c^m。

优化目标是拉近x_i^m的k近邻与x_i^m的距离,拉远x_i^m与非k近邻的距离,也就是使得相似的图像距离更加接近,不相似的图像距离更远。
讨论
在以往的ReID方法中,利用聚类分配伪标签等方法拉近相似图像之间的距离在一定程度上能够提高性能,但是存在无法分辨不同行人相似图像的问题。但在Patch-level并不存在这个问题,一张图片的M个Patch包含着不同区域的信息,两张不同行人的相似图像只会存在一些Patch的相似,而不会存在所有Patch的相似,故拉近相似Patch之间的距离是有效的。
2.3 Image-level Patch Feature Learning(总特征度量学习IPFL)
这一部分构造三元组实现难样本三元组损失。
难样本负样本挖掘
如果有两个行人图像的总特征都为彼此的k近邻,则判断两者大概率为同一行人的图像。同理,若行人图像A为行人图像B的k近邻,可A的k近邻中却没有B,则判断A为B的难负样本。

给定x_i,计算x_i与小批量B_i的其它图像距离并进行排序,得到k近邻,对x_i的k近邻图像计算它的排序序列,判断x_i是否位于它的k近邻,取第一个x_i不位于它的k近邻的x_j作为难负样本n_i。
替代正样本生成
由于小批量中存在正样本的可能性较小,则添加替代正样本,将行人图像做随机图像变换生成替代正样本的总特征。

这个损失函数使得x_i和正样本的距离尽可能的缩小,使得x_i和负样本的距离尽可能的增加。
2.4 总损失函数

3. 实验结果
在Mark1501和DukeMTMC两个数据库上进行试验,LN网络在MSMT17上进行预训练。


