Ultralytics YOLO 库介绍与使用指南

文章目录

  • Ultralytics YOLO 库介绍与使用指南
    • 主要特点
    • 安装
    • 基本使用
      • 1. 使用预训练模型进行推理
      • 2. 训练自定义模型
      • 3. 验证模型
      • 4. 导出模型
    • 高级功能
      • 1. 使用不同任务模型
      • 2. 使用自定义数据集
      • 3. 跟踪对象 (结合 ByteTrack)
    • 常见问题解决
    • 性能优化技巧

Ultralytics YOLO 库介绍与使用指南

Ultralytics YOLO 是一个流行的计算机视觉库,专注于实现和优化 YOLO (You Only Look Once) 系列目标检测模型。它提供了简单易用的 API 来训练、验证和部署 YOLO 模型。

主要特点

  1. 支持多种 YOLO 版本 (v5, v8, 以及未来的版本)
  2. 简单易用的 API
  3. 高性能实现
  4. 支持多种任务:目标检测、实例分割、姿态估计等
  5. 跨平台支持 (Linux, Windows, macOS)
  6. 支持导出多种格式 (ONNX, TensorRT, CoreML 等)

安装

pip install ultralytics

基本使用

1. 使用预训练模型进行推理

from ultralytics import YOLO

# 加载预训练模型 (YOLOv8)
model = YOLO('yolov8n.pt')  # 可以替换为 yolov8s.pt, yolov8m.pt 等不同大小的模型

# 进行预测
results = model('https://ultralytics.com/images/bus.jpg')  # 预测单张图片

# 显示结果
results[0].show()

# 保存结果
results[0].save('result.jpg')

2. 训练自定义模型

from ultralytics import YOLO

# 加载基础模型
model = YOLO('yolov8n.pt')  # 也可以直接使用 'yolov8n.yaml' 从头开始训练

# 训练模型
results = model.train(
    data='coco128.yaml',  # 数据集配置文件
    epochs=100,          # 训练轮数
    imgsz=640,           # 输入图像大小
    batch=16,            # 批量大小
    name='yolov8n_custom'  # 实验名称
)

3. 验证模型

from ultralytics import YOLO

# 加载训练好的模型
model = YOLO('path/to/best.pt')  # 替换为你的模型路径

# 验证模型
metrics = model.val()  # 默认使用训练时的数据集配置
print(metrics.box.map)  # 打印 mAP50-95

4. 导出模型

from ultralytics import YOLO

# 加载模型
model = YOLO('path/to/best.pt')

# 导出为 ONNX 格式
model.export(format='onnx')  # 也可以导出为 'engine', 'coreml', 'tflite' 等

高级功能

1. 使用不同任务模型

# 目标检测
model = YOLO('yolov8n.pt')

# 实例分割
model = YOLO('yolov8n-seg.pt')

# 姿态估计
model = YOLO('yolov8n-pose.pt')

2. 使用自定义数据集

  1. 准备数据集,格式可以是:

    • YOLO 格式 (.txt 标注文件)
    • COCO 格式 (.json 标注文件)
    • 其他常见格式
  2. 创建数据集配置文件 (如 data.yaml):

train: /path/to/train/images
val: /path/to/val/images

# 类别数
nc: 80

# 类别名称
names: ['person', 'bicycle', 'car', ...]

3. 跟踪对象 (结合 ByteTrack)

from ultralytics import YOLO

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

# 在视频上运行跟踪
results = model.track(source="video.mp4", tracker="bytetrack.yaml")

常见问题解决

  1. CUDA 内存不足:减小批量大小 (batch)
  2. 安装问题:确保使用最新版本的 pip 和 setuptools
  3. 数据集格式问题:使用官方提供的验证工具检查数据集

性能优化技巧

  1. 对于部署,建议导出为 TensorRT 格式
  2. 调整 imgsz 参数以平衡速度和精度
  3. 使用更小的模型 (如 yolov8n) 以获得更快的推理速度

Ultralytics YOLO 库持续更新,建议查看官方文档获取最新信息和使用示例。

你可能感兴趣的:(人工智能/机器学习,YOLO)