计算机视觉:YOLO算法简介

“You Only Look Once”或“YOLO”是一个对象检测算法的名字,这是Redmon等人在2016年的一篇研究论文中命名的。YOLO实现了自动驾驶汽车等前沿技术中使用的实时对象检测。让我们看看是什么使该算法如此受欢迎,并概述其工作原理。

对象检测示例

背景

实时的重要性

人们看到图像以后,可以立即识别其中的对象、它们的位置和相对位置。这使得我们能够在几乎无意识的情况下完成复杂的任务,比如开车。因此,对汽车进行自动驾驶训练需要类似水平的反应能力和准确性。在其最基本的形式中,这样的系统必须能够分析实时视频中的道路,并能够在继续确定路径之前检测各种类型的对象及其在现实世界中的位置,所有这些都必须是实时的。

在YOLO之前

先前的检测系统使用分类器对测试图像的不同切片进行评估。例如,Deformable Parts Model (DPM)涉及到在图像中均匀间隔的位置上滑动窗口并在这些部件上运行分类器。R-CNN(Region-based Convolutional Neural Networks)是另一种模型,它运行一种分割算法将一幅图像分割成一个个小块,然后在这些小块上运行一个分类器。但是,速度慢、优化困难一直困扰着这种YOLO之前的系统。

YOLO算法

YOLO将对象检测重新定义为一个回归问题。它将单个卷积神经网络(CNN)应用于整个图像,将图像分成网格,并预测每个网格的类概率和边界框。例如,以一个100x100的图像为例。我们把它分成网格,比如7x7。

然后,对于每个网格,网络都会预测一个边界框和与每个类别(汽车,行人,交通信号灯等)相对应的概率。

每个边界框可以使用四个描述符进行描述:

  • 边界框的中心
  • 高度
  • 宽度
  • 值映射到对象所属的类

此外,该算法还可以预测边界框中存在对象的概率。如果一个对象的中心落在一个网格单元中,则该网格单元负责检测该对象。每个网格中将有多个边界框。在训练时,我们希望每个对象只有一个边界框。因此,我们根据哪个Box与ground truth box的重叠度最高,从而分配一个Box来负责预测对象。

最后,我们对每个类的对象应用一个称为“非最大抑制(Non Max Suppression)”的方法来过滤出“置信度”小于阈值的边界框。这为我们提供了图像预测。

重要性

YOLO非常快。由于检测问题是一个回归问题,所以不需要复杂的管道。它比“R-CNN”快1000倍,比“Fast R-CNN”快100倍。它能够处理实时视频流,延迟小于25毫秒。它的精度是以前实时系统的两倍多。同样重要的是,YOLO遵循的是“端到端深度学习”的实践

(0)

相关推荐

  • (4条消息) OpenCV DNN之YOLO实时对象检测

    OpenCV在3.3.1的版本中开始正式支持Darknet网络框架并且支持YOLO1与YOLO2以及YOLO Tiny网络模型的导入与使用.YOLO是一种比SSD还要快的对象检测网络模型,算法作者在其 ...

  • (4条消息) 10分钟学会使用YOLO及Opencv实现目标检测(上)|附源码

    计算机视觉领域中,目标检测一直是工业应用上比较热门且成熟的应用领域,比如人脸识别.行人检测等,国内的旷视科技.商汤科技等公司在该领域占据行业领先地位.相对于图像分类任务而言,目标检测会更加复杂一些,不 ...

  • 图像处理之目标检测入门总结

    重磅干货,第一时间送达 本文首先介绍目标检测的任务,然后介绍主流的目标检测算法或框架,重点为Faster R-CNN,SSD,YOLO三个检测框架.本文内容主要整理自网络博客,用于普及性了解.ps:由 ...

  • 【目标检测算法解读】yolo系列算法一

    前言 大家好,这是目标检测算法解读系列的第一篇文章,在这个系列中小糖豆会对经典的目标检测算法进行解读,在每个算法原理讲解完后,会有相应的源代码解析.小糖豆认为学习一个算法,既要弄清楚它的原理,又要真正 ...

  • 使用 YOLO 进行目标检测

    重磅干货,第一时间送达 自从世界了解人工智能以来,有一个特别的用例已经被讨论了很多.它们是自动驾驶汽车.我们经常在科幻电影中听到.读到甚至看到这些.有人说,我们将在2010年拥有自动驾驶汽车,有人说到 ...

  • 如何在OpenCV中使用YOLO

    重磅干货,第一时间送达 今天,我们将研究如何在OpenCV框架中使用YOLO.YOLO于2016年问世,用于多目标检测,它与OpenCV框架兼容,但我们需要下载" yolov3.weight ...

  • 深入了解目标检测深度学习算法的技术细节

    设置星标可优先看到本公众号的文章 转自:智能卫星研究院 本文将讨论目标检测的基本方法(穷尽搜索.R-CNN.Fast R-CNN和Faster R-CNN),并尝试理解每个模型的技术细节.为了让经验水 ...

  • 将ONNX对象检测模型转换为iOS Core ML

    在本系列中,我们将使用预训练的模型来创建一个iOS应用程序,该应用程序将在实时摄像头Feed中(而非静态图片中)检测多个人和物体. 在本文中,我们将从YOLO对象检测模型从开放神经网络交换格式(ONN ...

  • 对象检测和图像分割有什么区别?

    重磅干货,第一时间送达 01.人工智能中的图像预处理 对象检测和图像分割是计算机视觉的两种方法,这两种处理手段在人工智能领域内相当常见,本文将介绍对象检测和图像分割之间的区别. 在这两个任务中,我们都 ...

  • DL之Yolo:Yolo算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之Yolo:Yolo算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 相关文章 CV:人工智能之计算机视觉方向的简介(常用数据集+CV职位).传统方法对比CNN类算法.计算机视觉八大 ...

  • 贪心算法简介

    贪婪算法 贪心算法(Greedy Algorithm) 简介贪心算法,又名贪婪法,是寻找最优解问题的常用方法,这种方法模式一般将求解过程分成若干个步骤,但每个步骤都应用贪心原则,选取当前状态下最好/最 ...

  • MCMC、蒙特卡洛近似和Metropolis算法简介

    MCMC 是Markov Chain Monte Carlo 的简称,但在传统模拟中有一个很重要的假设是样本是独立的(independent samples),这一点在贝叶斯统计尤其是高纬度的模型中很 ...

  • (13条消息) 国密SM9算法C++实现之一:算法简介

    SM9标识密码算法是由国密局发布的一种IBE(Identity-Based Encryption)算法.IBE算法以用户的身份标识作为公钥,不依赖于数字证书.国密SM9算法标准包括5个文档,分别为:  ...

  • YOLO算法学习笔记(二)

    创建自己的数据集 安装labelimg标注图片 制作自己的训练集 安装labelimg标注图片 1.查询系统所安装的python版本号 python -V 我的是2.7版本(注意不同的版本安装的命令不 ...

  • 农历算法简介以及公式

    一.节气的计算 先给节气进行编号,从近日点开始的第一个节气编为0,编号如下及其相应的月份如下: 0 小寒 腊月 6  清明 三月 12 小暑 六月 18 寒露 九月 1 大寒 腊月 7  谷雨 三月 ...

  • DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释)、案例应用之详细攻略

    DL之BP:神经网络算法简介之BP算法简介(链式法则/计算图解释).案例应用之详细攻略相关文章:DL之DNN之BP:神经网络算法简介之BP算法/GD算法之不需要额外任何文字,只需要八张图讲清楚BP类神 ...

  • DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介、代码实现、代码调参之详细攻略

    DL之DNN优化技术:神经网络算法简介之GD/SGD算法的简介.代码实现.代码调参之详细攻略 GD算法的简介 GD算法,是求解非线性无约束优化问题的基本方法,最小化损失函数的一种常用的一阶优化方法.如 ...

  • ML之RF:随机森林RF算法简介、应用、经典案例之详细攻略

    ML之RF:随机森林RF算法简介.应用.经典案例之详细攻略 随机森林RF算法简介 随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器.它包含多个决策树的分类器,并且其输出的类别是由个别树输出 ...