关于卷积神经网络(CNN)
CNN是深度学习的领域之一,主要用于图像处理。在过去十年中,CNN取得了巨大的进步。本课程从最基础的CNN到高级的CNN编程,如自动驾驶汽车识别、面部识别等,都是在教授CNN。
顾名思义,CNN利用的是卷积过程。通过将一定大小的卷积核(过滤器)应用于图像,计算机从图像的这一部分与所用的过滤器相乘中获得新的代表性信息。
CNN是MLP的进一步发展,因为它使用了类似的方法,但维度更多。在这个CNN算法中,前一层的输入不是一个一维数组,而是一个二维数组。如果类比人脸的特征,第一层是不同方向的划痕的反映,在第二层开始出现眼睛、鼻子和嘴巴的形状等特征,这是因为第一层的汇集/合并仍然是划痕的形式,在第三层将形成眼睛、鼻子和嘴巴特征的组合,这将得出特定人脸的结论。
CNN的应用
使用的数据是6张篮球图片和6张足球图片,CNN算法中需要的软件包是hard、tensorflow和EBImage。
在做分析之前,首先调用我们存储在特定文件夹中的图像,如下所示:
查看要分析的图像的初始大小,即:属性->细节。
可以看出,每张图片的尺寸,即要使用的12张图片的宽度和高度,都有不同的尺寸。因此,要使尺寸相等,就要使用以下语法:
这里将对使用的12幅图像使用相同的权重,即使用宽度100和高度100。要改变每张图片的大小,可以使用下面这样的函数:
可以看出,做了1到12的意思是,每个图像的大小都变成了100x100。
可以看出,有6张篮球的图片和6张足球的图片,所用的12张图片的图像结构,即如上图所示,12张图片的高度和重量是一样的,即1:100,旋钮为3,因为图片是彩色图片,如果所用的图片是黑白图片,那么旋钮为1。
如果你想看其中一个图像,如下图:
可以看到第三张图片显示的是一个篮球,宽度和高度尺寸为100 因为尺寸是100x100,所以也有100x100像素或10000像素,这是将插入到CNN中的图片的代表。
然后来看看篮球图像的尺寸,即:
可以看到篮球图像的尺寸为重量100,高度100,CPR通道为3。然后进行训练数据和测试数据,篮球图像的训练数据取自前4张图像,足球图像也取自前4张图像的例子。而测试数据是使用剩余的2张篮球图像和2张足球图像,这些图像没有被用作训练数据,如下所示:
例如,第5张训练数据将被调用:
可以看出,上面的图像是第5个数据的训练数据,第5个数据显示如下:
可以看出,该图片是篮球图片训练数据的显示,100行有3个CPR壁龛,列有X到300,在excel中有3000个单元格,是由100乘以300得到。
这里我们将尝试看看其他图像训练数据的显示,即第二幅图像,输出是:
所以图像2的训练数据的显示是一个篮球图像,尺寸为100x100。
要按顺序展示数据,即:
该图像是经过排序的训练数据图像,其中有4张篮球的图像和4张足球的图像。从图像中,它将被重新测量,尺寸为32x32像素,因为它将使一些参数必须由CNN来完成,以加快图像识别过程,如下:
然后所有的训练数据将被合并。
然后,你会看到排序后的数据训练图像的显示,其大小已被改为32x32像素。
随着数据列车的尺寸是:
尺寸为32x32像素,节点数为3,图像数为8,总帧数为24,因为3乘以8。
在组合训练数据后,测试数据将被组合,即:
测试数据的组合结果的显示是:
可以看出,测试数据组合的结果是2张笔记本图像和2张摩托车图像。
测试数据组合的尺寸为::
尺寸为32x32像素,结数为3,图像数为4,总帧数为12,因为3乘以4。
在CNN中,对图像的顺序进行了调整,然后重新排列以适应硬库和tensorflow。如下所示:
在重新排列训练数据和测试数据后,可以看到维度发生了变化,其中原本在第四阶的维度位置变成了第一阶,第一阶变成了第二阶,第二阶变成了第三阶,第三阶变成了最后一阶或变成第四阶。所以只是从32,32,3,8反转为8,32,32,3。同样,测试数据也是如此。
然后在训练和测试数据上创建一个目标,0代表笔记本图像,1代表摩托车图像。
可以看出,在训练数据的例子中,训练数据和测试数据变成了0和1,即0 0 0 0 1 1 1,这意味着笔记本电脑,笔记本电脑,笔记本电脑,摩托车,摩托车,摩托车。同样,测试数据也是如此。