公开/公告号CN113139576A
专利类型发明专利
公开/公告日2021-07-20
原文格式PDF
申请/专利权人 广东省科学院智能制造研究所;
申请/专利号CN202110302261.9
申请日2021-03-22
分类号G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);
代理机构44326 广州容大知识产权代理事务所(普通合伙);
代理人潘素云
地址 510070 广东省广州市先烈中路100号大院15号楼
入库时间 2023-06-19 11:54:11
技术领域
本发明涉及计算机视觉图像识别领域,尤其是涉及一种结合图像复杂度的深度学习图像分类方法及系统。
背景技术
近年来深度学习在学术界、科技界应用广泛,尤其在图像领域,目前已经在图像分类领域取得较大进展,取得不错成效。但目前深度学习在工业领域的推广并不顺利,主要原因是工业领域的应用大多是细分领域、定制化的,但目前主流的深度学习网络如AlexNet、VGG16、GoogleNet都难以直接应用到项目中,企业需要不断测试、改进网络结构参数才可以应用到项目中,十分耗费时间、人力成本。
发明内容
有鉴于此,有必要针对上述的问题,提出一种结合图像复杂度的深度学习图像分类方法及系统,通过分析图像的复杂度自动选择合适网络结构,在保证网络性能下,减少企业应用深度学习算法的人力成本、时间成本。
为实现上述目的,本发明提供以下技术方案:
一方面,本发明提供一种结合图像复杂度的深度学习图像分类方法,包括以下步骤:
步骤S1:将所有图像缩放至200*200大小,并分为训练集和测试集;
步骤S2:计算所有训练集图像的平均复杂度,根据平均复杂度选择网络结构1、网络结构2和网络结构3中的其中一种网络结构;
步骤S3:选择好网络结构后,网络模型对训练集数据进行训练;
步骤S4:根据训练好的模型对测试集数据进行分类识别。
进一步地,在步骤S2中,训练集图像的平均复杂度K计算过程如下:
①采用opencv的meanStdDev函数求每张图像的标准差stddv
②按照下面公式计算训练集每张图像的二维熵H,再求所有训练集图像的二维熵的平均值H
其中H为图像二维熵,(i,j)为图像的邻域灰度均值与图像的像素灰度组成特征二元组,i表示像素的灰度值(0<=i<=255),j表示邻域灰度均值(0<=j<=255),p
p
其中f(i,j)为特征二元组(i,j)出现的频数,N*M为图像的尺度;
③然后按照如下公式求出训练集图像复杂度K:
K=stddv
如果0≤K<3,选择网络结构1;如果3≤K<6,选择网络结构2;如果6≤K,选择网络结构3。
进一步地,在步骤S2中,网络结构1、网络结构2和网络结构3如下:
①网络结构1:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为6,卷积核大小为11*11;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为6,卷积核大小为11*11;第5层为最大值池化层,核大小为2*2;第6、7层为全连接层,分别为120个和84个神经节点;第8层为输出层,输出节点为N;
②网络结构2:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为7*7;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为7*7;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为5*5;第7层为最大值池化层,核大小为2*2;第8、9层为全连接层,分别为120个和84个神经节点;第10层为输出层,输出节点为N;
③网络结构3:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为3*3;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为3*3;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为3*3;第7层为最大值池化层,核大小为2*2;第8层为卷积层,卷积核个数为16,卷积核大小为3*3;第9层为最大值池化层,核大小为2*2;第10、11层为全连接层,分别为120个和84个神经节点;第12层为输出层,输出节点为N。
另一方面,本发明还提供一种结合图像复杂度的深度学习图像分类系统,包括:
图像缩放模块,用于将所有图像缩放至200*200大小,并分为训练集和测试集;
网络结构选择模块,用于计算所有训练集图像的平均复杂度,根据平均复杂度选择网络结构1、网络结构2和网络结构3中的其中一种网络结构;
模型训练模块,用于选择好网络结构后,根据网络模型对训练集数据进行训练;
分类识别模块,用于根据训练好的模型对测试集数据进行分类识别。
进一步地,训练集图像的平均复杂度K计算过程如下:
①采用opencv的meanStdDev函数求每张图像的标准差stddv
②按照下面公式计算训练集每张图像的二维熵H,再求所有训练集图像的二维熵的平均值H
其中H为图像二维熵,(i,j)为图像的邻域灰度均值与图像的像素灰度组成特征二元组,i表示像素的灰度值(0<=i<=255),j表示邻域灰度均值(0<=j<=255),p
p
其中f(i,j)为特征二元组(i,j)出现的频数,N*M为图像的尺度;
③然后按照如下公式求出训练集图像复杂度K:
K=stddv
如果0≤K<3,选择网络结构1;如果3≤K<6,选择网络结构2;如果6≤K,选择网络结构3。
进一步地,网络结构1、网络结构2和网络结构3如下:
①网络结构1:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为6,卷积核大小为11*11;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为6,卷积核大小为11*11;第5层为最大值池化层,核大小为2*2;第6、7层为全连接层,分别为120个和84个神经节点;第8层为输出层,输出节点为N;
②网络结构2:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为7*7;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为7*7;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为5*5;第7层为最大值池化层,核大小为2*2;第8、9层为全连接层,分别为120个和84个神经节点;第10层为输出层,输出节点为N;
③网络结构3:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为3*3;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为3*3;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为3*3;第7层为最大值池化层,核大小为2*2;第8层为卷积层,卷积核个数为16,卷积核大小为3*3;第9层为最大值池化层,核大小为2*2;第10、11层为全连接层,分别为120个和84个神经节点;第12层为输出层,输出节点为N。
与现有技术相比,本发明的优点和积极效果至少包括:
(1)相比目前的深度学习技术,本发明通过分析图像的复杂度自动选择合适网络结构,在保证网络性能下,减少企业应用深度学习算法的人力成本、时间成本;
(2)本发明适用于其他图像分类任务,具有一定的通用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明结合图像复杂度的深度学习图像分类方法的流程示意图;
图2是本发明结合图像复杂度的深度学习图像分类方法采用的网络结构1的网络结构示意图;
图3是本发明结合图像复杂度的深度学习图像分类方法采用的网络结构2的网络结构示意图;
图4是本发明结合图像复杂度的深度学习图像分类方法采用的网络结构3的网络结构示意图;
图5是本发明结合图像复杂度的深度学习图像分类系统的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合附图和具体的实施例对本发明的技术方案进行详细说明。需要指出的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
为对本发明内容进行具体说明,本实施例以CIFAR-10数据集作一个10分类的问题作实例。
需要说明的是,本实施例中所使用的具体数字,仅仅是本实施例中所使用的一组可能的或较优的搭配,但并不能因此而理解为对本发明专利范围的限制;应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
如图1所示,本实施例提供一种结合图像复杂度的深度学习图像分类方法,包括以下步骤:
步骤S1:CIFAR-10数据集一共有10种图片,包括(飞机、汽车、鸟类、猫、鹿、狗、蛙类、马、船和卡车),将所有图像缩放至200*200大小,并分为训练集和测试集;
步骤S2:计算所有训练集图像的平均复杂度K,根据图像平均复杂度选择网络结构1、网络结构2、网络结构3中的其中一种网络结构;
训练集图像的平均复杂度K计算过程如下:
①采用opencv的meanStdDev函数求每张图像的标准差stddv
②按照下面公式计算训练集每张图像的二维熵H,再求所有训练集图像的二维熵的平均值H
其中H为图像二维熵,(i,j)为图像的邻域灰度均值与图像的像素灰度组成特征二元组,i表示像素的灰度值(0<=i<=255),j表示邻域灰度均值(0<=j<=255),p
p
其中f(i,j)为特征二元组(i,j)出现的频数,N*M为图像的尺度。
③然后按照如下公式求出训练集图像复杂度K:
K=stddv
如果0≤K<3,选择网络结构1;如果3≤K<6,选择网络结构2;如果6≤K,选择网络结构3;(网络结构1、网络结构2、网络结构3具体结构如图2、图3、图4所示)。
①网络结构1:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为6,卷积核大小为11*11;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为6,卷积核大小为11*11;第5层为最大值池化层,核大小为2*2;第6、7层为全连接层,分别为120个和84个神经节点;第8层为输出层,输出节点为N;
②网络结构2:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为7*7;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为7*7;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为5*5;第7层为最大值池化层,核大小为2*2;第8、9层为全连接层,分别为120个和84个神经节点;第10层为输出层,输出节点为N;
③网络结构3:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为3*3;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为3*3;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为3*3;第7层为最大值池化层,核大小为2*2;第8层为卷积层,卷积核个数为16,卷积核大小为3*3;第9层为最大值池化层,核大小为2*2;第10、11层为全连接层,分别为120个和84个神经节点;第12层为输出层,输出节点为N。
最终求得复杂度为7.81,选择网络结构3。
步骤S3:选择好网络结构后,网络模型对训练集数据进行训练;
步骤S4:根据训练好的模型对测试集数据进行分类识别。
本发明方法基于CIFAR-10数据集与AlexNet、VGG16、GoogleNet三种主流的深度学习算法进行对比测试。
表1四种方法测试结果对比
由上表1可以看出,本发明方法准确率高于目前主流的深度学习网络AlexNet、VGG16。
实施例2
如图5所示,本实施例以CIFAR-10数据集作一个10分类的问题作实例。本实施例提供一种结合图像复杂度的深度学习图像分类系统,包括图像缩放模块、网络结构选择模块、模型训练模块和分类识别模块;
图像缩放模块:CIFAR-10数据集一共有10种图片,包括(飞机、汽车、鸟类、猫、鹿、狗、蛙类、马、船和卡车),图像缩放模块将所有图像缩放至200*200大小,并分为训练集和测试集;
网络结构选择模块:计算所有训练集图像的平均复杂度K,根据图像平均复杂度选择网络结构1、网络结构2、网络结构3中的其中一种网络结构;
训练集图像的平均复杂度K计算过程如下:
①采用opencv的meanStdDev函数求每张图像的标准差stddv
②按照下面公式计算训练集每张图像的二维熵H,再求所有训练集图像的二维熵的平均值H
其中H为图像二维熵,(i,j)为图像的邻域灰度均值与图像的像素灰度组成特征二元组,i表示像素的灰度值(0<=i<=255),j表示邻域灰度均值(0<=j<=255),p
p
其中f(i,j)为特征二元组(i,j)出现的频数,N*M为图像的尺度。
③然后按照如下公式求出训练集图像复杂度K:
K=stddv
如果0≤K<3,选择网络结构1;如果3≤K<6,选择网络结构2;如果6≤K,选择网络结构3;(网络结构1、网络结构2、网络结构3具体结构如图2、图3、图4所示)。
①网络结构1:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为6,卷积核大小为11*11;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为6,卷积核大小为11*11;第5层为最大值池化层,核大小为2*2;第6、7层为全连接层,分别为120个和84个神经节点;第8层为输出层,输出节点为N;
②网络结构2:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为7*7;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为7*7;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为5*5;第7层为最大值池化层,核大小为2*2;第8、9层为全连接层,分别为120个和84个神经节点;第10层为输出层,输出节点为N;
③网络结构3:第1层为输入层,输入100*100的图片;第2层为卷积层,卷积核个数为16,卷积核大小为3*3;第3层为最大值池化层,核大小为2*2;第4层为卷积层,卷积核个数为16,卷积核大小为3*3;第5层为最大值池化层,核大小为2*2;第6层为卷积层,卷积核个数为16,卷积核大小为3*3;第7层为最大值池化层,核大小为2*2;第8层为卷积层,卷积核个数为16,卷积核大小为3*3;第9层为最大值池化层,核大小为2*2;第10、11层为全连接层,分别为120个和84个神经节点;第12层为输出层,输出节点为N。
最终求得复杂度为7.81,选择网络结构3。
模型训练模块:选择好网络结构后,网络模型对训练集数据进行训练;
分类识别模块:根据训练好的模型对测试集数据进行分类识别。
本发明的优点和积极效果至少包括:
(1)相比目前的深度学习技术,本发明通过分析图像的复杂度自动选择合适网络结构,在保证网络性能下,减少企业应用深度学习算法的人力成本、时间成本;
(2)本发明适用于其他图像分类任务,具有一定的通用性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。
机译: “财产识别方法”(“ PIM”)是一种新颖的算法,通过该算法,可以通过对文件(如市议会/房屋价格通知)进行图像处理来创建房地产管理局和/或产权转让数据。本发明建立了一种独特的算法,该算法结合了诸如深度学习分段和计算机视觉之类的技术来解码属性信息。该应用程序利用以某种方式配置的计算机实现的技术,以使运输商和房地产经纪人能够自动创建客户端文件。
机译: 一种用于自动标记培训图像的方法,用于学习分析高精度图像的深度学习网络,以及使用该训练图像的自动标记设备,用于在深度学习网络TOAL图像中使用的自动标记训练图像使用Samem的高精度和自动标记设备}
机译: 基于深度学习的糖尿病视网膜图像分类方法和系统