举例说明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坐标映射的核心逻辑,无论图像尺寸、网格数如何变化,计算方法都完全一致。

相关推荐
用户5191495848451 天前
HP Sound Research SECOMNService 权限提升漏洞利用工具
人工智能·aigc
用户018349301691 天前
给 AI 智能体能力包一层 BFF,前端只调一个接口
人工智能
这token有力气1 天前
Function Calling 格式漂移
人工智能
onething3651 天前
Spring Boot + Spring AI 从入门到实战:7天转型计划 Day 5 —— SSE 流式输出 + 打字机效果
人工智能·后端·全栈
onething3651 天前
Spring Boot + Spring AI 从入门到实战:7天转型计划 Day 6 —— 业务完善 + 会话消息预览
人工智能·后端·全栈
IT_陈寒1 天前
SpringBoot自动配置的坑,我爬了三天才出来
前端·人工智能·后端
甲维斯1 天前
笑抽了!DeepSeek识图,豆包完胜了!
人工智能·deepseek
Lei活在当下2 天前
【AI手记系列-2026/6/18】iSparto & Harness,Caveman 以及AI时代的生存指南
人工智能·llm·openai
冬奇Lab2 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
冬奇Lab2 天前
Agent 系列(22):Context Engineering 深度——三种上下文管理策略的量化对比
人工智能·agent