深圳Yolo 视觉
深圳
立即加入

如何定制Ultralytics YOLO26进行实例分割

学习如何定制训练Ultralytics 进行实例分割,该模型通过像素级遮罩识别并分离每个独立物体。

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

特别是,人工智能的一个分支——计算机视觉——使机器能够解读和理解图像与视频。计算机视觉使系统能够实时识别物体、track 并分析视觉细节,因此在交通监控、工业检测和机器人技术等应用中至关重要。

这些能力得益于计算机视觉模型Ultralytics )的支持,该模型可处理多种视觉任务,包括目标检测与实例分割。目标检测通过简单边界框识别物体,而实例分割则更进一步——在像素级别勾勒每个物体的轮廓,从而在实际应用场景中实现更精准可靠的结果。

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

像YOLO26这样的模型经过预训练,开箱即可segment 人物、车辆和动物等segment 物体segment 。但针对更具体的应用场景,这些模型也可进行定制化训练。换言之,模型能够学习理解物体的形态特征,并掌握如何精确勾勒其轮廓。

本文将逐步演示如何定制Ultralytics 以实现实例分割。让我们开始吧!

什么是实例分割?

在深入探讨模型训练之前,让我们先退一步,理解实例分割的真正含义。

实例分割是一项计算机视觉任务,它使模型能够在图像中定位每个独立对象并勾勒其精确轮廓。模型不仅识别对象的存在,还会分析图像中的每个像素点,判断其是否属于特定对象。 

这意味着它即使在物体重叠或非常接近时也能进行分离。一个能帮助我们轻松理解实例分割的关键概念是遮罩。 

遮罩是一种像素级轮廓,仅覆盖对象的特定区域。你可以将其想象成用荧光笔涂抹对象的同时,让其他部分保持原样。 

每个物体都拥有专属的遮罩,这使得模型能够区分彼此——即使它们属于同一类型,例如两辆并排停放的汽车或并肩而立的两个人。 

图2. 实例分割一览

要更好地理解实例分割的概念,我们可以将其与其他常见的计算机视觉任务进行比较。目标检测使用边界框——即围绕目标绘制的简单矩形。边界框虽然快速实用,却无法精确捕捉目标的具体形状。 

语义分割会为图像中的每个像素标注类别标签,但无法区分同一类别的独立物体。实例分割则结合了两种方法的优势:既能识别物体类别,又能为每个独立物体分配专属的遮罩。

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

Ultralytics OLO26支持实例分割 

Ultralytics 端到端、无需非最大抑制(NMS)的尖端计算机视觉模型,旨在快速高效地处理真实世界的视觉任务。该模型Ultralytics YOLO 检测YOLO ,能够实时处理图像和视频,同时提供精准结果。 

Y旋转框检测 26在单一框架内支持多种视觉任务,包括目标检测、姿势估计 图像分类、定向边界框检测以及实例分割。 

开箱即用的YOLO26模型已预先训练完成,这意味着它已通过COCO ImageNet 和ImageNet 等大型通用ImageNet ,学会识别人物、车辆及日常物品等常见物体。您无需额外训练即可立即使用该模型。

然而,当您的应用涉及独特物体、特定环境或特殊光照条件时,定制模型训练能显著提升效果。通过使用您标注的图像训练YOLO26,您可以精确指导模型识别目标,并针对特定应用场景更准确地勾勒物体轮廓。

该过程也被称为微调。与从零开始训练模型不同,微调以预训练的YOLO26模型为基础,通过用户自有数据对其进行精细调整。由于模型已掌握边缘、形状和纹理等通用视觉模式,因此只需极少量的标注图像,且能以更短时间学习特定目标。

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

探索YOLO26实例分割的应用场景

那么,实例分割能在哪些场景发挥重要作用?当需要区分物体并理解其精确形状时,尤其在物体密集或重叠的情况下,这种技术就显得至关重要。

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

  • 航空与无人机成像:该任务使无人机能够在航拍图像中分离建筑物、车辆和植被等物体,用于测绘、检测和勘测。
  • 运动数据分析:实例分割技术通过在比赛或训练过程中将运动员与背景分离,助力分析球员的移动轨迹与互动行为。
  • 建筑与基础设施监测:该技术有助于识别建筑物、桥梁和道路中的结构构件、裂缝或受损区域,为维护规划提供依据。
  • 医疗与医学影像:实例分割技术能够精确勾勒细胞、组织或医疗器械的轮廓,从而支持更精准的分析与诊断。
  • 农业与环境监测:它能够识别并区分作物、果实或植物病害,从而更容易估算产量并实施精准防治。
图3. 使用YOLO26分割杂草的示例(来源

如何实现定制训练YOLO26进行实例分割

接下来,我们来探讨定制化训练的运作机制。虽然训练模型听起来颇具技术性,但整体流程其实相当简单。

您可以准备好图像,标注需要模型识别的目标,配置一个小型设置文件,然后Ultralytics Python 训练YOLO26模型。Ultralytics Python 是一个提供现成工具的库,可用于训练、测试和部署YOLO 无需从头构建所有内容。

步骤1:准备您的自定义数据集

第一步是准备自定义分割数据集。数据集本质上就是一组展示目标图像的集合,这些图像包含了希望模型学习识别的对象。 

尽量包含能反映真实世界条件的图像,例如不同角度、光照、背景和物体尺寸。图像多样性越高,模型性能就越优异。

例如在目标分割任务中,图像同样需要标注数据。标注工作涉及为每张图像中的物体添加标签,以便模型明确学习目标。与简单勾勒边框不同,你需要为每个物体绘制精细轮廓(多边形)以精确标记其形状。这些轮廓将成为模型学习预测的遮罩。

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

当图像和标注准备就绪后,可将其分类至训练集和验证集文件夹。常见的划分比例是80%用于训练,20%用于验证,但根据数据集规模,70%训练集与30%验证集的组合也较为普遍。训练集用于训练模型,验证集则用于评估模型在未见过的图像上的表现。

保持这种划分平衡并确保两个文件夹都包含多样化的示例至关重要。一个标注清晰、划分合理的训练集与验证集,构成了强大实例分割模型的基础。

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

在准备好图像和标注后,下一步是创建数据集YAML文件。该文件标明数据集的位置,并指定模型在训练过程中需要学习的对象类别。

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

若对具体格式有任何疑问,可 Ultralytics 获取更多详情。 

步骤3:Ultralytics Python

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

本软件包包含训练、验证、运行推理及导出YOLO26模型所需的工具。它提供了一种简化流程,无需从头构建复杂的训练管道即可高效YOLO 。

Ultralytics Python 之前,选择代码运行环境也至关重要。您可以在多种开发环境中使用Ultralytics 例如:

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

选择环境后,即可安装Ultralytics Python 。安装时请执行以下命令:

pip installultralytics

若您使用的是基于笔记本的环境(Google Notebook),请在命令开头添加感叹号。若遇到安装问题,可参考Ultralytics 或故障排除指南获取常见解决方案及环境配置技巧。 

安装完成后,您即可加载预训练的YOLO26分割模型并开始训练。

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

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

较小的模型在中央处理器(CPU)或边缘设备上训练速度更快、运行效率更高,而较大的模型通常能提供更高精度,但需要更多内存且受益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)

epoch的数量决定了模型对整个训练数据集进行循环训练的次数。每次训练周期中,模型都会进行预测,将其结果与正确标注进行对比,计算误差,并更新内部参数以提升性能。

若训练启动正常,您将在终端或笔记本中看到模型配置、数据集扫描及训练进度显示。随着训练持续进行,每次 epoch 后损失值和评估指标都会更新,展示模型随时间推移的改进情况。

步骤5:评估定制训练模型的性能

训练过程完成后,您可以查看并验证模型的性能指标。Google ,请依次导航至"runs"文件夹、"segment文件夹,最后进入"train"文件夹,其中包含显示关键性能指标的日志文件。

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

若您使用CLI,可通过yolo 命令访问并管理这些结果。该命令支持查看或修改与训练日志及实验详情相关的路径和配置。

在保存的输出中,您还会发现训练过程中生成的图表。这些图表展示了模型随时间的改进过程。例如,它们呈现了模型在学习过程中损失值如何降低,以及精度、召回率和均值平均精度等评估指标如何在各个 epoch 中逐步提升。

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

这些可视化趋势有助于您判断模型是否训练成功,以及从训练开始到结束期间的改进程度。在使用新图像进行测试之前,同时审视数值指标和图表,能让您更清晰地了解实例分割模型的表现情况。

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

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

您可以在Python 中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:导出并部署您的模型

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

Ultralytics 导出格式,可根据您的部署环境灵活选择最优方案。例如:ONNX 跨平台广泛兼容;TensorRT NVIDIA GPU ;OpenVINO Intel CPU部署。这些集成方案使模型在训练环境外运行更为便捷,并能获得强大的实时性能表现。

您可以在Python 以下命令导出模型:

model.export(format="onnx")

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

导出后,您的模型可集成至各类应用场景,例如网络服务、嵌入式视觉系统、机器人平台或工业检测系统。至此,您定制训练的YOLO26实例分割模型便能从实验阶段迈向实际部署。

主要要点

定制Ultralytics 实例分割,可让您灵活构建真正契合特定应用场景的模型。通过准备清晰的数据集、配置YAML文件、利用预训练的分割权重进行训练并评估结果,您能指导模型在像素级别精准勾勒每个物体轮廓。经测试与导出后,您的YOLO26模型即可从开发阶段迈向多尺度实际应用场景。

加入我们的社区,浏览我们的GitHub仓库,深入探索人工智能领域。若您计划开发自己的视觉人工智能项目,请查看我们的 许可方案。访问解决方案页面,了解人工智能在医疗保健领域的应用以及视觉人工智能在零售业的实践案例。

让我们一起构建人工智能的未来!

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

免费开始