YOLO(You Only Look Once)是一组实时目标检测机器学习算法。目标检测是一种计算机视觉任务,它使用神经网络来定位和分类图像中的物体。这项任务有广泛的应用,从医学成像到自动驾驶汽车。多种机器学习算法用于目标检测,其中一种是卷积神经网络 (CNN)。
CNN 是任何 YOLO 模型的基础,研究人员和工程师使用这些模型来完成目标检测和分割等任务。YOLO 模型是开源的,并且在该领域得到广泛应用。这些模型从一个版本到另一个版本都在不断改进,从而提高了准确性、性能和附加功能。
YOLOv8
YOLOv8是 YOLO 系列实时目标检测器的迭代版本,在准确度和速度方面具有尖端性能。然而,YOLOv8 没有官方论文,但与 YOLOv5 类似,这是一个用户友好的增强型 YOLO 目标检测模型。由 Ultralytics 开发的 YOLOv8 引入了新功能和优化,使其成为广泛应用中各种目标检测任务的理想选择。以下是其功能的简要概述。
- 先进的 backbone 和 neck 架构
- 无锚分割 Ultralytics head:YOLOv8 采用无锚分割 Ultralytics head,与基于锚的方法相比,这有助于提高准确性和提高检测过程的效率。
- 优化准确度与速度之间的平衡
除此之外,YOLOv8 还是 Ultralytics 精心维护的模型,提供多种模型,每种模型都专门用于计算机视觉中的特定任务,如检测、分割、分类和姿势检测。由于 YOLOv8 通过 Ultralytics 库易于使用,让我们在演示中尝试一下。
演示
本演示将简单使用 Python 中的 Ultralytics 库来推断 YOLOv8 模型。推断 YOLO 模型的方法和选项有很多,以下是预测选项的文档。
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8s model
model = YOLO("yolov8s.pt")
这将导入 Ultralytics 库并加载 YOLOv8 小模型,该模型在准确性和速度之间取得了良好的平衡,如果尚未安装 Ultralytics 库,请确保使用以下命令将其安装在您的笔记本上:!pip 安装 ultralytics。现在,让我们在一些图像上测试一下。
results = model("/content/city.jpg", save=True, conf=0.5)
这将运行检测任务,保存结果,并且仅包含至少 0.5 置信度的边界框。下面是我使用的样本图像的结果。