1、论文内容概要
行人重新识别给深度学习抛出一个很大的挑战;如何学习一个有百万参数的深度模型,只需要很少的训练,甚至不需要。针对数据稀疏性问题,这篇论文提出了一系列的方法。
第一、基于现有的ReID研究问题设计了全新的深度网络架构,其不同之处在于:
(a)可以从大的数据集的模型中进行迁移学习;
(b)分类损失和验证对损失相结合,分别采用不同的训练的策略。
第二、提出了一种两步微调策略来迁移辅助数据集的权重;
第三、针对未标记的ReID数据集,提出了一个基于联合训练的无监督迁移学习方法(本文不进行阐述)。
所提出的模型比以往的方法:实现了Rank-1的精度分别在不同的数据集为:CUHK03=85.4%、Market1501=83.7%和VIPeR=56.3%。无监督模式Rank-1的精度为(VIPeR=45.1%),比大多数的监督模式要好一些。
2、相关工作说明
2.1、Deep Re-ID model
大多数集中在deep metric learning,使用pairwise verification loss或者triplet ranking loss,通常有两个或三个分支。在人脸识别中也有类似本文结合分类损失和验证损失的做法,可以将不同类分开以及将同类距离减小。
现在的方法网络都是专门针对Re-ID设计的,结构各不相同,通常有较小的输入尺寸和不同的长宽比,卷积核的尺寸也较小,池化层较少。难以学到足够泛化的特征。
2.2、Dropout strategy
通常用来降低过拟合问题,尤其在数据量较小的,本文针对两种损失函数提出了两种类型的Dropout:
针对分类损失的standard random dropout
针对验证损失的pairwise-consistent dropout
2.3、Deep transfer learning
因为ImageNet与Re-ID任务之间有巨大的domain差异性,传统的one stepped strategy是不足够的,本文提出了two stepped strategy:先只微调分类损失,然后一起微调验证与分类损失;
multi-task joint training approach:目的在于减少源数据与目标数据的边缘分布或联合分布的差异性,通常要求两个任务有相似domain;
2.4、Deep unsupervised domain adaptation
字典学习、自编码器:难以学到具有判别力的特征soft-label self-training
3、模型原理
模型结构如下:
3.1、网络可以总结
1、Base network相当于一个特征提取器,是一个在ImageNet上预训练过的GoogLeNet的特征提取部分(本文项目实践部分对应的是ResNet50网络模型);
2、添加了两种Subnet来充分利用ID信息,对输入的图片不仅进行ID分类,还进行照片对的验证;
3、利用一个Dropout选择器,首要的当然是防止过拟合,至于为什么要搞一个选择器,也很好理解,Classification部分图片对随机Dropout互不影响,而在Verification部分,需要对图片对的Dropout进行统一,也是为了排除Dropout对核实的影响;
4、两个部分都采用Cross-Entropy Loss。
3.2、模型组件
Base Network:为了利用ImageNet数据集上的特征,选取了在ImageNet上表现较好且参数较少的GoogleNet;
Loss specific dropout unit:对于Base network产生的D维向量y:若是分类Subnet则使用标准的Dropout操作:y˜=r*y,r中的每一个元素都是随机采样于Bernoulli process。若是验证Subnet,因为有一个元素之间的Subtract操作,标准的Dropout并不适合,采用了Pairwise-Consistent Dropout,产生两个Dropout masks ri、rj,同时ri=rj;
Person ID classification subnet:标准的分类网络:Basenet –> Dropout –> softmax(cross-entropy)
Pairwise verification subnet:两个y˜i与y˜j --> 元素间的Subtraction --> Relu --> FC --> 两个节点的Softmax对比损失在本文的模型中效果不是很好,由于使用了Pre-trained GoogleNet,对于非对齐的图片不能在中间加层进行处理,Mahalanobis metric learning Loss测试效率太低。
3.3、提出了关于two-step fine tuning的创新点
1、将softmax层替换成target域的ID数量,固定前面所有参数,进行一步fine tuning(固定base/verification network);
2、待softmax收敛或者达到一定轮数后,接触限制,对整个网络进行fine tuning。
3.4、训练方法
在监督学习场景下,数据库中的每个样本标定的人员身份。初始化时,提取特征网络使用GoogleNet参数,softmax部分随机初始化。
训练分为两步完成:
1、固定其他参数,只训练softmax层;
2、训练所有层参数。
一个特别一点的情况是,用于训练的行人数据库有两个,一个包含N1的较大的库作为辅助,一个包含N2的较小的库为目标。
具体训练分为三步:
1、固定其他参数,在大库上训练输出为N1N1的softmax层
2、固定其他参数,在小库上训练输出为N2N2的softmax层
3、在小库上训练所有层参数
3.5、测试方法
测试过程:
cross image representation(CIR):将图像对送入网络,通过验证网络的fc层以及softmax得到匹配分数;
single image representation(SIR):预先对gallery中的图片计算basenet的输出y,与probe得到的特征计算欧式距离,比CIR快三个数量级。