1.4 Padding

如果有一个n×nn\times n的图像,用f×ff\times f的过滤器做卷积,输出的维度就是(nf+1)×(nf+1)(n-f+1)\times (n-f+1)

这样的话会有两个缺点:

  • 每次做卷积操作,输出图片尺寸缩小

  • 原始图片边缘信息对输出贡献得少,输出图片丢失边缘信息

角落边缘的像素(绿色阴影标记)只被一个输出所触碰或者使用,中间的像素点(红色方框标记)会有许多3×3的区域与之重叠。角落或者边缘区域的像素点在输出中采用较少,丢掉了图像边缘位置的许多信息

可以在卷积操作之前填充这幅图像。沿着图像边缘再填充一层像素,6×6的图像填充成8×8的图像。就得到了一个尺寸和原始图像6×6的图像。习惯上,可以用0去填充,如果pp是填充的数量,输出也就变成了(n+2pf+1)×(n+2pf+1)(n+2p-f+1)\times (n+2p-f+1)。涂绿的像素点(左边矩阵)影响了输出中的这些格子(右边矩阵)。这样角落或图像边缘的信息发挥的作用较小的这一缺点就被削弱了

选择填充多少像素,通常有两个选择,分别叫做Valid卷积和Same卷积

Valid卷积意味着不填充,如果有一个n×nn\times n的图像,用一个f×ff\times f的过滤器卷积,会给一个(nf+1)×(nf+1)(n-f+1)\times (n-f+1)维的输出

另一个叫做Same卷积,填充后输出大小和输入大小是一样的。由nf+1n-f+1,当填充pp个像素点,nn就变成了n+2pn+2p,公式变为:

n+2pf+1n+2p-f+1

即:

p=f12p=\frac{f-1}{2}

ff是一个奇数,只要选择相应的填充尺寸就能确保得到和输入相同尺寸的输出

计算机视觉中,ff通常是奇数,有两个原因:

  • 如果ff是偶数,只能使用一些不对称填充

  • 当有一个奇数维过滤器,比如3×3或者5×5的,它就有一个中心点,便于指出过滤器的位置

Last updated