Python 的 ultralytics 库详解

ultralytics 是一个专注于计算机视觉任务的 Python 库,尤其以 YOLO(You Only Look Once) 系列模型为核心,提供了简单易用的接口,支持目标检测、实例分割、姿态估计等任务。本文将详细介绍 ultralytics 库的功能、安装方法、核心模块以及使用示例。


1. ultralytics 库简介

ultralytics 库由 Ultralytics 团队开发,旨在为 YOLO 系列模型提供高效、灵活且易于使用的工具。它支持 YOLOv5、YOLOv8 等最新版本的 YOLO 模型,并提供了以下核心功能:

  • 目标检测:检测图像或视频中的目标。

  • 实例分割:对目标进行像素级分割。

  • 姿态估计:检测目标的关键点(如人体姿态)。

  • 模型训练:支持自定义数据集的训练。

  • 模型导出:将模型导出为多种格式(如 ONNX、TensorRT 等)。


2. 安装 ultralytics

ultralytics 可以通过 pip 安装:

pip install ultralytics

安装完成后,可以通过以下命令验证是否安装成功:

import ultralytics
print(ultralytics.__version__)

3. 核心模块与功能

(1)YOLO 模型加载与推理

ultralytics 提供了 YOLO 类,用于加载预训练模型或自定义模型,并进行推理。

加载模型
from ultralytics import YOLO

# 加载预训练模型
model = YOLO("yolov8n.pt")  # YOLOv8 Nano 模型
推理
# 对单张图像进行推理
results = model("image.jpg")

# 显示结果
results.show()
保存结果
# 保存检测结果
results.save("output.jpg")

(2)模型训练

ultralytics 支持自定义数据集的训练。

准备数据集

数据集需要按照 YOLO 格式组织:

dataset/
├── images/
│   ├── train/
│   └── val/
└── labels/
    ├── train/
    └── val/
训练模型
# 加载模型
model = YOLO("yolov8n.pt")

# 训练模型
results = model.train(data="coco128.yaml", epochs=50, imgsz=640)

(3)模型验证

训练完成后,可以使用验证集评估模型性能。

# 验证模型
metrics = model.val()
print(metrics.box.map)  # 打印 mAP 值

(4)模型导出

ultralytics 支持将模型导出为多种格式,以便在其他平台上部署。

# 导出为 ONNX 格式
model.export(format="onnx")

4. 使用示例

目标检测

from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.pt")

# 对图像进行推理
results = model("image.jpg")

# 显示结果
results.show()

实例分割

from ultralytics import YOLO

# 加载实例分割模型
model = YOLO("yolov8n-seg.pt")

# 对图像进行推理
results = model("image.jpg")

# 显示分割结果
results.show()

姿态估计

from ultralytics import YOLO

# 加载姿态估计模型
model = YOLO("yolov8n-pose.pt")

# 对图像进行推理
results = model("image.jpg")

# 显示姿态估计结果
results.show()

视频推理

from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.pt")

# 对视频进行推理
results = model("video.mp4")

# 保存结果
results.save("output.mp4")

5. 高级功能

(1)自定义模型

ultralytics 支持加载自定义训练的模型。

from ultralytics import YOLO

# 加载自定义模型
model = YOLO("custom_model.pt")

# 推理
results = model("image.jpg")

(2)多 GPU 训练

ultralytics 支持多 GPU 训练,以加速训练过程。

# 使用 4 个 GPU 进行训练
results = model.train(data="coco128.yaml", epochs=50, imgsz=640, device=[0, 1, 2, 3])

(3)TensorRT 加速

ultralytics 支持将模型导出为 TensorRT 格式,以在 NVIDIA GPU 上加速推理。

# 导出为 TensorRT 格式
model.export(format="engine")

6. 总结

ultralytics 是一个功能强大且易于使用的计算机视觉库,特别适合 YOLO 系列模型的应用。它提供了从模型加载、推理、训练到导出的完整功能,支持目标检测、实例分割、姿态估计等多种任务。无论是研究还是生产环境,ultralytics 都能满足你的需求。

希望本文能帮助你快速上手 ultralytics 库!如果有任何问题,欢迎在评论区留言讨论! 😊


参考链接

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值