【2019CVPR】Bag of Tricks and A Strong Baseline for Deep Person Re-identification

王韶云 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:

  1. Warmup Learning Rate: 将网络缓和地初始化到一个更优的搜索空间,避免震荡到次优空间;
  2. Random Erasing Augmentation(REA): 随机擦除,模拟遮挡,图像增广的一种方法,提高泛化能力;
  3. Label Smoothing: 标签平滑,缓和label对网络的约束,抑制过拟合;
  4. Last Stride:增大feature map,提取到更加细粒度的特征,以提升模型的性能;
  5. BNNeck:加速ID Loss的收敛,原文的解释其他文章的解释BN
  6. 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文件

出现的问题及解决办法

  1. RuntimeError: DataLoader worker (pid(s) ***, ***, ***, ***) exited unexpectedly

总结

名词

  1. mini-batch: Mini-batch 和batch的区别
  2. one-hot: 最为简单也是比较常用的文本特征表示方法
  3. 交叉熵、相对熵的通俗理解
  4. 详解:信息量、熵、交叉熵、相对熵(KL散度);损失函数为何多用交叉熵,蒸馏模型用相对熵?FastReID中用到知识蒸馏…
  5. margin: 将类间的间隔拉得更大,保证“类间距离大于类内距离”这一目标
  6. learning rate decay:衰减学习率
  7. 召回率、精确率、准确率
  8. 检查点模式:定期存储模型

🤔?

【 NeurIPS 2021 】 图像损坏场景下行人重识别新基准
跨分辨率 可以参考 模糊场景吗?

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值