版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41427758/article/details/80723698
Motivation
- 现有方法都是利用检测框来对局部特征进行提取,这样的框框精度较低,有没有更加精准的方法来提取局部细节特征呢?
- 现有的方法涉及很多模块,相对比较复杂,那么这些复杂模块是否有必要呢?有没有简单的方法来达到相同的性能呢?
Contribution
- 通过大量实验证明使用简单且有效的训练方法能够显著超过SOTA
- 提出了SPReID,利用human semantic parsing来处理局部视觉线索;训练了自己的分割模型,并在human分割任务上超过了SOTA方法
- 本文的方法大幅度提升了Market-1501、CUHK03、DukeMTMC-reID上的性能
思考
- 这篇文章用分割(像素级的精度)来提高卷积网络对局部细节特征的提取,并将现有的Re-ID数据集混合起来扩充训练集,方法简单粗暴而且效果不错。
- 对于这种简单的混合训练是不是可以继续改进呢?
- 对于Human semantic parsing模型结果的融合能不能进一步优化呢?
- 文章是不是应该做一个与bbox方法直接对比的实验来表明human semantic parsing的优越性呢?
1. Introduction
- ReID问题定义
- ReID的挑战:
- 不同摄像头下行人的光照、背景、遮挡、身体部分以及姿势可能发生剧烈变化
- 即使在一个摄像头下,上述的条件可能在随着行人移动的时间发生变化
- 不同摄像头下的单人图像会带来巨大的类内差异,影响泛化性能
- re-id数据集中的图片分辨率都相对较低,增加了提取具有辨别力特征的难度
- 基于上述挑战,一个有效的re-ID系统学到的特征应该能代表明确的身份、环境不变性、视角不变性。
- 最近研究主题从image-level的全局特征转向part-level的局部特征,但是低分辨率往往会造成part detection的不准确;同时现有的part-level方法都过于复杂
- 针对上述两个问题,本文表明简单的基于Inception-V3使用一个简单的训练策略仅在全图上进行处理性能能够超过SOTA;利用具有像素级精度的语义分割来从身体部分提取局部特征
2. Related Work
- 局部特征的探索:(结构较为复杂)
- human body part
- extract multiple patches from image(与human body part有一定的联系,难以解决part misalignment)
- attention-based models(利用LSTM聚焦具有高区分度的地方)
- pose estimation model对产生body part
- 利用高语义信息(人物属性)
- loss:
- contrastive loss
- verification loss
- triplet loss
- multi-class classification loss
- multi-class与verification loss的结合
3.Methodology
3.1. Inception-V3 Architecture
- Inception-V3的简单介绍:
- 48层,与ResNet152有相当的精度,却有很小的计算量。
- output32stride,最后一个inception-block经过GAP输出为2048维向量
3.2. Human Semantic Parsing Model
- 更好的利用local cues,像素级的semantic具有更高的精度,相比bbox对姿势的变化更加鲁棒
- Incpetion-V3作为分割的backbone(两处修改):
- 分割对最后一层的分辨率要求较高,将最后一层的grid reduction module的stride从2降到了1
- 将最后一层的卷积变为了dilated convolution,同时移除了GAP,加了atrous spatial pyramid pooling(rates=3,6,9,12),后面节一个1x1卷积作为分类器
- 通过上述方法可以完成像素级的多分类任务
3.3. Person Re-identification Model *
- 在SPReID中的Inception-V3移除了GAP,这样输出为2048通道的32 output stride
- 本文的baseline person re-identification model使用GAP汇聚了卷积输出的特征,产生2048维的全局表示,softmax cross-entropy loss训练
- 局部视觉线索的利用:使用由human semantic parsing model产生的五个身体不同区域的概率图
- 在SPReID中,利用每个概率图对卷积backbone的输出进行了汇总得到了5*2048的特征图,每一行对应通过一个概率图汇总得到的特征向量,相比GAP,这样的方法对空间位置有一定可知性,也可以将概率图看成身体各部分的权重
- 实现细节:
- 将两个分支的输出特征图flatten进行了矩阵乘:eg.对于一个身体部位概率图:30x30x2048 –> 900x2048;30x30x1 –> 900x1; 1x900 x 900x2048 –> 1x2048
- 将head、upper-body、lower-body、shoes的结果进行了元素间的max操作并与背景以及global representation拼接起来
- 语义分割模型通常需要较高分辨率的图片,对于送入re-identification backbone的图片先通过双线性插值缩小,再在最后的激活值处通过双线性插值放大来匹配human semantic parsing branch的分支
4. Experiments
4.1. Datasets and Evaluation Measures
- 本文方法主要在Market1501、CUHK03、DukeMTMC-reID上进行了评估
- 训练过程通过了3DPeS、CUHK01、CUHK02、PRID、PSDB、Shinpukan、VIPeR数据集进行了扩增,训练集达到了11100张,17000个人物
4.2. Training the Networks
- baseline model的训练:
- 先用inputsize=492x164在训练集上训练了200K iteration
- 最后分别在Market1501、CUHK03、DukeMTMC-reID上使用inputsize=748x246进行了50Kiteration的fine tune
- SPReID model的训练:
- 在总的10个数据上以相同的配置进行训练,inputsize为512x170
- semantic parsing model的训练在LIP数据集30000张图片上进行训练,将20个语义标签的预测概率组合形成5个粗略标签来对person re-identification进行人体解析,一小心还超过了SOTA方法,结果如下:
4.3. Person Re-identification Performance
Effect of input image resolution: 输入图片尺寸大小对模型性能的影响,结果如下表:
- 在更高的分辨率上训练能得到更好的性能
Choice of re-identification backbone architecture: 不同模型作为backbone,结果如下表:
- Inception-V3与ResNet152有相当的性能,但是能节省3倍的计算开销,同时从另一个角度说明了不同模型对在高分辨率图像上fine-tune都有提升
SPReID Performance:
- 对于with and without前景差异的比较:
以及
- SPReID与baseline相比,唯一的不同是如何汇总最后一层卷积的特征,利用human semantic parsing来更好的筛选出有用的特征
Effect of weight sharing:
- 本文的模型有两个汇总特征的部分:对于直接用GAP产生特征图;利用人体部位概率图进行加权汇总。对这两部分的backbone参数共享的效果进行了实验,结果如下表:
4.4. Comparison with the state-of-the-art
- 比较分成了三块:
- SOTA
- 用两阶段训练策略得到的baseline model
- SPReID
5. Implementation Details
Person Re-identification:
- batch size:15
- momentum:0.9
- weight decay:0.0005
- gradient clipping:2.0
- learning rate:第一阶段为0.01,第二阶段为0.001
- 使用exponential shift with the rate of 0.9 衰减了10次学习率
- Nesterov Accelarated Gradient
- ImageNet pre-trained models
Human Semantic Parsing:
- 30个iterations
- Inception-V3、atrous spatial pyramid pooling、1x1 convolutional layer的学习率分别为0.01,0.1,0.1
- inputsize:512x512
6. Conclusion
- 本文提出的两个问题:
- 实现SOTA的model需要这么复杂吗?
- bbox是处理局部视觉线索最好的方法吗?
- 通过大量的实验解决上述问题:
- 仅使用简单的model在大量高分辨率的图片上训练即可超越SOTA
- 使用human sematic parsing来处理局部视觉线索可以进一步提高性能
- 这里是不是应该再做个bbox的实验?