图像2维卷积计算(2D Conv)和池化计算(Pooling)实战

       实现图像滤波的数学计算方法是卷积(Convolution),有关数学概念和计算方式,请参考《AI数学基础26-卷积(Convolution)》。了解了卷积的数学原理后,可以编写一个卷积计算的代码,加深理解,如下:

图像2维卷积计算(2D Conv)和池化计算(Pooling)实战_第1张图片

池化计算,只需要在上述代码中加入下面的池化代码:

图像2维卷积计算(2D Conv)和池化计算(Pooling)实战_第2张图片
池化计算

经过(2,2)池化后,可以看到,图像数据从510x510压缩到了255x255,图像数据为原来的四分之一,但特征并没有丢失,而且还得到了增强,如下图所示:

这也是为什么在卷积神经网络中,每个卷积层后面总是要加入一个池化层的原因。在有些文献中,会把卷积和池化合并起来,称作a set of convolution pooling layer。若有三个连续续的卷积池化层,则称作 three sets of convolution pooling layers。卷积和池化计算输出结果的可视化,请参见《可视化CNN隐藏层输出》

图像2维卷积计算(2D Conv)和池化计算(Pooling)实战_第3张图片
池化结果

不同的Kernel请参考文献《Image Filtering》

你可能感兴趣的:(图像2维卷积计算(2D Conv)和池化计算(Pooling)实战)