全国服务热线:

15861139266

使用YOLO检测图像中的对象,苏州机器视觉培训,苏州工业机器人培训,苏州PLC培训
发布时间:2023-12-21 11:47:44 点击次数:224

使用YOLO检测图像中的对象

想象一下:你和你的自动驾驶车正在穿越拥挤的街道。你是否曾经想过这样的自动驾驶汽车是如何看待这个世界的?它实际上在不到1/10秒的时间内玩起了“我瞧瞧”的游戏。


自动驾驶汽车必须在瞬间内识别人、标志和车辆。这就是为什么在当今社会中,准确找到图像中的对象如此重要的原因。准确找到物体有助于这些汽车迅速做出决策,以确保我们所有人的安全。如果汽车错误地认为标志是行人,可能会发生糟糕的事情。

1.jpg

车辆在图像中的检测


什么是目标检测?


这些自动驾驶汽车正在进行的正式名称是目标定位。目标检测旨在不仅对图像中的对象进行分类,还要找到该对象在图像中的位置。这对于各种不同的任务都非常重要,因为它使自动驾驶车辆能够在复杂的交通场景中安全导航。


目标检测有各种不同的应用。在医学成像中,目标检测对于诊断疾病至关重要,在农业技术中用于作物监测,在增强现实中用于无缝用户交互。准确的目标检测不仅有助于理解和解释视觉内容,而且还为做出明智决策奠定了基础。

2.jpg

在图像中检测对象


目标检测是如何工作的?


计算机中的目标检测由卷积神经网络提供支持。这些卷积神经网络能够从图像中提取特征,从而实现图像的分类。有许多不同类型的目标定位模型。一些目标定位模型包括YOLO、SSD和R-CNN。YOLO是最强大且最高效的模型。它是最常用的目标检测模型。


这些图像检测神经网络首先通过分类头预测图像中的内容。然后,在回归头中预测每个对象在图像中的位置。分类旨在对图像进行特定数量的类别分类,而回归旨在找到一个相关的数字,在图像检测的情况下是边界框的x和y坐标。

3.jpg

图像检测神经网络的架构


介绍YOLO


YOLO,即“You Only Look Once”,改变了目标检测领域的游戏规则,它非常快速和高效。


YOLOv5是如何工作的?


与旧方法进行多轮图像处理不同,它使用深度神经网络,特别是卷积神经网络(CNNs),来检测对象。但是,它以聪明的方式使用CNN。它将图像分成小节并预测事物的位置以及对其猜测的自信程度,所有这些都一次性完成。

4.jpg

它将图像分为SxS网格,每个单元格一个。如果对象的中心落在单元格下,该单元格负责该特定对象。对于每个单元格,它预测B个边界框。它还使用C类概率预测每个框的置信度。对于每个边界框,有5个预测:x、y、宽度、高度和置信度分数。最终的预测被编码为SxSx(Bx5+C)张量,即多维向量。当YOLO在Pascal VOC上进行评估时,这是一个用于目标检测的著名数据集,图像被分为一个7x7的网格,每个单元格有2个边界框的预测,以及20个总标签类。这导致了一个7x7x30的张量作为预测。

5.jpg

相较之前的方法Faster R-CNN,它依赖于一个更复杂的系统。它首先在图像中提出潜在区域,然后分析每个区域以单独检测对象。这种方法涉及多个步骤,使其相对于YOLOv5而言更慢。另一方面,YOLOv5跳过了区域建议步骤,直接预测边界框和对象概率。这个简化的过程显著加速了目标检测,同时保持了高准确性。


数据集


YOLOv5训练的数据集是COCO数据集。COCO数据集是640x640的图像,可用于图像检测、图像分割和图像字幕。总共有80个类别在COCO数据集中。由于COCO是一个非常庞大的数据集,因此它对于创建诸如YOLOv5之类的通用模型非常有用。

6.jpg

评估图像检测模型的准确性


与所有机器学习模型一样,我们需要测量模型的准确性。那么对于目标检测模型,如何进行准确性评估呢?图像检测模型使用一种称为交并比(IoU)的方法。较高的IoU表示预测边界框与实际边界框之间的匹配程度更高。


它通过将重叠区域的面积除以并集的面积来实现。IoU为1意味着预测和实际情况完全相同。

7.jpg

IoU的计算方式


使用Python进行YOLO


既然我们了解了YOLO的工作原理以及它是如何训练的,我们如何在自己的程序中编写代码并实施呢?Ultralytics已经将YOLOv5开源,允许任何人在其自己的程序中使用YOLOv5。使用PyTorch hub,我们可以使用YOLOv5并测试图像识别功能。


在实施YOLOv5时,我面临的最具挑战性的决定之一实际上是弄清楚如何实现它。有许多不同的方法,如Ultralytics和Roboflow。我决定使用Ultralytics,因为Ultralytics使得与Python程序集成变得非常容易,尤其是与PyTorch一起使用。


你也可以查看Roboflow!Roboflow可以让工程师创建和注释数据集,开发模型,并将模型部署在API端点上,我们可以将其部署到NVIDIA Jetson、iOS、浏览器和Raspberry Pi上!


TL;DR


目标检测对于自动驾驶汽车和医学诊断等应用非常重要。

8.png

2. YOLOv5通过准确地在图像中识别对象,大大简化和改进了目标检测,超越了以前的方法(如Faster R-CNN)的复杂性和速度。


结论


总的来说,YOLO是机器学习和计算机视觉中非常强大的工具。它非常准确,而且由于Ultralytics对这些模型的开源,任何人,包括你和我,都可以利用这些最先进的模型进行工作和创建酷炫的应用程序。


立即咨询
  • 品质服务

    服务贴心周到

  • 快速响应

    全天24小时随时沟通

  • 专业服务

    授权率高,保密性强

  • 完善售后服务

    快速响应需求,及时性服务

直播课程
软件开发基础课程
上位机软件开发课
机器视觉软件开发课
专题课
联系方式
电话:15861139266
邮箱:75607082@qq.com
地址:苏州吴中区木渎镇尧峰路69号
关注我们

版权所有:江苏和讯自动化设备有限公司所有 备案号:苏ICP备2022010314号-1

技术支持: 易动力网络