专栏首页唐国梁Tommy笔记分享 : 目标检测与识别算法之一 YOLO v4 精华版

笔记分享 : 目标检测与识别算法之一 YOLO v4 精华版

哈喽,大家好,今天我们一起学习一下CV(Computer Vision)领域中,最牛目标检测与识别算法之一:YOLO_v4论文中的精髓部分,论文名称:《YOLOv4: Optimal Speed and Accuracy of Object Detection》,感兴趣的同学可以自行下载阅读,文末会贴上下载链接。

咱们先看一下YOLO v4算法的Demo (注:视频来源于YouTuBe)

接下来,我将拆解论文中的每一部分,把最精华的部分提取出来与大家分享。相信各位同学读完后,基本上明白YOLO v4干了什么活儿。闲言少叙,我们进入主题:

第一部分:Abstract

首先,我们先看一下在Abstract部分,作者主要概述了YOLO v4算法中的创新点,主要有以下八点:

① Weighted-Residual-Connections (WRC), 加权残差连接

② Cross-Stage-Partial-connections (CSP), 跨阶段局部连接

③ Cross mini-Batch Normalization (CmBN), 跨小批量归一化

④ Self-adversarial-training (SAT), 自对抗训练

⑤ Mish-activation. Mish激活函数

⑥ Mosaic data augmentation, Mosaic数据增强

⑦ DropBlock regularization, DropBlock正则化

⑧ CIoU loss CIoU损失

基于GPU Tesla V100,作者在COCO数据集上,实现了实时检测速度高达65FPS,AP达到43.5%,AP50达到65.7%。不同算法的对比结果,如图所示:

个人观点:目前YOLO算法系列包含v1 - v5,不过,只有v1 - v4有对应的论文,v5目前还没有正式的论文发表。其实,CV界对v5还是抱有很大的质疑声。等v5算法出了论文,咱们再继续解读。

第二部分:Introduction

作者总结了YOLO v4算法做出的主要贡献,主要是两个方面:

第一:在检测器训练阶段,引入了目标检测方法:Bag-of-Freebies (BoF) 和 Bag-of-Specials (BoS);

第二:针对单个GPU训练,对一些最优算法进行修改,比如:CBN, PAN, SAM等;

第三部分:Related work

这一大段内容,作者主要讲了三个方面的内容,即:目前目标检测领域,主流的一些方法:

第一. 目标检测模型

我们直接用论文中的总结,通用的检测模型基本上包含如下几个主要模块。

第二. 在训练(training)阶段,Bag-of-Freebies (BoF)的应用;

在这部分,作者主要讲了三件事情,分别是:

① 数据增强 data augmentation;

② 语义分布 sementic distribution;

③ 目标函数 objective function;

如图所示(这是我做的思维导图,部分截图):

第三. 在推理(inference)阶段,Bag-of-Specials (BoS)的应用;

在这部分,作者指出通过 plugin modules(插件模型) 和 post-processing methods (后处理方法)能够以很少的推理代价获得目标检测极大的准确性。

如图所示(这是我做的思维导图,部分截图):

第四部分:Methodology

这是论文中最精华的部分,主要包含四部分:1. 网络结构的选择;2. BoF和BoS的选择;3. 额外的提升;4. YOLO v4的构成;

我们一一来看一下每部分:

第一:网络结构的选择,这里用论文中的示例图:

作者通过实验对比,得出两个结论:

1. 在ImageNet的目标分类上,CSPResNext50网络结构优于CSPDarknet53;

2. 在COCO目标检测上,CSPDarknet53网络结构优于CSPResNext50;

最终,作者在YOLO v4中选用了以下几个组件:

① CSPDarknet53作为backbone;

② SPP模块;

③ PANet路径聚合neck;

④ YOLO v3 作为YOLO v4的head;

第二:BoF和BoS的选

其实,BoF和BoS都是一些tricks,用来改进模型,提升检测或分类的准确性。

在论文中,作者选取了这些tricks,如下图所示:

第三:额外的提升

在论文中,作者为了使设计的检测器适用于单个GPU,做了如下一些修改:

① 修改1:数据增强 Data augmentation

4张不同的图片混合在一起

② 修改2:自对抗训练 self-adversarial training

③ 修改3:CmBN替换了CBN

④ 修改4:修改SAM的spatial-wise attention为point-wise attention,同时,替换PAN的快捷连接为拼接

第四:YOLO v4的构成

① YOLO v4 由以下三部分构成:

Backbone : CSPDarkent53

Nect : SPP, PAN

Head : YOLOv3

② BoF,BoS 与 backbone,detector 的组合

【备注:这是我根据论文总结的图表】

第五部分:Experiments

该阶段,主要是作者做了很多对比实验,来筛选出最优的组件。

第一:实验过程中的超参数设置(自己看论文吧,比较多);

第二:在分类训练上,不同特征的影响

测试内容主要包含三个部分,分别是:

① class label smoothing

② data augmentation, bilateral blurring, MixUp, CutMix and Mosaic

③ activations : Leaky-ReLu, Swish, Mish

第三:在检测训练上,不同特征的影响

这部分主要是BoF和BoS在检测器训练过程中的影响。【这部分内容非常详细,建议看论文】

下图是Bag-of-Specials的消融研究对比结果:

第四:在检测训练上,不同backbones和预训练权重的影响

下图,对比实验结果:

第五:在检测训练上,不同min-batch的影响

作者通过实验发现,如果训练策略中加入了BoF和BoS,那么,mini-batch对检测器的性能没有任何影响。

下图,对比实验结果:

下图,这是我关于Experiments的思维导图(部分截图):

论文中最后的Results和Conclusions这两部分,就是对YOLO v4算法的一个总结。反正,就是说YOLO v4算法非常非常的牛 ~

以下是我详细阅读论文过程中做的思维导图截图(注:暂不公开该思维导图,后续YOLO专题课程中会公开。)

论文下载链接:

https://arxiv.org/pdf/2004.10934.pdf

本文分享自微信公众号 - 唐国梁Tommy(TangGuoLiangAI),作者:唐国梁Tommy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • YOLO 系目标检测算法家族全景图!

    YOLO目标检测算法诞生于2015年6月,从出生的那一天起就是“高精度、高效率、高实用性”目标检测算法的代名词。

    CV君
  • 全面解析YOLO V4网络结构

    作者|周威,https://zhuanlan.zhihu.com/p/150127712

    AI算法修炼营
  • YOLO v4:物体检测的最佳速度和精度

    您只需看一次(YOLO)是快速、准确的单阶段目标检测器。最近发布的YOLO v4与其他目标检测器相比,显示出非常好的结果。

    小白学视觉
  • YOLO项目复活!大神接过衣钵,YOLO之父隐退2月后,v4版正式发布,性能大幅提升

    另一位曾经参与YOLO项目维护的大神Alexey Bochkovskiy,在arXiv上提交了YOLO v4,而且这篇论文已经被拉入原来YOLO之父建立的项目主...

    量子位
  • Jetson NANO 之 Yolo V4初体验

    git clone https://github.com/AlexeyAB/darknet.git

    GPUS Lady
  • YOLO V4 Tiny改进版来啦!速度294FPS精度不减YOLO V4 Tiny

    为了提高目标检测的实时性,本文提出了一种基于YOLOv4-tiny的快速目标检测方法。它首先使用ResNet-D网络中的两个ResBlock-D模块,而不是Yo...

    3D视觉工坊
  • YOLO v4它来了:接棒者出现,速度效果双提升

    两个月前,YOLO 之父 Joseph Redmon 表示,由于无法忍受自己工作所带来的的负面影响,决定退出计算机视觉领域。此事引发了极大的热议,其中一个悬念就...

    机器之心
  • YOLO之父宣布退出CV界,坦言无法忽视自己工作带来的负面影响

    「YOLO 之父」Joseph Redmon 宣布退出计算机视觉领域了!这个刚刚出现的消息着实让人工智能界感到惊讶。

    机器之心
  • YOLOv4损失函数全面解析

    转载于:周威@知乎,https://zhuanlan.zhihu.com/p/159209199

    计算机视觉联盟
  • 论文精萃|9th| Real-Time Grasp Detection | YOLO系列01 | CV | 附全文下载

    标志性:YOLO算法的作者,YOLO是到目前为止,速度和精度最均衡的目标检测网络

    用户7623498
  • 目标检测系列之五(YOLO V4)

    论文题目《YOLOv4: Optimal Speed and Accuracy of Object Detection》 论文地址:https://arxiv....

    Minerva
  • 目标检测究竟发展到了什么程度? | CVHub带你聊一聊目标检测发展的这22年

    目标检测领域发展至今已有二十余载,从早期的传统方法到如今的深度学习方法,精度越来越高的同时速度也越来越快,这得益于深度学习等相关技术的不断发展。本文将对目标检测...

    AIWalker
  • 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200

    目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别。目标检测中的深度学习方法已经发展了很多年,并出现了不同类...

    公众号机器学习与生成对抗网络
  • 1.8M超轻量目标检测模型NanoDet,比YOLO跑得快,上线两天Star量超200

    目标检测一直是计算机视觉领域的一大难题,其目标是找出图像中的所有感兴趣区域,并确定这些区域的位置和类别。目标检测中的深度学习方法已经发展了很多年,并出现了不同类...

    OpenCV学堂
  • 用老旧骁龙855玩转「马保国」实时动作检测!CoCoPIE获红杉种子领投

    即便是老旧(狗头)的高通骁龙855平台,在物体检测上也能达到19FPS,比YOLO-v3的mAP精度更高。

    新智元
  • 【专知荟萃09】目标检测知识资料全集(入门/进阶/论文/综述/视频/代码等)

    目标检测(物体检测, Object Detection) 专知荟萃 入门学习 进阶文章 综述 Tutorial 视频教程 代码 领域专家 入门学习 图像目标...

    WZEARW
  • 精度45.9%,推理速度72.9FPS,百度飞桨推出工业级目标检测模型 PP-YOLO

    工业视觉、自动驾驶、安防、新零售等我们身边熟知的各行各业都需要目标检测技术,由于其很好的平衡了标注成本、检测精度和速度等,成为当前智能制造产业升级浪潮中被商业化...

    用户1386409
  • OpenCV4.4刚刚发布!支持YOLOv4、EfficientDet检测模型,SIFT移至主库!

    OpenCV 4.4.0 于2020年7月18日正式发布,不得不说OpenCV 作为最大开源的图像处理工具,提供的内容太全面了,对小白友好度很高。不仅算法众多,...

    Amusi
  • 视觉目标检测和识别之过去,现在及可能

    作者:李习华 知乎专栏:碧空的cv之旅 量子位 已获授权编辑发布 计算机视觉中目标检测、跟踪、识别是最基本的几个task,尤其又以检测最为重要和基础。同时基本上...

    量子位

扫码关注云+社区

领取腾讯云代金券