Kaggle知识点:YOLO 11 安装与使用指南

学术   2024-10-14 17:46   北京  

unsetunsetYOLO 11unsetunset

YOLO11是Ultralytics YOLO系列实时目标检测器的最新迭代,它在准确性、速度和效率方面重新定义了可能性。在以往YOLO版本的显著进步基础上,YOLO11在架构和训练方法上引入了重大改进,使其成为广泛计算机视觉任务的多功能选择。

关键特性:

  • 增强的特征提取: YOLO11采用改进的骨干和颈部架构,增强了特征提取能力,实现了更精确的目标检测和复杂任务的性能。
  • 优化效率和速度: YOLO11引入了精细的架构设计和优化的训练流程,提供了更快的处理速度,并在准确性和性能之间保持了最佳平衡。
  • 更少的参数实现更高的准确性: 随着模型设计的进展,YOLO11m在COCO数据集上实现了更高的平均精度均值(mAP),同时比YOLOv8m使用的参数减少了22%,使其在不牺牲准确性的情况下具有计算效率。
  • 适应不同环境: YOLO11可以无缝部署在各种环境中,包括边缘设备、云平台和支持NVIDIA GPU的系统,确保了最大的灵活性。
  • 支持广泛的任务: 无论是目标检测、实例分割、图像分类、姿态估计还是定向目标检测(OBB),YOLO11都旨在应对多样化的计算机视觉挑战。
模型图片尺寸(像素)mAPval 50-95CPU ONNX 速度(ms)T4 TensorRT10 速度(ms)参数量(M)FLOPs(B)
YOLO11n64039.556.1 ± 0.81.5 ± 0.02.66.5
YOLO11s64047.090.0 ± 1.22.5 ± 0.09.421.5
YOLO11m64051.5183.2 ± 2.04.7 ± 0.120.168.0
YOLO11l64053.4238.6 ± 1.46.2 ± 0.125.386.9
YOLO11x64054.7462.8 ± 6.711.3 ± 0.256.9194.9

unsetunset安装方法unsetunset

Ultralytics 提供了多种安装方法,包括 pip、conda 和 Docker。可以通过 ultralytics pip 包安装 YOLO 的最新稳定版本,或者通过克隆 Ultralytics 的 GitHub 仓库来获取最新开发版本。

# 稳定发行版
pip install ultralytics

# 从 GitHub 安装 最新版
pip install git+https://github.com/ultralytics/ultralytics.git@main

YOLO 11检测(Detect)、分割(Segment)和姿态估计(Pose)模型是在COCO数据集上预训练的,而分类(Classify)模型则是在ImageNet数据集上预训练的。

- 检测 https://docs.ultralytics.com/tasks/detect/
- 分割 https://docs.ultralytics.com/tasks/segment/
- 分类 https://docs.ultralytics.com/tasks/classify/
- 姿态估计 https://docs.ultralytics.com/tasks/pose/
- 旋转检测 https://docs.ultralytics.com/tasks/obb/

基础使用方法:

from ultralytics import YOLO

# 从头开始创建一个新的 YOLO 模型
model = YOLO("yolo11n.yaml")

# 加载预训练的 YOLO 模型(推荐用于训练)
model = YOLO("yolo11n.pt")

# 使用 'coco8.yaml' 数据集训练模型 3 个周期
results = model.train(data="coco8.yaml", epochs=3)

# 在验证集上评估模型的性能
results = model.val()

# 使用模型对图像进行目标检测
results = model("https://ultralytics.com/images/bus.jpg")

# 将模型导出到 ONNX 格式
success = model.export(format="onnx")

unsetunset使用案例unsetunset

使用场景:模型训练

https://docs.ultralytics.com/modes/train/#train-settings

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n.yaml")  # 从YAML构建新模型
model = YOLO("yolo11n.pt")  # 加载预训练模型(推荐用于训练)
model = YOLO("yolo11n.yaml").load("yolo11n.pt")  # 从YAML构建并转移权重

# 训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

多GPU训练允许更有效地利用可用硬件资源,通过在多个GPU上分配训练负载。此功能可通过Python API和命令行界面使用。要启用多GPU训练,请指定您希望使用的GPU设备ID。

多GPU训练示例

使用2个GPU(CUDA设备0和1)进行训练。根据需要扩展到更多GPU。

from ultralytics import YOLO

# 加载模型
model = YOLO("yolo11n.pt")  # 加载预训练模型(推荐用于训练)

# 使用2个GPU训练模型
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=[0, 1])
yolo train data=coco8.yaml epochs=100 imgsz=640 device=0,1

以下是YOLO模型训练设置的表格形式:

参数默认值描述
modelNone指定训练模型文件的路径。
dataNone数据集配置文件的路径。
epochs100训练的总轮数。
batch16批处理大小。
optimizer'auto'训练的优化器选择。
momentum0.937SGD的动量因子或Adam优化器的beta1。
weight_decay0.0005L2正则化项。

请注意,这个表格是基于您提供的信息整理的,可能需要根据实际的YOLO模型训练框架进行调整。

使用场景:模型验证

https://docs.ultralytics.com/modes/val/#key-features-of-val-mode

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category

使用场景:模型预测

https://docs.ultralytics.com/modes/predict/#key-features-of-predict-mode

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # pretrained YOLO11n model

# Run batched inference on a list of images
results = model(["image1.jpg""image2.jpg"])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk


 学习大模型 & 讨论Kaggle  #


△长按添加竞赛小助手

每天大模型、算法竞赛、干货资讯

与 36000+来自竞赛爱好者一起交流~


Coggle数据科学
Coggle全称Communication For Kaggle,专注数据科学领域竞赛相关资讯分享。
 最新文章