学习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,381,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()

参考文献:

1https://docs.ultralytics.com/zh/models/yolo26/

2https://docs.ultralytics.com/zh/tasks/segment/

3https://deepwiki.com/ultralytics/ultralytics/5.2-annotation-and-plotting-utilities

4https://docs.ultralytics.com/reference/engine/results/#ultralytics.engine.results.Masks

相关推荐
Data_Journal9 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
豆角焖肉9 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
青 春 记 忆10 小时前
零基础入门python20:Flask配置、扩展和蓝图拆分
python·flask·后端开发
m0_3807438710 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
leisoo809712 小时前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
卷无止境12 小时前
FastAPI 的 Metadata 到底是什么,又牵动了哪些核心概念
后端·python
卷无止境12 小时前
FastAPI 调试实战,从断点到生产环境的排错心法
后端·python
yaoxin52112313 小时前
503. Java 反射 - 编写 ServiceFactory 类
java·开发语言·python
kyrie_sakura13 小时前
python学习笔记3 -- 流程控制语句结构
笔记·python·学习
程序员小八77714 小时前
Java 快速转 Go
java·python·golang