填充扭曲图像的边缘?

时间:2018-01-23 08:27:41

标签: machine-learning computer-vision

我读到深度学习算法在将滤波器应用到矩阵之前应用零填充,但是这不会扭曲图像的边缘,特别是如果重用过滤后的图像?

不确定我是否错了,但我认为当滤镜应用于零填充的部分时,图像的边缘将继续减小,因此重复此操作将导致“零边框”增加规模。

1 个答案:

答案 0 :(得分:0)

当应用的图层内核大于1x1时,您所谈论的情况在卷积神经网络领域很常见。在这种情况下,边缘像素将被切除以产生所得到的特征图。这不一定是个问题。像U-Net这样的架构通过仔细定义初始图像大小来解释这一点,因此像MaxPooling这样的操作正在处理偶数输入维度。大多数情况下,填充应用于卷积层,因为它可以更轻松地处理不同类型的分辨率。输入和输出将具有相同的空间分辨率。

正如您所指出的,这意味着边缘的一些额外处理,以便不伪造值。一种方法是使用零填充并除以调整后的相关像素数。例如,如果3x3内核计算特征贴图的角落值,则它将覆盖填充的5个像素和实际图像的4个像素。

enter image description here

因此,操作的最后一步不是像往常那样除以9,而是除以4,因为内核当前只覆盖了4个相关像素。

另一种方法是使用填充,其中边缘像素值被复制到新边框。这就是为什么在Keras中它被称为padding='same'