一、垂直边缘检测

1、图片如果是黑白的就是像素*像素*1,如果是彩色的就是像素*像素*3【后面数字是维度】3表示RGB

对图片进行卷积运算

如图所示,6x6的图片*3x3的图片=4x4的图片,计算过程如下图:

4x4每个元素的计算是把3x3的矩阵一行一行的覆盖在6x6的矩阵上,大图片每一列的元素乘以小图片的每一列然后相加得到

4x4图片的每个元素,中间的图片称谓过滤器。

在Python中,卷积用表示conv_forward()函数,在TensorFlow中,卷积用tf.nn.conv2d

二、水平检测

水平检测就是把垂直检测的过滤器翻转90°,

1 1 1
0 0 0
-1 -1 -1

任何一张n x n的图片通过f x f的过滤器,会得到(n-f+1)x(n-f+1)的输出图像

二、过滤器的缺点

一个n x n的图片经过f x f的过滤器输出就会缩小变成(n-f+1)x(n-f+1)的输出,这样不好。所以应该在原来图像上填充新的像素使输入输出一样,填充的p=(f-1)/2。所以这就要求过滤器一般是奇数X奇数。

三、步长的设置

如果步长stride设置为2,则输出图像为{[(n+2p-f)/s]+1}x{[(n+2p-f)/s]+1}   s表示步长,如果除不尽,就用向下取整的方法,过滤器一定要全部在图片上。