王韶云 2022.09.10 周报内容:学习行人重识别经典网络 BagOfTricks
论文【2019CVPR】Bag of Tricks and A Strong Baseline for Deep Person Re-identification
作者博客:一个更加强力的ReID Baseline
主要内容:提出一个baseline和一些tricks
其他细节:测试了 batch size 和 image size 对模型的影响
tricks:
- Warmup Learning Rate: 将网络缓和地初始化到一个更优的搜索空间,避免震荡到次优空间;
- Random Erasing Augmentation(REA): 随机擦除,模拟遮挡,图像增广的一种方法,提高泛化能力;
- Label Smoothing: 标签平滑,缓和label对网络的约束,抑制过拟合;
- Last Stride:增大feature map,提取到更加细粒度的特征,以提升模型的性能;
- BNNeck:加速ID Loss的收敛,原文的解释,其他文章的解释;BN;
- Center Loss:增加正样本之间的聚类性能,在检索指标CMC和mAP上效果不明显;
Pipeline:输入的图像经过REA数据增广,然后经过ResNet50网络,last stride改为1。然后经过BNNeck,由于center loss也是一种度量损失,所以和triplet loss一起放到BN前面。最后分类损失结合LS一起计算。整个网络使用warm up学习率去优化。
学习源码
参考 行人重识别 reid-strong-baseline代码运行
参考 ResNet50网络结构图及结构详解
项目模板,参考PyTorch-Project-Template
Ignite库,高层次封装的训练框架
yacs库,用于为一个系统构建config文件
出现的问题及解决办法
总结
名词
- mini-batch: Mini-batch 和batch的区别
- one-hot: 最为简单也是比较常用的文本特征表示方法
- 交叉熵、相对熵的通俗理解
- 详解:信息量、熵、交叉熵、相对熵(KL散度);损失函数为何多用交叉熵,蒸馏模型用相对熵?FastReID中用到知识蒸馏…
- margin: 将类间的间隔拉得更大,保证“类间距离大于类内距离”这一目标
- learning rate decay:衰减学习率
- 召回率、精确率、准确率
- 检查点模式:定期存储模型
🤔?
【 NeurIPS 2021 】 图像损坏场景下行人重识别新基准
跨分辨率 可以参考 模糊场景吗?