Ultralytics YOLO 模型概览

在计算机视觉领域,Ultralytics 提供了一系列优化的 YOLO(You Only Look Once)模型,这些模型专为对象检测、实例分割、图像分类、姿态估计和多对象跟踪等特定任务量身定制。支持从 YOLOv3 到 YOLOv11 等多个版本的模型,以及 SAM、RT-DETR 等其他先进的模型。如果有兴趣为模型架构贡献自己的力量,可以查看。

以下是支持的一些基础模型:

  • YOLOv3:由 Joseph Redmon 开发的 YOLO 模型系列的第三次迭代,以其高效的实时对象检测能力而闻名。
  • YOLOv4:由 Alexey Bochkovskiy 在 2020 年发布的 YOLOv3 的 darknet 本地更新版本。
  • YOLOv5:由 Ultralytics 开发的 YOLO 架构的改进版本,与之前的版本相比,提供了更好的性能和速度平衡。
  • YOLOv6:由美团在 2022 年推出,广泛用于公司的自动配送机器人中。
  • YOLOv7:由 YOLOv4 的在 2022 年发布的更新版 YOLO 模型。
  • YOLOv8:YOLO 家族的最新版本,增强了实例分割、姿态/关键点估计和分类等功能。
  • YOLOv9:一个在 Ultralytics 上训练的实验性模型,采用了可编程梯度信息(PGI)。
  • YOLOv10:由清华大学开发,不包含 NMS,专注于训练和效率-准确性的架构,提供了最新的性能和延迟。
  • YOLOv11:Ultralytics 最新的 YOLO 模型,提供了多个任务的最新性能(SOTA)。
  • Segment Anything Model (SAM):Meta 的原始 Segment Anything Model。
  • Segment Everything Model 2 (SAM2):适用于视频和图像的 Meta 的 Segment Anything Model 的新一代。
  • Mobile Segment Everything Model (MobileSAM):由 Kyung Hee University 开发,适用于移动应用的 MobileSAM。
  • Fast Segment Everything Model (FastSAM):由中国科学自动化研究所图像和视频分析组开发的 FastSAM。
  • YOLO-NAS:YOLO 神经架构搜索(NAS)模型。
  • Realtime Detection Transformers (RT-DETR):百度的 PaddlePaddle Realtime Detection Transformer 模型。
  • YOLO-World:由腾讯 AI Lab 提供的实时开放词汇对象检测模型。

快速开始:使用示例

以下示例提供了基本的 YOLO 训练和推理示例。有关其他模型的详细文档,请参阅 PredictTrainValExport 文档页面。请注意,以下示例是针对 YOLOv8 对象检测模型的。对于其他支持的任务,请参阅 SegmentClassifyPose 文档。

可以使用以下 Python 类在 Ultralytics 导入预训练的 *.pt 模型和配置 *.yaml 文件:

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. 克隆仓库:通过克隆Ultralytics的 GitHub 仓库开始。
  2. 克隆分支:将分支克隆到本地计算机,并为工作创建一个新的分支。
  3. 应用模型:遵循中提供的编码标准和指导方针,将模型添加进去。
  4. 彻底测试:确保模型单独以及作为管道的一部分都经过了仔细的测试。
  5. 创建拉取请求:当对模型感到满意时,为审查创建一个拉取请求到主仓库。
  6. 代码审查和合并:审查后,如果模型满足标准,它将被合并到主仓库中。

更多详细信息,请查看。

常见问题解答

使用 Ultralytics YOLOv8 的基本优势是什么? 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)

更多详细指南,请访问。

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