遇见 YOLO26: 下一代视觉 AI。
Ultralytics
Ultralytics YOLO

如何自定义训练 Ultralytics YOLO26 进行实例分割

了解如何针对实例分割自定义训练 Ultralytics YOLO26,其中模型使用像素级掩码识别并分离每个单独的对象。

ABAbirami Vina6 min read
自定义训练的 YOLO26 实例分割结果

得益于近期的技术进步,许多在我们生活中发挥着无声但重要作用的智能系统都由 AI 驱动。例如,当汽车闯红灯时,摄像头会自动记录违规行为;或者当自动质量检测系统在生产线上发现制造缺陷时,AI 就在幕后完成这些工作。

特别是 AI 的一个分支,即 计算机视觉,它使机器能够解释和理解图像与视频。计算机视觉让系统能够实时识别物体、跟踪运动并分析视觉细节,这对于交通监控、工业检测和机器人技术等应用至关重要。

这些能力是通过 计算机视觉模型(例如 Ultralytics YOLO26)实现的,它支持各种视觉任务,包括目标检测和实例分割。虽然目标检测使用简单的边界框来识别物体,但实例分割更进一步,它在像素级勾勒出每个物体,从而在现实场景中实现更准确、更可靠的结果。

使用 YOLO26 对图像中的对象进行分割

图 1. 使用 YOLO26 对图像中的物体进行分割

像 YOLO26 这样的模型是预训练好的,开箱即可分割常见物体,例如人、汽车和动物。然而,对于更具体的应用,它们也可以进行自定义训练。换句话说,模型可以学会识别物体的外观以及如何准确地勾勒它们。

在本文中,我们将逐步介绍如何针对实例分割对 Ultralytics YOLO26 进行自定义训练。让我们开始吧!

Link to this section什么是实例分割?#

在深入探讨训练模型之前,让我们先退一步,了解 实例分割 究竟意味着什么。

实例分割是一项计算机视觉任务,它让模型能找到图像中的每一个独立物体并勾勒出其确切形状。模型不仅识别物体是否存在,还会查看图像中的每个像素,并确定它是否属于某个特定的物体。

这意味着即使物体重叠或靠得很近,它也能将它们分离开来。使实例分割易于可视化的一个关键概念是掩码(mask)。

掩码是一种像素级的轮廓,仅覆盖物体的区域。你可以将其想象成用荧光笔为物体着色,同时保持其他部分不变。

每个物体都有自己的掩码,这使得模型能够区分不同的物体,即使它们是同一种类型,例如并排站立的两辆车或两个人。

基于像素级掩码的实例分割概览

图 2. 实例分割概览

为了更好地理解什么是实例分割,我们可以将其与其他常见的 计算机视觉任务 进行比较。目标检测使用边界框,即围绕物体绘制的简单矩形。边界框快速且有用,但它们无法捕捉物体的精确形状。

同时,语义分割按类别标注图像中的每个像素,但它不区分同一类别的不同物体。实例分割结合了两种方法的优点,即识别物体类别并为每个独立物体分配单独的掩码。

由于实例分割提供了如此详细的信息,它在自动化质量检测、医学影像和机器人等现实应用中特别有用。需要精确测量、准确边界或物体分离的任务都可以从这种像素级的理解中获益。

Link to this sectionUltralytics YOLO26 支持实例分割#

Ultralytics YOLO26 是一款端到端、无 NMS、最先进的计算机视觉模型,旨在快速高效地处理现实世界的视觉任务。它属于 Ultralytics YOLO 检测模型系列,该系列能够实时处理图像和视频,同时提供准确的结果。

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

YOLO26 开箱即用,已预先训练,这意味着它已经学会了从大型且广泛使用的数据集(如 COCO 数据集和 ImageNet 数据集)中识别常见物体,例如人、车辆和日常用品。你无需任何额外训练即可立即开始使用该模型。

然而,当你的应用涉及独特物体、特定环境或异常光照条件时,自定义模型训练 可以显著改善结果。通过在你自己标注的图像上训练 YOLO26,你可以教模型确切地寻找什么,并为你的特定用例更准确地勾勒物体。

这个过程也称为微调(fine-tuning)。微调不是从零开始训练模型,而是从预训练的 YOLO26 模型开始,并使用你自己的数据对其进行适当调整。因为模型已经理解了边缘、形状和纹理等通用视觉模式,所以它只需要少得多的标注图像和少得多的时间来学习你的特定物体。

简而言之,微调比从头开始训练模型更快、更高效且更容易上手。即使对于初学者或数据和计算资源有限的团队,自定义训练 YOLO26 也是一个实用的选择。

Link to this section探索 YOLO26 实例分割应用#

那么,实例分割在哪些方面能产生影响?在需要区分物体并理解其精确形状的情况下,尤其是在物体拥挤或重叠时。

以下是一些实例分割发挥重要作用的常见工作流:

  • 空中和无人机影像:此任务使无人机能够分离航拍图像中的建筑物、车辆和植被等物体,以进行地图绘制、检查和测绘。
  • 体育分析:实例分割有助于通过在比赛或训练期间将单个运动员从背景中分离出来,从而分析球员的动作和互动。
  • 建筑和基础设施监控:它有助于识别建筑物、桥梁和道路中的结构元素、裂缝或受损区域,以进行维护规划。
  • 医疗保健和医学影像:实例分割使得精确勾勒细胞、组织或医疗工具成为可能,从而支持更准确的分析和诊断。
  • 农业和环境监测:它可以识别和分离农作物、水果或植物病害,从而更容易估算产量并进行针对性处理。

使用 YOLO26 分割田间的杂草

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

Link to this section如何针对实例分割自定义训练 YOLO26 的工作原理#

接下来,让我们讨论自定义训练的工作原理。虽然训练模型听起来很专业,但整个过程非常直观。

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

Link to this section第 1 步:准备你的自定义数据集#

第一步是准备你的自定义 分割数据集。数据集只是你想让模型学习的物体图像集合。

尽量包含反映现实世界条件的图像,例如不同的角度、光照、背景和物体大小。你的图像越多样化,模型表现就越好。

对于实例分割,你的图像还需要标注。标注涉及标记每个图像中的物体,以便模型知道要学习什么。你将不再是绘制简单的方框,而是要在每个物体周围绘制详细的轮廓(多边形)来标记其确切形状。这些轮廓成为模型学习预测的掩码。

有几种开源标注工具可供你用来创建这些标签。其中许多工具提供友好的界面,你可以在那里上传图像并直接在其上绘制物体轮廓。

图像和标注准备就绪后,你可以将它们组织到训练和验证文件夹中。典型的划分是 80% 的图像用于训练,20% 用于验证,尽管根据数据集的大小,70% 用于训练和 30% 用于验证也很常见。训练集用于教模型,而验证集用于衡量它在未见过的图像上的表现。

保持这种划分的平衡并确保两个文件夹都包含各种示例很重要。一个干净、标注良好且具有适当训练和验证集划分的数据集是强大的实例分割模型的基础。

Link to this section第 2 步:创建数据集 YAML 文件#

准备好图像和标注后,下一步是创建一个数据集 YAML 文件。此文件突出了你的数据集所在的位置,以及模型在训练期间应该学习哪些物体类别。

在此文件中,你可以定义数据集根目录、训练和验证图像文件夹的路径以及类别名称列表。类别名称必须与标注文件中使用的类别编号顺序相同,以确保一切匹配正确。

如果你对确切格式有任何疑问,可以参考 官方 Ultralytics 文档 了解更多详细信息。

Link to this section第 3 步:安装 Ultralytics Python package#

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

此包包含了训练、验证、运行推理和导出 YOLO26 模型所需的工具。它提供了一种简化的方式来处理 YOLO 模型,无需从头构建复杂的训练流水线。

在安装 Ultralytics Python package 之前,选择要在哪里运行代码也很重要。你可以在多种不同的开发环境中处理 Ultralytics 包,例如:

  • 命令行界面 (CLI):这是一个基于文本的环境,你通过输入命令与计算机交互。你不需要像在图形界面中那样点击按钮或导航菜单,而是输入书面指令来直接运行程序和执行任务。
  • Jupyter Notebooks:一个交互式环境,你可以在其中编写并分段运行代码,并立即查看输出。这对实验和学习非常有帮助。
  • Google Colab:一个基于云的笔记本平台,无需本地安装,并提供对图形处理单元 (GPU) 的可选访问权限。对于初学者来说,这通常是最简单的选择。

一旦选择了环境,你就可以安装 Ultralytics Python package。要安装它,请运行以下命令:

pip install ultralytics

如果你使用的是 Google Colab 或 Jupyter Notebook 等基于笔记本的环境,请在命令开头添加一个感叹号。如果你遇到任何安装问题,可以参考 Ultralytics 文档或 故障排除指南 以获取常见修复方法和环境设置提示。

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

Link to this section第 4 步:针对实例分割训练 YOLO26#

在开始训练之前,你需要选择模型大小。YOLO26 模型有不同大小可选:Nano (n)、Small (s)、Medium (m)、Large (l) 和 Extra Large (x)。

较小的模型训练更快,在中央处理单元 (CPU) 或边缘设备上运行更高效,而较大的模型通常提供更高的准确度,但需要更多内存并能从 GPU 加速中受益。如果你刚开始接触或硬件有限,Nano 版本 (YOLO26n) 是一个实用的选择。

选择好模型大小后,下一步就是加载预训练的分割模型,并开始在你的自定义数据集上进行训练。为此,你需要指定预训练模型文件、数据集 YAML 文件的路径、epoch 数量和图像大小,如下所示。

from ultralytics import YOLO

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

epoch 数量决定了模型遍历整个训练数据集的次数。通过每个 epoch,模型进行预测,将它们与正确的标注进行比较,计算误差,并更新其内部参数以提高性能。

如果训练开始正常,你将在终端或笔记本中看到显示的模型配置、数据集扫描和训练进度。随着训练的进行,损失值和评估指标会在每个 epoch 后更新,显示模型如何随时间改进。

Link to this section第 5 步:评估自定义训练模型的性能#

训练过程完成后,你可以回顾并验证模型的性能指标。在 Google Colab 中,你可以导航到“runs”文件夹,然后是“segment”文件夹,最后是“train”文件夹,在那里你会找到显示关键性能指标的日志。

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

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

在保存的输出中,你还会找到在训练期间生成的图表。这些图表显示了模型如何随时间改进。例如,它们显示了随着模型学习,损失如何降低,以及精度(precision)、召回率(recall)和平均精度均值(mAP)等评估指标如何跨 epoch 增加。

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

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

这些视觉趋势可以帮助你了解模型是否训练成功,以及它从训练开始到结束改进了多少。回顾数值指标和图表,能让你在进行新图像测试之前更清楚地了解你的实例分割模型表现如何。

Link to this section第 6 步:测试你的模型并运行推理#

验证模型后,最后一步是在新图像上测试它。这个过程称为推理(inference),意思是使用你训练好的模型对未见数据进行预测。

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

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

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

“save=True”设置告诉模型生成并存储一张新图像,其中包括绘制在原始图像上的预测分割掩码。

“conf=0.3”设置控制置信度阈值,这意味着模型将只显示它至少有 30% 确信正确的预测。降低此值可能会显示更多检测结果,而增加它会使模型更具选择性。

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

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

Link to this section第 7 步:导出并部署你的模型#

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

Ultralytics 支持多种 导出格式,让你能够选择最适合你部署设置的一种。例如,你可以导出为 ONNX 以实现跨平台的广泛兼容性,导出为 TensorRT 以在 NVIDIA 硬件上获得优化的 GPU 性能,或导出为 OpenVINO 以在 Intel 设备上实现高效的 CPU 推理。这些集成使得在训练环境之外运行模型并获得强大的实时性能变得更加容易。

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

model.export(format="onnx")

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

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

Link to this section关键要点#

针对实例分割自定义训练 Ultralytics YOLO26 为你提供了构建真正适合你特定用例的模型灵活性。通过准备清晰的数据集、设置 YAML 文件、使用预训练的分割权重进行训练以及检查结果,你可以教模型在像素级准确勾勒每个物体。一旦经过测试和导出,你的 YOLO26 模型就可以从开发走向多场景的实际应用。

加入 我们的社区 并查看我们的 GitHub 仓库 以探索更多关于 AI 的知识。如果你正在寻求构建自己的视觉 AI 项目,请查看我们的 许可选项。通过访问我们的解决方案页面,探索更多关于 医疗保健 AI零售视觉 AI 等应用的信息。

Explore solutions

Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多
Real-time AI that works with your team

机器人技术中的 AI

使用 Ultralytics YOLO 模型为智能机器赋能。机器人技术中的视觉 AI 可推动自主导航、感知、物体跟踪和实时控制。
了解更多
Real-time AI that works with your team

物流中的 AI

使用 Ultralytics YOLO 模型简化物流。视觉 AI 可实现包裹检查、分拣、车辆跟踪和实时仓库安全监控。
了解更多
Real-time AI that works with your team

零售业 AI

使用 Ultralytics YOLO 模型重塑零售业。视觉 AI 推动库存跟踪、货架监控、队列管理和更智能的客户洞察。
了解更多
Real-time AI that works with your team

医疗保健中的 AI

利用 Ultralytics YOLO 模型构建医疗保健解决方案。医疗保健中的视觉 AI 可助力更快速的医学影像分析、更智能的诊断和患者监测。
了解更多
Real-time AI that works with your team

制造业中的 AI

使用 Ultralytics YOLO 模型优化制造业。视觉 AI 推动质量控制、缺陷检测、PPE 合规性和装配线自动化。
了解更多
Real-time AI that works with your operation

汽车中的 AI

将计算机视觉应用于汽车行业,并配合 Ultralytics YOLO 模型。汽车视觉 AI 可提升道路安全、辅助驾驶和车辆自动化,打造更智能的道路。
了解更多
Real-time AI tailored to your operation

农业中的 AI

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。赋能作物监测、牲畜追踪和精准农业,实现更高、更智能的产量。
了解更多

让我们一起构建 AI 的未来!

开启你的机器学习未来之旅