YOLOv4【未完待续】

YOLOv4改进点概况

YOLOv4从学术角度贡献并不大,但是对于工程落地的价值是很大的。目标检测改进的一个工具箱,是各种trick(训练技巧)的集合。

其实YOLOv4改进的trick有很多,但是我们这里只把工业界落地最多、对工业界最有价值的改进点和创新点是下面这些。,

  1. 对输入模型的数据进行数据增强,Mosaic数据增强。
  2. backbone网络从YOLOv3的DarkNet53升级成了CSPDarkNet53
  3. Neck部分引入了SPP,将FPN升级为FPN-PANet结构
  4. 损失函数升级为CIoU损失 
  5. 激活函数从RelU激活函数替换为Mish激活函数
  6. 样本匹配的方法没有改进,但是增加了匹配样本的数量

从performance的角度说YOLOv4的速度是和YOLOv3是差不多的,但是精度实现了较大幅度的提升(AP从33提升到了42)。但是实话实说,YOLOv4速度和精度还是比不上EfficientDet、ATSS、ASFF\

YOLOv4模型效果图放一个过来

 一、Mosaic数据增强

其实YOLOv4中介绍了多种数据增强的方法。但是这里我们只介绍对工业界意义最大的这种数据增强Mosaic数据增强。

Mosiac数据增强会从数据集中随机抽取4张图片,然后对这4张图片进行拼接形成一张新的图片。每一张图片上的ground truth上都有对object打的方框,拼接的过程中这个 bouding box也会被拿过来对应原来的位置。这张新的图片的形成就意味着可以用于训练的照片变多了,极大的丰富数据量,数据中的object数量也变多了。

Mosiac数据增强三张照片放在下面

具体操作步骤如下:

  1. 随机选取4张照片
  2. 对这4张图片进行数据增强。数据增强后的这4张照片,分别粘贴至与最终输出图像大小相等掩模对应位置(啥意思?意思是像上面那个三张拼接后的图,拼接后都是这么大小。对应位置是随机决定把图片放在哪里。是这意思吧?)。数据增强的方法包括:
    1. (1)翻转(左数第一个图那个扛着伞的女生,在左数第三个图右上角就被左右翻转,斑马也被左右翻转了);
    2. (2)缩放(左数第一张的那个打伞的女生,在左数第三张右上角那个女生就是放大了,也是缩放的一种)
    3. (3)色域变化(明亮度、饱和度、色调)。左数第一张左上角那个长颈鹿和左数第二张那色调明显的变绿了很多。
  3. 进行图片的组合和bouding box的组合。图像组合的时候会像上面那几张一样做一些偏移,如果超出了指定区域就做切分截断(比如左数第三个左上角的长颈鹿的屁股就因为超出指定区域,屁股被切掉了)

这个数据增强的方式的作用是增强模型的鲁棒性。


 

        

        2.对这四张照片分别进行数据增强的草

——未完待续————

你可能感兴趣的:(YOLO)