You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YOLO卷积层输出尺寸计算疑问:公式结果为何非整数?

解答YOLO卷积层输出尺寸计算疑惑

Great question! Let's break this down step by step because it's easy to miss a key detail when calculating convolution output sizes for YOLO.

核心问题:你遗漏了Padding参数

YOLOv1的第一个卷积层并不是无Padding的,它实际使用了padding=3的设置(也就是在输入图像的四周各填充3个像素),这是你计算时漏掉的关键参数。

正确的计算过程

使用标准的卷积输出尺寸公式(结合深度学习框架的取整规则):

W2 = floor((W1 - F + 2*P)/S) + 1

代入参数:

  • 输入尺寸W1=448
  • 滤波器大小F=7
  • Padding值P=3
  • 步长S=2

计算过程:

floor((448 -7 + 2*3)/2) +1 = floor(447/2) +1 = 223 +1 =224

这样就得到了论文中描述的224x224输出尺寸,完全符合预期。

为什么会出现非整数中间结果?

在YOLO最初的实现框架Darknet中,当(W1-F+2P)/S的结果为非整数时,会对其进行**向下取整(floor)**操作,再执行加1。这是因为卷积核从输入左上角开始滑动,若剩余像素不足以容纳一个完整的核,框架会忽略这部分边缘区域,最终输出整数尺寸的特征图。

额外提醒

YOLOv1之后的版本(如YOLOv2及后续)改用了416x416这类输入尺寸,因为416是32的倍数(YOLO的总下采样倍率为32),经过多次步长为2的卷积/池化后,所有层的输出尺寸都会是整数,避免了取整带来的困惑。

内容的提问来源于stack exchange,提问作者Thanh Le Hai Hoang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:01:26