【pip安装】YOLOv8目标检测初步上手

说明:本篇blog是关于Ultralytics官方教程的学习笔记,环境为windows+conda

1、下载安装YOLOv8

1.1 YOLOv8介绍

Ultralytics YOLOv8 是一个尖端的、最先进的(SOTA)模型,它建立在以前 YOLO 版本的成功基础之上,并引入了新功能和改进,以进一步提高性能和灵活性。
YOLOv8 旨在快速、准确且易于使用,使其成为广泛的对象检测跟踪实例分割图像分类姿态估计任务的极佳选择。

1.2 环境准备

# 新建虚拟环境,要求 Python>=3.8
conda create --name yolov8 python=3.9

在这里插入图片描述

# 激活环境
conda activate yolov8
# 关闭环境
conda deactivate

# 安装 PyTorch, PyTorch>=1.8.
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

在这里插入图片描述
在这里插入图片描述

1.3 YOLOv8下载

Github地址:https://github.com/ultralytics/ultralytics
可以通过点击Download Zip进行下载,按照Github中的介绍部分,还可以通过pip进行下载
在这里插入图片描述

# pip下载yolov8
pip install ultralytics

Pip install the ultralytics package including all requirements(指的是requirements.txt内提供的依赖包)
在这里插入图片描述

2、运行YOLOv8

2.1 两行代码调用

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Run inference on the source
results = model(source=“one.jpg”, show=True, conf=0.4, save=True)

在这里插入图片描述
在这里插入图片描述
在代码目录下载了yolov8n.pt,和生成了runs文件夹

2.2 返回内容

文档链接🔗:https://docs.ultralytics.com/modes/predict/
Ultralytics YOLO模型在推理时会返回一个Python列表的Result对象,或者在传递了stream=True参数给模型时会返回一个内存高效的Python生成器的Result对象

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(["im1.jpg", "im2.jpg"])  # return a list of Results objects 返回Results对象的列表

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk
from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # pretrained YOLOv8n model

# Run batched inference on a list of images
results = model(["im1.jpg", "im2.jpg"], stream=True)  # return a generator of Results objects

# Process results generator
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

2.3 推理源设置

文档链接🔗:https://docs.ultralytics.com/modes/predict/#inference-sources

YOLOv8 能够处理不同类型的输入源进行推理,如下表所示。
这些输入源包括静态图像、视频流以及各种数据格式。表格还指示了每种输入源是否可以在流模式下使用,即通过参数 stream=True ✅ 来启用。
流模式适用于处理视频或实时流,因为它生成结果的生成器而不是将所有帧加载到内存中。

使用 stream=True 来处理长视频或大型数据集,可以有效地管理内存。当 stream=False 时,所有帧或数据点的结果都会存储在内存中,这可能会迅速累积并导致大型输入的内存不足错误。相比之下,stream=True 利用生成器,它只保留当前帧或数据点的结果在内存中,显著降低了内存消耗并防止了内存不足的问题。

在这里插入图片描述

2.4 推理参数设置

文档链接🔗:https://docs.ultralytics.com/modes/predict/#inference-arguments

model.predict() 在推理时接受多个参数,可以在推理时传递这些参数以覆盖默认设置

from ultralytics import YOLO

# Load a pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Run inference on 'bus.jpg' with arguments
model.predict("bus.jpg", save=True, imgsz=320, conf=0.5)

更多内容可以看文档,文档写的非常详细

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值