Bag of Freebies for Training Object Detection Neural Networks 论文笔记

Bag of Freebies for Training Object Detection Neural Networks

论文链接: https://arxiv.org/abs/1902.04103

一、 Problem Statement

提出一些tricks来提升目标检测性能。

二、 Direction

  1. Coherent Image Mixup
  2. Classification Head Label Smoothing
  3. Data Preprocessing: Random geometry transformation and Random color jittering
  4. Training Schedle Revamping
  5. Synchronized Batch Normalization
  6. Random shapes training for single-stage object detection network

三、 Method

1. Coherent Image Mixup

通常分类的blending ratio是01:0.9。作者发现,增加image mixup中使用的blending ratio,得到的帧中的对象与自然呈现更具活力和连贯性,类似于我们观看低FPS电影或监控视频时通常观察到的过渡帧,会提升目标检测的性能。

作者也使用beta distribution, α , β \alpha, \beta α,β 都至少是1。

对于相互对象遮挡很常见的目标检测,鼓励网络观察不寻常的crowded pathes,无论是自然呈现的还是由对抗性技术创建的,都能够提升目标检测的性能。在一些目标没出现过的场景,模型的检测会更加的鲁棒性。 Mixup model在训练过程中会遇到更多的挑战,因此在处理前所未有的场景和非常拥挤的对象组方面,它明显优于普通模型。

Mixup 可以使用在目标检测网络的两个阶段:

  • pre-training classification network backbone with tradition mixup
  • training detection networks using proposed mixup

作者发现,两个都使用了,性能最佳。

2. Classification Head Label Smoothing

多分类任务中,神经网络会输出一个当前数据对应于各个类别的置信度分数,将这些分数通过softmax进行归一化处理,最终会得到当前数据属于每个类别的概率。

p i = e z i ∑ j e z j p_i=\frac{e^{z_i}}{\sum_j e^{z_j}} pi=jezjezi

对于训练过程中的目标检测,我们仅通过使用交叉熵比较输出分布 p p p和ground-truth分布 q q q来修改分类损失:
L = − ∑ i q i log p i , p i = 1 if i=y , else 0 L = -\sum_i q_i \text{log}p_i, \quad p_i =1 \quad \text{if i=y}, \quad \text{else} \quad 0 L=iqilogpi,pi=1if i=y,else0

而标签平滑,是一种正则化的形式。作者使用了下面的ground-truth分布:
q i { 1 − ϵ , i f i = y ϵ / ( K − 1 ) o t h e r w i s e q_i \biggl\{ \begin{aligned} &1 - \epsilon, \qquad if \quad i=y \\ &\epsilon/(K-1) \qquad otherwise \end{aligned} qi{1ϵ,ifi=yϵ/(K1)otherwise

其中 K K K是类别的数量, ϵ \epsilon ϵ是一个很小的常量。主要是通过soft one-hot来加入噪声,减少了真实样本标签的类别在计算损失函数时的权重,最终起到抑制过拟合的效果

3. Data Preprocessing

randomly flip, rotate, crop images都是来提升精度和避免过拟合。作者尝试了两个数据预处理的方法:

  • Random geometry transformation
  • Random color jettering

由于基于sampling-based的检测方法在特征图上执行大量裁剪操作,它替代了随机裁剪输入图像的操作,因此这些网络不需要在训练阶段应用大量的geometry transformation。 而对于one-stage的检测器来说,这个geometry transformation是很重要的。 而基于sampling-based的方案可以有效地取代one-stage目标检测训练pipeline中大量使用的随机裁剪。

4. Training Schedule Revamping

作者认为,简单的使用step schedule来衰减学习率并不是有效的策略。 step-schedule急剧地改变learning rate,这可能导致优化器在接下来的几次迭代中重新稳定学习动量。 cosin schedule 根据 0 0 0 π \pi π的余弦函数值缩放learning rate。它从缓慢降低较大的学习率开始,然后将学习率快速降低一半,最后以微小的斜率降低小学习率,直到达到0。

由上图可以看到,由于学习率调整的频率较高,它也较少受到阶跃衰减的平台现象的影响,即验证性能将停滞一段时间,直到学习率降低。

Warmup schedule也是一个有效避免梯度爆炸的学习策略,且能获得较好的精度。

5. Synchronized Batch Normalization

在多个GPU下使用Batch Normalization, 它不可避免地减少了批量大小,并在计算过程中导致统计数据略有不同,这可能会降低性能。 所以synchronized batch normalization也是提升性能的一个trick。

6. Random shapes training

为了减少过度拟合的风险并提高网络预测的泛化能力,采用了Random shapes training的方法。对于一个mini-batch N N N,作者把图片reshape成, N × 3 × H × W N \times 3 \times H \times W N×3×H×W, 其中 H = W ∈ { 320 , 352 , 384 , 416 , 448 , 480 , 512 , 544 , 576 , 608 } H=W \in \{320, 352,384, 416,448,480,512,544,576,608\} H=W{320,352,384,416,448,480,512,544,576,608}

四、 Conclusion

提出了提升目标检测性能的tricks。

Reference

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值