YOLO系列-yolov4

文章目录

  • Mosaic data augmentation
  • DropBlock
  • Label Smoothing
  • 损失函数遇到的问题
    • GIOU
    • DIOU
    • CIOU
  • bag of specials(bos)
  • SPPNet(Spatial Pyramid Pooling)
  • CSPNet(Cross Stage Partial Network)
  • CBAM
    • SAM
  • PAN(Path Aggregation Network)
  • 激活函数 Mish
  • 整体网络架构

Mosaic data augmentation

yolov4可以使用单卡GPU进行训练,训练任务不能太大,将四张图片融合成一起,借鉴了cutmix的方法,由上图可以知道cutmix效果最好,这样可以提高训练效率和精准度。yolov4还有增加噪音点、随机遮掩、随机裁剪等数据增强。
YOLO系列-yolov4_第1张图片

DropBlock

之前的dropout都是随机选择点,而yolov4是吃掉一个区域

Label Smoothing

神经网络最大的缺点就是容易过拟合
原来打标签是就打1不是就打0,这样有点太绝对
为了防止网络的抗拟合能力,yolov4做了标签平滑,例如原来的标签为(0,1)[0,1] * (1 - 0.1) + 0.1 / 2 = [0.05, 0.95]
下图就是使用之前和使用之后,一个簇内更紧密一个簇内更分离
YOLO系列-yolov4_第2张图片

损失函数遇到的问题

IOU就是预测框和真实框的重叠程度
但是光凭IOU会存在一个问题,下图三个的IOU是一样的,相同的IOU却反映不出实际情况到底怎么样
YOLO系列-yolov4_第3张图片

GIOU

主要与IOU不同的是引入了最小封闭形状C,C可以把A,B包含在内
为了在不重叠的情况下能让预测框尽可能朝着真实框前进

YOLO系列-yolov4_第4张图片
但是这样还是会出现下面这种问题,这三种不同的情况IOU和GIOU都相同,所以对于GIOU还需要继续改进
YOLO系列-yolov4_第5张图片

DIOU

在这里插入图片描述

其中分子是计算预测框和真实框的中心点的欧氏距离d
分母是能覆盖预测框和真实框的最小BOX的对角线长度c
直接优化距离,速度更快,并解决GIOU的问题

CIOU

综合考虑了重叠面积,中心点距离,长宽比(真实值和预测值的长宽比)

bag of specials(bos)

增加稍许推断代价,但可以提高模型精度的方法
网络细节部分加入了很多改进,引入了各种能让特征提取更好的方法
注意力机制,网络细节,特征金字塔等等

SPPNet(Spatial Pyramid Pooling)

V3中为了更好的满足不同输入大小,训练的时候要改变输入数据的大小
SPP就是用最大池化来满足最终输入特征一致

CSPNet(Cross Stage Partial Network)

每个block按照特征图的channel维度拆分成两个部分
一份正常走网络,另一份直接concat到这个block的输出

YOLO系列-yolov4_第6张图片

CBAM

比如有3232256 的特征图,但是不一定每个特征图都很重要,需要给这些特征图加一个权重值,类似做一个softmax操作和计算空间点位置的权重值,然后再把这些权重值乘到原来的特征图当中,简单来说就是加入了注意力机制,已经在很多论文中常见了。

SAM

V4中用的是SAM,也就是空间注意力机制(位置部分的注意力)

PAN(Path Aggregation Network)

FPN是自顶向下的模式,将高层的特征传下来,例如resnet,总是将上一层的特征和下面的融合,这样做的缺点是没有做到自下向上的融合,而pan做的就是自低向上的路径 ,使得底层信息更容易传到顶部

激活函数 Mish

Relu有些绝对,Mish更符合实际
Mish是给前面学的不太好的一个机会,而不是像relu一棒子都打死

整体网络架构

YOLO系列-yolov4_第7张图片

你可能感兴趣的:(深度学习,深度学习,人工智能)