【行人识别】Deep Transfer Learning for Person Re-identification
2017-06-09 11:31
651 查看
Geng, Mengyue, et al. “Deep Transfer Learning for Person Re-identification.” arXiv preprint arXiv:1611.05244 (2016).
本文的亮点有三:
在网络结构方面,使用训练好的GoogleNet进行特征提取;同时使用Verification和Classification代价进行优化。
在训练时,分两步进行参数调优,使得小数据集的使用成为可能。
使用一种巧妙的非监督方法,利用未标定的大量视频数据。
GoogleNet约有100层网络,其中由参数的只有22层(如果算pooling是27层),整体参数不超过10M。需要训练的参数少,也是作者选择GoogleNet的原因。
由于充分利用了大训练集上的预训练结果,本文的正确率比以往工作有了明显提升。
分类代价:将一个输入图像分类为已知的N个类别中的一类。
鉴别代价:判断两个图像是否为同一个人。特别注意,上下两路中的dropout层完全相同,保证略去的节点位置对应。
同时考虑两个代价,也是本文正确率高的原因之一。
需要特别声明的是,GoogleNet在不同阶段实际有三个输出。对这三个输出都同等地施加上述两个代价。
预处理
计算所有gallery中人的特征
识别
对输入图像,计算其特征
与gallery中特征逐个比较,计算欧式距离
距离最小的,认定为识别结果
初始化时,提取特征网络使用GoogleNet参数,softmax部分随机初始化。
训练分为两步完成:
固定其他参数,只训练softmax层
训练所有层参数
一个特别一点的情况是,用于训练的行人数据库有两个,一个包含N1个人的较大的库作为辅助,一个包含N2个人的较小的库为目标。
训练分为三步:
固定其他参数,在大库上训练输出为N1的softmax层
固定其他参数,在小库上训练输出为N2的softmax层
在小库上训练所有层参数
为简洁起见,设有两个摄像机a,b,分别拍摄了Ma,Mb张行人图像,记为{Xa},{Xb}。
经过特征网络提取的特征记为{Ya},{Yb}。
设计两个具有互补性质的模型;
用模型1的结果,标定所有数据;
用当前数据训练模型2
用模型2的结果,标定所有数据;
重复上述过程2-3次即完成拟合
将来自a摄像机的Ma张图像标定为Ma个独立类别。
对于来自b摄像机的图像,根据特征网络输出的特征,查找其特征yib在{Ya}中的最近邻,将其标定位该最近邻的类别。
使用如上标记数据,更新网络参数。
注意,网络参数变化后,标定结果也会发生变化。
两个摄像机共拍摄了M=Ma+Mb张图像。将所有图像的特征排列成一个K×M的矩阵Y。
考虑将Y进行低秩分解,变成两个矩阵D,
Z的乘积。最小化下式:
||YK×M−DK×NZN×M||2F+λΩ(Z)
同时满足:||di||22<1,要求D的列的模小于1。
其中,第一项是Frobenious范数,定义为矩阵元素平方和的方根。
第二项是graph regularization,定义为:
Ω(Z)=∑ij=1MWij||zi−zj||22
这是Z矩阵各列之间差向量二范数的一个加权和。
如果第i列和第j列对应的样本来自同一个摄像机,则权重Wi,j=0;
否则,设i来自相机a,j来自相机b。查找i在b相机中的k近邻(k=4)。如果j输入此k近邻,则Wij=1,否则Wij=0。
这一项的意义是,要求新的表达z具有邻近特性。如果两个样本相似,则要求其表达也接近。
||Y−DZ||2F+λtr(ZLZT)
对Z求导,可得:
YTDZ∗+λZ∗L=YTD
这是一个Sylvester等式,可以使用Bartels-Stewart算法求解,该方法在LAPACK中提供了实现。
每一次迭代,随机选择32个人
每个人,随机选择2个样本。每次将这64个样本载入GPU,构成一个minibatch。
生成所有“不同人”样本对,共2*32*2*31 = 3968对。
生成所有“相同人”样本对,并随机复制为同样数量的3968对2。
迭代数:直接使用大库的迭代数为40K/150K;从大库迁移到小库的迭代数为20K/20K/20K。
代价权重:verification和classification的权重比为3:1
co-training:λ由交叉验证确定
数据扩展:每个原始样本保持中心做随机2D变换,扩展为5个。
使用在一般数据库上训练的GoogleNet,大大提升了了准确率,超出第二名约10%;
使用classfication+verification的复合损失,比单独损失提升准确率7%-9%,添加triplet loss不能提升准确率;
在verification中使用统一的dropout提升准确率3%;
分两步fine-tune提升准确率8.7%;
非监督方法比原有方法提升显著,准确率约在40%-60%;
非监督方法中的co-training提升准确率2%-3%;
使用在ImageNet上预训练的特征提取网络,能够值得提取的特征更具有“目标”语义。
Szegedy, Christian, et al. “Going deeper with convolutions.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.
↩
此处待详。
↩
概述
本文解决行人的Re-Identification问题:判断两次出现的人是否是同一个人。在Market 1501竞赛中名列榜首,其Rank-1准确率比第二名高出约4%,和传统方法相比提升更是十分明显。本文的亮点有三:
在网络结构方面,使用训练好的GoogleNet进行特征提取;同时使用Verification和Classification代价进行优化。
在训练时,分两步进行参数调优,使得小数据集的使用成为可能。
使用一种巧妙的非监督方法,利用未标定的大量视频数据。
网络结构
特征提取
使用在ImageNet上训练好的GoogleNet1提取K=1024维特征。GoogleNet约有100层网络,其中由参数的只有22层(如果算pooling是27层),整体参数不超过10M。需要训练的参数少,也是作者选择GoogleNet的原因。
由于充分利用了大训练集上的预训练结果,本文的正确率比以往工作有了明显提升。
代价
同时考虑两个代价。分类代价:将一个输入图像分类为已知的N个类别中的一类。
鉴别代价:判断两个图像是否为同一个人。特别注意,上下两路中的dropout层完全相同,保证略去的节点位置对应。
同时考虑两个代价,也是本文正确率高的原因之一。
需要特别声明的是,GoogleNet在不同阶段实际有三个输出。对这三个输出都同等地施加上述两个代价。
测试方法
在执行行人识别任务时,实际被利用的只有GoogleNet部分的网络。遵循如下规则。预处理
计算所有gallery中人的特征
识别
对输入图像,计算其特征
与gallery中特征逐个比较,计算欧式距离
距离最小的,认定为识别结果
训练方法
监督学习
在监督学习场景下,数据库中的每个样本标定的人员身份。初始化时,提取特征网络使用GoogleNet参数,softmax部分随机初始化。
训练分为两步完成:
固定其他参数,只训练softmax层
训练所有层参数
一个特别一点的情况是,用于训练的行人数据库有两个,一个包含N1个人的较大的库作为辅助,一个包含N2个人的较小的库为目标。
训练分为三步:
固定其他参数,在大库上训练输出为N1的softmax层
固定其他参数,在小库上训练输出为N2的softmax层
在小库上训练所有层参数
无监督学习
非监督学习场景下,人员身份未标定,但能够区分图像是否来自不同摄像机。为简洁起见,设有两个摄像机a,b,分别拍摄了Ma,Mb张行人图像,记为{Xa},{Xb}。
经过特征网络提取的特征记为{Ya},{Yb}。
co-training
co-training方法可以从未标定的数据集中训练出监督模型。简略地表示如下:设计两个具有互补性质的模型;
用模型1的结果,标定所有数据;
用当前数据训练模型2
用模型2的结果,标定所有数据;
重复上述过程2-3次即完成拟合
模型1
使用如下方式标定无监督数据将来自a摄像机的Ma张图像标定为Ma个独立类别。
对于来自b摄像机的图像,根据特征网络输出的特征,查找其特征yib在{Ya}中的最近邻,将其标定位该最近邻的类别。
使用如上标记数据,更新网络参数。
注意,网络参数变化后,标定结果也会发生变化。
模型2
模型2和模型1流程类似,但在查找最近邻是要使用另一种特征表达z。两个摄像机共拍摄了M=Ma+Mb张图像。将所有图像的特征排列成一个K×M的矩阵Y。
考虑将Y进行低秩分解,变成两个矩阵D,
Z的乘积。最小化下式:
||YK×M−DK×NZN×M||2F+λΩ(Z)
同时满足:||di||22<1,要求D的列的模小于1。
其中,第一项是Frobenious范数,定义为矩阵元素平方和的方根。
第二项是graph regularization,定义为:
Ω(Z)=∑ij=1MWij||zi−zj||22
这是Z矩阵各列之间差向量二范数的一个加权和。
如果第i列和第j列对应的样本来自同一个摄像机,则权重Wi,j=0;
否则,设i来自相机a,j来自相机b。查找i在b相机中的k近邻(k=4)。如果j输入此k近邻,则Wij=1,否则Wij=0。
这一项的意义是,要求新的表达z具有邻近特性。如果两个样本相似,则要求其表达也接近。
graph regularization求解
记L=D−W+ϵI(ϵ为小量),上述最小化转化为:||Y−DZ||2F+λtr(ZLZT)
对Z求导,可得:
YTDZ∗+λZ∗L=YTD
这是一个Sylvester等式,可以使用Bartels-Stewart算法求解,该方法在LAPACK中提供了实现。
数据组织
由于网络包含分类代价,类别数量不同会导致网络结构变化。所以使用如下方法构造minibatch:每一次迭代,随机选择32个人
每个人,随机选择2个样本。每次将这64个样本载入GPU,构成一个minibatch。
生成所有“不同人”样本对,共2*32*2*31 = 3968对。
生成所有“相同人”样本对,并随机复制为同样数量的3968对2。
训练超参数
学习率:输出0.001,每40K迭代乘0.1迭代数:直接使用大库的迭代数为40K/150K;从大库迁移到小库的迭代数为20K/20K/20K。
代价权重:verification和classification的权重比为3:1
co-training:λ由交叉验证确定
数据扩展:每个原始样本保持中心做随机2D变换,扩展为5个。
总结
实验部分十分丰富,此处只介绍结论。使用在一般数据库上训练的GoogleNet,大大提升了了准确率,超出第二名约10%;
使用classfication+verification的复合损失,比单独损失提升准确率7%-9%,添加triplet loss不能提升准确率;
在verification中使用统一的dropout提升准确率3%;
分两步fine-tune提升准确率8.7%;
非监督方法比原有方法提升显著,准确率约在40%-60%;
非监督方法中的co-training提升准确率2%-3%;
使用在ImageNet上预训练的特征提取网络,能够值得提取的特征更具有“目标”语义。
Szegedy, Christian, et al. “Going deeper with convolutions.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.
↩
此处待详。
↩
相关文章推荐
- 【行人识别】Deep Transfer Learning for Person Re-identification
- 【行人识别】Deep Transfer Learning for Person Re-identification
- 行人检索“An Improved Deep Learning Architecture for Person Re-Identification”
- 行人检索"Deep Ranking for Person Re-identification via Joint Representation Learning"
- 【行人重识别】A Discriminatively Learned CNN Embedding for Person Re-identification
- 【Person Re-ID】Deep Representation Learning with Part Loss for Person Re-Identification
- 行人检索 Learning a Discriminative Null Space for Person Re-identification
- 行人检索--Beyond triplet loss: a deep quadruplet network for person re-identification
- 【Person Re-ID】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification
- 1505.Deep Ranking for Person Re-identification via Joint Representation Learning论文笔记
- 【论文笔记】Margin Sample Mining Loss: A Deep Learning Based Method for Person Re-identification
- 【Person Re-ID】Deep-Person: Learning Discriminative Deep Features for Person Re-Identification
- 读论文系列:Deep transfer learning person re-identification
- 论文研读--Learning Deep Feature Representations with Domain Guided Dropout for Person Re-identification
- 行人检索 - Embedding Deep Metric for Person Re-identification
- Deep Metric Learning for Person Re-Identification
- Deep Ranking for Person Re-identification via Joint Representation Learning
- 【2016_ECCV】Embedding Deep Metric for Person Re-identification: A Study Against Large Variations
- 论文阅读:Joint Learning of Single-image and Cross-image Representations for Person Re-identification
- [2016,arXiv] An Enhanced Deep Feature Representation for Person Re-identification