UltralyticsYOLO系列模型是一系列深度学习模型,专为目标检测、实例分割、图像分类、姿态估计和多目标追踪等任务设计。如果对贡献自己的模型架构给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)。
Segment Anything Model (SAM)
:Meta的原始Segment Anything Model(SAM)。
Segment Anything Model 2 (SAM2)
:Meta的下一代Segment Anything Model,适用于视频和图像。
Mobile Segment Anything Model (MobileSAM)
:由京畿大学开发的适用于移动应用的MobileSAM。
Fast Segment Anything Model (FastSAM)
:由中国科学院自动化研究所图像与视频分析组开发的FastSAM。
YOLO-NAS
:YOLO神经架构搜索(NAS)模型。
Realtime Detection Transformers (RT-DETR)
:百度的PaddlePaddle Realtime Detection Transformer(RT-DETR)模型。
YOLO-World
:由腾讯AI实验室开发的具有开放词汇的实时目标检测模型。
快速开始
本示例展示了简单的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仓库:开始通过Fork Ultralytics GitHub仓库。
2. 克隆Fork:将Fork克隆到本地计算机,并创建一个新的分支来工作。
3. 实现模型:通过遵循中编码标准和指南,添加模型。
4. 彻底测试:确保彻底测试模型,无论是单独的还是作为管道的一部分。
5. 创建Pull Request:如果对模型满意,向主仓库创建一个Pull Request以供审查。
6. 代码审查和合并:如果模型在审查后满足标准,它将被纳入主仓库。
更多详细信息,请查看。
常见问题解答
使用Ultralytics YOLOv8进行目标检测的主要优势是什么?
UltralyticsYOLOv8提供增强功能,如实时目标检测、实例分割、姿态估计和分类。其优化的架构确保了高速性能,同时不牺牲准确性,使其适用于各种应用。YOLOv8还包括与流行数据集和模型的内置兼容性,详细内容请参见。
如何在自己的数据上训练YOLOv8模型?
在自己的数据上训练YOLOv8模型可以使用Ultralytics库轻松完成。这里有一个简短的示例:
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还提供云训练选项、全面的数据集管理和用户友好的界面。更多信息,请访问。
YOLOv8能完成哪些任务,与早期YOLO版本相比如何?