使用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 推理在笔记本电脑GTX1060 GPU上以接近105 FPS的速度运行。我们得到以下输出:
yolo task=detect mode=predict model=yolov8x.pt source='input/video_3.mp4' show=True Extra Large模型在GTX1060 GPU上的平均运行速度为 17 FPS。
yolo task=segment mode=predict model=yolov8x-seg.pt source='input/video_3.mp4' show=True 因为实例分割与对象检测相结合,所以这次的平均 FPS 约为 13。
yolo task=classify mode=predict model=yolov8x-cls.pt source='input/video_3.mp4' show=True
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲 在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲 在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~