YOLO11 实例分割模型使用指南

实例分割是一种计算机视觉技术,它能够在图像中识别出单独的对象,并将它们从图像的其余部分中分割出来。与传统的对象检测相比,实例分割不仅能够确定对象的位置,还能够精确地描绘出对象的形状。这种技术在需要精确了解对象形状的场景中非常有用,例如在医学成像或自动驾驶领域。

YOLO11 实例分割模型的特点

YOLO11是一个预训练的实例分割模型,它在COCO数据集上进行了训练,因此能够识别和分割多种不同的对象。该模型的输出包括每个对象的掩码或轮廓,以及每个对象的类别标签和置信度分数。这些信息对于需要精确识别对象形状的应用场景非常有价值。

模型训练

要开始使用YOLO11模型,首先需要下载预训练的模型文件。这些模型文件会自动从Ultralytics的最新发布版本中下载。模型的大小、精度和速度等参数如下表所示:

YOLO11n-seg: 640像素, mAPbox 50-95: 38.9, mAPmask 50-95: 32.0, CPU ONNX速度: 65.9ms, T4 TensorRT10速度: 1.8ms, 参数量: 2.9M, FLOPs: 10.4B YOLO11s-seg: 640像素, mAPbox 50-95: 46.6, mAPmask 50-95: 37.8, CPU ONNX速度: 117.6ms, T4 TensorRT10速度: 2.9ms, 参数量: 10.1M, FLOPs: 35.5B YOLO11m-seg: 640像素, mAPbox 50-95: 51.5, mAPmask 50-95: 41.5, CPU ONNX速度: 281.6ms, T4 TensorRT10速度: 6.3ms, 参数量: 22.4M, FLOPs: 123.3B YOLO11l-seg: 640像素, mAPbox 50-95: 53.4, mAPmask 50-95: 42.9, CPU ONNX速度: 344.2ms, T4 TensorRT10速度: 7.8ms, 参数量: 27.6M, FLOPs: 142.2B YOLO11x-seg: 640像素, mAPbox 50-95: 54.7, mAPmask 50-95: 43.8, CPU ONNX速度: 664.5ms, T4 TensorRT10速度: 15.8ms, 参数量: 62.1M, FLOPs: 319.0B

以上数据展示了不同YOLO11实例分割模型的性能参数,包括模型大小、平均精度(mAP)、速度和计算复杂度。这些参数可以帮助根据实际需求选择合适的模型。

模型验证

在训练模型之后,可以通过验证步骤来评估模型的准确性。这可以通过Python或命令行界面(CLI)来完成。以下是使用Python进行模型验证的示例代码:

from ultralytics import YOLO # 加载模型 model = YOLO("yolo11n-seg.pt") # 验证模型 metrics = model.val() print("Mean Average Precision for boxes:", metrics.box.map) print("Mean Average Precision for masks:", metrics.seg.map)

通过上述代码,可以得到模型在COCO验证集上的平均精度(mAP),这是评估模型性能的重要指标。

模型预测

使用训练好的YOLO11实例分割模型,可以对新的图像进行预测。以下是使用Python进行模型预测的示例代码:

from ultralytics import YOLO # 加载模型 model = YOLO("yolo11n-seg.pt") # 使用模型进行预测 results = model("https://ultralytics.com/images/bus.jpg")

这段代码将加载一个预训练的YOLO11实例分割模型,并使用它来预测指定图像中的对象。预测结果将包括对象的掩码、类别标签和置信度分数。

模型导出

YOLO11实例分割模型可以导出到不同的格式,如ONNX、CoreML等,以便于在不同的平台上使用。以下是使用Python导出模型到ONNX格式的示例代码:

from ultralytics import YOLO # 加载模型 model = YOLO("yolo11n-seg.pt") # 导出模型到ONNX格式 model.export(format="onnx")

导出模型后,可以直接在导出的模型上进行预测或验证,这为模型的部署和集成提供了便利。

常见问题解答

如何在自定义数据集上训练YOLO11分割模型?

要在自定义数据集上训练YOLO11分割模型,首先需要将数据集转换为YOLO分割格式。可以使用Ultralytics提供的工具,如JSON2YOLO,来转换数据集。数据集准备完成后,可以使用Python或CLI命令来训练模型。

对象检测和YOLO11实例分割有什么区别?

对象检测通过在图像中绘制边界框来识别和定位对象,而实例分割不仅识别边界框,还描绘出每个对象的确切形状。YOLO11实例分割模型提供了描绘每个检测到的对象的掩码或轮廓,这在需要精确了解对象形状的任务中非常有用。

为什么要使用YOLO11进行实例分割?

UltralyticsYOLO11是一个最新的模型,以其高精度和实时性能而闻名,非常适合进行实例分割任务。YOLO11分割模型在COCO数据集上进行了预训练,确保了对各种对象的强大性能。此外,YOLO支持训练、验证、预测和导出功能,与研究和行业应用的无缝集成,使其具有高度的多功能性。

如何加载和验证预训练的YOLO分割模型?

加载和验证预训练的YOLO分割模型非常简单。以下是如何使用Python和CLI进行操作的示例:

from ultralytics import YOLO # 加载预训练模型 model = YOLO("yolo11n-seg.pt") # 验证模型 metrics = model.val() print("Mean Average Precision for boxes:", metrics.box.map) print("Mean Average Precision for masks:", metrics.seg.map)

这些步骤将为提供验证指标,如平均精度(mAP),这对于评估模型性能至关重要。

如何将YOLO分割模型导出到ONNX格式?

将YOLO分割模型导出到ONNX格式非常简单,可以使用Python或CLI命令来完成:

from ultralytics import YOLO # 加载预训练模型 model = YOLO("yolo11n-seg.pt") # 将模型导出到ONNX格式 model.export(format="onnx")
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485