卷积神经网络
卷积神经网络是如何进行工作的呢?
通俗来讲,就是以下的工作流程:
一、图片如何转化为像素矩阵(如何用数字来表示图片呢)
首先Image.open()来打开一幅图像,然后调用numpy中的array()函数就可以将PIL对象转换为数组对象。
img=np.array(Image.open(‘d:/lena.jpg’)) #打开图像并转化为数字矩阵
如果是RGB三通道图像,转化为array后,就变成了rows * cols * channels的三维矩阵。可以使用使用img[i,j,k]来访问像素值。
二、卷积操作
假设有一张5 * 5的图片,有3 * 3的卷积核,步长为1,进行卷积操作。
卷积公式:out_channels=(n-k+2p)/s + 1
其中输入图片in_channels大小为n x n,卷积核kernel_size大小为k x k,步长stride为s,填充padding为p,得到输出特征图out_channels大小。