1. 磐创AI首页
  2. Medium

你只活一次还是你只看一次?

作为拥有互联网时代的一代人,我相信你至少会用一次“YOLO”这个缩写。由于这个缩写词的高度振奋人心,随着“YOLO”算法的引入,在目标检测领域取得了突破性进展。使用“YOLO”算法和使用互联网首字母缩写“YOLO”一样有趣。

YOLO(你只看一次)基本上是目标检测的一个子集,目标检测是数据科学和计算机视觉的几个分支之一。在我们开始之前,让我们通过举几个例子来开始理解YOLO是怎么回事。当我们使用相机时,会运行一种算法来检测物体,并确保相机镜头的焦点在物体上。我们也可以以自动驾驶汽车为例。它们被编程来定位障碍物,如其他车辆、减速器等,并帮助它们更精确地工作。

嗯,这些只是物体检测的几个应用。

目标检测与图像分类和目标定位密切相关。

  • 图像分类是设备捕获的图像首先被分类为汽车、狗、猫、人等的过程,它确定图片是什么。
  • 对象定位是下一步执行的过程,它涉及到对象在图像中的位置。
  • 对象检测是允许在先前定位的对象周围绘制边界框从而检测该对象的最后过程。


YOLO是什么?

YOLO是用于实时执行对象检测的卷积神经网络(CNN)。将单个神经网络应用于整个图像,该神经网络将图像划分为区域,并预测每个区域的边界框和概率。YOLO之所以流行起来,是因为它能够在实时运行的同时实现高精度。正如它的缩写“你只看一次”所暗示的那样,该算法“只看一次”图像,也就是说,它只需要通过神经网络向前推进一次就能做出预测。然后,它确保算法只检测每个对象“一次”,然后将识别出的对象与边界框一起输出。

为了更好地理解YOLO算法,让我们了解不同类型的算法。它们被分成两部分-

这样的算法分两个阶段起作用。首先选择区域,然后通过运行预测使用卷积神经网络对区域进行分类。例如:基于区域的美国有线电视新闻网(RCNN)、Fast-RCNN、RetinaNet等。

2.基于回归的算法

这样的算法在单个步骤中起作用,其中图像被筛选,并且对象都在同一运行中用边界框定位。例:YOLO(你只看一次)和SSD(单发多盒探测器)。

因此,YOLO是一种基于回归的实时检测算法,其中时间、速度和准确性是主要考虑因素。

YOLO算法的工作原理:

YOLO遵循三种主要技术,它们是:

  • 剩余区块
  • 包围盒回归
  • 并集交集(IOU)
  • 让我们详细了解一下每一项。

最初,制作尺寸为SxS的网格,并将输入图像划分为这些网格。尺寸相等的网格单元检测单元内出现的对象。例如,如果一个物体出现在一个特定的网格单元内,那么这个特定的单元将负责检测该物体。

2.包围盒回归

对于初学者来说,边界框只是一个突出显示图像中对象的轮廓。

图像的每个边界框中都包括以下属性:

  • 宽度(BW)
  • 高度(Bh)
  • 类别(如汽车、人、动物等)-由字母c表示。
  • 边界框中心(BX,BY)

YOLO使用单个边界框回归来预测对象的高度、宽度、中心和类别。

从上图中,我们可以推断出对象出现在边界框中的概率为y=(pc,bx,by,bh,bw,c)

3.并集交叉点(IOU)

借条被定义为对象检测中的一个事件,它描述了框如何重叠。使用借条时,会提供精确围绕该对象的输出框。每个网格单元负责预测边界框。如果预测的边界框与实际框相同,则IOU等于1。IOU实际上是删除不等于实际框的边界框的过程。

从上图中,我们可以看到有两个边界框,一个是蓝色的,另一个是绿色的。蓝色的盒子是预测的盒子,而绿色的盒子是真正的盒子。YOLO实时检查两个边界框是否相等。

将上述三个过程结合起来,得到最终的检测结果。下图是如何显示输出的示例。

为了总结这一过程,首先将图像划分为SxS维的网格单元。对它们的包围盒和置信度进行预测,找出类概率来设置每个对象的类。

在上图中,我们看到有三类物体,即一只狗、一辆自行车和一辆汽车。我们使用单个卷积神经网络来同时进行所有预测。

使用借条,我们消除了与对象尺寸(如高度和宽度)不匹配的任何其他不必要的边界框。进行最终检测,以使边界框准确地适合对象。

如上图所示,狗有一个蓝色的包围盒。汽车有一个粉红色的包围盒,自行车有一个黄色的包围盒。这表明YOLO算法具有较高的仿真精度。

想一想,如果我们简单地使用一个预先存在的框架,执行它,并获得想要的结果,我们的生活将会多么容易?最小的努力,最大的回报。这不就是我们所有人奋斗的目标吗?在本文中,我们已经看到YOLO比其他算法有其优势,因为它更快、更准确。YOLO在现实生活中的应用从自动驾驶扩展到野生动物物种检测,再到安全等等。YOLO还能够对对象进行广义表示。因此,YOLO确实是一种最先进的算法。

参考文献:

https://www.latentview.com/blog/real-time-object-detection-with-yolo/https://www.latentview.com/blog/real-time-object-detection-with-yolo/

https://heartbeat.fritz.ai/introduction-to-basic-object-detection-algorithms-b77295a95a63https://heartbeat.fritz.ai/introduction-to-basic-object-detection-algorithms-b77295a95a63

https://www.geeksforgeeks.org/yolo-you-only-look-once-real-time-object-detection/https://www.geeksforgeeks.org/yolo-you-only-look-once-real-time-object-detection/

https://pjreddie.com/darknet/yolo/https://pjreddie.com/darknet/yolo/

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/09/29/%e4%bd%a0%e5%8f%aa%e6%b4%bb%e4%b8%80%e6%ac%a1%e8%bf%98%e6%98%af%e4%bd%a0%e5%8f%aa%e7%9c%8b%e4%b8%80%e6%ac%a1%ef%bc%9f/

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息