深入浅出Yolo系列之Yolov3&Yolov4核心基础知识完整讲解

因为工作原因,项目中经常遇到目标检测的任务,因此对目标检测算法会经常使用和关注,比如Yolov3、Yolov4算法。

当然,实际项目中很多的第一步,也都是先进行 目标检测任务 ,比如 人脸识别、多目标追踪、REID、客流统计 等项目。因此 目标检测 是计算机视觉项目中非常重要的一部分。

从2018年Yolov3年提出的两年后,在原作者声名放弃更新Yolo算法后,俄罗斯的Alexey大神扛起了Yolov4的大旗。

在此,大白将项目中,需要了解的Yolov3、Yolov4系列相关知识点以及相关代码进行完整的汇总,希望和大家共同学习探讨。

版权申明:转载及引用本文相关图片,需在评论区留言,先赞后取图。 本文包含图片,都为本人所绘制,如需高清图片,可邮箱发送信息,需要哪部分的图片。 江大白邮箱:[email protected]

文章目录

  1. 论文汇总

  2. Yolov3核心基础内容

2.1 网络结构可视化

2.2 网络结构图

2.3 核心基础内容

  1. Yolov3相关代码

3.1 python代码

3.2 C++代码内容

3.3 python版本的Tensorrt代码

3.4 C++版本的Tensorrt代码

  1. Yolov4核心基础内容

4.1 网络结构可视化

4.2 网络结构图

4.3 核心基础内容

4.3.1 输入端创新

4.3.2 Backbone创新

4.3.3 Neck创新

4.4.4 Prediction创新

  1. Yolov4相关代码

5.1 python代码

5.2 C++代码

5.3 python版本的Tensorrt代码

5.4 C++版本的Tensorrt代码

  1. 相关数据集下载

  2. 不断更新ing

1.论文汇总
Yolov3论文名:《Yolov3: An Incremental Improvement》

Yolov3论文地址: https:// arxiv.org/pdf/1804.0276 7.pdf

Yolov4论文名:《Yolov4: Optimal Speed and Accuracy of Object Detection》

Yolov4论文地址: https:// arxiv.org/pdf/2004.1093 4.pdf

2.YoloV3核心基础内容
2.1 网络结构可视化
Yolov3 是目标检测 Yolo系列 非常非常经典的算法,不过很多同学拿到 Yolov3 或者 Yolov4 的 cfg文件 时,并不知道如何直观的可视化查看网络结构。如果纯粹看cfg里面的内容,肯定会 一脸懵逼 。

其实可以很方便的用 netron 查看 Yolov3的网络结构图 ,一目了然。

这里不多说,如果需要安装,可以移步大白的另一篇文章:《 网络可视化工具netron详细安装流程 》。

如果不想安装,也可以直接点击此链接,查看Yolov3可视化流程图。

2.2 网络结构图
深入浅出Yolo系列之Yolov3&Yolov4核心基础知识完整讲解

绘制网络结构图受到Yolov3另一位作者文章的启发,包括下面 Yolov4 的结构图,确实,从总体框架上先了解了 Yolov3 的流程,再针对去学习每一小块的知识点,会事半功倍。

上图三个蓝色方框内表示Yolov3的三个基本组件 :

CBL: Yolov3网络结构中的最小组件,由 Conv+Bn+Leaky_relu 激活函数三者组成。
Res unit: 借鉴 Resnet 网络中的残差结构,让网络可以构建的更深。
ResX: 由一个 CBL 和 X 个残差组件构成,是Yolov3中的大组件。每个Res模块前面的CBL都起到下采样的作用,因此经过5次Res模块后,得到的特征图是 608->304->152->76->38->19大小 。
其他基础操作:

Concat: 张量拼接,会扩充两个张量的维度,例如2626256和2626512两个张量拼接,结果是2626768。Concat和cfg文件中的route功能一样。
add: 张量相加,张量直接相加,不会扩充维度,例如104104128和104104128相加,结果还是104104128。add和cfg文件中的shortcut功能一样。
Backbone中卷积层的数量:

每个ResX中包含1+2X个卷积层,因此整个主干网络Backbone中一共包含 1+(1+21)+(1+22)+(1+28)+(1+28)+(1+24)=52 ,再加上一个FC全连接层,即可以组成一个 Darknet53分类网络 。不过在目标检测Yolov3中,去掉FC层,不过为了方便称呼,仍然把 Yolov3 的主干网络叫做 Darknet53结构 。

2.3 核心基础内容
Yolov3 是 2018年 发明提出的,这成为了目标检测 one-stage 中非常经典的算法,包含 Darknet-53网络结构、anchor锚框、FPN 等非常优秀的结构。

本文主要目的在于描述 Yolov4 和 Yolov3 算法的不同及创新之处,对Yolov3的基础不过多描述。

不过大白也正在准备Yolov3算法非常浅显易懂的基础视频课程,让小白也能简单清楚的了解Yolov3的整个过程及各个算法细节,制作好后会更新到此处,便于大家查看。

在准备课程过程中,大白搜集查看了网络上几乎所有的Yolov3资料,在此整理几个非常不错的文章及视频,大家也可以点击查看,学习相关知识。

(1)视频:吴恩达目标检测Yolo入门讲解

https://www. bilibili.com/video/BV1N 4411J7Y6?from=search&seid=18074481568368507115

(2)文章:Yolo系列之Yolov3【深度解析】

你可能感兴趣的:(深入浅出Yolo系列之Yolov3&Yolov4核心基础知识完整讲解)