Ultralytics 支持的模型
欢迎来到 Ultralytics 的模型文档!我们为各种模型提供支持,每种模型都针对特定任务量身定制,例如目标检测、实例分割、图像分类、姿势估计和多目标跟踪。如果您有兴趣将您的模型架构贡献给 Ultralytics,请查看我们的贡献指南。
特色模型
以下是一些受支持的关键模型:
- YOLOv3:YOLO 模型系列的第三次迭代,最初由 Joseph Redmon 提出,以其高效的实时目标检测能力而闻名。
- YOLOv4:由 Alexey Bochkovskiy 于 2020 年发布的 YOLOv3 的 darknet 原生更新版本。
- YOLOv5:Ultralytics 改进的 YOLO 架构版本,与以前的版本相比,提供了更好的性能和速度权衡。
- YOLOv6:由美团于 2022 年发布,并应用于该公司的许多自动送货机器人中。
- YOLOv7: YOLOv4 的作者于 2022 年发布的更新的 YOLO 模型。仅支持推理。
- YOLOv8:一种多功能模型,具有增强的功能,例如实例分割、姿势/关键点估计和分类。
- YOLOv9:在 Ultralytics YOLOv5 代码库上训练的实验模型,实现了可编程梯度信息 (PGI)。
- YOLOv10:由清华大学开发,具有无 NMS 训练和效率驱动的架构,可提供最先进的性能和延迟。
- YOLO11 🚀 NEW:Ultralytics 的最新 YOLO 模型,可在包括检测、分割、姿势估计、跟踪和分类在内的多个任务中提供最先进 (SOTA) 的性能。
- Segment Anything Model (SAM):Meta 的原始 Segment Anything Model (SAM)。
- Segment Anything Model 2 (SAM2):Meta 的下一代 Segment Anything Model (SAM),适用于视频和图像。
- MobileSAM(移动版分割一切模型):适用于移动应用的 MobileSAM,由 Kyung Hee University 开发。
- Fast Segment Anything Model (FastSAM):FastSAM,来自中国科学院自动化研究所图像与视频分析组。
- YOLO-NAS: YOLO 神经架构搜索 (NAS) 模型。
- 实时检测 Transformer (RT-DETR):百度的 PaddlePaddle 实时检测 Transformer (RT-DETR) 模型。
- YOLO-World:腾讯 AI 实验室的实时开放词汇目标检测模型。
- YOLOE: 一种改进的开放词汇物体检测器,在检测超出其训练数据的任意类别时,保持了 YOLO 的实时性能。
观看: 只需几行代码即可运行 Ultralytics YOLO 模型。
入门指南:使用示例
此示例提供了简单的 YOLO 训练和推理示例。有关这些和其他模式的完整文档,请参见Predict、Train、Val和Export文档页面。
请注意,以下示例适用于 YOLOv8 Detect 模型,用于目标检测。有关其他支持的任务,请参阅分割、分类和姿势估计文档。
示例
PyTorch pretrained *.pt
模型以及配置 *.yaml
文件可以传递给 YOLO()
, SAM()
, NAS()
和 RTDETR()
classes 以在 Python 中创建模型实例:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
可以使用 CLI 命令直接运行模型:
# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640
# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg
贡献新模型
有兴趣向 Ultralytics 贡献您的模型吗?太棒了!我们一直乐于扩展我们的模型组合。
-
Fork 代码仓库:首先 fork Ultralytics GitHub 代码仓库。
-
克隆您的 Fork:将您的 fork 克隆到本地计算机,并创建一个新分支进行开发。
-
实现您的模型:按照我们的贡献指南中提供的编码标准和指南添加您的模型。
-
充分测试:确保严格测试您的模型,包括单独测试和作为流程的一部分进行测试。
-
创建 Pull Request:如果您对您的模型感到满意,请创建一个 pull request 到主代码仓库以供审核。
-
代码审核与合并:审核通过后,如果您的模型符合我们的标准,它将被合并到主代码仓库中。
有关详细步骤,请查阅我们的贡献指南。
常见问题
使用 Ultralytics YOLO11 进行对象检测的主要优势是什么?
Ultralytics YOLO11 提供了增强的功能,例如实时对象检测、实例分割、姿势估计和分类。其优化的架构确保了高速性能,且不牺牲 准确性,使其成为各种 AI 领域中各种应用的理想选择。YOLO11 在先前版本的基础上进行了构建,提高了性能并增加了其他功能,详情请参见 YOLO11 文档页面。
如何在自定义数据上训练 YOLO 模型?
使用 Ultralytics 的库可以轻松地在自定义数据上训练 YOLO 模型。这是一个快速示例:
示例
from ultralytics import YOLO
# Load a YOLO model
model = YOLO("yolo11n.pt") # or any other YOLO model
# Train the model on custom dataset
results = model.train(data="custom_data.yaml", epochs=100, imgsz=640)
yolo train model=yolo11n.pt data='custom_data.yaml' epochs=100 imgsz=640
有关更详细的说明,请访问训练文档页面。
Ultralytics 支持哪些 YOLO 版本?
Ultralytics 支持从 YOLOv3 到 YOLO11 的各种 YOLO(You Only Look Once)版本,以及 YOLO-NAS、SAM 和 RT-DETR 等模型。每个版本都针对各种任务进行了优化,例如检测、分割和分类。有关每个模型的详细信息,请参阅 Models Supported by Ultralytics 文档。
为什么我应该使用 Ultralytics HUB 进行机器学习项目?
Ultralytics HUB为训练、部署和管理 YOLO 模型提供了一个无需代码的端到端平台。它简化了复杂的工作流程,使用户能够专注于模型性能和应用。HUB 还提供云训练功能、全面的数据集管理以及用户友好的界面,适合初学者和经验丰富的开发人员。
YOLO11 可以执行哪些类型的任务,它与其他 YOLO 版本相比如何?
YOLO11 是一种多功能模型,能够执行包括对象检测、实例分割、分类和姿势估计在内的任务。与早期版本相比,由于其优化的架构和无锚框设计,YOLO11 在速度和准确性方面有了显著提高。有关更深入的比较,请参阅 YOLO11 文档 和 任务页面,以获取有关特定任务的更多详细信息。