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

相关推荐
猫头虎5 小时前
手动部署开源OpenClaw汉化中文版过程中常见问题排查手册
人工智能·langchain·开源·github·aigc·agi·openclaw
多恩Stone5 小时前
【3D AICG 系列-9】Trellis2 推理流程图超详细介绍
人工智能·python·算法·3d·aigc·流程图
整得咔咔响5 小时前
贝尔曼最优公式(BOE)
人工智能·算法·机器学习
2501_946961475 小时前
极简大气创业融资 PPT 模板,适合路演、项目宣讲
人工智能·排序算法
得一录5 小时前
AI 语音助手:如何用大模型优化智能语音交互?
人工智能
玄同7655 小时前
Python 自动发送邮件实战:用 QQ/163 邮箱发送大模型生成的内容
开发语言·人工智能·python·深度学习·机器学习·邮件·邮箱
逸俊晨晖5 小时前
NVIDIA 4090的8路1080p实时YOLOv8目标检测
人工智能·yolo·目标检测·nvidia
Olamyh5 小时前
【手搓 ReAct Agent:告别框架,回归本质】
人工智能·python
seaside20035 小时前
大模型计算量、显存计算方法推导
人工智能·大模型