YOLOv11在自定义数据集上训练做实例分割

文摘   2024-11-08 07:45   重庆  

点击下方卡片,关注“OpenCV与AI深度学习

视觉/图像重干货,第一时间送达!

介绍
    在快速发展的计算机视觉领域,YOLO (You Only Look Once) 系列一直为实时物体检测树立标杆。随着最近推出的 YOLOv11,Ultralytics 进一步提高了其功能,提高了准确性、速度和效率。
    本文将指导您完成使用自定义数据集训练 YOLOv11 以进行实例分割的过程,重点介绍其功能以及如何开始。
YOLOv11 概述
    YOLOv11 是 Ultralytics YOLO 系列的最新版本,在架构和训练方法方面带来了重大改进。它旨在处理各种计算机视觉任务,使其成为开发人员和研究人员的多功能工具。
主要特点
    • 增强的特征提取:YOLOv11 采用先进的 backbone 和 neck 架构,提高了其提取特征以实现精确对象检测的能力。
    • 优化的效率和速度:该模型拥有精致的架构设计,可实现更快的处理速度,同时保持准确性和性能之间的平衡。
    • 以更少的参数实现更高的准确率:YOLOv11m 在 COCO 数据集上实现了更高的平均精度 (mAP),同时使用的参数比 YOLOv8m 少了 22%,从而提高了计算效率。
    • 跨环境适应性:YOLOv11 可以无缝部署在边缘设备、云平台和带有 NVIDIA GPU 的系统上。

支持的任务
    YOLOv11 支持广泛的计算机视觉任务:

准备自定义数据集

    要训练 YOLOv11 进行实例分割,您首先需要准备数据集。方法如下:
    数据收集:收集表示要检测的类的图像。在此示例中,我们将使用 BRAIN-TUMOR 数据集,其中包含来自 roboflow 的 834 张图像。
    链接 :https://universe.roboflow.com/iotseecs/brain-tumor-yzzav
    标注:使用 LabelMe 或 VGG Image Annotator 等工具注释您的图像。确保以 COCO 格式保存注释以实现兼容性。
    数据集结构:组织您的数据集目录,包括图像和注释,并创建一个指定路径和类名称的 YAML 配置文件。
示例 YAML 结构
train: ../path/to/train/imagesval: ../path/to/val/images
nc: 1  # Number of classesnames: ['brain_tumor']  # List of class names

训练 YOLOv11 以进行实例分割

    第 1 步:设置环境

    确保您已安装必要的依赖项。您可以使用以下方法安装 Ultralytics 软件包:

pip install ultralytics
    第 2 步:加载 YOLOv11 模型
    加载为实例分割量身定制的预训练 YOLOv11 模型:
from ultralytics import YOLO
# Load a pretrained YOLOv11 model for instance segmentationmodel = YOLO("yolo11m-seg.pt")
    第 3 步:训练模型
    使用以下命令在自定义数据集上训练模型:
results = model.train(data="path/to/your/dataset.yaml", epochs=100, imgsz=640)

    您可以根据数据集和计算资源调整epochs和imgsz参数。

    第 4 步:评估模型
    训练完成后,评估模型的性能:
results = model.val()
运行推理
    训练后,您可以对新图像运行推理:
# Run inference on an imageresults = model.predict("path/to/your/test/image.jpg")

    YOLOv11 作为强大的实例分割工具脱颖而出,结合了尖端的准确性和效率。按照本文中概述的步骤,您可以在自定义数据集上有效地训练 YOLOv11 模型,并将其功能用于各种应用程序。

—THE END—

下载1:Pytorch常用函数手册

在「OpenCV与AI深度学习公众号后台回复:Pytorch函数手册即可下载学习全网第一份Pytorch函数常用手册,包括Tensors介绍、基础函数介绍、数据处理函数、优化函数、CUDA编程、多处理等十四章内容。

下载2:145个OpenCV实例应用代码
在「OpenCV与AI深度学习」公众号后台回复:OpenCV145即可下载学习145个OpenCV实例应用代码(Python和C++双语言实现)。

欢迎加入CV学习交流微信

觉得有用,记得点个赞和在看 

OpenCV与AI深度学习
专注计算机视觉、深度学习和人工智能领域干货、应用、行业资讯的分享交流!
 最新文章