Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >YOLOv5是真的吗?并不比YOLOv4强,不配这个名字

YOLOv5是真的吗?并不比YOLOv4强,不配这个名字

作者头像
机器之心
发布于 2020-07-14 07:37:54
发布于 2020-07-14 07:37:54
1.4K0
举报
文章被收录于专栏:机器之心机器之心

选自Medium

作者:Ritesh Kanjee

机器之心编译

参与:Panda、蛋酱

YOLOv4 发布不到 2 个月,一个名叫 YOLOv5 的目标检测框架横空出世,但它真的够格继承 YOLO 之名并沿用社区公认的版本号吗?工程师 Ritesh Kanjee 近日在 Medium 上通过事实与社区观点对此给出了否定答案,并批评了这种「欺世盗名」的行为。

2020 年 4 月 23 日,YOLOv4 发布……

2020 年 6 月 10 日,YOLOv5 又来了……

是不是超厉害?这不正表明我们的研究和科技发展速度超快吗?毕竟这个广受欢迎的目标检测框架的新一代 v4 版本刚发布不久,下一代 v5 版本就横空出世了。YOLOv5 真的这么厉害以至于自成一代?还是说仅仅是个噱头?本文将尽可能客观地研究其中一些相关证据,看看 YOLOv5 究竟是否名副其实?

来自:https://github.com/ultralytics/yolov5

首先简单介绍一下 YOLO。YOLO 是一个实时目标检测框架,其意思是 You Only Look Once(你只看一次)。也就是说待检测的目标图像仅会通过全卷积神经网络(FCNN)一次。碍于篇幅,本文不会介绍 YOLO 的技术细节,感兴趣的读者可参阅机器之心的文章《教程 | 单级式目标检测方法概述:YOLO 与 SSD》及《YOLO v4 它来了:接棒者出现,速度效果双提升》。

事件回顾

好的,说回 YOLOv5。Ultralytics 的创始人兼 CEO Glenn Jocher 在 GitHub 上发布了 YOLOv5 的一个开源实现。据 Ultralytics 的 GitHub 页面称,这是当前所有已知 YOLO 实现中的当前最佳(SOTA)。

项目地址:https://github.com/ultralytics/yolov5

他们公布的结果表明,YOLOv5 的表现要优于谷歌开源的目标检测框架 EfficientDet,但本文作者 Ritesh Kanjee 却发现了一件怪事:尽管 YOLOv5 的开发者没有明确地将其与 YOLOv4 进行比较,但他们却声称 YOLOv5 能在 Tesla P100 上实现 140 FPS 的快速检测;相较而言,YOLOv4 的基准结果是在 50 FPS 速度下得到的,参阅:https://blog.roboflow.ai/yolov5-is-hereState-of-the-Art

来自:https://blog.roboflow.ai/yolov5-is-here/

不仅如此,他们还提到「YOLOv5 的大小仅有 27 MB。」对比一下:使用 darknet 架构的 YOLOv4 有 244 MB。这说明 YOLOv5 实在特别小,比 YOLOv4 小近 90%。这也太疯狂了!

而在准确度指标上,「YOLOv5 与 YOLOv4 相当」。

因此总结起来,YOLOv5 宣称自己速度非常快,有非常轻量级的模型大小,同时在准确度方面又与 YOLOv4 基准相当。

类比想想,如果 PlayStation 或 Xbox 发布了一款新的游戏机,它和之前的游戏机的图形性能一样,但载入时间更快且体型更小,这能算得上是新一代游戏机吗?最多只能算是当前一代游戏机的轻量级版本吧,比如 PS4 Slim 或 Xbox One S?

问题

那么问题就来了。

你能否宣称一种已开源的技术是自己的,甚至你都不算是最初的创建者?这肯定很有争议。使用同样的框架然后进行一些修改,这是否能让你有权使用这个品牌并写入自己的版本号?YOLO v5 就是这个情况。这大概取决于该框架的原始创建者。

你可能听说了,YOLO 的原始创建者 Joseph Redmon 已在 2020 年 2 月宣布退出计算机视觉研究领域,因为他认为自己的智力成果 YOLO 造成了一些不好的社会影响。他表示:

「我热爱自己的作品,但我已经无法忽视它在军事领域的应用以及给个人隐私带来的风险。」

Redmon 曾与 Ali Faradi 合作为 YOLO 迭代了三代版本。

不久之后的 2020 年 4 月,YOLOv4 问世,但没有任何原始作者参与其中,开发团队变成了 Bochkovskiy et. al.。这篇论文得到了发表并经过了同行评议,其 GitHub 代码上传到了 AlexeyAB/darknet 代码库,一切看起来都还不错,而且其所带来的技术升级也很棒,得到了计算机视觉社区的接受和认可。这是否就意味着如果 Bochkovskiy et. al. 可以这样操作,那么其他任何人都可以在 YOLO 框架的基础上进行一些改进,然后就宣称新增一代版本吗?这正是实际所发生的事情。

Ultralytics 的创始人兼 CEO Glenn Jocher 像投掷炸弹一样放出了 YOLOv5。所以你肯定会有疑问:这个 YOLOv5 够不够格?还是说是个噱头甚至骗局?先不着急说结论,我们来分析一下事实证据。

证据

首先说明一点:在本文写就之时,Ultralytics 尚未发布经过同行评议的 YOLOv5 论文。这已经说明了一点:他们没有节操。

是的,写论文确实需要时间,而且毕竟 Ultralytics 是一家企业嘛,又不是研究机构。但是,如果论文都还没发出来,我们能信任这个实现吗?Bochkovskiy et. al. 在发布 YOLOv4 时就不是只有亮眼的结果,还一并发表了论文。

社区反应

其次,为了确定 YOLOv5 是否够格,我们来看看相关社区对这个所谓的「下一代」模型的反应,包括他们的分析和评估。我们去谷歌搜一下 YOLOv5 的相关问题,然后找到 Kaggle 等信息来源。

来自:https://www.kaggle.com/c/global-wheat-detection/discussion/158371

我们可以看到一条来自用户 Mr. Hurtik 的评论:

「YOLOv5 其实就是 YOLOv3 换了个名字。图表看起来是不错,但会误导人。」然后他提供了一个指向 YOLOv4 的作者 AlexeyAB 的代码库的链接:GitHub.com/AlexeyAB/darknet/issue/5920。

在这个 GitHub 页面中(现已关闭),有两个宣称 YOLOv5 已经问世的链接。这两个链接分别指向 Ultralytics YOLOv5 代码库和前面提到过的 Roboflow 博客。然后还有另一个链接是 Y-Combinator 上对以上两个信息源的讨论:https://news.ycombinator.com/item?id=23478151

读一读里面的社区讨论,可以看到很多人都对 YOLOv5 持怀疑态度,甚至还有直斥其为「bullshit」的言论。人们说 YOLOv5 根本没有与 YOLOv4 进行同等条件下的对比研究,换句话说想更新换代却连基本的比较都没做。

用户 Anthiras 表示不相信 Roboflow 的 YOLOv5 文章,因为小 90% 的模型却能提供相近的准确度,这不怎么可能。而 YOLOv5 代码库本身又表现出了与 YOLOv4 相当的性能。

Joshvm 猜测说:「我认为 YOLOv5 没有给出有信息的说明。但顺便说一句,如果你之前看过那些问题,你就知道 AlexeyAB 的分叉基本上已经解决这些问题了,因此会有版本冲突。Ultralytics 可能原本打算将其命名为 YOLOv4。这个软件库已经开发有一段时间了。」

Bochkovskiy 的评估

回到 AlexeyAB 的 GitHub 讨论,可以看到 Alexey 的评论说 roboflow.ai 博客的比较结果是无效的。他继续解释说延迟不应该以 32 的批大小来测量,而是应该使用等于 1 的批大小。因此,延迟是一个完整的数据处理循环的时间,不能少于处理整个数据批的时间,根据批大小的不同,其用时可能高达 1 秒。批大小越大,延迟越高。

在宣称 YOLOv5 很小(27MB)方面,Alexey 继续进行了驳斥:

他们比较的是在 Microsoft COCO 上 26–36% AP 的准确度非常低的 Ultralytics 版小 YOLOv5 (27 MB)与在 Microsoft COCO 上 41-43% AP 的准确度非常高的大 YOLOv4(245MB)。

在速度方面,YOLOv5 宣称能达到 140 FPS。Alexey 同样说:

「他们比较的是非常小且准确度低很多的 ultralytics-YOLOv5 与非常准确且较大的 YOLOv4 的速度。他们没有提供比较的大部分关键细节:到底使用了 YOLOv5 的哪个版本:s\l\x?使用了怎样的训练和测试方案?YOLOv4 与 ultralytics-YOLOv5 使用了多大的测试批大小?他们没有使用同等设置在广受认可的 Microsoft COCO 数据集上进行测试,他们也没有在 Microsoft COCO CodaLab 评估服务器上测试,这样可以减少人为操纵实验结果的可能性。」

因此,可以看出来 Ultralytics 这个所谓的 YOLOv5 实现看起来并不好。但看问题要全面,不能只说一方的看法。我们再看看 Ultralytics 的 Glenn Jocher 以及 Roboflow.ai 的人是怎么说的。

回应

现在我们已经听到了社区的斥责声,你可能会想 YOLOv5 确实可疑,不值得信任…… 但也不要着急就下结论。在那之前我们先看看被告的反驳证词。

Ultralytics 的 Glenn Jocher 写了一篇短文回应有关 YOLOv5 的发布和命名问题:https://github.com/ultralytics/yolov5/issues/2。他回应的核心是他们是打算写一篇论文来展示他们的结果和训练方法,但他们的资源非常有限,而且需要保持收支平衡才能保证业务稳定。确实如此,这段时间很艰难,某些公司也只能推出 beta 版产品…… 呃,就当这是真的吧。

他继续谈到了他们的模型,说 YOLOv5 实现并不是静态不变的,现在也并没有完全完成。发布未完成的模型其实没啥,但是他们却宣称 YOLOv5 比 YOLOv4 更好。这是不应该的,他应该说清楚这个项目仍在开发之中,而且不仅要在代码库的文本中说清(这个他们说了),而且也要在比较、评估和代码等地方说清楚。而且他们也不应该在 YOLOv 后面加个 5,这很容易让人混淆,因为这意味着这比其前代版本更好。

命名惯例的保持和遵守其实是非常以及极其重要的。Glenn 说 YOLOv5 是这项工作的内部命名代号,而且这里所使用的名字对他们而言是无关紧要的…… 呃,使用 YOLOv5 作为内部命名其实没啥。毕竟是内部,你想怎样命名都可以,Project XYZ、YOLO、KOLO、POLO、ZOLO…… 随便选。但你在发布项目的时候,命名就不能随心所欲了。它应该直观易懂,应该符合实际,不应该靠加个 v5 来欺骗诱导人们相信你是当前 YOLO 模型的 SOTA。

至于 RoboFlow,尽管没必要批评他们推广 YOLOv5 的事情,但他们居然相信这是真的,还是太天真了点。建议他们下次评估模型时尽职一点,要用适当的方式来对比模型。那以后他们已在博客上发布一篇文章《对 YOLOv5 相关争议的回应》:https://blog.roboflow.ai/yolov4-versus-yolov5。这篇文章很长,他们在文中承认了自己的错误并重新对 YOLOv4 和 YOLOv5 进行全面深入的比较,其结果已在前文讨论过。

另外他们其实也该撤掉那篇推广 YOLOv5 的文章《YOLOv5 来了:140 FPS 的当前最佳目标检测器》,至少也该换个标题,说清 Ultralytics 这个模型实现的真实情况。

总结

基于以上事实,我们知道 YOLOv4 仍旧是 YOLO 进化之路上的 SOTA。尽管可以基于他人的研究成果进一步开发(当然在合理许可下),但使用 YOLOv5 作为模型名称的做法实在为计算机视觉社区所不齿。

YOLOv5 比 YOLOv4 差,而且并不是官方的。——来自 Karol Majek

原文链接:https://medium.com/swlh/yolov5-controversy-is-yolov5-real-20e048bebb08

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Github高赞的YOLOv5引发争议?Roboflow和开发者这样说
YOLOv5自发布之后就受到了许多关注,无论是Hacker News,Github还是Reddit,在各个机器学习有关的平台上都引发了广泛的讨论。当然,也不少用户对YOLOv5提出了各方面的质疑。
新智元
2020/06/17
1.2K0
Github高赞的YOLOv5引发争议?Roboflow和开发者这样说
YOLOv5它来了!YOLOv4发布不到50天,它带着推理速度140帧/秒、性能提升2倍来了
6月9日,Ultralytics公司开源了YOLOv5,离上一次YOLOv4发布不到50天。而且这一次的YOLOv5是完全基于PyTorch实现的!
量子位
2020/06/16
1.8K0
大神接棒,YOLOv4来了!
之前,YOLO系列(v1-v3)作者 Joe Redmon 宣布不再继续CV方向的研究,引起学术圈一篇哗然。YOLO之父宣布退出CV界,坦言无法忽视自己工作带来的负面影响
Amusi
2020/06/30
1.1K0
大神接棒,YOLOv4来了!
杀疯了!YOLO再突破,提速20倍!!
YOLO再一次突破,新变体YOLO-World在目标检测领域的表现非常的出色。开集检测速度提升20倍!
Python编程爱好者
2024/04/12
1K0
杀疯了!YOLO再突破,提速20倍!!
使用Yolov5进行端到端目标检测
最近,Ultralytics推出了YOLOv5,但它的名字却引发了争议。为了了解背景,《YOLO》(你只能看一次)的前三个版本是由约瑟夫·雷蒙(Joseph Redmon)创作的。在此之后,Alexey Bochkovskiy在darknet上创建了YOLOv4,号称比之前的迭代具有更高的平均精度(AP)和更快的结果。
deephub
2020/07/21
1.7K0
使用Yolov5进行端到端目标检测
PP-YOLO何许模型?竟然超越了YOLOv4
PP-YOLO评估指标显示出比现有的最新对象检测模型YOLOv4更高的性能。但是,提出者百度却谦虚的声明:
小白学视觉
2020/08/13
1.2K0
YOLO算法最全综述:从YOLOv1到YOLOv5
来源丨https://zhuanlan.zhihu.com/p/136382095
Datawhale
2020/10/23
2.6K0
YOLO算法最全综述:从YOLOv1到YOLOv5
如何使用Yolov5创建端到端对象检测器?
Ultralytics最近在围绕其名称的争议中推出了YOLOv5。就上下文而言,约瑟夫·雷德蒙(Joseph Redmon)创建了YOLO(您只看一次)的前三个版本。此后,Alexey Bochkovskiy在Darknet上创建了YOLOv4,与以前的迭代相比,它拥有更高的平均精度(AP)和更快的结果。
代码医生工作室
2020/07/13
1.4K0
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解
因为工作原因,项目中经常遇到目标检测的任务,因此对目标检测算法会经常使用和关注,比如Yolov3、Yolov4算法、Yolov5算法、Yolox算法。
全栈程序员站长
2022/07/01
7300
深入浅出Yolo系列之Yolov3&Yolov4&Yolov5&Yolox核心基础知识完整讲解
知识精讲 | Yolov3和Yolov4核心内容、代码梳理
从2018年Yolov3年提出的两年后,在原作者声名放弃更新Yolo算法后,俄罗斯的Alexey大神扛起了Yolov4的大旗。
新智元
2020/06/09
1.8K0
知识精讲 | Yolov3和Yolov4核心内容、代码梳理
名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA
机器之心报道 编辑:小舟、陈萍 YOLOv8 抛弃了前几代模型的 Anchor-Base。 YOLO 是一种基于图像全局信息进行预测的目标检测系统。自 2015 年 Joseph Redmon、Ali Farhadi 等人提出初代模型以来,领域内的研究者们已经对 YOLO 进行了多次更新迭代,模型性能越来越强大。现在,YOLOv8 已正式发布。 YOLOv8 是由小型初创公司 Ultralytics 创建并维护的,值得注意的是 YOLOv5 也是由该公司创建的。 YOLOv8 项目地址:https://g
机器之心
2023/03/29
7.4K0
名声大噪的YOLO迎来YOLOv8,迅速包揽目标检测、实例分割新SOTA
YOLOv8来啦!YOLO内卷期模型怎么选?9+款AI硬件如何快速部署?深度解析
此外换模型训练调参也会引入更多的不确定性,而且往往业务数据集大则几十万张图片,重训成本很高,但训完了新的精度不一定更高,速度指标在特定机器环境上也未必可观,参数量、计算量的变化尤其在边缘设备上也不能忽视。
用户1386409
2023/03/06
1.3K0
YOLOv8来啦!YOLO内卷期模型怎么选?9+款AI硬件如何快速部署?深度解析
【目标检测】从YOLOv1到YOLOX(理论梳理)
YOLO系列应该是目标领域知名度最高的算法,其凭借出色的实时检测性能在不同的领域均有广泛应用。 目前,YOLO共有6个版本,YOLOv1-v5和YOLOX,除了YOLOv5外,其它都有相应的论文,5篇论文我已上传到资源中,可自行下载:https://www.aliyundrive.com/s/ofcnrxjzsFE 工程上使用最多的版本是YOLOv3和YOLOv5,Pytorch版本均由ultralytics公司开发,YOLOv5仍在进行维护,截至目前,已经更新到YOLOv5-6.1版本。 项目地址:https://github.com/ultralytics/yolov5 在上篇博文中,详细记录了如何用YOLOv5来跑通VOC2007数据集,本篇博文旨在对YOLO系列算法的演化进行简单梳理,更多详细的内容可以看文末的参考资料。
zstar
2022/09/08
2.2K0
YOLO 系目标检测算法家族全景图!
YOLO目标检测算法诞生于2015年6月,从出生的那一天起就是“高精度、高效率、高实用性”目标检测算法的代名词。
CV君
2020/08/04
1.7K0
YOLO 系目标检测算法家族全景图!
YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它
丰色 发自 凹非寺 量子位 | 公众号 QbitAI 很快啊—— 目标检测经典模型YOLO的第八个版本就已经发布了。 这次升级不少,包括命令行界面、Python API、backbone结构等,精度相比YOLOv5高了一大截(速度官方还没公布)。 下面是网友实测,几个不同规模的变体在目标检测、实例分割和图像分类三项任务上的涨点最高达到了33.21%。 不知道YOLOv8这一出,v5版本还会“苟”多久? oh我们还发现已经有人用它在自定义数据集上完成了一波训练,效果是这样滴: 这精准度和稳定性,让网友狠
量子位
2023/02/28
4K0
YOLOv8已至,精度大涨!教你如何在自定义数据集上训练它
当YOLOv5遇见OpenVINO!
YOLOv5 于2020年6月发布!一经推出,便得到CV圈的瞩目,目前在各大目标检测竞赛、落地实战项目中得到广泛应用。
AI科技评论
2021/07/03
2.6K0
当YOLOv5遇见OpenVINO!
YOLO进化史:YOLOv5、YOLOv8 与 YOLOv10 的性能分析与边缘部署探讨!
AI模型部署落地实战👉「CUDA、TensorRT、NCNN、OpenVINO、MNN、ONNXRuntime以及地平线框架」
集智书童公众号
2024/07/11
18.1K0
YOLO进化史:YOLOv5、YOLOv8 与 YOLOv10 的性能分析与边缘部署探讨!
YOLO项目复活!大神接过衣钵,YOLO之父隐退2月后,v4版正式发布,性能大幅提升
另一位曾经参与YOLO项目维护的大神Alexey Bochkovskiy,在arXiv上提交了YOLO v4,而且这篇论文已经被拉入原来YOLO之父建立的项目主线。
量子位
2020/04/24
8180
YOLO项目复活!大神接过衣钵,YOLO之父隐退2月后,v4版正式发布,性能大幅提升
YOLO家族系列模型的演变:从v1到v8(下)
昨天的文章中,我们回顾了 YOLO 家族的前 9 个架构。本文中将继续总结最后3个框架,还有本月最新发布的YOLO V8.
deephub
2023/02/01
2.8K0
YOLO v4它来了:接棒者出现,速度效果双提升
两个月前,YOLO 之父 Joseph Redmon 表示,由于无法忍受自己工作所带来的的负面影响,决定退出计算机视觉领域。此事引发了极大的热议,其中一个悬念就是:我们还能等到 YOLO v4 面世吗?
机器之心
2020/04/26
1.1K0
推荐阅读
相关推荐
Github高赞的YOLOv5引发争议?Roboflow和开发者这样说
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文