Skip to content

Latest commit

 

History

History
240 lines (184 loc) · 19.9 KB

README.zh-CN.md

File metadata and controls

240 lines (184 loc) · 19.9 KB

English | 简体中文

Ultralytics CI YOLOv8 Citation Docker Pulls
Run on Gradient Open In Colab Open In Kaggle

Ultralytics YOLOv8 是由 Ultralytics 开发的一个前沿的 SOTA 模型。它在以前成功的 YOLO 版本基础上,引入了新的功能和改进,进一步提升了其性能和灵活性。YOLOv8 基于快速、准确和易于使用的设计理念,使其成为广泛的目标检测、图像分割和图像分类任务的绝佳选择。

如果要申请企业许可证,请填写 Ultralytics 许可

文档

有关训练、测试和部署的完整文档见YOLOv8 Docs。请参阅下面的快速入门示例。

安装

Pip 安装包含所有 requirements.txt 的 ultralytics 包,环境要求 3.10>=Python>=3.7,且 PyTorch>=1.7

pip install ultralytics
使用方法

YOLOv8 可以直接在命令行界面(CLI)中使用 yolo 命令运行:

yolo predict model=yolov8n.pt source="https://ultralytics.com/images/bus.jpg"

yolo可以用于各种任务和模式,并接受额外的参数,例如 imgsz=640。参见 YOLOv8 文档中可用yolo参数的完整列表。

yolo task=detect    mode=train    model=yolov8n.pt        args...
          classify       predict        yolov8n-cls.yaml  args...
          segment        val            yolov8n-seg.yaml  args...
                         export         yolov8n.pt        format=onnx  args...

YOLOv8 也可以在 Python 环境中直接使用,并接受与上面 CLI 例子中相同的参数

from ultralytics import YOLO

# 加载模型
model = YOLO("yolov8n.yaml")  # 从头开始构建新模型
model = YOLO("yolov8n.pt")  # 加载预训练模型(推荐用于训练)

# Use the model
results = model.train(data="coco128.yaml", epochs=3)  # 训练模型
results = model.val()  # 在验证集上评估模型性能
results = model("https://ultralytics.com/images/bus.jpg")  # 预测图像
success = model.export(format="onnx")  # 将模型导出为 ONNX 格式

模型 会从 Ultralytics 发布页 自动下载。

已知问题 / 待办事项

我们仍在努力完善 YOLOv8 的几个部分!我们的目标是尽快完成这些工作,使 YOLOv8 的功能设置达到YOLOv5 的水平,包括对所有相同格式的导出和推理。我们还在写一篇 YOLOv8 的论文,一旦完成,我们将提交给 arxiv.org

  • TensorFlow 导出
  • DDP 恢复训练
  • arxiv.org 论文

模型

所有 YOLOv8 的预训练模型都可以在这里找到。目标检测和分割模型是在 COCO 数据集上预训练的,而分类模型是在 ImageNet 数据集上预训练的。

第一次使用时,模型 会从 Ultralytics 发布页 自动下载。

目标检测
模型 尺寸
(像素)
mAPval
50-95
推理速度
CPU ONNX
(ms)
推理速度
A100 TensorRT
(ms)
参数量
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8
  • mAPval 结果都在 COCO val2017 数据集上,使用单模型单尺度测试得到。
    复现命令 yolo val detect data=coco.yaml device=0
  • 推理速度使用 COCO 验证集图片推理时间进行平均得到,测试环境使用 Amazon EC2 P4d 实例。
    复现命令 yolo val detect data=coco128.yaml batch=1 device=0/cpu
实例分割
模型 尺寸
(像素)
mAPbox
50-95
mAPmask
50-95
推理速度
CPU ONNX
(ms)
推理速度
A100 TensorRT
(ms)
参数量
(M)
FLOPs
(B)
YOLOv8n 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x 640 53.4 43.4 712.1 4.02 71.8 344.1
  • mAPval 结果都在 COCO val2017 数据集上,使用单模型单尺度测试得到。
    复现命令 yolo val segment data=coco.yaml device=0
  • 推理速度使用 COCO 验证集图片推理时间进行平均得到,测试环境使用 Amazon EC2 P4d 实例。
    复现命令 yolo val segment data=coco128-seg.yaml batch=1 device=0/cpu
分类
模型 尺寸
(像素)
acc
top1
acc
top5
推理速度
CPU ONNX
(ms)
推理速度
A100 TensorRT
(ms)
参数量
(M)
FLOPs
(B) at 640
YOLOv8n 224 66.6 87.0 12.9 0.31 2.7 4.3
YOLOv8s 224 72.3 91.1 23.4 0.35 6.4 13.5
YOLOv8m 224 76.4 93.2 85.4 0.62 17.0 42.7
YOLOv8l 224 78.0 94.1 163.0 0.87 37.5 99.7
YOLOv8x 224 78.4 94.3 232.0 1.01 57.4 154.8
  • acc 都在 ImageNet 数据集上,使用单模型单尺度测试得到。
    复现命令 yolo val classify data=path/to/ImageNet device=0
  • 推理速度使用 ImageNet 验证集图片推理时间进行平均得到,测试环境使用 Amazon EC2 P4d 实例。
    复现命令 yolo val classify data=path/to/ImageNet batch=1 device=0/cpu

模块集成




Roboflow ClearML ⭐ 新 Comet ⭐ 新 Neural Magic ⭐ 新
将您的自定义数据集进行标注并直接导出到 YOLOv8 以进行训练 Roboflow 自动跟踪、可视化甚至远程训练 YOLOv8 ClearML(开源!) 永远免费,Comet可让您保存 YOLOv8 模型、恢复训练以及交互式可视化和调试预测 使用 Neural Magic DeepSparse,运行 YOLOv8 推理的速度最高可提高6倍

Ultralytics HUB

Ultralytics HUB 是我们⭐ 的无代码解决方案,用于可视化数据集,训练 YOLOv8🚀 模型,并以无缝体验方式部署到现实世界。现在开始免费! 还可以通过下载 Ultralytics App 在你的 iOS 或 Android 设备上运行 YOLOv8 模型!

贡献

我们喜欢您的意见或建议!我们希望尽可能简单和透明地为 YOLOv8 做出贡献。请看我们的 贡献指南 ,并填写 调查问卷 向我们发送您的体验反馈。感谢我们所有的贡献者!

License

  • YOLOv8 在两种不同的 License 下可用:
    • GPL-3.0 License: 查看 License 文件的详细信息。
    • 企业License:在没有 GPL-3.0 开源要求的情况下为商业产品开发提供更大的灵活性。典型用例是将 Ultralytics 软件和 AI 模型嵌入到商业产品和应用程序中。在以下位置申请企业许可证 Ultralytics 许可

联系我们

若发现 YOLOv8 的 Bug 或有功能需求,请访问 GitHub 问题。如需专业支持,请 联系我们