学习python使用Ultralytics的YOLO26进行分割的基本用法

Ultralytics的YOLO26模型提供专门的分割模型以支持实例分割,其主要预训练模型及参数如下表所示,其中的mAPbox指标用于评估模型目标检测的能力,即预测的边界框(Bounding Box)与真实物体框的重合度,而mAPmask指标用于评估模型实例分割的能力,即预测的像素级轮廓掩码(Mask)与真实物体轮廓的重合度。

  实例分割模型的输出是一组掩码或轮廓,它们勾勒出图像中每个对象,以及每个对象的类别标签和置信度分数。YOLO26的实例分割模型的输出数据形状为[N, H, W],也即result.masks.data的数据形状,其中N为从图片中检测到的目标个数,H与输入模型图像的像素高度相同,W与输入模型图像的像素宽度相同。同时检测结果中的result.boxes属性保存检测到所有目标的边界框,result.boxes.data属性的数据形状为[N,6],保存所有目标的坐标、置信度及类别。不过将分割模型转换为onnx格式后,其输出形状变为[1,300,38]及[1,32,160,160]的形式,具体解析方式后续再学习。


  最后是示例程序及程序运行效果,如下所示:

python 复制代码
from ultralytics import YOLO

# Load a model
model = YOLO(r"E:\MyPrograms\Python\ultralytics\yolo26m-seg.pt")

# Predict with the model
results = model("ertong.jpg")  

# Access the results
for result in results:    
    xy = result.masks.xy  # mask in polygon format
    xyn = result.masks.xyn  # normalized    
    data = result.masks.data  # mask in matrix format (num_objects x H x W)
    print(result.boxes.data.shape)
    print(result.boxes.data)
    result.show()

参考文献:

1\]https://docs.ultralytics.com/zh/models/yolo26/ \[2\]https://docs.ultralytics.com/zh/tasks/segment/ \[3\]https://deepwiki.com/ultralytics/ultralytics/5.2-annotation-and-plotting-utilities \[4\]https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Masks

相关推荐
测试员周周15 小时前
【AI测试功能6】功能测试的自动化率:哪些该自动、哪些必须人工——AI测试人机协作决策指南
开发语言·人工智能·python·功能测试·单元测试·自动化·测试用例
专注VB编程开发20年15 小时前
在 Python 中使用 comtypes 时,大小写通常必须保持精确
python·excel
金玉满堂@bj15 小时前
Python 后端开发 从零到就业完整教程(2026 企业级完整版)
开发语言·python
iuu_star15 小时前
跑通最简单的Vue3+Python前后端分离项目
前端·vue.js·python
li星野15 小时前
双指针 & 贪心算法六题通关:从回文串到跳跃游戏(Python + C++)
python·游戏·贪心算法
WL_Aurora15 小时前
Python 算法基础篇之元组与列表
python·算法
颜安青15 小时前
【python】运算符号(后续不断补充)
开发语言·python
于先生吖15 小时前
家政派单小程序源头厂家
python
于先生吖16 小时前
口碑好的家政派单小程序
python
深度学习lover16 小时前
<数据集>yolo 货车识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·货车识别