YOLOv5:革命性的实时目标检测 您所在的位置:网站首页 yolov5算法的应用场景 YOLOv5:革命性的实时目标检测

YOLOv5:革命性的实时目标检测

2024-07-11 22:16| 来源: 网络整理| 查看: 265

计算机视觉的物体检测技术对于众多应用来说都是必不可少的。 我们将其用于机器人技术、监控设备、自动驾驶汽车以及更多领域。 因此,我们可以在图片或视频中找到并识别某些事物。

最有名的之一 物体识别算法是YOLO (You Only Look Once) 模型集。 这些模型是由 超力有限责任公司。

这个系列的最新版本是 YOLOv5。 而且,它是市场上最快、最精确的物体识别模型。 该模型对新数据的泛化能力得到了极大的提高。 此外,它包含许多使其性能优于早期迭代的功能。

YOLOv5 非常适合实时应用程序,因为它可以在单个 GPU 上以高达每秒 1000 帧的速率处理图片。

约洛夫5

在本文中,我们将介绍 YOLOv5 并详细介绍其应用领域。

YOLO之旅:从YOLO到YOLOv5

约瑟夫雷德蒙等人。 最初在2016年推出了YOLO,一套物体识别模型。最初的YOLO模型可以实时识别物体。 然而,与当时的其他模型相比,它的准确性较低。

多年来,YOLO 发布了多个升级版本。 最后,Ultralytics LLC 创建了 YOLO 系列的最新版本 YOLOv5。

YOLOv5 是目前最准确、最快速的物体识别模型。

重要特征 锚箱

YOLOv5 使用锚框预测图像中对象的边界框。 该模型使用锚框预测许多具有各种纵横比的预定义框中的哪一个与图片中的项目最匹配。 这些是预定义的框。

而且,它们使 YOLOv5 能够准确地识别和查找图片中的项目。

镶嵌数据增强

在训练时,YOLOv5 采用一种称为马赛克的方法 数据扩充. 为了开发新的训练图片,我们的模型随机组合了几张照片的补丁。 因此,该模型变得更具弹性和可靠性。 因此,它可以推广到新数据并减少过度拟合。

独特的培训管道

一个独特的训练管道,混合了监督和 无监督学习 用来。

因此,该模型从较小的样本中学习并有效地利用未标记的输入。 这提高了模型的性能并增强了其泛化到新输入的能力。

残差层和非残差层

YOLOv5 的架构结合了残差层和非残差层。 通过允许梯度跨层流动,残差层帮助模型学习困难的特征。 此外,非残差层为模型提供了对输入图片更全面的把握。 因此,YOLOv5 可以更精确、更有效地运行。

Yolov5训练

如何使用 YOLOv5 装置

使用 pip 可以快速完成 YOLOv5 安装。 Pip 是一个 Python 包管理器。 安装YOLOv5的大致流程如下:

1-安装PyTorch:因为YOLOv5是基于PyTorch框架的,所以必须先安装PyTorch。

pip install torch torchvision

2. 安装 CUDA:如果你打算在 GPU 上运行 YOLOv5,你必须安装 CUDA。

3.安装YOLOv5:设置好PyTorch和CUDA后,使用如下命令下载YOLOv5。

pip install yolov5

4-安装YOLOv5后,必须下载预训练的权重。 Ultralytics GitHub 存储库中提供了预训练的权重。

通过向下滚动转到网站的“权重”部分。 您可以从此处找到的列表中下载预训练权重。

5. 选择已经过训练且最适合您的用例的权重。 学习权重的数据集或特定 YOLOv5 版本可用于缩小列表范围。

6- 选择合适的权重后,单击旁边的“下载”按钮选择权重。 权重将可供下载。 点文件。

7- 将下载的权重传输到目录。 这是您的检测脚本将运行的地方。

8- 此时,您可以使用检测脚本中的预训练权重对照片或视频运行对象检测。

超力

准备数据

您必须执行以下操作才能准备好数据以用于 YOLOv5:

1. 收集数据:第一步是收集您需要的图片或视频数据 目标检测. 您希望检测的事物应该出现在照片或视频中。

2- 格式化数据:如果您正在使用它们,您可以将照片导入您的脚本。 如果您打算使用一个视频,则必须将视频变成一系列照片。 您可以使用 OpenCV 等库从电影中提取帧。

import cv2

img = cv2.imread('path/to/image')

使用 OpenCV 库,您可以使用以下命令将视频转换为一系列图像:

import cv2

cap = cv2.VideoCapture('path/to/video')

while True:

ret, frame = cap.read()

if not ret:

break

cv2.imshow('frame', frame)

if cv2.waitKey(1) & 0xFF == ord('q'):

break

cap.release()

cv2.destroyAllWindows()

3. 标记数据:如果您使用数据集,则必须标记数据。 在图像的每一帧中围绕您希望识别的项目绘制边界框。 这是标记数据的过程。 您可以使用多种工具来协助您完成此操作,包括 LabelImg 和 RectLabel。

4-标记数据后,必须将数据分为训练集和测试集。 这对于评估模型的性能至关重要。

5. 最后,您可能需要在训练或测试之前对数据进行预处理。 这可能需要缩放图片或视频、标准化像素值或使用数据增强方法。

完成这些步骤后,您的数据就准备好了。

快速部署 Yolov5

运行检测脚本

这是分析图片并查找对象的检测脚本的示例。

import yolov5

import cv2

# Pre-trained weights should be loaded.

weights = 'path/to/weights.pt'

# Set the detection confidence level

conf_thres = 0.5

# Set the Non-Maxima Suppression (NMS) threshold

nms_thres = 0.5

# Create the detector object

detector = yolov5.YOLOv5(weights, conf_thres, nms_thres)

# Load the image

img = cv2.imread('path/to/image')

# Perform object detection

detections = detector.detect(img)

# Print the detections

for x1, y1, x2, y2, conf, cls_conf, cls_pred in detections:

print("Object:", classes[int(cls_pred)])

print("Confidence:", conf)

print("Bounding box:", (x1, y1, x2, y2))

后期处理

非极大值抑制是目标检测 (NMS) 中最常用的后处理技术之一。 我们使用 NMS 来消除同一对象的重叠边界框。 要对检测执行 NMS,我们可以使用 OpenCV 库的 cv2.dnn.NMSBoxes() 方法。

下面是如何使用 NMS 对检测进行后处理的示例。

import cv2

# Perform Non-Maxima Suppression (NMS)

indices = cv2.dnn.NMSBoxes(检测,置信度,conf_thres,nms_thres)

可视化

在可视化的情况下,我们可以再次使用像 OpenCV 这样的库。 我们可以在源图片或视频上显示发现对象周围的边界框。 要绘制图像的边界框,请使用 cv2.rectangle() 方法。 以下是查看原始图像检测的方法:

导入cv2

# Draw the bounding boxes on the image

对于我在索引中:

i = i[0]

x1, y1, x2, y2 = detections[i][0], detections[i][1], detections[i][2], detections[i][3]

cv2.rectangle(img, (x1, y1), (x2, y2), (255, 0, 0), 2)

cv2.putText(img, classes[class_ids[i]], (x1, y1), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)

# Show the image

cv2.imshow("Object Detection", img)

cv2

约洛夫精确

应用

YOLOv5 是一个强大的物体识别模型。 因此,我们可以在许多现实场景中使用它。 最突出的用途之一是自动驾驶汽车。 YOLOv5可以实时识别汽车、红绿灯等物品。

在监控系统中,我们可以使用 YOLOv5 来识别和跟踪实时视频流中的对象。 此外,YOLOv5 可以成为机器人技术的重要资产。 它可以帮助机器人检测和理解周围环境。 这对于导航和操作等活动极为重要。

YOLOv5 还可以用于任何需要对象检测的行业,例如零售、体育、医疗和安全。

结论

最后,YOLOv5 是 YOLO 系列的最新、最复杂的版本 目标检测 模型

. 此外,可以公平地说,它是可用的最准确的对象检测模型。 由于其高精度和速度,您可以放心地为您的物体检测项目选择它。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有