实例分割-Ultralytics YOLO11
本示例展示了如何基于 hbm_runtime 在 BPU 上运行 YOLOv11 语义分割模型,支持图像预处理、推理、后处理(解析输出并叠加彩色分割掩码)等功能,本示例代码位于/app/pydev_demo/03_instance_segmentation_sample/02_ultralytics_yolo11_seg/目录下。
本示例展示了如何基于 hbm_runtime 在 BPU 上运行 YOLOv11 实例分割模型,支持图像预处理、推理、后处理(解析输出并叠加彩色分割掩码)等功能,本示例代码位于 /app/pydev_demo/instance_segmentation_sample/ultralytics_yolo11_seg/ 目录下。
模型说明
-
简介:
Ultralytics YOLO11 是一款轻量级目标检测与实例分割模型,基于 YOLO 系列设计并融合了 anchor-free 与 anchor-based 思想结构与回归分箱(distributional regression)策略。本模型为其实例分割变体,支持同时输出边界框、类别概率和高质量的像素级掩膜,适用于实时场景中的多对象检测与分割任务。
- HBM 模型名称: yolo11n_seg_nashe_640x640_nv12.hbm
- HBM 模型名称: yolo11n_seg_nashp_640x640_nv12.hbm
-
输入格式: NV12 格式图像(Y/UV 分离),尺寸为 640x640
-
输出:
-
目标检测结果(bounding box + 类别 + 分数)
-
实例分割掩膜(每个目标对应一张 mask)
-
-
模型下载地址(程序自动下载):
https://archive.d-robotics.cc/downloads/rdk_model_zoo/rdk_s100/ultralytics_YOLO/yolo11n_seg_nashe_640x640_nv12.hbmhttps://archive.d-robotics.cc/downloads/rdk_model_zoo/rdk_s600/ultralytics_YOLO/yolo11n_seg_nashp_640x640_nv12.hbm
功能说明
-
模型加载
使用
hbm_runtime加载量化后的 Ultralytics YOLO11 实例分割模型,并解析输入输出张量的名称、形状、量化参数等运行时元数据。 -
输入预处理
将输入 BGR 图像缩放至 640×640,并转换为 NV12 格式(Y、UV 平面分离),以适配模型输入要求。
-
推理执行
通过 .run() 方法触发前向推理,并支持通过接口设定调度参数(BPU 核绑定与优先级)。推理输出包含多个尺度的类别分数、边界框回归、掩膜系数以及全局掩膜原型张量。
-
结果后处理
-
使用阈值筛选检测候选,并解码边界框与掩膜系数;
-
合并各尺度输出,应用 NMS 筛选最终目标;
-
利用掩膜原型与系数恢复出每个目标的掩膜;
-
掩膜及边界框均被缩放回原始图像尺寸;
-
支持可选形态学操作(开操作)以优化掩膜边缘;
-
最终输出为边框、类别、分数与像素级实例掩膜。
-
环境依赖
本样例无特殊环境需求,只需确保安装了pydev中的环境依赖即可。
pip install -r ../../requirements.txt
pip install -r ../../requirements.txt --break-system-packages