[发明专利]一种基于Keras框架和深度神经网络的图片分类方法有效

专利信息
申请号: 201910529685.1 申请日: 2019-06-19
公开(公告)号: CN110378383B 公开(公告)日: 2023-06-16
发明(设计)人: 韩飞;方升;凌万云;凌青华;吴伟康 申请(专利权)人: 江苏大学
主分类号: G06V10/764 分类号: G06V10/764;G06V10/774;G06V10/82;G06N3/0464;G06N3/047;G06N3/048;G06N3/08;G06F16/55
代理公司: 暂无信息 代理人: 暂无信息
地址: 212013 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 keras 框架 深度 神经网络 图片 分类 方法
【权利要求书】:

1.一种基于Keras框架和深度神经网络的图片分类方法,其特征在于,包括步骤:

手写数字图像数据集的预处理,首先将手写数字图像数据集划分为训练集、测试集,然后对其进行维度修改,并对标签数据进行one-hot编码;通过Keras框架构建三层卷积神经网络,设置每层卷积神经网络的卷积核个数、卷积核大小、激活函数和池化层;进一步通过Keras框架构建三层全连接层和输出层,设置每层全连接层和输出层的神经元个数;最后调用Keras框架的API构建损失函数,并在训练集上进行训练,得到的模型在测试集上进行测试,得出准确率;

通过Keras框架构建三层卷积神经网络的具体步骤为:

步骤2.1:在获得了数据集后,接下来需要构建三层卷积神经网络,首先创建第一层卷积神经网络,通过函数model.add(Conv2D(filters=64,kernel_size=(3,3),strides=

(1,1),padding='same',input_shape=(28,28,1),activation='relu'))来构建第一层卷积神经网络的卷积层,Conv2D是keras库中的函数,用于创建卷积核,filters=64表示构建了64个卷积核,对每个图片使用64个卷积核进行计算,得到64个结果,即64个图片,kernel_size=(3,3)表示每个卷积核的大小是3*3,strides=(1,1)表示每个卷积核左右移动和上下移动的步长是1个像素,padding=’same’表示输入的图片大小跟输出的图片大小一致,通过零填充来保证大小一致,input_shape=(28,28,1)表示输入的图片大小是28*28*1,其中的1表示图片是1通道,即黑白图片,activation='relu'表示激活函数是relu函数,激活函数是为了增加网络的非线性分割能力,而采用Relu激活函数,整个过程的计算量节省很多,并且不会出现梯度消失的情况;通过model.add(MaxPooling2D(pool_size=(2,2)))函数进行池化,MaxPooling2D是keras库中的函数,用于对卷积层得到的数据进行池化,具体含义为:池化的窗口是2*2,移动步长默认是1*1,即左右移动和上下移动都是1个像素,将2*2四个像素中选取其中最大的一个值作为一个代表像素;接下来是第一层卷积神经网络的DropOut层,调用model.add(Dropout(0.5))函数,以概率0.5保留每个神经元节点,Dropout就是在不同的训练过程中随机扔掉一部分神经元,也就是让某个神经元以一定的概率p让其工作,这次训练过程中不更新权值,也不参加神经网络的计算,但是它的权重得保留下来,激活函数如公式(1)所示:

步骤2.2:在步骤2.1中构建了第一层卷积神经网络后,接下来再构建第二层卷积神经网络,通过model.add(Conv2D(128,kernel_size=(3,3),strides=(1,1),padding='same',activation='relu'))函数构造卷积层,参数128表示卷积核个数是128个,kernel_size=(3,3)表示卷积核的大小是3*3,每个图片与128个大小为3*3卷积核相乘,得到128个图片,strides=(1,1)表示每个卷积核移动的步长,即左右移动和上下移动的步长都是1个像素,padding='same'表示经过卷积计算后,输入的图片大小与输出的图片大小一致,通过零填充来保存输入和输出的图片大小一致,activation='relu'表示将卷积后的结果使用relu激活函数进行激活,只是改变结果的值,维度不改变,relu激活函数的优点在第一层卷积神经网络已经说明;经过卷积层后,跟第一层卷积神经网络类似,接下来是池化层和使用DropOut函数处理,通过函数model.add(MaxPooling2D(pool_size=(2,2)))对卷积层得到的结果进行池化,所使用的窗口大小是2*2像素面积,默认左右移动和上下移动的步长是1,在每个窗口中选出最大的一个像素值作为代表值,因此图片的缩小为原来的4倍;经过池化后,通过model.add(Dropout(0.5))函数对池化得到的结果进行选取一些神经元;

步骤2.3:在步骤2.2中构建了第一层卷积神经网络后,接下来再构建第三层卷积神经网络,继续使用model.add(Conv2D(256,kernel_size=(3,3),strides=(1,1),

padding='same',activation='relu'))函数构建第三层卷积神经网络的卷积层,256表示使用256个卷积核,每个图片都与256个卷积核进行计算,得到256个结果,kernel_size=(3,3)表示每个卷积核的大小为3*3,strides=(1,1)表示每个卷积核左右移动和上下移动的步长是1个像素,padding='same'表示经过卷积层后,输入图片的大小和输出图片的大小一致,通过零补充来保证输出图片和输入图片的大小一致,activation='relu'表示将卷积计算的结果通过激活函数relu来激活,通过激活函数relu让计算量减少并且不会出现梯度消失的情况;经过卷积层后,还有池化层和使用DropOut函数进行处理,通过model.add(MaxPooling2D(pool_size=(2,2)))函数进行池化,池化的窗口大小是2*2,默认的移动步长是1*1,即左右移动和上下移动的步长是1个像素,每次移动窗口选出其中最大的一个像素点作为代表值,池化前后的图片大小缩小了4倍;最后执行DropOut函数,以概率0.5保留每个神经元。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏大学,未经江苏大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910529685.1/1.html,转载请声明来源钻瓜专利网。

同类专利
专利分类
×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top