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 提供自己的模型吗?太好了!始终开放扩展模型库。
- Fork 仓库:从 Ultralytics 的 GitHub 仓库开始。
- 克隆 Fork:将 Fork 克隆到本地机器并创建一个新分支进行工作。
- 实现模型:添加模型,遵循中的标准编码和建议。
- 彻底测试:确保彻底测试模型,无论是单独的还是作为管道的一部分。
- 创建 Pull Request:一旦对模型感到满意,创建一个请求到主仓库进行审查。
- 代码审查和合并:审查后,如果模型符合标准,它将被合并到主仓库中。
要了解详细步骤,请参考。
使用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 还提供了云训练、数据集综合管理和便捷的界面。