前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >YOLO—实时对象检测的新视角

YOLO—实时对象检测的新视角

作者头像
AiTechYun
发布2018-03-05 16:22:35
1.3K0
发布2018-03-05 16:22:35
举报
文章被收录于专栏:ATYUN订阅号

近几年,在深入学习的帮助下, 目标检测领域取得了巨大的进步。对象检测是标识图像中的对象并在其周围绘制边界框的任务, 也就是定位它们。在计算机视觉由于其众多的应用从自动驾驶汽车到安全和跟踪是一个非常重要的问题。

以前的对象检测方法通常是让管道按序分段。这会导致每一段完成的任务和最终目标之间的脱节, 最终的目标是在一个图像的对象周围绘制一个紧密的边界框。一个充分利用在联合的方式中侦测错误的终端框架将是一个更好的解决方案,不仅是为了更好地训练模型, 还要提高检测速度。

这就需要YOLO发挥作用。Varun Agrawal对Statsbot团队讲述了,为什么YOLO比其他方法的对象检测更好的理由。

在图像分类领域,深度学习已被证明是一个强大的工具,机器在这项任务中的表现已经达到人类水平。早期的检测方法利用这一能力将对象检测的问题转化为一个分类, 即识别图像所属的对象类别。

通过两个过程来完成这个方法:

  • 第一阶段涉及产生数以万计的提案。它们只是图像中的特定矩形区域, 也称为边界框, 该系统在图像中被认为是类似对象的东西。边框框提案可能围绕图像中的实际对象,并将它筛选为第二阶段的目标。
  • 在第二阶段,图像分类器将对边界框方案中的子图像进行分类, 分类器会认定它是特定的对象类型还是非特定对象或背景。

尽管这两个过程很精准, 但由于所产生的提案数量庞大, 并且在提案的产生和分类方面缺乏联合优化, 因此存在像效率这样的缺陷。这导致了每个阶段无法真正领会更大的图像,而是孤立自己的小问题,因此也限制了它们的表现。

YOLO是什么

YOLO代表“You Only Look Once”,是一种在2016年由Joseph Redmon和Ali Farhadi在华盛顿大学开发的基于深度学习的对象检测算法。

这系统之所以称之YOLO,它不再进入潜在对象的多个子图像,只进入整个图像的深度学习系统一次。然后, 你会一次性得到所有的边界框以及对象类别分类。这就是YOLO的基本设计决策, 对目标检测任务的一个全新的视角。

YOLO的工作方式是将图像细分为NxN的网格, 或更具体的原始论文上的7×7的网格。每个网格单元 (也称为锚点) 表示一个分类器, 它负责在潜在对象周围生成 k个边界框, 其地面中心位于该网格单元 (在论文中k为 2) 中, 并将其分类为正确的对象。

请注意:边界框不限于网格单元格内,它可以在图像的边界内展开,以容纳它认为它负责检测的对象。这意味着在当前版本的YOLO中,系统生成98大小不等的边界框,以容纳场景中的各种对象。

成绩

对于更密集的对象检测, 用户可以根据需要将K或N设置为更高的数字。但是, 在当前配置下, 我们有一个系统,能够在对象周围输出大量的边界框, 并根据图像的空间布局将它们分类为不同的对象类别之一。

这是在推理时通过图像的单次传递完成的。因此, 联合检测和分类有助于更好地优化学习目标 (损失函数) 和实时性能。

事实上, YOLO的结果很有希望。在挑战Pascal VOC检测挑战数据集时, 当每秒运行45帧时,YOLO成功达到平均精度,或者说mAP为63.4 (最高100)。相比之下,更快的R-CNN VGG 16上mAP达到了 73.2, 但每秒只运行7帧, 效率低了6倍。

在下表中可以看到YOLO与其他检测框架的比较。

如果让YOLO牺牲一些精度, 它可以每秒运行155帧, 但是mAP只有52.7。

因此, YOLO 的主要卖点是它在目标检测的实时检测速度上表现良好。这使得它在诸如机器人、自动驾驶汽车和无人驾驶飞机等系统中的应用非常重要(因为时间足够短在这里很重要)。

YOLOv2框架

最近, 同一组研究人员发布了新的YOLOv2框架, 它利用最近在一个深度学习网络设计中的结果, 去建立一个更高效的网络, 并使用Faster-RCNN的主机框架理念,以减轻学习网络问题。

结果显示这个检测系统表现更好,在Pascal VOC检测数据集上mAP达到了78.6的最佳性能 , 而其他系统中, 如改良版的Faster-RCNN (Faster-RCNN ResNet) 和SSD500, 在同一数据集上mAP只达到了76.4和76.8。

关键的区别在于性能速度。最好的YOLOv2模型的运行速度为40FPS,而Faster-RCNN ResNet则为5个FPS。

SSD500运行速度为45fps,具有76.8(与SSD500相同)mAP的YOLOv2分辨率较低的版本的运行速度为67 FPS。这样我们可以看到YOLOv2的设计选择结果能力有多优秀。

总之,YOLO在实时对象检测上表现出色, 这是资源匮乏的深度学习算法时代的重要中心阵地。随着我们迈向更加自动化的未来, 像YOLO和SSD500这样的系统将迎来巨大的进步, 并实现伟大的AI梦想。

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

本文分享自 ATYUN订阅号 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • YOLO是什么
  • 成绩
  • YOLOv2框架
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档