因为工作原因,项目中经常遇到目标检测的任务,因此对目标检测算法会经常使用和关注,比如Yolov3、Yolov4算法。
当然,实际项目中很多的第一步,也都是先进行 目标检测任务 ,比如 人脸识别、多目标追踪、REID、客流统计 等项目。因此 目标检测 是计算机视觉项目中非常重要的一部分。
从2018年Yolov3年提出的两年后,在原作者声名放弃更新Yolo算法后,俄罗斯的Alexey大神扛起了Yolov4的大旗。
在此,大白将项目中,需要了解的Yolov3、Yolov4系列相关知识点以及相关代码进行完整的汇总,希望和大家共同学习探讨。
版权申明:转载及引用本文相关图片,需在评论区留言,先赞后取图。 本文包含图片,都为本人所绘制,如需高清图片,可邮箱发送信息,需要哪部分的图片。 江大白邮箱:[email protected]
文章目录
论文汇总
Yolov3核心基础内容
2.1 网络结构可视化
2.2 网络结构图
2.3 核心基础内容
3.1 python代码
3.2 C++代码内容
3.3 python版本的Tensorrt代码
3.4 C++版本的Tensorrt代码
4.1 网络结构可视化
4.2 网络结构图
4.3 核心基础内容
4.3.1 输入端创新
4.3.2 Backbone创新
4.3.3 Neck创新
4.4.4 Prediction创新
5.1 python代码
5.2 C++代码
5.3 python版本的Tensorrt代码
5.4 C++版本的Tensorrt代码
相关数据集下载
不断更新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【深度解析】