Ultralytics YOLO 模型概览

Ultralytics 提供了一系列 YOLO 模型,这些模型专为解决目标检测、实例分割、图像分类、姿态估计和多目标跟踪等特定任务而设计。如果有兴趣为 Ultralytics 提供自己的模型架构,请参考。

模型集合包括:

  • YOLOv3:由 Joseph Redmon 创建的 YOLO 模型系列的第三次迭代,以其实时目标检测能力而闻名。
  • YOLOv4:由 Alexey Bochkovskiy 在 2020 年发布的 YOLOv3 的 Darknet 原生更新。
  • YOLOv5:由 Ultralytics 提供的 YOLO 架构的改进版本,与之前的版本相比,在性能和速度之间提供了更好的折衷。
  • YOLOv6:由美团在 2022 年发布,被广泛用于公司的自主送货机器人中。
  • YOLOv7:由 YOLOv4 的在 2022 年发布的更新版 YOLO 模型。
  • YOLOv8:YOLO 家族的最新版本,增强了实例分割、姿态/关键点估计和分类等功能。
  • YOLOv9:在 Ultralytics 的 YOLOv5 代码库上训练的实验模型,实现了可编程梯度信息(PGI)。
  • YOLOv10:由清华大学开发,特点是没有 NMS 训练和面向效率和精度的架构,提供了最先进的性能和延迟。
  • YOLOv11:Ultralytics最新的 YOLO 模型,提供多个任务的最新性能(SOTA)。
  • SAM(Segment Anything Model):Meta(Facebook)的原始模型。
  • SAM2:Meta 为视频和图像发布的下一代 Segment Anything Model。
  • MobileSAM:由韩国庆熙大学为移动应用开发的 MobileSAM。
  • FastSAM:中国科学院自动化研究所图像与视频分析组的 FastSAM。
  • YOLO-NAS:YOLO 神经架构搜索(NAS)模型。
  • RT-DETR:百度的 PaddlePaddle Realtime Detection Transformer(RT-DETR)模型。
  • YOLO-World:腾讯 AI 实验室提供的实时目标检测模型。

模型支持多种任务,并提供易于使用的 Python 和命令行界面(CLI)进行模型训练和推理。以下是使用 YOLOv8 进行目标检测的示例。

以下是使用 YOLO 进行训练和推理的简单示例。完整的文档可以在 、、 和 文档页面上找到。请注意,以下示例是针对 YOLOv8目标检测模型的。对于其他支持的任务,请查看 、 和 文档。

Python CLI PyTorch 预训练模型 (*.pt) 以及配置文件 (*.yaml) 可以传递给 YOLO()、SAM()、NAS() 和 RTDETR() 类,以在 Python 中创建模型实例:

from ultralytics import YOLO # 加载 COCO 预训练的 YOLOv8n 模型 model = YOLO("yolov8n.pt") # 显示模型信息(可选) model.info() # 在 COCO8 示例数据集上训练模型 100 个周期 results = model.train(data="coco8.yaml", epochs=100, imgsz=640) # 使用 YOLOv8n 模型在 'bus.jpg' 图像上运行推理 results = model("path/to/bus.jpg")

CLI 用于直接运行模型的命令:

# 加载 COCO 预训练的 YOLOv8n 模型,并在 COCO8 示例数据集上训练 100 个周期 yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640 # 加载 COCO 预训练的 YOLOv8n 模型,并在 'bus.jpg' 图像上运行推理 yolo predict model=yolov8n.pt source=path/to/bus.jpg

有兴趣向 Ultralytics 提供自己的模型吗?太好了!始终开放扩展模型库。

  1. Fork 仓库:从 Ultralytics 的 GitHub 仓库开始。
  2. 克隆 Fork:将 Fork 克隆到本地机器并创建一个新分支进行工作。
  3. 实现模型:添加模型,遵循中的标准编码和建议。
  4. 彻底测试:确保彻底测试模型,无论是单独的还是作为管道的一部分。
  5. 创建 Pull Request:一旦对模型感到满意,创建一个请求到主仓库进行审查。
  6. 代码审查和合并:审查后,如果模型符合标准,它将被合并到主仓库中。

要了解详细步骤,请参考。

使用UltralyticsYOLOv8 进行目标检测的主要优势是什么? Ultralytics YOLOv8 提供了实时目标检测、实例分割、姿态估计和分类等增强功能。其优化的架构确保了高速性能,同时不牺牲准确性,非常适合各种应用。YOLOv8 还包括与流行数据集和模型的内置兼容性,详见。

如何在自定义数据上训练YOLOv8 模型? 使用Ultralytics的库可以轻松地在自定义数据上训练 YOLOv8 模型。以下是一个快速示例:

from ultralytics import YOLO # 加载 YOLOv8n 模型 model = YOLO("yolov8n.pt") # 在自定义数据集上训练模型 results = model.train(data="custom_data.yaml", epochs=100, imgsz=640)

CLI:

yolo train model=yolov8n.pt data='custom_data.yaml' epochs=100 imgsz=640

更详细的说明可以在上找到。

Ultralytics 支持哪些 YOLO 版本? Ultralytics 支持从 YOLOv3 到 YOLOv10 的所有 YOLO(You Only Look Once)版本,以及 NAS、SAM 和 RT-DETR 等模型。每个版本都针对解决不同的任务进行了优化,如检测、分割和分类。有关每个模型的详细信息,请参阅。

为什么要使用 Ultralytics HUB 进行机器学习项目? Ultralytics HUB 是一个无代码、端到端的平台,用于训练、部署和管理 YOLO 模型。它简化了复杂的工作流程,使用户能够专注于模型的性能和应用。HUB 还提供了云训练、数据集综合管理和便捷的界面。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485