YOLO-v4



《YOLOv4:Optimal Speed and Accuracy of Object Detection》
—yolov4:物体检测的最佳速度和精度
作者:Alexey Bochkovskiy ,etc
单位:待写
发表会议及时间: CVPR 2020

YOLOv4: Optimal Speed and Accuracy of Object Detection

Submission history
From: Alexey Bochkovskiy [view email]
[v1] Thu, 23 Apr 2020 02:10:02 UTC (3,530 KB)


Abstract:

There are a huge number of features which are said to improve Convolutional Neural Network (CNN) accuracy. Practical testing of combinations of such features on large datasets, and theoretical justification of the result, is required. Some features operate on certain models exclusively and for certain problems exclusively, or only for small-scale datasets; while some features, such as batch-normalization and residual-connections, are applicable to the majority of models, tasks, and datasets. We assume that such universal features include Weighted-Residual-Connections (WRC), Cross-Stage-Partial-connections (CSP), Cross mini-Batch Normalization (CmBN), Self-adversarial-training (SAT) and Mish-activation. We use new features: WRC, CSP, CmBN, SAT, Mish activation, Mosaic data augmentation, CmBN, DropBlock regularization, and CIoU loss, and combine some of them to achieve state-of-the-art results: 43.5% AP (65.7% AP50) for the MS COCO dataset at a realtime speed of ~65 FPS on Tesla V100. Source code is at this https URL


一 论文导读


YOLO系列:

YOLOv1:You Only Look Once
YOLOv2:(YOLO9000):Better, Faster,Stronger
YoLOv3: An Incremental improvenemt
YOLOv4: Optimal Speed and Accuracy of Detection

总的来说还是,追求更高的速度与精准


  • 目标检测

找出图像中感兴趣的物体,标注位置

目标检测


two-tage (精度高) 分为两个过程:
A、基于图片提出若干可能包含物体的区域 Region Proposal
B、在提出的这些区域上运行分类网络,得到区域内物体的类别


one-stage (速度快)
直接从图片获得预测结果region-free
速度快
全局处理背景错误相对较少
泛化能力好

  • 研究意义

是计算机视觉和数字图像处理的一个广泛用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。同时,对后续的人脸识别、步态识别、人群计数、实例分割等任务起着至关重要的作用,

Faster RCNN,第一个端到端网络
YOLO,检测网络模型
FPN,第一个特征融合网络
CornerNet,第一个点检测网络
FCOS,特征融合+点检测
Cascade RCNN,多任务网络模型代表
mask RCNN,是Faster RCNN的进一步改进
SSD,早期单阶网络
DSSD、SSD的进一步改进可变形卷积


  • 研究背景(目的)

一 是为应用于检测网络应用于生产系统
1.工业生产精度:
常规图形处理单元上高精度的检测网络无法实时运行,常牺牲精度换速度
2.训练成本:
高精度的检测网络训练成本高,需要使用大量的GPU


二 是探索目标检测领域训练技巧

训练技巧的选择
训练技巧的使用
训练技巧的组合
训练技巧的创新

实例:
几何畸变,光照变化
遮挡处理,正则化
图像增强,GAN
数据分布不平衡处理,loss
设计提高感受野,注意力机制,
特征融命,激活函数,非极大值抑制
超参数化,自对抗训练,等

参考:《Bag of Freebies for Training Object Detection NeuralNetworks》


  • 研究成果:

在coco数据集.上准确率和速度,43.5%的AP, 超出yolov3近10个点


  • yolov4意义

1.对调优手段做出了很好的总结
Bag of freebies
Bag of specials
2.创新提出了Mosaic数据增强方法
3.创新提出了自对抗训练法
4.改进SAM,改进PAN,和交叉小批量标准化(CmBN),使网络设计适合于有效的训练和检测


  • YOLO-v1

yolov1
优点:
loss设计,将检测任务视为回归问题
计算量少,速度快,背景误识率低
泛化性能好

缺点:
小目标精度不够
密集目标识别不足( B=2 )
异常长宽比目标识别不足

主要过程:
将原始图片尺寸变为448x448 ;

将图片划分为SxS ( =7 )个网格。每个网格预测B ( =2 )个bounding box的置信度和box的位置( Box中心坐标x,y以及Box的宽和高) ;每个网格预测C ( =20 )个条件类别概率P。


  • YOLO-v2

yolov2/YOLO 9000

改进点:
引入anchor
vgg-> darknet-19
高分辨率
多尺度训练
wordTree

darknet19 : 用1*1conv代替全连接层batch normalization.


  • YOLO-v3

改进点:
darknet-53多标签
分类预测
多尺度预测


  • YOLO-v4

通用目标检测算法结构

  1. Input:Image、Patches、Image Pyramid
  2. Backbone:VGG、Resnet、EfficientNet
  3. Neck:
    <1>Additional blocks:SPP、ASPP、RFB、SAM
    <2>Path-aggregation blocks:FPN、PAN、NAS-FPN、Fully-connected FPN、BiFPN、ASFF、SFAM
  4. Heads
    <1>Dense Prediction(one-stage)
    <2>Sparse Prediction (two-stage)

离线训练技巧

1.数据增强:增强输入图像的可变性,使检测模型具有更高的鲁棒性

包括:
A、光照处理:调整图像的亮度、对比度、色相、饱和度、噪点
B、几何处理:随机缩放、裁剪、翻转、旋转

2.对象遮挡

  • random erase , CutOut

随机选择图像中的矩形区域并填充0的随机值或者互补值

  • hide-and-seek , grid mask

随机或者均匀选择图像中的多个矩形区域并填充0

  • 对特征谱的处理

Dropout ,DropConnect , DropBlock(训练的时候用的,预测的时候禁用)

3.用多图来进行增强

MixUp用两张图
CutMix用不同角度的裁剪区域

4.GAN用于数据扩充

5.数据分布不均衡

  1. OHEM:在线困难样本挖掘
  2. S-OHEM:基于loss分布采样的在线困难样本挖掘
  3. A-FAST-RCNN:基于对抗生成网络的方式来生成困难样本
  4. FOCAL LOSS:损失函数的权重调整
  5. GHM:损失函数梯度均衡化机制

6.类别关联度

7.目标框回归函数

推断过程中增加些许成本换来较大精度提升的技巧∶

1.增加感受野

特征金字塔SPP、RFB、ASPP

2. attention

通道注意力机制SE、空间注意力机制SAM

3.特征融合

skip connection、hyper-colomn FPN

4.激活函数

Mish激活函数:

Mish优点

  • 以上无边界(即正值可以达到任何高度)避免了由于封顶而导致的饱和。理论上对负值的轻微允许允许更好的梯度流,而不是像ReLU中那样的硬零边界。
  • 平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化。

在这里插入图片描述

5.后处理方式:NMS



不同特征对分类器训练的影响

类标签平滑、不同数据增强技术、双侧模糊、MixUp、CutMix和Mosaic的影响,以及不同激活的影响,如Leaky-ReLU(默认)、Swish和Mish

不同特征对检测器训练的影响

不同BoS对检测器训练的影响

PAN、RFB、SAM、高斯YOLO、ASFF

不同最小批量对检测器训练的影响

添加BoF和BoS训练策略之后,最小批量大小几乎没有影响在检测器的性能


二 论文精读

01 YOLOV4网络结构及参数计算
CSdarknet53,感受野725*725,参数27.6M,FPS超过CSResNext50以及EfficientNet-B3


  • 本文的创新点

本文创新点 一:Mosaic数据增强
1.Mosaic数据增强方法:将4张不同的图片镶嵌到一张图中
优点:
1.混合四张语义信息,让检测器检测超出规定语境的目标,增强模型鲁棒性
2.BN是从四张图片计算得到的,减少对mini-batch的依赖

在这里插入图片描述


本文创新点 二: (SAT)

本文创新点
自对抗训练Self- Adversarial-Training (SAT)
1.第一阶段,CNN通过反向传播改变图片信息,而不是改变网络权值。通过这种方式CNN可以进行对抗性攻击,改变原始图像,
造成图像上没有目标的假象
2.第二阶段,对修改后的图像进行正常的目标检测


本文创新点 三:改进的BN

BN是对当前mini-batch进行归一化。
CBN是对当前以及当前往前数3个mini batch的结果进行归一化。
而本文提出的CmBN则是仅仅在当前Batch中进行累积。

BN

  • 在minibatch维度上在每次训练iteration时因隐藏层进行归一化

缺点

  • BN的效果受batchsize影响很大,如果batchsize较小,每次训练计算的均值方差不具有代表性且不稳定,甚至使模型效果恶化
  • BN很难用在RNN这种序列模型中,且效果不好

本文创新点
CBN

  • 解决BN在小batchsize时效果不好的问题缺点

CmBN

  • 收集一个batch内多个mini-batch内的统计数据

本文创新点 四:改进的SAM

本文将Spatial-wise Attention变为Point wise Attention, modified SAM中没有使用pooling,而是直接用一个卷积得到的特
征图直接使用Sigmoid进行激活,然后对应点相乘,所以说改进后的模型是Point-wise Attention


本文创新点 五:改进的PAN

将特征融合的方法,改加法为乘法


ImageNet分类实验:

使用1080T或2080Ti GPU进行训练

超参数设定:
训练步骤为8,000,000;
批量尺寸为128
小批量尺寸为32;
采用多项式衰减学习速率调度策略
初始学习速率为0.1
热身步骤为1000;
momentum和weight衰减分别设置为0.9 ,0.005


创新点:
 - 数据增强方法
 - 自对抗训练
 - 新主干网络
 - 新BN,SAM,PAN
 - CIOU loss

三 代码实现

四 问题思索

  • 搭建darknet
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值