YOLOv4没交棒,但YOLOv5来了!
YOLOv4没交棒,但YOLOv5来了!
前言
4月24日,YOLOv4来了!
5月30日,"YOLOv5"来了!
这里的 "YOLOv5" 是带有引号的,因为 Amusi 认为网上刚出来的这个版本并称不上YOLOv5。这也是为什么标题为:大神没交棒,但YOLOv5来了!
YOLO原项目darknet(官方)截止2020年5月31日,并没有更新添加这个"YOLOv5"的链接。最新的一次update还是上个月YOLOv4重磅出炉的那次,官方正式添加了YOLOv4项目链接。
关于YOLOv4,Amusi 认为那是真正的YOLOv4,也是YOLO系列的真正接班人。关于YOLOv4详细内容,可见:大神接棒,YOLOv4来了!
大神没交棒,YOLOv5来了!
先申明,Amusi 没有刻意针对"YOLOv5"这个项目团队,也没有否认该项目的意义和贡献。而是针对YOLOv5这个名字,个人觉得很不ok,很不ok。
项目链接:https://github.com/ultralytics/yolov5
先简单介绍一下"YOLOv5"的来历。
"YOLOv5"的项目团队是Ultralytics LLC 公司,很多人应该没有听过这家公司。但提到他们公司的一个项目,很多人应该就知道了,因为不少同学用过。那就是基于PyTorch复现的YOLOv3,按目前github上star数来看,应该是基于PyTorch复现YOLOv3中的排名第一。Amusi 之前还分享过此项目,详见:YOLOv3最全复现代码合集(含PyTorch/TensorFlow和Keras等)
https://github.com/ultralytics/yolov3
他们复现的YOLOv3版而且还有APP版本
YOLOv3 in PyTorch > ONNX > CoreML > iOS

其实这个公司团队在YOLOv3上花的功夫蛮多的,不仅有APP版,还对YOLOv3进行了改进,官方介绍的性能效果可以说相当炸裂!另外项目维护的也很牛逼,star数已达4.7 k,commits 都快逼近2500次!
Ultralytics
Professional Support
Ultralytics is a U.S.-based particle physics and AI
startup with over 6 years of expertise supporting government, academic and
business clients. We offer a wide range of vision AI services, spanning from
simple expert advice up to delivery of fully customized, end-to-end production
solutions, including:
- Cloud-based AI surveillance systems operating on hundreds
of HD video streams in realtime. - Edge AI integrated into custom iOS and Android apps for
realtime 30 FPS video inference. - Custom data training, hyperparameter evolution, and model exportation
to any destination.
For business inquiries and professional support requests
please visit us at https://www.ultralytics.com.

可见Ultralytics LLC 公司在YOLO社区上的贡献还是有一定影响力的,这也是为什么他们刚推出"YOLOv5",就得到不少人的关注。
据官方称:"YOLOv5" 实际上还处于开发的阶段,预计2020年第2季度/第3季度将全部开发完成。目前放出来的版本,是集成了YOLOv3-SPP和YOLOv4部分特性。
关于项目的更新说明,详见此图

那么"YOLOv5"的性能有多强呢,Ultralytics
LLC给出的数据如下:
这里说一下,YOLOv5-x的性能已经达到:47.2 AP / 63 FPS,但项目说是在 image size = 736的情况下测得,所以从目前数据,是无法判断"YOLOv5"和 YOLOv4的性能究竟哪个更好(有意思的是,官方也没有给出)。下次Amusi 会实测一下这个版本的"YOLOv5" 和 YOLOv4性能,做一个比较。

Inference
Inference
can be run on most common media formats. Model checkpoints
are downloaded automatically if available. Results are saved to ./inference/output.
$ python detect.py --source file.jpg # image
file.mp4 # video
./dir # directory
0 # webcam
rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa # rtsp stream
http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8 # http stream
To run inference on examples in the ./inference/images folder:
$ python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=640, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')
Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)
Downloading https://drive.google.com/uc?export=download&id=1R5T6rIyy3lLwgFXNms8whc-387H0tMQO as yolov5s.pt... Done (2.6s)
image 1/2 inference/images/bus.jpg: 640x512 3 persons, 1 buss, Done. (0.009s)
image 2/2 inference/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to /content/yolov5/inference/output

Ultralytics LLC目前已经给出"YOLOv5"的代码、模型、训练/测试脚本
python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 16

但Ultralytics LLC并没有给出"YOLOv5"的算法介绍(论文、博客其实都没有看到),感兴趣的同学只能通过代码查看"YOLOv5"的特性。只能说现在版本的"YOLOv5"集成了YOLOv3-SPP和YOLOv4的部分特性等。
侃侃
虽然现在没有给出算法介绍,但仅从给出的性能数据看起来"YOLOv5"还是不错的。不过 Amusi 认为起名"YOLOv5"实属不应该。
1. 起码要和YOLO之父Joe Redmon通知一声,经过他同意(官方项目没有更新,Amusi猜测起码没有得到认可)
2. 任何人都有起名的权利,但YOLO系列太知名了,Ultralytics LLC本身也作为YOLO社区的贡献者,应该很清楚这一点。项目很强,但YOLOv5
Amusi 不认可该项目命名为"YOLOv5"这个名字,但对开源的精神点赞,希望项目继续更新,造福更多的YOLO玩家。
YOLOv4没交棒,但YOLOv5来了!的更多相关文章
- 先埋锅-CF-Valid BFS?-差一点没交上
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> ...
- 使用 python 查看谁没有交作业
话说实验报告每天都要查人数,何不用程序实现 使用 python 查看谁没有交作业 version 1.0 程序嘛,肯定是可以改进的.使用该程序的前提是实验报告文件名中包含学号信息.将以上程序放在实验报 ...
- JavaFX之班级未交作业统计
前言 最近转移了系统平台,用上了Ubuntu1804版本系统,原来用C#写的Windows窗体软件也不能用了,而且自己在班级上每周都需要收作业,所以写了这个软件.这篇博客主要记录这个JavaFX应用的 ...
- Alpha冲刺 - 事后诸葛亮
Alpha冲刺 - 事后诸葛亮 Alpha完成情况表 Stardust(安卓端) 模块 预期计划 现实进展 完成度 登录/注册 登录时,从服务器拉取的数据并同步数据库.获取的数据有:用户名.密码.记录 ...
- 2018C语言助教总结
回顾 很荣幸得到各位老师的认可,担任计科3班和4班的C语言课程助教,很感谢车老师和牛老师一学期的帮助,使得我更好的担任助教一职.我班学生59名,很愉快的与同学们度过一个美好的学期,其实作为助教同样从学 ...
- THUSC 2018 游记
现在是闭幕式,我坐在西郊宾馆后排,开始写这篇游记. day0 早上从临汾坐火车到北京,12:52左右到了北京. 这次北京的地铁安检没有排成很长的队,但是在买票的时候我惊喜地发现我身上没有零钱--所幸北 ...
- 各种友(e)善(xin)数论总集(未完待续),从入门到绝望
目录 快速幂 扩展欧几里得 GCD 扩展欧几里得 同余系列 同余方程 同余方程组 一点想法 高次同余方程 BSGS exBSGS 线性筛素数 埃式筛 欧拉筛 欧拉函数 讲解 两道水题 法雷级数 可见点 ...
- Python-S9-Day123——爬虫两示例
01 今日内容回顾 02 内容回顾和补充:面向对象约束 03 爬虫之抽屉新热榜 04 爬虫之抽屉自动登录(一) 05 爬虫之抽屉自动登录(二) 06 爬虫之登录github(一) 07 爬虫之登录gi ...
- go 学习 (五):goroutine 协程
一.goroutine 基础 定义 使用者分配足够多的任务,系统能自动帮助使用者把任务分配到 CPU 上,让这些任务尽量并发运作,此机制在Go中称作 goroutine goroutine 是 Go语 ...
随机推荐
- table边框完全去掉的方法
表格中边框的显示 只显示上边框 <table frame=above> 只显示下边框 <table frame=below> 只显示左.右边框 <table frame= ...
- 洛谷P1089 津津的储蓄计划
题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里 ...
- jquery里面.length和.size()有什么区别
区别: 1.针对标签对象元素,比如数html页面有多少个段落元素<p></p>,那么此时的$("p").size()==$("p").l ...
- springmvc Date类型转换
有时候我们会碰到这么一个问题,有一个实体类,里面有一个Date类型的数据,jsp页面传递的时间参数是String的,这就导致无法对应,springmvc无法帮我们自动封装参数到实体类中了,这里我解决的 ...
- PHP 通用格式化调试函数
/** * 打印调试函数 * @param $content * @param $is_die */function pre($content, $is_die = true){ header('Co ...
- Pytorch_Part3_模型模块
VisualPytorch beta发布了! 功能概述:通过可视化拖拽网络层方式搭建模型,可选择不同数据集.损失函数.优化器生成可运行pytorch代码 扩展功能:1. 模型搭建支持模块的嵌套:2. ...
- 通俗易懂的JS之Proxy
与掘金文章同步,地址:https://juejin.cn/post/6964398933229436935 什么是代理模式 引入一个现实生活中的案例 我们作为用户需要去如何评估一个房子的好坏.如何办理 ...
- [bug] Maven项目缺少Maven Dependencies
参考 https://blog.csdn.net/whitemiao/article/details/90177135
- Linux 如何查看系统负载
Linux 如何查看系统负载 310 博客 / Linux/ 4个月前/ 534 / 0 操作系统的负载状态,反映了应用程序的资源使用情况,从中能找出应用程序优化的瓶颈所在. 系统平均负载, ...
- 027. Python面向对象的__init__方法
__init__魔术方法(构造方法) 触发时机:实例化对象,初始化的时候触发 功能:为对象添加成员 参数:参数不固定,至少一个self参数 返回值:无 基本用法,至少含有一个参数 class MyCl ...