话不多说,首先我先上一张动图!
这幅图展示的就是一个二维卷积的过程,也就是一般二维图像的滤波过程。
首先左边的5*5的绿色区域代表的是待卷积对象,这里理解为一幅图像的一个维度,例如灰度图就是图像的灰度值,RGB彩色图就是RGB中的某一个通道;中间在移动的黄色区域是卷积核(注意右下角的红字才是卷积核的一部分,中间的黑字是属于绿色原图的,不信你看卷积核在移动的时候中间的黑字是不变的);右边的粉红区域是卷积后的图(因为它也是3*3的可不要理解为它跟卷积核一样大小,其实它的大小是原图的大小减去步长*2,这里的步长是1,也就是每次移动一格,所以卷积后的大小就是5-1*2=3),仔细观察发现卷积核每动一下右边就会增加一格数字,而且增加的方向和卷积核移动的方向一致,就像意大利足球队的后防线一样整齐。那么我们就来讲讲这里具体是怎么计算的。
卷积实际上是一个先乘后加的过程,卷积核扫过的区域都进行一次对位点乘再求和,比方说从第一步开始,原图左上角九个数字分别是
1 1 1
0 1 1
0 0 1
而卷积核一直是
1 0 1
0 1 0
1 0 1
那么对位相乘就是
1*1 1*0