YOLO(You Only Look Once)是一种流行的实时物体检测算法,由 Ultralytics 提供的 YOLO 模型系列包括多个版本,每个版本都针对不同的性能和速度需求进行了优化。从YOLOv3到YOLOv11,每个版本都有其独特的特点和改进,以适应不断变化的技术需求。
YOLOv3是该系列的第三次迭代,由 Joseph Redmon 设计,以其高效的实时物体检测功能而闻名。YOLOv4是 YOLOv3 的暗网本地升级版,由 Alexey Bochkovskiy 于 2020 年发布。YOLOv5是 Ultralytics 的 YOLO 架构的改进版本,与以前的版本相比,性能和速度都有所提高。
YOLOv6由美团公司于 2022 年发布,并在该公司的许多自主配送机器人中使用。YOLOv7是更新的 YOLO 模型,由YOLOv4的于 2022 年发布。YOLOv8 是 YOLO 家族的最新版本,具有增强功能,如实例分割、姿态/关键点估计和分类。
YOLOv9是 Ultralytics 的实验模型,实现了可编程梯度信息 (PGI) 的代码库。YOLOv10由清华大学提供,采用无 NMS 训练和效率-精度驱动架构,提供最先进的性能和延迟。YOLOv11是 Ultralytics 的最新 YOLO 模型,提供最先进的性能。
本示例提供了简单的 YOLO 训练和推理示例。有关这些模式和其他模式的完整文档,请参阅 "预测"、"训练"、"验证"和 "导出" 文档页面。以下示例是为 YOLOv8 Detect 模型进行对象检测的。对于其他支持的任务,请查看 Segment、Classify 和 Pose 文档。
使用以下 Python CLI 和 PyTorch 预训练的 *.pt 模型以及配置 *.yaml 文件可以传递给 YOLO()、SAM()、NAS() 和 RTDETR() 类中创建一个模型实例。
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 吗?很好!随时欢迎扩展模特组合。以下是如何贡献模型的步骤:
首先,分叉UltralyticsGitHub 仓库。将分叉克隆到本地机器上,创建一个新的分支来工作。按照《贡献指南》中提供的编码标准和指南添加模型。确保严格测试模型,既要单独测试,也要作为管道的一部分进行测试。对模型感到满意后,向主版本库创建拉取请求以供审核。审核后,如果模型符合标准,将把它合并到主资源库中。
使用UltralyticsYOLOv8 进行物体检测的主要优势是什么?Ultralytics YOLOv8 offers enhanced capabilities such as real-time object detection, instance segmentation, pose estimation, and classification. Its optimized architecture ensures high-speed performance without sacrificing accuracy, making it ideal for a variety of applications. YOLOv8 also includes built-in compatibility with popular datasets and models, as detailed on the YOLOv8 documentation page.
如何在自定义数据上训练YOLOv8模型?使用Ultralytics' 库可以轻松地在自定义数据上训练 YOLOv8 模型。下面是一个快速示例:
from ultralytics import YOLO
# Load a YOLOv8n model
model = YOLO(
"yolov8n.pt"
)
# Train the model on custom dataset
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 文档支持的模型。
Why should I use Ultralytics HUB for machine learning projects? Ultralytics HUB 为培训、部署和管理 YOLO 模型提供了一个无代码的端到端平台。它简化了复杂的工作流程,使用户能够专注于模型性能和应用。HUB 还提供云培训功能、全面的数据集管理和用户友好界面。如需了解更多信息,请访问 Ultralytics HUB 文档页面。