UltralyticsYOLOv8_ultralytics使用

本文档详细介绍了如何使用Ultralytics的YOLOv8模型进行目标检测,包括从头创建模型、加载预训练模型、训练、验证、推理、导出为ONNX格式以及对图像和视频的处理。还展示了使用YOLOv8n模型进行批量推理、处理结果、可视化结果和使用不同数据源进行推理的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pip install ultralytics



> 
> PyPI 是 Python Package Index 的缩写,是一个存储和分发 Python 软件包的公共仓库。开发者可以通过 PyPI 找到并安装各种 Python 软件包,使得在 Python 环境中轻松地使用这些包的功能。
> 
> 
> 


Ultralytics 命令行界面 (CLI) 允许使用简单的单行命令,而无需Python 环境。


### Ultralytics 命令行界面 (CLI)


Ultralytics yolo 命令使用以下语法:



yolo TASK MODE ARGS


1.训练检测模型 10 次,初始学习率为 0.01



yolo train data=coco128.yaml model=yolov8n.pt epochs=10 lr0=0.01


2.在图像大小为 320 时,使用预训练的分割模型预测 YouTube 视频:



yolo predict model=yolov8n-seg.pt source=‘https://youtu.be/LNwODJXcvt4’ imgsz=320


3.在批量大小为 1、图像大小为 640 时,验证预先训练的检测模型:



yolo val model=yolov8n.pt data=coco128.yaml batch=1 imgsz=640


4.将YOLOv8n 分类模型导出为ONNX 格式,图像大小为 224 x 128(无需 TASK)



yolo export model=yolov8n-cls.pt format=onnx imgsz=224,128


5.运行特殊命令可查看版本、查看设置、运行检查等:



yolo help
yolo checks
yolo version
yolo settings
yolo copy-cfg
yolo cfg


### Ultralytics+Python



from ultralytics import YOLO

Create a new YOLO model from scratch

创建一个新的YOLO模型(从头开始)

model = YOLO(‘yolov8n.yaml’)

Load a pretrained YOLO model (recommended for training)

加载一个预训练的YOLO模型(推荐用于训练)

model = YOLO(‘yolov8n.pt’)

Train the model using the ‘coco128.yaml’ dataset for 3 epochs

使用’coco128.yaml’数据集对模型进行3个时期的训练

results = model.train(data=‘coco128.yaml’, epochs=3)

Evaluate the model’s performance on the validation set

评估模型在验证集上的性能

results = model.val()

Perform object detection on an image using the model

使用模型对图像进行目标检测

results = model(‘https://ultralytics.com/images/bus.jpg’)

Export the model to ONNX format

将模型导出为ONNX格式

success = model.export(format=‘onnx’)


## 二、图像预测


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/969e2039b44e4ff79029b0f51458eefd.png#pic_center)


在机器学习和计算机视觉领域,从可视数据中找出意义的过程被称为 "推理 "或 “预测”。


### 预测模式的主要功能


**1.返回一个包含 stream=False**



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

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
# 用于分类输出的概率对象
result.show() # display to screen
# 显示到屏幕
result.save(filename=‘result.jpg’) # save to disk
# 保存到磁盘


**2.返回一个带有 stream=True**



from ultralytics import YOLO

Load a model

model = YOLO(‘yolov8n.pt’) # pretrained YOLOv8n model

加载一个模型:使用预训练的YOLOv8n模型

Run batched inference on a list of images

results = model([‘im1.jpg’, ‘im2.jpg’], stream=True) # return a generator of Results objects

对图像列表进行批量推理:返回一个Results对象的生成器

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
result.show() # display to screen
result.save(filename=‘result.jpg’) # save to disk
# 处理结果生成器:boxes表示边界框输出的Boxes对象
# masks表示分割掩模输出的Masks对象
# keypoints表示姿势输出的Keypoints对象
# probs表示分类输出的Probs对象
# 显示到屏幕
# 保存到磁盘



> 
> 使用 stream=True 用于处理长视频或大型数据集,以有效管理内存。当 stream=False在这种情况下,所有帧或数据点的结果都会存储在内存中,这可能会迅速累加,并导致大量输入出现内存不足错误。与此形成鲜明对比的是 stream=True 利用生成器,它只将当前帧或数据点的结果保存在内存中,从而大大减少了内存消耗并防止出现内存不足的问题。
> 
> 
> 


### 推理源


**1.图像**:在图像文件上运行推理。



from ultralytics import YOLO

Load a pretrained YOLOv8n model

加载预训练的YOLOv8n模型

model = YOLO(‘yolov8n.pt’)

Define path to the image file

定义图像文件的路径

source = ‘path/to/image.jpg’

Run inference on the source

在源图像上运行推理

results 

### 关于 Ultralytics YOLOv8.1.2 的下载及使用说明 #### 一、YOLOv8.1.2 下载方法 Ultralytics 提供了官方 GitHub 仓库来托管 YOLOv8 及其相关版本。可以通过以下方式获取 YOLOv8.1.2: 1. **克隆官方仓库** 使用 Git 命令从官方仓库克隆最新版代码并切换至指定标签 `v8.1.2`: ```bash git clone https://github.com/ultralytics/ultralytics.git cd ultralytics git checkout v8.1.2 ``` 2. **通过 pip 安装特定版本** 如果仅需安装 Python 包而无需源码,可直接通过 pip 安装指定版本: ```bash pip install ultralytics==8.1.2 ``` --- #### 二、YOLOv8.1.2 配置环境 为了成功运行 YOLOv8 模型,需要配置合适的开发环境。 1. **Python 版本要求** - 推荐使用 Python 3.8 或更高版本[^1]。 2. **依赖库安装** 运行以下命令以自动安装所需依赖项: ```bash pip install -r requirements.txt ``` 3. **验证安装** 执行以下代码片段确认安装无误: ```python from ultralytics import YOLO model = YOLO('yolov8n.pt') print(model.info()) ``` --- #### 三、YOLOv8.1.2 训练流程 以下是基于自定义数据集训练模型的标准操作指南。 1. **准备数据集** 数据集应遵循 COCO 格式或 Pascal VOC 格式,并创建对应的 YAML 文件描述数据结构。例如: ```yaml train: /path/to/train/images val: /path/to/validation/images nc: 80 # 类别数量 names: ['class_1', 'class_2', ..., 'class_n'] # 类别名称列表 ``` 2. **启动训练任务** 利用 CLI 工具执行训练脚本,具体参数可通过 YAML 文件调整[^3]: ```bash yolo task=detect mode=train \ model=yolov8n.pt \ data=path_to_data_yaml.yaml \ epochs=100 \ batch=16 ``` 3. **监控训练过程** 默认情况下,YOLOv8 实现了多种回调机制用于实时跟踪性能指标和保存中间结果[^4]。 --- #### 四、YOLOv8.1.2 测试与导出 完成训练后,可以对模型进行评估并将权重文件转换为目标格式(如 ONNX)以便部署。 1. **模型测试** 对新图像或视频应用检测功能: ```python from ultralytics import YOLO model = YOLO('/path/to/best.pt') # 加载最佳模型 results = model.predict(source='/path/to/image.jpg', save=True, conf=0.5) ``` 2. **模型导出** 将 `.pt` 格式的 PyTorch 权重文件转换为其他框架支持的格式,例如 ONNX[^2]: ```python from ultralytics import YOLO model = YOLO('/path/to/model.pt') success = model.export(format='onnx') ``` --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值