目录
1.边缘检测(edge detection)
当我们做物体识别的时候,一般神经网络的前几层会进行边缘检测,然后检测到物体的一部分,最后检测到整个物体。
边缘检测例子:
垂直边缘检测器:中间的一个3x3的矩阵,我们称之为过滤器(filter)或核(kernel)。*号表示卷积操作。
其它垂直边缘检测的过滤器:
scharr filter:
sobel filter:
也可以通过神经网络的反向传播去学习过滤器的取值。
2.Padding
padding是一个基本的卷积操作(convolutional operation)。
常规的卷积操作有两个缺点:①图像经过卷积后会缩小。②丢掉了很多图像边缘的信息。
所以要进行填充(padding),比如如下图,输入的6x6矩阵,扩充一层,成了8x8矩阵,卷积后输出还是6x6矩阵。
进行padding的时候,有两种选择:Valid convolutions和Same convolutions。前者表示不填充,后者表示填充,并且让输出大小和输入大小一样。
卷积操作的矩阵维度变化:nxn * fxf = n-f+1
Same convolutions操作:n+2p-f+1=n,p=(f-1)/2,表示填充的层数。
过滤器的维度通常是奇数:f为偶数的话,只能使用不对称填充。此外,f为奇数,过滤器能有一个中心像素点,便于指出过滤器的位置。
3.stride步幅
stride指卷积操作中移动的步幅,stride=2的操作如下图。