YOLOv8——CV界的XGBoost

yolov8是ultralytics公司于2023年1月开源的anchor-free的最新目标检测算法框架。

封装在ultralytics这个库中:https://github.com/ultralytics/ultralytics

它具有以下优点:

1,性能速度领先:借鉴了之前许多YOLO版本的trick,达到了领先的性能和极致的速度。

2,多种任务支持:支持图片分类,目标检测, 实例分割,目标追踪,关键点检测 这些最常用的CV任务。

YOLOv8——CV界的XGBoost_第1张图片

3,完整的落地工具链: 提供从数据准备,到模型训练,模型评估,到模型导出部署 整个工业落地应用非常完整的工具。

4,强大的灵活性:ultralytics主打以python库的形式使用,方便定制化改进算法或者用于其它CV项目中。

我感觉ultralytics的使用体验,非常像xgboost/lightgbm/catboost这些库,使用简单,功能强大。

完全不懂原理的小白,简单粗暴把数据喂进去,就能够做出非常好的效果。

下面我们主要演示yolov8中的预训练模型的使用方法。

公众号后台回复关键词:yolov8,获取本文notebook源代码和B站视频讲解。

〇,环境准备

#!pip install -U ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple
#!pip install torchkeras -i https://pypi.tuna.tsinghua.edu.cn/simple
#!pip install 'lap>=0.4' -i https://pypi.tuna.tsinghua.edu.cn/simple
import ultralytics
print(ultralytics.__version__)
from PIL import Image 
from torchkeras.data import get_example_image
import torch 
img = get_example_image('park.jpg')
img.save('park.jpg')

一,图片分类

from ultralytics import YOLO 
model = YOLO('yolov8n-cls.pt')
#save保存预测可视化, save_txt保存预测
preds = model.predict(source='park.jpg',save_txt=True,save=True)
#查看预测结果
from PIL import Image 
Image.open(model.predictor.save_dir/'park.jpg')

二,目标检测

from ultralytics import YOLO 
model = YOLO('yolov8n.pt')
#save保存预测可视化, save_txt保存预测
preds = model.predict(source='park.jpg',save_txt=True,save=True)
#查看预测结果
from PIL import Image 
Image.open(model.predictor.save_dir/'park.jpg')
#摄像头作为输入
model.predict(source=0, show=True)

YOLOv8——CV界的XGBoost_第2张图片

三,目标追踪

目标追踪使用的是目标检测模型,输出中可以给视频中的每个对象分配一个id。常用于给视频中某类物体出现的个数进行计数。

from ultralytics import YOLO 
model = YOLO('yolov8n.pt')
from ultralytics.yolo.utils import set_logging
set_logging(verbose=False)

#视频作为输入
preds = model.track(
    source='乒乓球.mp4',
    save=True,
    show=True
)
for p in preds[::20]:
    print(p.boxes.id)

YOLOv8——CV界的XGBoost_第3张图片

四,实例分割

from ultralytics import YOLO 
model = YOLO('yolov8s-seg.pt')
#save保存预测可视化, save_txt保存预测
preds = model.predict(source='park.jpg',save_txt=True,save=True)
#查看预测结果
from PIL import Image 
Image.open(model.predictor.save_dir/'park.jpg')

YOLOv8——CV界的XGBoost_第4张图片

#摄像头作为输入
preds = model.predict(source=0, show=True)

五,关键点检测

from ultralytics import YOLO 
model = YOLO('yolov8s-pose.pt')
#save保存预测可视化, save_txt保存预测
preds = model.predict(source='park.jpg',save_txt=True,save=True)
from PIL import Image 
Image.open(model.predictor.save_dir/'park.jpg')

#摄像头进行预测
preds = model.predict(source=0,show=True)

YOLOv8——CV界的XGBoost_第5张图片

你可能感兴趣的:(YOLO,人工智能,深度学习,计算机视觉,机器学习)