1. Mosaic数据增强方法
这个方法在解析U版YOLOv3的时候就讲过了,将4张不同的图片镶嵌到一张图中,其优点是:
- 混合四张具有不同语义信息的图片,可以让检测器检测超出常规语境的目标,增强模型的鲁棒性。
- 由于BN是从四张图片计算得到的,所以可以减少对大的mini-batch的依赖。
评价:这个方法在U版YOLOv3中很早就出现了,在自己数据集上也用过,但是感觉效果并不是很稳定。笔者数据集只有一个类,所以可能不需要这种特殊的数据增强方法,欢迎各位读者通过自己的实验来验证这个数据增强方法的有效性。
2. Self-Adversarial Training
自对抗训练也是一种新的数据增强方法,可以一定程度上抵抗对抗攻击。其包括两个阶段,每个阶段进行一次前向传播和一次反向传播。
- 第一阶段,CNN通过反向传播改变图片信息,而不是改变网络权值。通过这种方式,CNN可以进行对抗性攻击,改变原始图像,造成图像上没有目标的假象。
- 第二阶段,对修改后的图像进行正常的目标检测。
评价:笔者对对抗领域不是很熟悉,不是很理解这个部分。感觉这个部分讲解不是很详细,只是给出整个过程和描述,不是很能理解。
3. CmBN
上图表达的是三种不同的BN方式,理解的时候应该从左往右看,BN是对当前mini-batch进行归一化。CBN是对当前以及当前往前数3个mini-batch的结果进行归一化。而本文提出的CmBN则是仅仅在这个Batch中进行累积。
评价:在消融实验中,CmBN要比BN高出不到一个百分点。感觉影响不是很大。
4. modified SAM
SAM实际上是之前解读的<CV中的Attention机制>系列中的CBAM, CBAM含有空间注意力机制和通道注意力机制, SAM就是其中的空间注意力机制.
本文将Spatial-wise Attention变为Point-wise Attention, modified SAM中没有使用pooling, 而是直接用一个卷积得到的特征图直接使用Sigmoid进行激活, 然后对应点相乘, 所以说改进后的模型是Point-wise Attention.
评价: 作者并没有给出改进后的SAM和SAM的实验对比,所以并不清楚这个模块的性能到底怎样. 并且在yolov4.cfg中没有发现使用SAM的痕迹, 这非常奇怪..不知道作者将SAM用到了模型的哪个部分.
5. modified PANet
PANet融合的时候使用的方法是Addition, 详解见:CVPR 2018 PANet
这里YOLOv4将融合的方法由加法改为乘法,也没有解释详细原因,但是yolov4.cfg中用的是route来链接两部分特征。