笔记主要知识点:
(1)两个卷积公式(普通的卷积、加Padding的卷积)
(2)普通卷积的缺点以及padding是如何解决的
(3)padding的两种类型-valid、same
(4)如何确定p、以及f一般取奇数的原因
Padding
在一般的卷积中,
例如用(3×3)的filter卷积一个(6×6)的图片,那么输出结果将是(4×4)。
公式:
但普通卷积的缺点有二:
(1)每次卷积后图像都会缩小(shrinking output)
(2)图片中间部分会被许多filter重叠,但角落or边际上的像素只会在输出中被使用一次。
即会丢失许多图片靠近边界的信息。
此时,我们的解决方案就是Pad the image。
比如在(6×6)的图片边缘都加一个像素变成(8×8)的图片,那么根据以上公式
(8×8)*(3×3) = (6×6)
此时p=1,即padding=1,填充数量为1。此时以上两个缺点都被解决。
我们得到padding新公式:
Padding的两种类型:
(1)valid卷积,即p=0,no padding;
(2)same卷积,即使输出大小等于输入大小(通过解数学式计算p,如下图所示)
值得一提的是计算机视觉使用的过滤器f一般使用奇数,很少取偶数。
原因有二:
(1)如果f取偶数需要一些不对称的填充。只有当f为奇数时这种same卷积才会产生在四周有相同维度的一个自然的填充区域,而不是在左边多填充在右边少填充或者别的不对称的填充。
(2)f取奇数的话过滤器可以有一个中心位置,在CV领域有一个特殊点是很好的,你可以称之为中心像素,这样你就可以描述你过滤器的位置。
也许这些都不是为什么f基本上永远使用奇数的很好的理由,但如果去阅读一些文献,你会发现(3×3)的过滤器非常常见(或5×5、7×7)。
即使只是约定俗称,我也依旧建议你使用奇数大小的过滤器,就算你使用f为偶数的过滤器你也可以取得一个不错的结果。