学习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

相关推荐
慕涯AI几秒前
Agent 30 课程开发指南 - 第21课
人工智能·python
源码之家6 分钟前
计算机毕业设计:Python城市天气数据挖掘与预测系统 Flask框架 随机森林 K-Means 可视化 数据分析 大数据 机器学习 深度学习(建议收藏)✅
人工智能·爬虫·python·深度学习·机器学习·数据挖掘·课程设计
Dxy12393102168 分钟前
Python在图片上画多边形:从简单轮廓到复杂区域标注
开发语言·python
weixin_3812881810 分钟前
MongoDB备节点无法读取数据怎么解决_rs.slaveOk()与Secondary读取权限
jvm·数据库·python
南尘NCA866611 分钟前
如何解决企业微信防封行业高封号率痛点
python·企业微信
dyxal12 分钟前
内网 Windows 离线安装 uv:极速 Python 包管理器的部署实战
windows·python·uv
qq_6543669814 分钟前
Vue 3 中集成 Three.js 场景的完整实践指南
jvm·数据库·python
人邮异步社区16 分钟前
文科生零基础学 Python 难吗?真不难,难的是找对书!
开发语言·python
qq_4240985619 分钟前
JavaScript中箭头函数在类方法定义中的this绑定优势
jvm·数据库·python
2301_8038756122 分钟前
HTML怎么用Lawyer Zone对齐律所图_Lawyer专业主题图片布局
jvm·数据库·python