github项目:JDAI-CV/fast-reid
论文:FastReID: A Pytorch Toolbox for General Instance Re-identification
作者中文博客:FastReID: 一个面向学术界和工业界的 ReID Toolbox

这个项目是在很多baseline上,通过模块化的封装,加入各种trick来提高性能。可以通过对不同模块的修改,来更快的实现新的idea。
ReID任务由于摄像头的位置不同,像素不一,色准存在差异;与此同时,行人的姿态各异,拍摄角度不同;并且,检测框的质量高低不一,可能存在遮挡和不对齐的问题,这都对ReID任务提出的挑战,下面让我们看看FastReID是如何提高模型提取特征的鲁棒性的。

Pipeline

在这里插入图片描述

Pre-processing

首先将输入图片resize为固定大小256*128
由于ReID数据集规模小,为了提高数据集的变化性,采取了多种方法进行数据增强1

在这里插入图片描述

Backbone

采用Resnet2及其变种为骨架网络来提取特征,还加入了了正规化的IBN3和类注意力机制的Non-local4机制来提高提取特征的鲁棒性,这部分值得阅读参考文献进一步学习。

Aggregation

聚合层( Aggregation)将feature map池化为global vector,文中提到了四种池化方法,最大池化,平均池化,广义均值池化和注意力池化。
在这里插入图片描述

Head

Head层将global vector转化到decision layer来进行预测。转化的方法有:
在这里插入图片描述
其中BN层(Batch Normalization)通过标准化数据的分布,来避免由于激活函数的饱和非线性对网络性能的损失。下图是加入BN前后输出的对比图。
在这里插入图片描述
进行Batch Normalization的过程为:
在这里插入图片描述

Loss

把ReID看成多分类问题,采用交叉熵损失(Cross-entropy loss)
在这里插入图片描述
把ReID看成度量学习,采用三元组损失(Cross-entropy loss)
在这里插入图片描述
通常的做法是,将上述损失求和为最终的loss,而2020CVPR提出circle loss[^5]统一了上面两种损失,并且取得了非常好的效果,值得阅读论文进一步学习。

Distance Metric

在inference阶段,我们要计算gallery中所有的图片和query的特征,并计算他们之间的距离进行排序,计算距离的经典方法有欧式距离和余弦距离,CVPR2018提出的Deep spatial reconstruction5,DSR将query和gallery中每张图片feature map分为N个部分,query中每个部分与gallery中一张图片的N个部分计算距离,并求出最短距离的匹配值,最后对query中N个部分得到的匹配值求和,即为query对这张图的总匹配值,最后计算与gallery中所有图片的匹配值,进行排序。

Post-processing

在排序阶段,使用一些技巧,可以提高我们查询的性能。
QE(Query expansion)是对初排序距离最近的m个目标的特征和query的特征求平均值,用这个平均值来当做query的特征值,进行重新求距离和排序。
在这里插入图片描述

Evaluation

比较经典的评价指标有CMC和mAP。
CMC(Cumulative matching cure) 累计匹配特征,其中的指标Rank(k)是指,query在galley中寻找,返回的距离前k张图片中是否有一张为正确检测。常用的由Rank1,Rank5等。
在这里插入图片描述
mAP(mean Average Precision)
在这里插入图片描述
纵轴为查准率,横轴为查全率,假设这N个样本中有M个正例,那么我们会得到M个查全率值(1/M, 2/M, …, M/M),对于每个查全率值r,我们可以计算出对应(r’ > r)的最大查准率,然后对这M个查准率值取平均即得到最后的AP值

其他机器学习的评价指标有ROC
ROC(Receiver Operating Characteristic)
在这里插入图片描述
纵轴为真阳性率即查全率,横轴为伪阳性率即所有为假的样本被判断为真的比率。


  1. Kaiyang Zhou, Yongxin Yang, Andrea Cavallaro, and Tao Xiang. Omni-scale feature learning for person reidentification. In The IEEE International Conference on Computer Vision (ICCV), 2019 ↩︎

  2. Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun. Deep residual learning for image recognition. In The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016 ↩︎

  3. Xingang Pan, Ping Luo, Jianping Shi, and Xiaoou Tang. Two at once: Enhancing learning and generalization capacities via ibn-net. In The European Conference on Computer Vision (ECCV), 2018 ↩︎

  4. Xiaolong Wang, Ross Girshick, Abhinav Gupta, and Kaiming He. Non-local neural networks. In The IEEE conference on computer vision and pattern recognition (CVPR), 2018
    [^5]Yifan Sun, Changmao Cheng, Yuhan Zhang, Chi Zhang,Liang Zheng, Zhongdao Wang, and Yichen Wei. Circle loss:A unified perspective of pair similarity optimization. 2020 ↩︎

  5. He L , Liang J , Li H , et al. Deep Spatial Feature Reconstruction for Partial Person Re-identification: Alignment-Free Approach[J]. IEEE, 2018. ↩︎

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐