九、初识卷积
文章目录
- 1、通过边缘检测认识卷积
- 2、Padding
- 3、Strid Convelution
- 4、RGB图像的卷积
- THE END
1、通过边缘检测认识卷积
\qquad 在使用神经网络进行图像识别时,神经网络的前几层需要完成对图像的边缘检测任务,所谓的边缘检测就是让计算机识别出一张图片的垂直边缘和水平边缘,如下图所示:
\qquad 加入当前有一张661的灰度图像,图像中的数字越小,表示图像的颜色越深,则通过以下卷积(符号为*)计算,可以得到一张新的441的图像,新图像中的中间部分便可以直观表现出原始图像的垂直边缘。
\qquad其中,中间参与卷积运算的331的矩阵称为卷积核(kernal)或者过滤器(filter)。
2、Padding
\qquad 设定原图像的尺寸为n∗nn*nn∗n,卷积核的维度为f∗ff*ff∗f,则经过卷积计算只有的输出图像的尺寸为(n−f+1)∗(n−f+1)(n-f+1)*(n-f+1)(n−f+1)∗(n−f+1)。从上述卷积计算过程可以发现,原图像边缘的像素点使用的次数远低于中间像素点的使用次数,为了充分利用边缘像素点的信息,可以通过Padding操作,在原图像的边缘添加额外的ppp层像素点,之后使用 Padding之后的图像进行卷积操作,操作过程如下图所示:
\qquad当Padding到原图像上的图像的层数p=f−12p=\frac{f-1}{2}p=2f−1时,Padding之后的图像经过f∗ff*ff∗f卷积层的卷积操作之后,得到的结果图像恰好和原图像的尺寸相同,为n∗nn*nn∗n。卷积核的维度fff通常为奇数。
3、Strid Convelution
\qquad 在进行卷积操作时,卷积核每一次移动的步长(strid)不一定为1,也可以为大于1的其他数。则考虑了移动步长sss之后,一幅n∗nn*nn∗n的图像,经过ppp层padding操作,经过f∗ff*ff∗f维度的卷积核进行卷积操作之后,可以得到结果图像的维度为:⌊n+2p−fs+1⌋∗⌊n+2p−fs+1⌋\lfloor{\frac{n+2p-f}{s}+1} \rfloor * \lfloor{\frac{n+2p-f}{s}+1}\rfloor⌊sn+2p−f+1⌋∗⌊sn+2p−f+1⌋。 Stride convelution的示意图如下图所示:
4、RGB图像的卷积
\qquad 对于RGB图像,令一幅RGB图像的输入维度为n∗n∗ncn*n*n_cn∗n∗nc其中,前两个nnn分别表示图像的高度和宽度,最后一个ncn_cnc维度表示图像的通道(channel)数量;对于RGB图像的卷积操作使用的卷积核的维度为f∗f∗ncf*f*n_cf∗f∗nc。最终输出的图像维度为:(n−f+1)∗(n−f+1)(n-f+1)*(n-f+1)(n−f+1)∗(n−f+1)。可以使用不同类型的多个卷积核,从而增加输出图像的通道数,如使用2个不同的卷积核,则输出图像的维度为:(n−f+1)∗(n−f+1)∗2(n-f+1)*(n-f+1)*2(n−f+1)∗(n−f+1)∗2。