举例说明YOLOv1 输出坐标到原图像素的映射关系

下面用简化的小尺寸图像+具体数值来一步步演示整个映射过程。

一、设定示例基础参数

为了计算方便,我把参数简化(核心逻辑和原论文一致):

  • 原始图像尺寸:宽=420像素,高=420像素(正方形,方便计算)
  • YOLOv1 网格划分:S=7(和论文一致),即 7×7 网格
  • 单个网格尺寸:420/7 = 60像素(每个网格是 60×60 像素)
  • 选取目标网格:第 i=2 行、第 j=3 列的网格(行列从0开始计数)
  • 该网格预测的单个边界框输出值:bx=0.5, by=0.4, bw=0.6, bh=0.5

二、分步计算映射过程

步骤1:计算目标网格的左上角像素坐标

网格行列数决定了其在原图的基础位置:

  • 网格左上角 x 坐标:j × 网格宽度 = 3 × 60 = 180 像素
  • 网格左上角 y 坐标:i × 网格高度 = 2 × 60 = 120 像素
    → 这个网格覆盖原图的区域是:x(180-240)、y(120~180) 像素。
步骤2:映射边界框中心坐标到原图

YOLOv1 输出的 bx/by网格内的相对偏移(0~1),需先转换为网格内像素偏移,再加上网格左上角坐标:

  • 中心x像素偏移(网格内):bx × 网格宽度 = 0.5 × 60 = 30 像素
  • 中心y像素偏移(网格内):by × 网格高度 = 0.4 × 60 = 24 像素

→ 边界框中心在原图的绝对坐标:

  • 中心x:网格左上角x + 网格内x偏移 = 180 + 30 = 210 像素
  • 中心y:网格左上角y + 网格内y偏移 = 120 + 24 = 144 像素
步骤3:映射边界框宽高到原图

YOLOv1 输出的 bw/bh相对于整张图像的比例(0~1),直接乘以原图宽/高即可:

  • 边界框宽度(原图像素):bw × 原图宽度 = 0.6 × 420 = 252 像素
  • 边界框高度(原图像素):bh × 原图高度 = 0.5 × 420 = 210 像素
步骤4:转换为矩形框的左上角/右下角坐标(可视化用)

有了中心坐标和宽高,就能算出绘制矩形框需要的坐标:

  • 左上角x1:中心x - 宽度/2 = 210 - 252/2 = 210 - 126 = 84 像素
  • 左上角y1:中心y - 高度/2 = 144 - 210/2 = 144 - 105 = 39 像素
  • 右下角x2:中心x + 宽度/2 = 210 + 126 = 336 像素
  • 右下角y2:中心y + 高度/2 = 144 + 105 = 249 像素

三、示例结果汇总表

类型 YOLOv1输出值 映射计算过程 原图像素值
网格内x偏移 (bx) 0.5 - -
网格内y偏移 (by) 0.4 - -
相对宽度 (bw) 0.6 - -
相对高度 (bh) 0.5 - -
边界框中心x - 3×60 + 0.5×60 210 像素
边界框中心y - 2×60 + 0.4×60 144 像素
边界框宽度 - 0.6×420 252 像素
边界框高度 - 0.5×420 210 像素
矩形框左上角 (x1,y1) - (210-126, 144-105) (84, 39)
矩形框右下角 (x2,y2) - (210+126, 144+105) (336, 249)

四、可视化理解

你可以想象这张420×420的原图被划成7×7的小格子:

  • 第2行第3列的格子在原图的位置是:横向180-240像素,纵向120~180像素;
  • 预测的边界框中心落在这个格子里:横向偏右50%(30像素)、纵向偏下40%(24像素)的位置;
  • 最终画出的矩形框会从(84,39)到(336,249),覆盖原图的对应区域。

总结

  1. 中心坐标映射:核心是「网格位置(j/i×网格尺寸) + 网格内偏移(bx/by×网格尺寸)」,把相对网格的偏移转为原图绝对像素;
  2. 宽高映射:直接用「相对比例(bw/bh)× 原图宽/高」,把相对比例转为绝对像素;
  3. 坐标转换:中心坐标±宽高/2,即可得到可视化所需的矩形框对角坐标。

这个例子的数值是简化过的,但完全复现了YOLOv1坐标映射的核心逻辑,无论图像尺寸、网格数如何变化,计算方法都完全一致。

相关推荐
星核0penstarry几秒前
DeepSeek-V4-Flash 正式公测:大模型行业进入「极速平价普惠时代」
java·开发语言·人工智能
小沈同学呀5 分钟前
【Agent开发第三期】短期记忆history,让模型“记住“上一句
人工智能·ai编程·agent开发·agent记忆
Elastic 中国社区官方博客24 分钟前
Elasticsearch:搜索教程 - 语义搜索(三)
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
utmhikari27 分钟前
【AI原生】用AI-Native的方式编写SRE告警诊断Agent和Skill
人工智能·agent·稳定性·ai-native·sre·skill·rca
zhbcddxr30 分钟前
北京企业GEO防御风控能力测评:投毒监测与偏差修正排行
网络·人工智能·安全
正经人_x32 分钟前
学习日记46:LISA: Reasoning Segmentation via Large Language Model
人工智能·学习·语言模型
i晟1 小时前
对齐:让模型学会“做人“
人工智能
小飞猪。。3 小时前
笔记十四:从零开始搞懂 DPO——大模型偏好对齐的“直球”方案
人工智能·深度学习·机器学习
OceanBase数据库官方博客8 小时前
OceanBase DataPilot AIP:Ontology 承载AI能力面的另一条路
人工智能·oceanbase
笨鸟先飞,勤能补拙9 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github