卷积神经网络大概的步骤都很简单,就是卷积,然后非线性,然后pooling etc
其中最重要的feature extraction,就是使用一个filter去处理图像。这里在网上找到的一张图片
如果你用不同的filter去卷积这张图,会得到一下的结果。
他到底做了什么?我用edge detection作为一个例子来解释。比如第三个矩阵,就是那个中心为8,周围都是-1的。
为什么用这个矩阵对图像做卷积会产生那个结果?会有edge detection的效果?其实很简单,想象一下,本质上如果你正在做卷积的某个点的矩阵结构和这个filter非常像,比如说
[0, 0, 0]
[0, 255, 0]
[0, 0, 0]
那么结果是2040,图像上来说就是一个白点。
如果你正在做卷积的某个点的矩阵和这个filter非常不像,比如
[0,0,0]
[0,0,0]
[0,0,0]
或者
[255, 255, 255]
[255, 255, 255]
[255, 255, 255]
那么结果就是0,是一个黑点。
所以结论就是如果某些区域的点的矩阵结构和这个filter越像,卷积的值就越高,点就越亮。和这个filter越不像,卷积的值就越低,点就越暗。
说到这里,你应该明白为什么这张图的edge是亮的,非edge区域是暗的了。
其他的filter道理都是一样的,不管是blur,sharpen。