[YOLO专题-8]:YOLO V5 - 简介与快速概览
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[YOLO专题-8]:YOLO V5 - 简介与快速概览相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122258557
目录
第1章 什么是YOLO V5
1.1 什么是YOLO
YOLO是'You only look once'的首字母缩写,是一种将图像划分为网格系统的对象检测的算法。
网格中的每个单元格负责检测物理中心点落在网络自身内部的对象或物体。
由于其速度和准确性,YOLO 是最著名的物体检测算法之一。
1.2 什么是YOLO V5
YOLO V5是由Ultralytics公司开源YOLO版本,且完全基于PyTorch实现,给大量AI人员带来了福音。
在我们还对YOLOv4的各种骚操作、丰富的实验对比惊叹不已时,YOLOv5又带来了更强、实时、更精确的目标检测技术。
(1)更快、更实时
按照官方给出的数目,现版本的YOLOv5每个图像的推理时间最快0.007秒,即每秒140帧(FPS)
在CPU上,每个图像的推理时间快至7ms,意味着每秒140帧(FPS)!远远大于人眼对20帧的要求。相比之下,YOLOv4在相同的条件下只能到到50帧 。而在GPU上,FPS更高,可高达400.
(2)更小巧(内存少)
YOLOv5的权重文件大小只有YOLOv4的1/9。
(3)更短的训练时间
YOLOv5在单一V-100 GPU的情况下,COCO 2017数据集上的训练时间分别为:
YOLOv5 s | YOLOv5 m | YOLOv5 l | YOLOv5 x |
2天 | 4天 | 6天 | 8天 |
第2章 YOLO的历代版本
YOLOv5
在 YOLOv4 发布后不久,Glenn Jocher 使用 Pytorch 框架引入了 YOLOv5。
这是YOLO第一次提供完全基于PyTorch实现。
开源代码可在GitHub 上获得
作者: Glenn Jocher
发布时间: 2020 年 5 月 18 日
YOLOv4
随着原作者在 YOLO 上的工作陷入停滞,YOLOv4 由 Alexey Bochoknovskiy、Chien-Yao Wang 和 Hong-Yuan Mark Liao 发布。这篇论文的标题是YOLOv4: Optimal Speed and Accuracy of Object Detection
作者: Alexey Bochoknovskiy、Chien-Yao Wang和Hong-Yuan Mark Liao
发布时间: 2020 年 4 月 23 日
YOLOv3
YOLOv3 改进了 YOLOv2 论文,原作者 Joseph Redmon 和 Ali Farhadi 都做出了贡献。
他们一起发布了YOLOv3: An Incremental Improvement
最初的 YOLO 论文被托管在这里
作者: Joseph Redmon和Ali Farhadi
发布时间: 2018 年 4 月 8 日
YOLOv2
YOLOv2 是由 YOLO 的原作者 Joseph Redmon 和 Ali Farhadi 共同努力的。
他们一起发布了YOLO9000:Better, Faster, Stronger
作者: Joseph Redmon和Ali Farhadi
发布时间: 2016 年 12 月 25 日
YOLOv1
YOLOv1 由约瑟夫·雷德蒙 (Joseph Redmon) 作为研究论文发布。
这篇论文的标题是你只看一次:统一的实时对象检测
作者: Joseph Redmon
发布时间: 2015 年 6 月 8 日
第3章 如何自学YOLO V5
3.1 YOLO V5相对于其他版本的独特之处
从YOLO V3之后,YOLO的原作者彻底放弃了YOLO研究和演进,YOLO的演进有业内的其他人来完成,YOLO V4和YOLO V5是有研究人员独立发布的,YOLO V5仅仅在YOLO V4发布后的一个月就发布了,因此他们几乎是同步开发的。
YOLO V1-V3以及YOLO V4,都是基于研究 -》 发布论文 -》代码实现这样的路径演进,论文一旦发布,其内容就已经定型了。然后YOLO V5并不是基于某个论文,而是作为一个开源项目来演进的,其新特征的增加,并不受限于某一篇论文,而是以项目的方式不断更新迭代的,因此YOLO V5的新特征不是固化的,而是不断在更新,这也是讲解YOLO V5的难点之一,网络上没有任何公开的论文,总结YOLO V5相对于YOLO V3或YOLO V4的改进点。YOLO V5更多的是Pytorch的代码实现,而不是理论研究。
YOLO V5与YOLO V4在代码实现上有较大的差别,因此从代码的继承性来看,YOLO V3继承了YOLO V2, YOLO V2继承了YOLO V1. YOLO V4和YOLO V5的代码实现都不是基于YOLO V1-V3的,不同人在具体实现YOLO算法的时候,代码的架构是不一样的,特别是YOLO V5,完全基于全新的软件代码架构。
3.2 YOLO V5的自学方法
(1)从代码开始
YOLO V5的功能没有论文可参考,其功能及其实现,只能参考其在github上的代码实现, 有很多人提供了自己版本的YOLO V5, 我们以目前受到大家推崇的版本:
https://github.com/ultralytics/yolov5
(2)YOLO代码的从YOLO V5开始
由于YOLO V1-V3,V4, V5,从代码实现上看,是各自独立的,资源和个人经历有限的情况下,代码的解读可以直接以YOLO V5为起点,而不是以YOLO V1为起点。
(3)以YOLO V5的官方文档为主要教程
YOLOv5 Documentationhttps://docs.ultralytics.com/
(4)辅助网络上的解读视频: yolo v5
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122258557
以上是关于[YOLO专题-8]:YOLO V5 - 简介与快速概览的主要内容,如果未能解决你的问题,请参考以下文章
[YOLO专题-22]:YOLO V5 - ultralytics代码解析-超参数详解
[YOLO专题-21]:YOLO V5 - ultralytics代码解析-网络配置文件与总体结构
[YOLO专题-19]:YOLO V5 - ultralytics代码解析-dataloader数据加载机制
[YOLO专题-16]:YOLO V5 - 如何把labelme json训练数据集批量转换成yolo数据集