YOLOv4(三)

Bag of Freebies (BoF) for backbone

The BoF features for YOLOv4 backbone include:

  • CutMix and Mosaic data augmentation,
  • DropBlock regularization, and
  • Class label smoothing

CutMix data augmentation

剪切数据增强去除图像的一个区域(见下图)。这迫使模型在进行分类时不能对特定的特征过于自信。然而,图像的一部分充满了无用的信息,这是一种浪费。在CutMix中,将图像的一部分剪切粘贴到另一个图像上。ground truth标签会根据斑块的面积按比例进行调整,比如0.6像狗,0.4像猫。

从概念上讲,CutMix对于一个对象可以由什么组成有更广阔的视野。裁剪区域迫使模型学习不同特征集的对象分类。这可以避免过度自信。由于将该区域替换为另一幅图像,图像中的信息量和训练效率也不会受到显著影响。

Mosaic data augmentation

Mosaic是一种将4张训练图像合并成一张进行训练的数据增强方法(而不是CutMix中的2张)。这增强了对正常上下文之外的对象的检测。此外,每个小批包含一个很大的变化图像(4),因此,减少了在估计均值和方差时对大的小批的需要。

DropBlock regularization

在全连接层中,我们可以使用dropoff来迫使模型从各种特征中学习,而不是对少数特征过于自信。但是,这可能对卷积层不起作用。相邻位置高度相关。因此,即使一些像素被删除(下面中间的图),空间信息仍然可以被检测到。DropBlock正则化建立在一个类似的概念上,工作在卷积层。

不是删除单个像素,而是删除像素的块block_size×block_size。

Class label smoothing

当你感觉绝对正确的时候,你可能就大错特错了。对预测有100%的信心可能表明模型是在记忆数据,而不是在学习。标签平滑调整预测的目标上限为一个较低的值,比如0.9。它将使用这个值而不是1.0来计算损失。这个概念缓解了过度拟合。

p = tf.placeholder(tf.float32, shape=[None, 10])
# Use 0.9 instead of 1.0.
feed_dict = {
  p: [[0, 0, 0, 0.9, 0, 0, 0, 0, 0, 0]] # Image with label "3"
}
# logits_real_image is the logits calculated by 
# the discriminator for real images.
d_real_loss = tf.nn.sigmoid_cross_entropy_with_logits(
                    labels=p, logits=logits_real_image)

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值