摘自:https://mp.weixin.qq.com/s/fKHcKHhCmymFf0fBKbej_g

因为我i看无人机的目标检测也是用的YOLO

YOLOv5 对决 Faster RCNN,谁赢谁输?

机器学习研究组 前天

作者 | Priya Dwivedi

译者 | Sambodhi

策划 | 李冬梅

YOLOv5 在深度学习社区炒得沸沸扬扬。最近有篇 博文 是如此介绍 YOLOv5 的:它是最先进的目标检测,FPS 高达 140。这一言论,立即在 Hacker News、Reddit 甚至 GitHub 上引起了轩然大波,但这场广泛的讨论并非因为它的推理速度。在这场讨论中,有两个突出问题:1、该模型是否应称为 YOLO;2、速度基准测试结果的准确性和可重复性如何。

撇开所有争议不谈,YOLOv5 看起来是一个“很有前途”的模型。因此,我将它与 Faster RCNN 进行了比较,Faster RCNN 是最好的 two stage 检测器之一。为了进行比较,我选取了三段背景不同的视频,并将这两个模型并排运行。我的评估包括对结果质量和推理速度的观察结果。那么,让我们言归正传。

YOLOv5 模型

YOLOv5 的实现是在 PyTorch 中完成的,与之前基于 DarkNet 框架的开发形成了鲜明的对比。这使得该模型的理解、训练和部署变得更加容易(目前暂时没有使用 YOLO-v5 的论文发表)。以我的理解来看,在架构上,它和 YOLO-v4 很相似。一个不同之处可能是使用了 Cross Stage Partial Network(CSP)来降低计算成本。目前尚不清楚 YOLOv5 的运行速度是否比 YOLO-v4 更快,但我更喜欢 PyTorch 的实现,而且让惊讶的是,使用这个模型进行训练是如此的容易。就我个人经验而言,通过它进行推理的体验也是如此。

这次发布的 YOLOv5 包括五种不同尺寸的模型:YOLOv5s(最小)、YOLOv5m、YOLOv5l、YOLOv5x(最大)。这些模型的推理速度和平均精度均值(mean average precision,mAP)如下图所示:

使用 YOLO-v5 进行推理

第一步就是克隆 YOLO-v5 的 repo,并安装所有的依赖要求。我使用的是 PyTorch 1.5,代码可以正常工作,没有任何问题。

你可以按照以下方法下载不同预训练 COCO 模型的所有权重:

bash weights/download_weights.sh

要对视频进行推理,就必须将传递给视频的路径以及要使用的模型的权重。如果没有设置权重参数,那么在默认情况下,代码在 YOLO 小模型上运行。我使用的示例参数如下所示。

python detect.py --source video/MOT20-01-raw-cut1.mp4 --output video_out/ --weights weights/yolov5s.pt --conf-thres 0.4

输出视频将保存在输出文件夹中。

Faster RCNN 模型

对于 Faster RCNN 模型,我使用了 TensorFlow Object Detection 中的预训练模型。TensorFlow Object Detection 共享 COCO 预训练的 Faster RCNN,用于各种主干。对于这个博客,我使用了 Faster RCNN ResNet 50 主干。这个 repo 分享了一个很不错的教程,介绍如何使用他们的预训练模型进行推理。

YOLOv5 模型与 Faster RCNN 的比较

考虑到对自动驾驶行业的重要性,我选择的第一个场景是街道驾驶场景。这两个模型的结果分别如下:

YOLOv5 模型评估驾驶视频

Faster RCNN 评估驾驶视频

YOLO 模型似乎更善于检测较小的目标,在这种情况下是红绿灯,并且还能够在当汽车距离较远(即在透视上看起来较小)将其进行标记。

YOLOv5s 的运行速度(端到端包括读取视频、运行模型和将结果保存到文件)为 52.8 FPS。

而 Faser RCNN ResNet 50 的运行速度(端到端包括读取视频、运行模型和将结果保存到文件)为 21.7 FPS。

以上结果是在 NVIDIA 1080 Ti 上进行评估的。

到目前为止,YOLOv5 看上去比 Faster RCNN 更好一些。

YOLOv5 与 Faster RCNN 的比较(1)

下一段视频是 YouTube 的篮球比赛视频。两个模型的结果如下所示:

YOLOv5 评估篮球比赛视频

Faster RCNN ResNet 50 评估篮球比赛视频

Faster RCNN 模型在 60% 的阈值下运行,可以说它是用“Person”标签对人群进行标记,但我个人更喜欢 YOLO,因为它的结果干净整洁。不过,这两种模型在视频右下角的 abc(美国广播公司)徽标上都存在假正类误报。

我也很失望,虽然运动球也是 COCO 的类别之一,但这两个模型都没有检测到篮球。它们现在的统计情况如下:

YOLOv5 与 Faster RCNN 的比较 (2)

在最后一段视频中,我从 MOT 数据集中选择了一个室内拥挤的场景。这是一段很有挑战性的视频,因为光线不足,距离遥远,人群密集。这两个模型的结果如下所示:

YOLOv5 模型在来自 MOT 数据集中的室内拥挤场景进行测试

Faster RCNN 模型在来自 MOT 数据集中的室内拥挤场景进行测试

这一次的测试很有趣。我想说的是,当人们走进走廊的时候,这两种模型都很难检测到远处的人。这可能是由于光线较弱和目标较小所致。当人群靠近摄像机方向时,这两种模型都能对重叠的人进行标记。

YOLOv5 与 Faster RCNN 的比较(3)

结  论

最后对比两种模型可以看出,YOLOv5 在运行速度上有明显优势。小型 YOLOv5 模型运行速度加快了约 2.5 倍,同时在检测较小的目标时具有更好的性能。结果也更干净,几乎没有重叠的边框。Ultralytics 在他们的 YOLOv5 上做得非常出色,并开源了一个易于训练和运行推理的模型。

该博文还显示了计算机视觉目标检测的一个新兴趋势,即朝既快又准确的模型发展。

原文链接:

https://towardsdatascience.com/yolov5-compared-to-faster-rcnn-who-wins-a771cd6c9fb4

想要了解更多资讯,请扫描下方二维码,关注机器学习研究会

转自:AI前线

YOLOv5 对决 Faster RCNN,谁赢谁输?(转载)相关推荐

  1. 基于DAMO-YOLO的RepGFPN多尺度特征融合的YOLOv5、YOLOv7、Faster RCNN、FCOS、CenterNet等目标检测器改进

    DAMO-YOLO的RepGFPN多尺度特征融合颈部网络与目标检测器的融合策略 1.DAMO-YOLO 点击此处直达论文地址 DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一 ...

  2. 目标检测——Faster R-CNN论文阅读

    论文阅读--Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks 文章目录 论文阅读--Faste ...

  3. 基于深度学习的目标检测技术的演进:从R-CNN到Faster R-CNN

    导语 什么是Objection Detection?就是在给定的图片中精确的找到物体所在位置,并且标注出物体的类别.目标检测要解决的问题就是物体在哪里?是什么?这样的问题.然而,这个问题并不是那么容易 ...

  4. faster rcnn接口_Faster R-CNN教程

    Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10 ...

  5. [计算机视觉][神经网络与深度学习]Faster R-CNN配置及其训练教程

    Faster R-CNN教程 Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会 ...

  6. Faster R-CNN教程

    转载自:Faster R-CNN教程 - CarryPotMan的博客 - 博客频道 - CSDN.NET http://blog.csdn.net/u012891472/article/detail ...

  7. 人工智能:物体检测之Faster RCNN模型

    人工智能:物体检测之Faster RCNN模型 物体检测 Faster RCNN模型 简介 卷积层 RPN Roi Pooling Classifier 物体检测 什么是物体检测 物体检测应用场景 物 ...

  8. 目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN

    一. 从图像识别的任务说起   1.1 思路一:看做回归问题   1.2 思路二:取图像窗口 二. R-CNN横空出世 三. SPP Net 四.Fast R-CNN 五.Faster R-CNN 看 ...

  9. [转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/kwame211/article/details/88016151 一.目标检测常见算法 object ...

最新文章

  1. ESP32模块的MicroPython的基本实验
  2. qt 一个线程接收数据 主线程更新界面 会造成界面退出 怎么解决_打造一个好产品...
  3. 好评率超高的几个硬核公众号,99%的程序员都关注了!
  4. python爬虫app_Python爬虫:抓取手机APP的数据
  5. SAP培训及ABAP学习入门必读
  6. Snagit 2019 for Mac如何合并图像+安装方法详解
  7. HTTP长连接---requests的长连接
  8. Python求解最大子列和
  9. 如何发送电子邮件到别人邮箱?
  10. android模拟器报错dev kvm is not found
  11. 【以太网安全实验】--- 端口安全/防MAC地址飘移/防伪冒DHCP攻击/MAC地址表安全
  12. 常见电路面试题20道
  13. mysql 1.42_mysql-查询(DQL)
  14. 百万冲顶 获取复活币
  15. [沟通能力] 述职,你搞定了吗?
  16. Cassandra分析
  17. 一键如何完成多张静态图合成GIF图?
  18. 企业管理理论综述与实践 — 管理、使命、愿景、价值观
  19. 计算机控制交通灯实验报告,PLC实验专用周实验报告 交通灯
  20. NLP知识包--语义分析智能问答工具

热门文章

  1. 知网论文caj怎么转化成word
  2. 电脑没有串口怎么办?
  3. 高级程序员到底长什么样子?
  4. unity 获取多个坐标点的中心点
  5. httpd +jk_虚拟主机+ Apache httpd服务器+ Tomcat + mod_jk连接器
  6. MAC VMware Fusion 克隆虚拟机
  7. 机器学习需要掌握的数学知识点---详细整理
  8. Freda的越野跑(openjudge)
  9. 带你认识六种设计原则(开闭原则、里氏代换原则、依赖倒转原则....)
  10. android app分享到微信让应用来源显示qq浏览器或者是其他应用