ultralytics

ultralytics/ultralytics

Ultralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking

⭐ 60.9k ⑂ 11.6k Python AGPL-3.0 · 3 小时前推送
60.9k
Watchers
0
贡献者
0
Commits
0
Releases
153
Open Issues
3 小时前
最近推送

📦 版本动态

v8.4.126 1 天前
v8.4.125 1 天前
v8.4.124 2 天前
v8.4.123 3 天前
v8.4.122 3 天前
原文 中文

ultralytics%2Fultralytics | Trendshift

Ultralytics 基于多年在计算机视觉和人工智能领域的基础研究,创造了尖端的、最先进的 (SOTA) YOLO 模型。我们的模型不断更新以提高性能和灵活性,具有速度快精度高易于使用的特点。它们在目标检测跟踪实例分割语义分割图像分类姿态估计任务中表现出色。

Ultralytics 文档中查找详细文档。通过 GitHub Issues 获取支持。加入 DiscordRedditUltralytics 社区论坛参与讨论!

如需商业用途,请在 Ultralytics 授权许可申请企业许可证。

YOLO26 performance plots
Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

📄 文档

请参阅下文了解快速安装和使用示例。有关训练、验证、预测和部署的全面指南,请参阅我们的完整 Ultralytics 文档

安装

Python>=3.8 环境中安装 ultralytics 包,包括所有依赖项,并确保 PyTorch>=1.8

PyPI - Version Ultralytics Downloads PyPI - Python Version

pip install ultralytics

有关其他安装方法,包括 CondaDocker 以及通过 Git 从源代码构建,请查阅快速入门指南

Conda Version Docker Image Version Ultralytics Docker Pulls

使用方法

CLI

您可以直接通过命令行界面 (CLI) 使用 yolo 命令来运行 Ultralytics YOLO:

# 使用预训练的 YOLO 模型 (例如 YOLO26n) 对图像进行预测
yolo predict model=yolo26n.pt source='https://ultralytics.com/images/bus.jpg'

yolo 命令支持各种任务和模式,并接受额外的参数,如 imgsz=640。浏览 YOLO CLI 文档获取更多示例。

Python

Ultralytics YOLO 也可以直接集成到您的 Python 项目中。它接受与 CLI 相同的配置参数

from ultralytics import YOLO

# 加载一个预训练的 YOLO26n 模型
model = YOLO("yolo26n.pt")

# 在 COCO8 数据集上训练模型 100 个周期
train_results = model.train(
    data="coco8.yaml",  # 数据集配置文件路径
    epochs=100,  # 训练周期数
    imgsz=640,  # 训练图像尺寸
    device="cpu",  # 运行设备 (例如 'cpu', 0, [0,1,2,3])
)

# 评估模型在验证集上的性能
metrics = model.val()

# 对图像执行目标检测
results = model("path/to/image.jpg")  # 对图像进行预测
results[0].show()  # 显示结果

# 将模型导出为 ONNX 格式以进行部署
path = model.export(format="onnx")  # 返回导出模型的路径

在 YOLO Python 文档中发现更多示例。

✨ 模型

Ultralytics 支持广泛的 YOLO 模型,从早期的版本如 YOLOv3 到最新的 YOLO26。下表展示了在 COCO 上预训练的 YOLO26 模型,用于检测分割姿态估计任务。语义分割模型在 Cityscapes 上预训练,深度估计模型在广泛的多数据集混合上预训练并在 NYU Depth V2 上评估,分类模型在 ImageNet 上预训练。跟踪模式与检测、分割、姿态和 OBB 模型兼容。所有模型在首次使用时都会自动从最新的 Ultralytics 发布版本下载。

Ultralytics YOLO supported tasks

检测 (COCO)

浏览检测文档获取使用示例。这些模型在 COCO 数据集上训练,包含 80 个对象类别。

| 模型 | 尺寸
(像素) | mAPval
50-95 | mAPval
50-95(e2e) | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | ---------------------------------------------------------------------- | ------------------- | -------------------- | ------------------------- | ------------------------------- | ------------------------------------ | ------------------- | -------------------- | | YOLO26n | 640 | 40.9 | 40.1 | 38.9 ± 0.7 | 1.7 ± 0.0 | 2.4 | 5.4 | | YOLO26s | 640 | 48.6 | 47.8 | 87.2 ± 0.9 | 2.5 ± 0.0 | 9.5 | 20.7 | | YOLO26m | 640 | 53.1 | 52.5 | 220.0 ± 1.4 | 4.7 ± 0.1 | 20.4 | 68.2 | | YOLO26l | 640 | 55.0 | 54.4 | 286.2 ± 2.0 | 6.2 ± 0.2 | 24.8 | 86.4 | | YOLO26x | 640 | 57.5 | 56.9 | 525.8 ± 4.0 | 11.8 ± 0.2 | 55.7 | 193.9 |

  • mAPval 值指的是在 COCO val2017 数据集上的单模型单尺度性能。详见 YOLO 性能指标
    使用 yolo val detect data=coco.yaml device=0 复现结果。
  • 速度 指标是在 Amazon EC2 P4d 实例上对 COCO val 图像进行平均测量的。CPU 速度使用 ONNX 导出进行测量。GPU 速度使用 TensorRT 导出进行测量。
    使用 yolo val detect data=coco.yaml batch=1 device=0|cpu 复现结果。
分割 (COCO)

请参阅分割文档获取使用示例。这些模型在 COCO-Seg 数据集上训练,包含 80 个类别。

| 模型 | 尺寸
(像素) | mAPbox
50-95(e2e) | mAPmask
50-95(e2e) | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | ------------------------------------------------------------------------------ | ------------------- | ------------------------- | -------------------------- | ------------------------------- | ------------------------------------ | ------------------- | -------------------- | | YOLO26n-seg | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.1 | | YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 | | YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 | | YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 | | YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |

  • mAPval 值指的是在 COCO val2017 数据集上的单模型单尺度性能。详见 YOLO 性能指标
    使用 yolo val segment data=coco.yaml device=0 复现结果。
  • 速度 指标是在 Amazon EC2 P4d 实例上对 COCO val 图像进行平均测量的。CPU 速度使用 ONNX 导出进行测量。GPU 速度使用 TensorRT 导出进行测量。
    使用 yolo val segment data=coco.yaml batch=1 device=0|cpu 复现结果。
语义分割 (Cityscapes)

请参阅语义分割文档获取使用示例。这些模型在 Cityscapes 数据集上训练,包含 19 个类别。

| 模型 | 尺寸
(像素) | mIoUval | 速度
RTX3090 PyTorch
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | ------------------------------------------------------------------------------ | ------------------- | ------------ | -------------------------------------- | ------------------- | -------------------- | | YOLO26n-sem | 1024 × 2048 | 78.3 | 4.4 ± 0.0 | 1.6 | 22.7 | | YOLO26s-sem | 1024 × 2048 | 80.8 | 8.4 ± 0.0 | 6.5 | 88.8 | | YOLO26m-sem | 1024 × 2048 | 82.0 | 19.9 ± 0.1 | 14.3 | 304.5 | | YOLO26l-sem | 1024 × 2048 | 82.9 | 26.5 ± 0.1 | 17.9 | 384.7 | | YOLO26x-sem | 1024 × 2048 | 83.6 | 48.9 ± 0.2 | 40.2 | 861.7 |

  • mIoUval 值指的是在 Cityscapes 验证集上的单模型单尺度性能。
    使用 yolo semantic val data=cityscapes.yaml device=0 imgsz=2048 复现结果。
  • 速度 指标是在 RTX3090 实例上对 Cityscapes 验证集图像进行平均测量的。
    使用 yolo semantic val data=cityscapes.yaml batch=1 device=0|cpu imgsz=2048 复现结果。
深度估计 (NYU Depth V2)

请参阅深度估计文档获取使用示例。这些模型在广泛的多数据集混合上预训练,并在 NYU Depth V2 Eigen 测试集上评估,预测每像素深度(单位为米)。

| 模型 | 尺寸
(像素) | delta1NYU | abs_relNYU | rmseNYU | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | ---------------------------------------------------------------------------------- | ------------------- | -------------------- | --------------------- | ------------------ | ------------------------------- | ------------------------------------ | ------------------- | -------------------- | | YOLO26n-depth | 768 | 0.882 | 0.109 | 0.414 | 272.0 ± 27.2 | 2.7 ± 0.1 | 6.4 | 46.9 | | YOLO26s-depth | 768 | 0.896 | 0.104 | 0.399 | 393.7 ± 13.1 | 3.8 ± 0.0 | 13.2 | 67.9 | | YOLO26m-depth | 768 | 0.921 | 0.089 | 0.364 | 621.5 ± 49.7 | 6.0 ± 0.1 | 23.3 | 130.7 | | YOLO26l-depth | 768 | 0.930 | 0.083 | 0.351 | 821.9 ± 50.7 | 7.7 ± 0.1 | 27.7 | 157.2 | | YOLO26x-depth | 768 | 0.933 | 0.080 | 0.344 | 1240.9 ± 73.3 | 13.6 ± 0.2 | 57.0 | 302.0 |

  • delta1NYU 是在 NYU Depth V2 Eigen 测试集(654 张图像)上,通过多尺度 + 水平翻转 TTA 和对数最小二乘对齐后,预测深度在真实深度 1.25 倍范围内的像素比例。
  • 不使用 TTA 的单尺度准确率可通过 yolo depth val model=yolo26n-depth.pt data=nyu-depth.yaml imgsz=768 device=0(为每个模型尺寸替换 model= 参数)复现,该方法采用中值(仅尺度)对齐,得分较低:delta1 0.785 (n), 0.786 (s), 0.827 (m), 0.839 (l), 0.843 (x)。
  • abs_rel 是预测深度与真实深度之间的平均绝对相对误差。
  • rmse 是均方根误差(单位为米)。
  • 速度 为纯推理延迟(不含前/后处理),在 imgsz=768batch=1 下测得,经预热后取多次计时运行的均值 ± 标准差。CPU ONNX 为在 32 核 Intel Xeon (Skylake) 上以 ONNX Runtime fp32 运行;T4 TensorRT10 为在 Tesla T4 上以 TensorRT fp16 运行。
  • 参数FLOPs 在 768×768(已发布权重的训练分辨率)下测量。
分类 (ImageNet)

请查阅分类文档获取使用示例。这些模型在 ImageNet 数据集上训练,涵盖 1000 个类别。

| 模型 | 尺寸
(像素) | acc
top1 | acc
top5 | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) @ 224 | | ------------------------------------------------------------------------------ | ------------------- | ---------------- | ---------------- | ------------------------------- | ------------------------------------ | ------------------- | -------------------------- | | YOLO26n-cls | 224 | 71.4 | 90.1 | 5.0 ± 0.3 | 1.1 ± 0.0 | 2.8 | 0.5 | | YOLO26s-cls | 224 | 76.0 | 92.9 | 7.9 ± 0.2 | 1.3 ± 0.0 | 6.7 | 1.6 | | YOLO26m-cls | 224 | 78.1 | 94.2 | 17.2 ± 0.4 | 2.0 ± 0.0 | 11.6 | 4.9 | | YOLO26l-cls | 224 | 79.0 | 94.6 | 23.2 ± 0.3 | 2.8 ± 0.0 | 14.1 | 6.2 | | YOLO26x-cls | 224 | 79.9 | 95.0 | 41.4 ± 0.9 | 3.8 ± 0.0 | 29.6 | 13.6 |

  • acc 值表示模型在 ImageNet 数据集验证集上的准确率。
    使用 yolo val classify data=path/to/ImageNet device=0 复现结果。
  • 速度 指标是在 Amazon EC2 P4d 实例上对 ImageNet val 图像进行平均测量的。CPU 速度使用 ONNX 导出进行测量。GPU 速度使用 TensorRT 导出进行测量。
    使用 yolo val classify data=path/to/ImageNet batch=1 device=0|cpu 复现结果。
姿态估计 (COCO)

请参阅姿态估计文档获取使用示例。这些模型在 COCO-Pose 数据集上训练,专注于 'person' 类别。

| 模型 | 尺寸
(像素) | mAPpose
50-95(e2e) | mAPpose
50(e2e) | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | -------------------------------------------------------------------------------- | ------------------- | -------------------------- | ----------------------- | ------------------------------- | ------------------------------------ | ------------------- | -------------------- | | YOLO26n-pose | 640 | 57.2 | 83.3 | 40.3 ± 0.5 | 1.8 ± 0.0 | 2.9 | 7.5 | | YOLO26s-pose | 640 | 63.0 | 86.6 | 85.3 ± 0.9 | 2.7 ± 0.0 | 10.4 | 23.9 | | YOLO26m-pose | 640 | 68.8 | 89.6 | 218.0 ± 1.5 | 5.0 ± 0.1 | 21.5 | 73.1 | | YOLO26l-pose | 640 | 70.4 | 90.5 | 275.4 ± 2.4 | 6.5 ± 0.1 | 25.9 | 91.3 | | YOLO26x-pose | 640 | 71.6 | 91.6 | 565.4 ± 3.0 | 12.2 ± 0.2 | 57.6 | 201.7 |

  • mAPval 值指的是在 COCO Keypoints val2017 数据集上的单模型单尺度性能。详见 YOLO 性能指标
    使用 yolo val pose data=coco-pose.yaml device=0 复现结果。
  • 速度 指标是在 Amazon EC2 P4d 实例上对 COCO val 图像进行平均测量的。CPU 速度使用 ONNX 导出进行测量。GPU 速度使用 TensorRT 导出进行测量。
    使用 yolo val pose data=coco-pose.yaml batch=1 device=0|cpu 复现结果。
定向边界框 (DOTAv1)

请查阅 OBB 文档获取使用示例。这些模型在 DOTAv1 数据集上训练,包含 15 个类别。

| 模型 | 尺寸
(像素) | mAPtest
50-95(e2e) | mAPtest
50(e2e) | 速度
CPU ONNX
(毫秒) | 速度
T4 TensorRT10
(毫秒) | 参数
(百万) | FLOPs
(十亿) | | ------------------------------------------------------------------------------ | ------------------- | -------------------------- | ----------------------- | ------------------------------- | ------------------------------------ | ------------------- | -------------------- | | YOLO26n-obb | 1024 | 52.4 | 78.9 | 97.7 ± 0.9 | 2.8 ± 0.0 | 2.5 | 14.0 | | YOLO26s-obb | 1024 | 54.8 | 80.9 | 218.0 ± 1.4 | 4.9 ± 0.1 | 9.8 | 55.1 | | YOLO26m-obb | 1024 | 55.3 | 81.0 | 579.2 ± 3.8 | 10.2 ± 0.3 | 21.2 | 183.3 | | YOLO26l-obb | 1024 | 56.2 | 81.6 | 735.6 ± 3.1 | 13.0 ± 0.2 | 25.6 | 230.0 | | YOLO26x-obb | 1024 | 56.7 | 81.7 | 1485.7 ± 11.5 | 30.5 ± 0.9 | 57.6 | 516.5 |

  • mAPtest 值指的是在 DOTAv1 测试集上的单模型多尺度性能。
    通过 yolo val obb data=DOTAv1.yaml device=0 split=test 复现结果,并将合并后的结果提交到 DOTA 评估服务器
  • 速度 指标是在 Amazon EC2 P4d 实例上对 DOTAv1 val 图像进行平均测量的。CPU 速度使用 ONNX 导出进行测量。GPU 速度使用 TensorRT 导出进行测量。
    通过 yolo val obb data=DOTAv1.yaml batch=1 device=0|cpu 复现结果。

🧩 集成

我们与领先 AI 平台的关键集成扩展了 Ultralytics 产品的功能,增强了数据集标注、训练、可视化和模型管理等任务。了解 Ultralytics 如何与 Weights & BiasesComet MLRoboflowIntel OpenVINO 等合作伙伴协作,优化您的 AI 工作流程。在 Ultralytics 集成了解更多信息。

Ultralytics active learning integrations

🤝 贡献

我们依靠社区协作蓬勃发展!没有像您这样的开发者的贡献,Ultralytics YOLO 就不会成为如今最先进的框架。请参阅我们的贡献指南开始贡献。我们也欢迎您的反馈——通过完成我们的调查问卷分享您的体验。非常感谢 🙏 每一位贡献者!

Ultralytics open-source contributors

我们期待您的贡献,帮助 Ultralytics 生态系统变得更好!

📜 许可证

Ultralytics 提供两种许可选项以满足不同需求:

  • AGPL-3.0 许可证:这种经 OSI 批准的开源许可证非常适合学生、研究人员和爱好者。它鼓励开放协作和知识共享。有关完整详细信息,请参阅 LICENSE 文件。
  • Ultralytics 企业许可证:适用于开发和生产用途,此许可证允许将 Ultralytics 软件和 AI 模型无缝集成到业务产品和服务中,包括内部工具、自动化工作流和生产部署,绕过 AGPL-3.0 的开源要求。如需开始使用,请通过 Ultralytics 授权许可与我们联系。

📞 联系方式

有关 Ultralytics 软件的错误报告和功能请求,请访问 GitHub Issues。如有疑问、讨论和社区支持,请加入我们在 DiscordRedditUltralytics 社区论坛上的活跃社区。我们随时为您提供有关 Ultralytics 的所有帮助!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord