Ultralytics YOLO27:
Ultralytics YOLO

如何针对实例分割自定义训练 Ultralytics YOLO26

了解如何针对实例分割自定义训练 Ultralytics YOLO26:模型使用像素级掩码识别并分离每个独立目标。

ABAbirami Vina10 分钟阅读
自定义训练 YOLO26 的实例分割结果

得益于近期的技术进步,许多在生活中默默发挥重要作用的智能系统都由 AI 驱动。例如,汽车闯红灯时摄像头会自动记录违章,或者生产线上的自动化质量检测系统发现制造缺陷,背后都有 AI 在发挥作用。

其中,称为计算机视觉的 AI 分支让机器能够解读并理解图像和视频。计算机视觉使系统能够实时识别目标、跟踪运动并分析视觉细节,因此对于交通监控、工业检测和机器人等应用至关重要。

这些能力得益于计算机视觉模型,例如支持多种视觉任务(包括目标检测和实例分割)的 Ultralytics YOLO26。目标检测使用简单的边界框识别目标,而实例分割更进一步,能够在像素级勾勒每个目标的轮廓,从而在真实场景中实现更准确、可靠的结果。

使用 Ultralytics YOLO26 分割图像中的目标

图 1. 使用 Ultralytics YOLO26 分割图像中的目标

Ultralytics YOLO26 等模型经过预训练,可以开箱即用地分割人物、汽车和动物等常见目标。不过,针对更具体的应用,你也可以对模型进行自定义训练。换句话说,模型可以学习识别目标的外观,并准确勾勒其轮廓。

本文将介绍如何针对实例分割对 Ultralytics YOLO26 进行自定义训练。现在开始吧!

什么是实例分割?#

在深入了解模型训练之前,我们先退一步,了解实例分割究竟是什么。

实例分割是一项计算机视觉任务,可让模型找到图像中的每个独立目标,并勾勒出其精确形状。模型不仅要识别目标是否存在,还会检查图像中的每个像素,并判断该像素是否属于某个特定目标。

这意味着,即使目标彼此重叠或距离很近,模型也能将它们区分开来。帮助我们直观理解实例分割的一个关键概念是掩码。

掩码是一个像素级轮廓,只覆盖目标所在的区域。你可以把它想象成用荧光笔给目标涂色,同时让其他部分保持原样。

每个目标都有自己的掩码,因此模型能够区分不同目标,即使它们属于同一类别,例如两辆汽车或站在一起的两个人。

通过像素级掩码了解实例分割

图 2. 实例分割一览

为了更好地理解实例分割,我们可以将它与其他常见的计算机视觉任务进行比较。目标检测使用边界框,也就是绘制在目标周围的简单矩形。边界框速度快、实用,但无法呈现目标的精确形状。

语义分割则会按类别标注图像中的每个像素,但无法区分同一类别中的不同目标。实例分割结合了这两种方法的优点:既能识别目标类别,又能为每个独立目标分配单独的掩码。

实例分割能提供如此详细的信息,因此在自动化质量检测、医学影像和机器人等真实应用场景中特别有用。需要精确测量、准确边界或区分目标的任务,都能受益于这种像素级理解能力。

Ultralytics YOLO26 支持实例分割#

Ultralytics YOLO26 是一款端到端、无需非极大值抑制 (NMS) 的先进计算机视觉模型,专为快速、高效地处理真实场景中的视觉任务而设计。它属于 Ultralytics YOLO 检测模型系列,可实时处理图像和视频,同时提供准确结果。

Ultralytics YOLO26 在单一框架中支持多种视觉任务,包括目标检测、姿态估计、图像分类、有向边界框检测 (obb detection) 和实例分割。

Ultralytics YOLO26 开箱即用,已经过预训练,这意味着它已从 COCO 和 ImageNet 等大型、广泛使用的数据集中学会识别人物、车辆和日常用品等常见目标。你无需额外训练即可立即使用该模型。

不过,如果你的应用涉及独特目标、特定环境或特殊光照条件,自定义模型训练可以显著提升效果。使用你自己标注的图像训练 Ultralytics YOLO26,可以教会模型准确识别需要关注的内容,并针对特定用例更精确地勾勒目标轮廓。

这个过程也称为微调。微调并非从头开始训练模型,而是以预训练的 Ultralytics YOLO26 模型为基础,使用你自己的数据对其进行适度调整。由于模型已经理解边缘、形状和纹理等通用视觉模式,因此只需少量标注图像和更短的时间,就能学会识别你的特定目标。

简单来说,与从头开始训练模型相比,微调速度更快、效率更高,也更易上手。即使是初学者,或数据和计算资源有限的团队,对 Ultralytics YOLO26 进行自定义训练也很实用。

探索 Ultralytics YOLO26 实例分割的应用#

那么,实例分割在哪些场景中能发挥作用?当区分目标并理解其精确形状十分重要时,尤其是在目标密集或彼此重叠的情况下,它就很有用。

以下是实例分割能带来显著效果的一些常见工作流:

  • 航拍和无人机成像:这项任务使无人机能够在航拍图像中区分建筑物、车辆和植被等目标,用于制图、检查和测绘。
  • 体育分析:实例分割可以在比赛或训练期间将运动员与背景区分开来,帮助分析运动员的移动和互动。
  • 建筑与基础设施监控:它有助于识别建筑物、桥梁和道路中的结构构件、裂缝或受损区域,为维护规划提供支持。
  • 医疗保健与医学影像:实例分割可以精确勾勒细胞、组织或医疗器械的轮廓,帮助提高分析和诊断的准确性。
  • 农业与环境监测:它可以识别并区分作物、水果或植物病害,从而更轻松地估算产量并实施有针对性的处理。

使用 Ultralytics YOLO26 分割田地中的杂草

图 3. 使用 YOLO26 分割杂草的示例(来源)

Ultralytics YOLO26 实例分割自定义训练的工作原理#

接下来,我们来看看自定义训练的工作原理。模型训练听起来可能很专业,但整个过程其实很简单。

你可以准备图像、标注希望模型学习的目标、配置一个小型设置文件,然后使用 Ultralytics Python 软件包训练 YOLO26。Ultralytics Python 软件包是一个软件库,提供开箱即用的工具,用于训练、测试和部署 YOLO 模型,无需从头开始构建所有内容。

第 1 步:准备自定义数据集#

第一步是准备你的自定义分割数据集。数据集就是一组图像,用来展示你希望模型学习识别的对象。

尽量纳入能反映真实世界情况的图像,例如不同角度、光照、背景和对象尺寸。图像越多样,模型的表现就越好。

实例分割还需要为图像添加标注。标注是指为每张图像中的对象添加标签,让模型知道要学习什么。你需要围绕每个对象绘制详细的轮廓(多边形),标出对象的精确形状,而不是只画简单的框。这些轮廓会成为模型学习预测的掩码。

你可以使用多种开源标注工具来创建这些标签。许多工具都提供易于使用的界面,你可以在其中上传图像并直接绘制对象轮廓。

图像和标注准备就绪后,你可以将它们整理到训练和验证文件夹中。常见的划分方式是将 80% 的图像用于训练,20% 用于验证;根据数据集大小,也常采用 70% 用于训练、30% 用于验证的方式。训练集用于教会模型,验证集则用于衡量模型在未见过的图像上的表现。

保持这种划分均衡,并确保两个文件夹都包含多种示例,这一点很重要。干净、标注完善的数据集,以及合理划分的训练集和验证集,是构建强大实例分割模型的基础。

步骤 2:创建数据集 YAML 文件#

准备好图像和标注后,下一步是创建数据集 YAML 文件。该文件会说明数据集的位置,以及模型在训练期间需要学习哪些对象类别。

在此文件中,你可以定义数据集根目录、训练和验证图像文件夹的路径,以及类别名称列表。类别名称的排列顺序必须与标注文件中使用的类别编号一致,这样才能正确对应。

如果你对具体格式有任何疑问,可以参阅Ultralytics 官方文档了解详情。

步骤 3:安装 Ultralytics Python 包#

现在,数据集和 YAML 文件都已准备就绪,下一步是安装 Ultralytics Python 包。

此软件包包含训练、验证、运行推理以及导出 Ultralytics YOLO26 模型所需的工具。它让你无需从头搭建复杂的训练流水线,就能轻松使用 YOLO 模型。

安装 Ultralytics Python 包之前,还需要选择运行代码的环境。你可以在多种不同的开发环境中使用 Ultralytics 包,例如:

  • 命令行界面 (CLI):这是一种基于文本的环境,你可以通过输入命令与计算机交互。与在图形界面中点击按钮或浏览菜单不同,你可以输入指令,直接运行程序和执行任务。
  • Jupyter Notebooks:这是一种交互式环境,你可以分段编写并运行代码,并立即查看输出结果。这有助于开展实验和学习。
  • Google Colab:这是一种基于云的笔记本平台,无需在本地安装,并可选择使用图形处理器 (GPUs)。这通常是初学者最容易上手的选择。

选好环境后,就可以安装 Ultralytics Python 包了。运行以下命令即可安装:

pip install ultralytics

如果你使用 Google Colab 或 Jupyter Notebook 等基于笔记本的环境,请在命令开头加上感叹号。如果遇到安装问题,可以参阅 Ultralytics 文档或故障排除指南,了解常见问题的解决方法和环境配置建议。

安装完成后,你就可以加载预训练的 Ultralytics YOLO26 分割模型并开始训练了。

步骤 4:训练 Ultralytics YOLO26 进行实例分割#

开始训练前,你需要选择模型尺寸。Ultralytics YOLO26 模型有多种尺寸:Nano (n)、Small (s)、Medium (m)、Large (l) 和 Extra Large (x)。

较小的模型训练速度更快,在中央处理器 (CPUs) 或边缘设备上运行也更高效;较大的模型通常精度更高,但需要更多内存,并且能从 GPU 加速中获益。如果你刚开始使用或硬件资源有限,Nano 版本 (YOLO26n) 是个实用的选择。

选好模型尺寸后,下一步是加载预训练分割模型,并在自定义数据集上开始训练。为此,你需要指定预训练模型文件、数据集 YAML 文件的路径、训练轮数以及图像尺寸,如下所示。

from ultralytics import YOLO

model = YOLO("yolo26n-seg.pt")
results = model.train(data="path/to/file.yaml", epochs=100, imgsz=640)

训练轮数决定模型会遍历整个训练数据集多少次。每一轮中,模型都会进行预测,将预测结果与正确标注进行比较,计算误差,并更新内部参数以提升性能。

如果训练正常启动,你会在终端或笔记本中看到模型配置、数据集扫描结果和训练进度。训练继续进行时,每轮结束后都会更新损失值和评估指标,展示模型如何逐步提升。

步骤 5:评估自定义训练模型的性能#

训练完成后,你可以查看并验证模型的性能指标。在 Google Colab 中,你可以依次打开“runs”文件夹、“segment”文件夹和“train”文件夹,查看其中显示关键性能指标的日志。

如果你在 Python 环境中工作,训练结果默认保存在当前工作目录下的“runs/train/”目录中。每次训练都会创建一个新的子目录,例如 runs/train/exp 或 runs/train/exp2,其中包含与该实验相关的日志、保存的权重和其他输出。

如果你使用 CLI,可以通过“yolo settings”命令访问和管理这些结果。此命令可让你查看或修改与训练日志和实验详情相关的路径及配置。

保存的输出中还会包含训练期间生成的图表。这些图表展示了模型随时间的改进情况。例如,它们会显示模型学习过程中损失如何下降,以及精确率、召回率和平均精度均值等评估指标如何随着训练轮数增加。

用于评估模型性能的训练图表

图 4. 可用于分析和评估模型的图表类型(来源)

这些趋势图可以帮助你了解模型是否训练成功,以及从训练开始到结束提升了多少。在开始使用新图像进行测试之前,同时查看数值指标和图表,可以让你更清楚地了解实例分割模型的表现。

步骤 6:测试模型并运行推理#

验证模型后,最后一步是在新图像上测试模型。这个过程称为推理,简单来说,就是使用训练好的模型对未见过的数据进行预测。

你可以在 Python 中按如下方式运行推理:

results = model.predict("path/to/image.jpg", save=True, conf=0.3)

在此示例中,你可以将 "path/to/image.jpg" 替换为要测试的图像路径。

“save=True”设置会指示模型生成并保存一张新图像,其中会在原始图像上绘制预测出的分割掩码。

“conf=0.3”设置用于控制置信度阈值,这意味着模型只会显示它认为至少有 30% 把握正确的预测结果。降低此值可能会显示更多检测结果;提高此值则会让模型的筛选更严格。

运行命令后,模型会在 runs 目录中创建一个新文件夹,并将输出图像保存在其中。你可以打开保存的图像,直观检查分割掩码是否贴合对象边界,以及重叠对象是否被正确区分。

在不同图像、背景和光照条件下测试模型,可以让你更清楚地了解模型在训练数据集之外的表现。如果结果稳定且准确,模型就可以导出并部署了。

步骤 7:导出并部署模型#

测试模型并确认其表现良好后,最后一步就是导出并部署模型。导出会将训练好的 Ultralytics YOLO26 模型转换为可在不同环境中运行的格式,例如生产服务器、边缘设备或移动应用。

Ultralytics 支持多种导出格式,你可以根据部署环境选择最合适的格式。例如,你可以导出为 ONNX,以便在不同平台上广泛兼容;导出为 TensorRT,以便在 NVIDIA 硬件上优化 GPU 性能;或者导出为 OpenVINO,以便在 Intel 设备上高效地通过 CPU 部署。这些集成让你更轻松地在训练环境之外运行模型,并实现出色的实时性能。

你可以在 Python 中使用以下命令导出模型:

model.export(format="onnx")

此命令会将训练好的模型转换为 ONNX 格式。根据部署需求,你可以将 "onnx" 替换为其他受支持的格式。

导出后,你可以将模型集成到 Web 服务、嵌入式视觉系统、机器人平台或工业检测系统等应用中。至此,你自定义训练的 Ultralytics YOLO26 实例分割模型就可以从实验阶段进入实际部署。

要点#

针对实例分割自定义训练 Ultralytics YOLO26,让你可以灵活构建真正适合特定应用场景的模型。通过准备清晰的数据集、设置 YAML 文件、使用预训练分割权重进行训练并检查结果,你可以教会模型在像素级别准确描绘每个对象。经过测试和导出后,你的 YOLO26 模型就能从开发阶段迈向各种真实世界应用。

加入我们的社区,并查看我们的 GitHub 仓库,了解更多 AI 相关内容。如果你想构建自己的视觉 AI 项目,可以了解我们的许可选项。访问我们的解决方案页面,进一步了解医疗保健领域的 AI和零售领域的视觉 AI等应用。

Explore solutions

航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情
航空影像计算机视觉

航空影像计算机视觉

借助 Ultralytics YOLO,将无人机和航空影像转化为实时洞察,应用于农业、水产养殖、环境监测、自然保护和地理空间分析。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 模型将视觉 AI 应用于航空监测。借助计算机视觉解决方案,赋能无人机、航空航天工作流、环境保护和地理空间行业。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来