YOLOV8/11分割与分类输出参数说明

YOLOV8/11 输出三个尺度的特征图

对于640x640图像输入:

  1. 80x80 检测小目标
  2. 40x40 检测中目标
  3. 20x20 检测大目标

检测输出说明

对于640x640的图片输入,输出output084,8400,预测框的总数量是8400,每个预测框的维度是84(4+80),针对COCO数据集的80个类别而言

8400x84 = 80x80x84+40x40x84+20x20x84 = 80x80x(4+80)+40x40x(4+80)+20x20x(4+80)

其中4为预测框 cx,cy,w,h,代表预测框的中心点坐标与宽高;80为80个类别的置信度

输入图像大小不一样,输出的检测框数量不同

分割输出说明

分割有两个输出output0与output1,对于640x640 的图像输入,output0为检测头的输出其维度1x116x8400,output1为分割头的输出,其维度为1x32x160x160

output0维度1x116x8400,代表输出的检测框数量为8400,每个预测框的维度为116(4+80+32)

其中4为预测框 cx,cy,w,h,代表预测框的中心点坐标与宽高;80为80个类别的置信度,32维向量为与当前预测框关联的分割mask系数

output1分割头的输出维度为1x32x160x160,代表32个尺寸为160x160的基础mask,这些基础mask所有检测框共享,每个检测框的32维mask系数与output1做矩阵乘法得到当前检测框的最终mask

具体实现:

  1. Mask 系数(n×32) × 模型输出原型output1(32×160×160),n为筛选后预测框的数量
  2. 经过 sigmoid 激活
  3. 得到 n×160×160 的原始 Mask
  4. 把框从 640×640 → 缩放到 160×160,用于裁剪 Mask
  5. 把检测框以外的 Mask 全部设为 0
  6. 只保留框内的物体区域
  7. 把 160×160 中多余的灰色区域切掉(对于输入letterbox),得到有效小图
  8. 双线性插值缩放,把 Mask 缩放到 原图分辨率(如 1920×1080)
相关推荐
To_OC6 小时前
搞懂 Token 和 Embedding 后,我终于明白大模型是怎么 "读" 文字的
人工智能·llm·agent
冬奇Lab9 小时前
每日一个开源项目(第139篇):Voicebox - 本地运行的开源 ElevenLabs 替代品
人工智能·开源·资讯
冬奇Lab9 小时前
Skill 系列(03):Skill 设计范式——5 个模式让输出从混沌到可预测
人工智能·开源·agent
IT_陈寒11 小时前
Python搞不定字符串编码?这破玩意坑我两小时!
前端·人工智能·后端
大模型真好玩12 小时前
什么是Loop Engineering?最通俗易懂的Loop Engineering核心概念
人工智能·agent·deepseek
叁两13 小时前
前端转型AI Agent该如何学习?(前置篇)
前端·人工智能·node.js
LaiYoung_13 小时前
🎁 送你一套超好用超实用的 FE AI-Coding Skills
前端·人工智能·开源
ZzT15 小时前
怎么做才不会被 AI 替代?
人工智能·程序员
道友可好15 小时前
从今天开始:你的第一个 Harness Engineering 实践
前端·人工智能·后端