使用YOLOv8做目标检测、实例分割和图像分类
点击下方卡片,关注“新机器视觉”公众号
重磅干货,第一时间送达
导 读
本文主要介绍YOLOv8及使用它做目标检测、实例分割和图像分类演示,仅供参考。
背景介绍
YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。
利用以前的 YOLO 版本,YOLOv8模型更快、更准确,同时为训练模型提供统一框架,以执行:
物体检测
实例分割
图像分类
下面是使用YOLOv8做目标检测和实例分割的演示视频:
YOLOv8的新特性与可用模型
以下是有关新版本的一些主要功能:
用户友好的 API(命令行 + Python)。
更快更准确。
支持:
物体检测
实例分割
图像分类
可扩展到所有以前的版本。
新骨干网络。
新的无锚头。
新的损失函数。
YOLOv8 还高效灵活地支持多种导出格式,并且该模型可以在 CPU 和 GPU 上运行。
YOLOv8 模型的每个类别中有五个模型用于检测、分割和分类。YOLOv8 Nano 是最快和最小的,而 YOLOv8 Extra Large (YOLOv8x) 是其中最准确但最慢的。
YOLOv8 捆绑了以下预训练模型:
在图像分辨率为 640 的 COCO 检测数据集上训练的对象检测检查点。
在图像分辨率为 640 的 COCO 分割数据集上训练的实例分割检查点。
在图像分辨率为 224 的 ImageNet 数据集上预训练的图像分类模型。
如下是使用YOLOv8x做目标检测和实例分割模型的输出:
如何使用YOLOv8
git clone https://github.com/ultralytics/ultralytics.git
pip install -r requirements.txt
在最新版本中,Ultralytics YOLOv8提供了完整的命令行界面 (CLI) API 和 Python SDK,用于执行训练、验证和推理。要使用yoloCLI,我们需要安装ultralytics包。
pip install ultralytics
yolo task=detect \
mode=predict \
model=yolov8n.pt \
source="image.jpg"
from ultralytics import YOLO
model = YOLO("yolov8n.pt") # load a pretrained YOLOv8n model
model.train(data="coco128.yaml") # train the model
model.val() # evaluate model performance on the validation set
model.predict(source="https://ultralytics.com/images/bus.jpg") # predict on an image
model.export(format="onnx") # export the model to ONNX format
例如,上述代码首先会在COCO128数据集上训练YOLOv8 Nano模型,在验证集上进行评估,并对样本图像进行预测。
让我们使用yoloCLI 并使用对象检测、实例分割和图像分类模型进行推理。
yolo task=detect mode=predict model=yolov8n.pt source='input/video_3.mp4' show=True
yolo task=detect mode=predict model=yolov8x.pt source='input/video_3.mp4' show=True
yolo task=segment mode=predict model=yolov8x-seg.pt source='input/video_3.mp4' show=True
yolo task=classify mode=predict model=yolov8x-cls.pt source='input/video_3.mp4' show=True
本文仅做学术分享,如有侵权,请联系删文。