CN112101428B - 一种基于卷积神经网络的图像分类方法及系统 - Google Patents
一种基于卷积神经网络的图像分类方法及系统 Download PDFInfo
- Publication number
- CN112101428B CN112101428B CN202010875309.0A CN202010875309A CN112101428B CN 112101428 B CN112101428 B CN 112101428B CN 202010875309 A CN202010875309 A CN 202010875309A CN 112101428 B CN112101428 B CN 112101428B
- Authority
- CN
- China
- Prior art keywords
- neural
- sub
- architecture
- neural architecture
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 26
- 230000001537 neural effect Effects 0.000 claims abstract description 91
- 238000013528 artificial neural network Methods 0.000 claims abstract description 75
- 238000012549 training Methods 0.000 claims abstract description 66
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract description 49
- 210000005036 nerve Anatomy 0.000 claims abstract description 5
- 238000013461 design Methods 0.000 claims description 18
- 230000002787 reinforcement Effects 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000012821 model calculation Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 6
- 238000001514 detection method Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013145 classification model Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000003709 image segmentation Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- 238000012854 evaluation process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 238000002679 ablation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001125 extrusion Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于卷积神经网络的图像分类方法及系统,该方法包括:建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的数据集而定;设置基础块中所有残差块的基础通道数目;设置所有残差块的膨胀率以及单路径宽度,堆叠基础块,确定最终的神经架构;对神经架构进行训练,得到图像分类系统并进行测试。该系统包括:基础块建立模块、残差块的基础通道数设置模块、神经架构确定模块以及神经架构训练模块。通过本发明,提高了神经网络的性能,且可以很容易的被迁移到不同的数据集上。
Description
技术领域
本发明涉及图像分类技术领域,特别涉及一种基于卷积神经网络的图像分类方法及系统。
背景技术
图像分类技术是复杂计算机视觉任务的前置基础。特别的,例如目标检测,图像分割,目标跟踪等均需要以图像分类为前置任务。目前,图像分类一般采用训练好的图像分类神经网络来进行。近年来,深层卷积神经网络在许多计算机视觉任务中取得了巨大成功。特别是在图像分类任务中,人们已经设计了众多性能良好的神经网络,其中代表性的残差网络(ResNet)已经证明了非常深的神经网络的有效性,因此大量扩展方法在其基础上不断进行改进,例如Xception,Wide ResNet,PyramidNet和ResNeXt。然而,这些改进仅仅是以试错的方式不断尝试,缺少关于神经体系结构设计的系统指南。
由于手动设计神经网络是个巨大的挑战,以神经架构搜索(Neural ArchitectureSearch,NAS)为代表的自动设计设计网络的方法最近引起了人们越来越多的关注。NAS的基本原理是将一组候选连接和操作组合到不同的神经网络结构(即搜索空间)中,并使用一种策略来搜索最佳网络结构。经典的NAS方法使用递归神经网络作为控制器来生成子网。从一开始就对子网进行培训和评估,以更新控制器参数。尽管实现简单并且结果令人鼓舞,但是由于搜索空间巨大他们的架构搜索将消耗无法承受的计算资源。例如,原始NAS方法在CIFAR-10上至少需要16000GPU天。在紧随其后的工作中,人们利用先验知识将搜索空间缩小到细胞的范围,仅仅搜索每个细胞中的连接方式,进而堆叠细胞得到了整个网络,这样可以将NAS的搜索加速到数百个GPU天。但是,直接在大型数据集(如ImageNet)上执行NAS仍然是一项负担不起任务。所以,这些神经网络在应用到目标检测,图像分割,目标跟踪等图像分类时,会存在计算量大、处理复杂,且数据迁移性能不佳。
发明内容
本发明针对上述现有技术中存在的问题,提出一种基于卷积神经网络的图像分类方法及系统,降低了计算量和复杂度,提高了处理性能,且可以很容易的被迁移到不同的数据集上。
为解决上述技术问题,本发明是通过如下技术方案实现的:
本发明提供一种基于卷积神经网络的图像分类方法,其包括以下步骤:
S1:神经架构设计;进一步包括:
S11:建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的数据集而定;
S12:设置所述基础块中所有残差块的基础通道数目;
S13:设置所有残差块的膨胀率以及单路径宽度,堆叠所述基础块,确定最终的神经架构;
S2:对所述神经架构进行训练,得到图像分类神经网络;
S3:将待分类图像输入所述图像分类神经网络,得到图像分类结果。
较佳地,所述S11中的基础块包括:残差块以及跳跃连接;所述残差块包括:第一1×1卷积、自定义的卷积以及第二1×1卷积。
较佳地,所述S12中的每个残差块的基础通道数目随着网络不断变深而线性增加。
较佳地,所述S13进一步包括:
S131:设置每个所述残差块的自定义卷积的卷积核为3×3:;
S132:设置每个所述残差块的膨胀率以及单路径宽度,进而确定所述自定义卷积的分组数以及通道数,进而确定最终的神经架构。
较佳地,所述S2进一步包括:
S21:对所述神经架构进行训练;
S22:将训练后得到的所述神经架构的参数进行存储,得到图像分类神经网络。
较佳地,所述S2之后还包括:
S3:重新定义搜索空间;进一步包括:
S31:按照所述S11~S12对神经架构进行初始化;
S32:根据不同数据集设置不同的可选择的基础块;
S33:训练包含所有所述可选择的基础块的整个超网;
S34:设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减;使用强化学习的方法寻找到最优的子神经架构为最终的神经架构。
较佳地,所述S32进一步包括:根据不同数据集设置不同的可选择的基础块,然后设置每个所述残差块的膨胀率、自定义卷积的卷积核以及分组数的可选值,分别组合作为候选项组成超网。
较佳地,所述S34进一步包括:
S341:设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减,得到采样出的子神经网络;
S342:对于所述采样出的子神经网络,在验证集上进行性能评估,得到性能最优的子神经网络,并将所述性能最优的子神经网络的准确率与衰减系数的乘积作为强化学习的反馈,通过强化学习的方法来寻找到最优的子神经架构为最终的神经架构。
较佳地,子神经架构消耗的资源为:单次推理时长、模型参数以及模型计算量中的一种或多种。
较佳地,S2中,对所述神经架构进行训练还包括:对输入图像进行增强,以获得更多的训练数据。其中,图像增强的方法有随机裁剪,随机反转,随机增加横纹。
本发明还提供一种基于卷积神经网络的图像分类系统,其用于实现上述所述的基于卷积神经网络的图像分类方法,其包括:神经架构设计模块、神经架构训练模块;其中,
所述神经架构设计模块包括:基础块建立模块、残差块的基础通道数设置模块以及神经架构确定模块;其中,所述基础块建立模块用于建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的数据集而定;所述残差块的基础通道数设置模块用于设置所述基础块中所有残差块的基础通道数目;所述神经架构确定模块用于设置所有残差块的膨胀率以及单路径宽度,堆叠所述基础块,确定最终的神经架构;
所述神经架构训练模块用于对所述神经架构设计模块得到的神经架构进行训练,得到图像分类神经网络。
较佳地,所述神经架构训练模块还包括:图像增强模块,该模块对输入图像进行增强,以获得更多的训练数据。
相较于现有技术,本发明具有以下至少一种有益效果:
(1)本发明提供的基于卷积神经网络的图像分类方法及系统,通过对神经网络进行重新设计,考虑了神经网络的四个方面:深度以及块宽度,提高了处理性能,且可以很容易的被迁移到不同的图像数据集上;
(2)本发明提供的基于卷积神经网络的图像分类方法及系统,通过每个残差块的基础通道数目随着网络不断变深而线性增加,从而增加了网络的复杂度,进一步提高了网络的性能;
(3)本发明提供的基于卷积神经网络的图像分类方法及系统,通过重新定义搜索空间,提高了图像分类的搜索性能,达到了更好的效果;
(4)本发明提供的基于卷积神经网络的图像分类方法及系统,通过在训练过程中使用one-shot的方法,即每次训练时只从超网中采样出一个子神经架构进行训练,减轻了不同可选项之间的耦合,使得后面基于共享参数的评估过程更加准确,进一步加速了搜索的评估过程,提高了目标检测,图像分割,目标跟踪等图像分类时的处理速度以及准确性。
附图说明
下面结合附图对本发明的实施方式作进一步说明:
图1为本发明一实施例的基于卷积神经网络的图像分类方法的流程图;
图2为本发明一实施例的残差块的结构图;
图3a为现有神经网络的搜索空间图;
图3b为本发明一实施例的神经网络的搜索空间图;
图4为本发明一实施例的针对CIFAR-10数据集手动设计的神经架构;
图5为现有的针对CIFAR-10数据集自动设计的神经架构。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示为本发明一实施例的基于卷积神经网络的图像分类方法的流程图。
请参考图1,本实施例的基于卷积神经网络的图像分类方法包括以下步骤:
S1:神经架构设计;进一步包括:
S11:建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的图像数据集而定;由于不同图像数据集中输入图像的分辨率不同,因此需要根据不同数据集去重新设定网络的深度;
S12:设置基础块中所有残差块的基础通道数目;
S13:设置所有残差块的膨胀率以及单路径宽度,堆叠基础块,确定最终的神经架构;
S2:对神经架构进行训练,将训练后得到的神经架构的参数进行存储,得到图像分类神经网络,并可以进一步对该神经网络进行测试;
S3:将待分类图像输入图像分类神经网络,得到图像分类结果。
如图2所示为残差块的结构图,每个残差块都包括2个1x1卷积和一个可变卷积核(自定义卷积)。可变卷积核的大小,分组数目都可以进行搜索。
较佳实施例中,S11中的基础块包括:残差块以及跳跃连接;所述残差块包括:第一1×1卷积、自定义的卷积以及第二1×1卷积。
较佳实施例中,S12中的每个残差块的基础通道数目随着网络不断变深而线性增加。
较佳地实施例中,S13进一步包括:
S131:设置每个所述残差块的自定义卷积的卷积核为3×3:;
S132:设置每个残差块的膨胀率以及单路径宽度,进而确定自定义卷积的分组数以及通道数,进而确定最终的神经架构。
较佳实施例中,为了进一步提高神经网络的搜索性能,S2之后还包括:
S3:重新定义搜索空间;进一步包括:
S31:按照S11~S12对神经架构进行初始化;
S32:根据不同数据集设置不同的可选择的基础块;
具体为:根据不同数据集设置不同的可选择的基础块,然后设置每个残差块的膨胀率、自定义卷积的卷积核以及分组数的可选值,分别组合作为候选项组成超网;
S33:训练包含所有可选择的基础块的整个超网;
S34:设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减;使用强化学习的方法寻找到最优的子神经架构为最终的神经架构。
较佳实施例中,S34进一步包括:
S341:设定超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减,得到采样出的子神经网络;
S342:对于采样出的子神经网络,在验证集上进行性能评估,得到性能最优的子神经网络,并将性能最优的子神经网络的准确率与衰减系数的乘积作为强化学习的反馈,通过强化学习的方法来寻找到最优的子神经架构为最终的神经架构。
较佳实施例中,子神经架构消耗的资源为:单次推理时长、模型参数以及模型计算量中的一种或多种。
如图3a、3b所示为本发明的神经网络与现有神经网络的搜索空间图对比图,3a为现有神经网络的搜索空间,3b为本发明的神经网络的搜索空间。可以看出,现有的搜索空间均采用深度可分离卷积,等价于固定每条单路径的宽度为1,仅改变单路径的数量。而我们的搜索空间则放开了对单路径宽度的限制,同时对单路径的数量和宽度进行优化。除此以外,可以发现在同一阶段中,现有搜索空间的1x1卷积的宽度都是相同的。本发明进一步优化其宽度为线性增加,从而增加了网络的复杂度。经过消融实验可以证明,增加网络的复杂度可以提高网络的性能。
在本发明另一实施例中,还提供一种基于卷积神经网络的图像分类系统,采用上述实施例的基于卷积神经网络的图像分类方法中对应的技术。图像分类系统包括:神经架构设计模块以及神经架构训练模块;神经架构设计模块包括:基础块建立模块、残差块的基础通道数设置模块以及神经架构确定模块;其中,基础块建立模块用于建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的数据集而定;残差块的基础通道数设置模块用于设置基础块中所有残差块的基础通道数目;神经架构确定模块用于设置所有残差块的膨胀率以及单路径宽度,堆叠基础块,确定最终的神经架构;神经架构训练模块用于对神经架构设计模块得到的神经架构进行训练,得到图像分类神经网络。
该实施例中的图像分类系统可以部署在智能终端,用于具体的分类应用,实现目标检测,图像分割,目标跟踪等目的。具体的,在使用时,可以将待分类的图像输入到上述的图像分类系统,待分类的图像可以是各种实际应用中需要分类的图像,比如,垃圾分类中的图像、图像中的特定目标检测、缺陷检测等等,通过输入上述的图像分类系统得到对应的分类结果。
下面以具体实例对上述的图像分类技术进行描述。
实例1:基于CIFAR-10数据集建立一个图像分类系统,手动设计神经架构。
第一步,初始化图像分类系统。
定义图像输入部分。在基于CIFAR-10的图像分类系统中,输入图像I的大小为32*32。在整个系统的训练阶段,需要对输入图像进行增强,以获得更多的训练数据。增强的方法有随机裁剪,随机反转,随机增加横纹。
定义神经网络训练参数。定义网络的损失函数为交叉熵损失,优化器为Adam,学习率为0.025,学习率的下降方式为cosine函数。
第二步,基于CIFAR-10数据集手动设计神经网络。
建立一个可堆叠的基础块,用于堆叠形成不同深度的神经架构。参照现有的优秀的架构PreResNet,本实例和PreResNet110保持相同的深度,故共有36个基础块,在第13,25个基础块中进行步进为2的特征图下采样的操作。
在整个神经架构中,每个残差块的基础通道数目都是随网络不断变深而线性增加。本实例参照PreResNet110,控制初始的基础通道数目为18,最后的基础通道数目为146,剩余的基础通道数目线性增加。
手工设置所有残差块内部的膨胀率和单路径宽度,堆叠基础块,确定最终的神经架构。通过以上设置,剩余未确定的就是每个残差块中的膨胀率,自定义卷积的卷积核和单路径宽度,手动设定自定义卷积的卷积核为3x3,并根据现有的神经网络的经验手动设定膨胀率为5和单路径宽度为3,得到了最终的神经架构EPNet-CH,如图4所示。
第三步,训练神经网络,得到基于CIFAR-10的图像分类系统并进行测试。
训练神经网络。本实例使用CIFAR-10数据集作为训练集训练该图像分类系统,共训练600epoch。
存储好训练后得到的神经网络的参数,得到一个完整的图像分类系统。当有一个新的图像I1送入该分类系统时,系统将自动I1缩放为32*32的大小,并使用神经网络提取特征进行分类,并输入最终预测的类别。其性能如表1所示。
实例2:针对CIFAR-10数据集设计图像分类系统,自动设计神经架构。
第一步:初始化图像分类系统,按照实例1第一步相同的步骤对图像分类系统进行初始化。
第二步:基于CIFAR-10数据集自动设计神经网络。
针对CIFAR-10数据集,设置需要搜索的可选配置。在此任务中设置单路径宽度可选1或者5,膨胀率为3或者5,自定义卷积的卷积核为3x3或者5x5。
由第2.1步可知,本实例每个块都有8个可选项。本实例训练了一个包含所有的可选择的基础块的整个超网。在训练过程中采用‘One-shot’的方法,即每次训练时只从超网中采样出一个子网进行训练,减轻不同可选项之间的耦合,使得后面基于共享参数的评估过程更加准确。
由于最终要求的最佳网络仅仅是超网中的一个子网,而每个块的参数量都不同,因此需要设定期望的总的消耗资源限制,在此设定子网最大参数量为2.2M,并使用强化学习的方法利用控制器不断从超网中采样出子网络,并得到子网络精度作为反馈值训练控制器,从而使得控制器可以寻找到最优的子架构为最佳的网络结构EPNet-CS,如图5所示。
第三步,训练神经网络,得到基于CIFAR-10的图像分类系统并进行测试。
训练神经网络。使用CIFAR-10数据集作为训练集训练该图像分类系统,共训练600epoch。
存储好训练后得到的神经网络的参数,得到一个完整的图像分类系统。当有一个新的图像I1送入该分类系统时,系统自动将I1缩放为32*32的大小,并使用神经网络提取特征进行分类,并输入最终预测的类别。其性能如表1所示。
实例1、2的实施效果:
依照实例1和2,可以分别得到针对CIFAR-10数据集手动与自动设计的神经架构,如图4,5所示。将本发明的手动、自动的神经网络与现有的神经网络进行了对比,如下表1所示:
表1:在CIFAR-10数据集上不同神经架构的性能对比
由表1中的对比可以看出,在手动设计和自动设计中,本发明的神经架构EPNet-CH和EPNet-CS均达到了更好的效果。特别是EPNet-CH与其他手动设计的神经网络相比,参数量仅仅只有之前的1/10,却达到了更高的精度。
实例3:针对ImageNet数据集设计图像分类系统,手动设计神经架构。
第一步:初始化图像分类系统。
定义图像输入部分。在基于ImageNet的图像分类系统中,输入图像I的大小调整为224*224。在整个系统的训练阶段,需要对输入图像进行增强,以获得更多的训练数据。增强的方法有随机裁剪,随机反转,随机增加横纹。
定义神经网络训练参数。此处定义网络的损失函数为交叉熵损失,优化器为SGD,学习率为0.016,学习率的下降方式为指数下降函数,需要注意,本实例更采用了指数移动平均来稳定整个训练过程。
第二步:基于ImageNet数据集手动设计神经网络。
建立一个可堆叠的基础块,用于堆叠形成不同深度的神经架构。参照现有的优秀的架构MobileNetV2,本实例和MobileNetV2保持相同的深度。
在整个神经架构中,为了与MobileNetV2保持同水平的FLOPs,手动设置每个残差块的基础通道数目在同一个stage中线性增加,但是不同stage之间指数增加。具体的配置如表2所示。
手工设置所有残差块内部的膨胀率和单路径宽度,堆叠基础块,确定最终的神经架构。通过以上设置,剩余未确定的就是每个残差块中的膨胀率,自定义卷积的卷积核和单路径宽度,本实例手动设定自定义卷积的卷积核为3x3,并根据现有的神经网络的经验手动设定膨胀率为4和单路径宽度为3,得到了最终的神经架构EPNet-IH,具体的神经网络如表2所示。
第三步:训练神经网络,得到基于ImageNet数据集的图像分类系统并进行测试。
训练神经网络。使用ImageNet数据集作为训练集训练该图像分类系统,共训练300epoch。
存储好训练后得到的神经网络的参数,得到一个完整的图像分类系统。当有一个新的图像I1送入该分类系统时,系统将自动I1缩放为224*224的大小,并使用神经网络提取特征进行分类,并输入最终预测的类别。其性能如表4所示。
实例4:针对ImageNet数据集设计图像分类系统,自动设计神经架构。
第一步:初始化图像分类系统,按照实施3第一步相同的步骤对图像分类系统进行初始化。
第二步:基于ImageNet数据集自动设计神经网络。
针对ImageNet数据集,设置需要搜索的可选配置。在此任务中设置单路径宽度可选1或者4,膨胀率为3或者5,自定义卷积的卷积核为3x3或者5x5。
由第二步可知,每个块都有8个可选项。训练了一个包含所有的可选择的基础块的整个超网。同样的,在训练过程中采用‘One-shot’的方法减轻不同可选项之间的耦合,使得后面基于共享参数的评估过程更加准确。
由于ImageNet数据集中人们都在相同的FLOPs进行模型性能的比较,因此设定期望的总的消耗资源限制为计算量FLOPs,在此设定子网最大FLOPs为280M,并使用强化学习的方法利用控制器不断从超网中采样出子网络,并得到子网络精度作为反馈值训练控制器,从而使得控制器可以寻找到最优的子架构为最佳的网络结构。
在得到搜索后的结果后,进一步向每个块中插入了挤压激励模块,使得每个块可以更好的提取特征,最终得到了在ImageNet上搜索得到的模型EPNet-IS,如表3所示。
第三步:训练神经网络,得到基于ImageNet数据集的图像分类系统并进行测试。
训练神经网络。使用ImageNet数据集作为训练集训练该图像分类系统,共训练300epoch。
存储好训练后得到的神经网络的参数,得到一个完整的图像分类系统。当有一个新的图像I1送入该分类系统时,系统将自动I1缩放为224*224的大小,并使用神经网络提取特征进行分类,并输入最终预测的类别。其性能如表4所示。
实例3、4实施效果:
依照实例3和4,可以分别得到针对ImageNet数据集手动与自动设计的神经架构,如表2,3所示。将上述实例的手动、自动神经网络与现有的神经网络进行了对比,如下表4所示:
表2:针对ImageNet手动设计的神经架构EPNet-IH的详细配置
表3:针对ImageNet自动设计的神经架构EPNet-IS的详细配置
表4:在ImageNet数据集上不同神经架构的性能对比
由表4中的对比可以看出,在手动设计和自动设计中,本发明的神经架构EPNet-IH和EPNet-IS均达到了更好的效果。可以看出不论是手动设计还是自动设计,基于本发明的神经架构的图像分类系统均达到了更高的精度。
实例5:实际工业应用:用于垃圾分类(其余应用也可,例如缺陷分类等)
第一步:数据准备
在网络上收集大量关于垃圾的照片,进行数据清洗转化为统一的格式并统一命名,而后再根据4种不同的垃圾类别对每张图进行标注,作为模型训练的数据集。其中,4种不同的垃圾类别是指可回收垃圾、厨余垃圾、有害垃圾和其他垃圾。
第二步:模型训练
以在实例4中得到的自动设计的图像分类神经网络为模型,应用其在ImageNet上的训练权重进行初始化,并固定模型的所有卷积核的权重,仅仅留出在最后全连接层可训练。使用收集到的数据集进行训练,得到对应的垃圾分类模型。
第三步:图像分类
将要分类的垃圾照片输入上述的将训练好的垃圾分类模型,得到分类结果。其中,垃圾分类模型可以设置在智能终端中,比如,将训练好的垃圾分类模型部署到移动端,在移动端得到一张垃圾的照片时,便可以将其输入该垃圾分类模型,得到对应的垃圾类别。
上述是以垃圾分类图像分类为例进行的应用说明,在其他实施例中,也可以是对其他图像进行分类,比如物品图像的缺陷分类等等。
上述实施例的系统和方法,在应用到目标检测,图像分割,目标跟踪等图像处理任务时,降低了计算量、处理复杂度,数据迁移性能好,分类的速度和准确率更好。
此处公开的仅为本发明的优选实施例,本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,并不是对本发明的限定。任何本领域技术人员在说明书范围内所做的修改和变化,均应落在本发明所保护的范围内。
Claims (8)
1.一种基于卷积神经网络的图像分类方法,其特征在于,包括:
S1:神经架构设计;进一步包括:
S11:建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的图像数据集而定;
S12:设置所述基础块中所有残差块的基础通道数目;
S13:设置所有残差块的膨胀率以及单路径宽度,堆叠所述基础块,确定最终的神经架构;
S2:采用图像训练数据对所述神经架构进行训练,得到图像分类神经网络;
S3:将待分类图像输入所述图像分类神经网络,得到图像分类结果;
所述S2之后还包括:
S201:重新定义搜索空间;进一步包括:
S31:按照所述S11~S12对神经架构进行初始化;
S32:根据不同数据集设置不同的可选择的基础块;
S33:训练包含所有所述可选择的基础块的整个超网;
S34:设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减;使用强化学习的方法寻找到最优的子神经架构为最终的神经架构;
所述S34进一步包括:
S341:设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减,得到采样出的子神经网络;
S342:对于所述采样出的子神经网络,在验证集上进行性能评估,得到性能最优的子神经网络,并将所述性能最优的子神经网络的准确率与衰减系数的乘积作为强化学习的反馈,通过强化学习的方法来寻找到最优的子神经架构为最终的神经架构。
2.根据权利要求1所述的基于卷积神经网络的图像分类方法,其特征在于,所述S11中的所述基础块包括:残差块以及跳跃连接;所述残差块包括:第一1×1卷积、自定义的卷积以及第二1×1卷积。
3.根据权利要求2所述的基于卷积神经网络的图像分类方法,其特征在于,所述S12中的每个残差块的基础通道数目随着网络不断变深而线性增加。
4.根据权利要求3所述的基于卷积神经网络的图像分类方法,其特征在于,所述S13进一步包括:
S131:设置每个所述残差块的自定义卷积的卷积核为3×3;
S132:设置每个所述残差块的膨胀率以及单路径宽度,进而确定所述自定义卷积的分组数以及通道数,进而确定最终的神经架构。
5.根据权利要求1所述的基于卷积神经网络的图像分类方法,其特征在于,所述S2进一步包括:
S21:对所述神经架构进行训练;
S22:将训练后得到的所述神经架构的参数进行存储,得到图像分类系统。
6.根据权利要求1所述的基于卷积神经网络的图像分类方法,其特征在于,所述S32进一步包括:根据不同数据集设置不同的可选择的基础块,然后设置每个所述残差块的膨胀率、自定义卷积的卷积核以及分组数的可选值,分别组合作为候选项组成超网。
7.根据权利要求1至6任一项所述的基于卷积神经网络的图像分类方法,其特征在于,子神经架构消耗的资源为:单次推理时长、模型参数以及模型计算量中的一种或多种。
8.一种基于卷积神经网络的图像分类系统,其特征在于,包括:神经架构设计模块以及神经架构训练模块;其中,
所述神经架构设计模块包括:基础块建立模块、残差块的基础通道数设置模块以及神经架构确定模块;其中,
所述基础块建立模块用于建立可堆叠的基础块,用于堆叠形成不同深度的神经架构,具体深度由不同任务所在的数据集而定;
所述残差块的基础通道数设置模块用于设置所述基础块中所有残差块的基础通道数目;
所述神经架构确定模块用于设置所有残差块的膨胀率以及单路径宽度,堆叠所述基础块,确定最终的神经架构;
所述神经架构训练模块用于对所述神经架构设计模块得到的神经架构进行训练;
所述神经架构设计模块还包括:重新定义搜索空间;进一步包括:
对神经架构进行初始化;
根据不同数据集设置不同的可选择的基础块;
训练包含所有所述可选择的基础块的整个超网;
设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减;使用强化学习的方法寻找到最优的子神经架构为最终的神经架构;进一步包括:
设定所述超网中子神经架构消耗的资源的限定值,如果子神经架构消耗的资源大于限定值,则衰减系数为子神经架构消耗的资源除以限定值,否则为1,不进行衰减,得到采样出的子神经网络;
对于所述采样出的子神经网络,在验证集上进行性能评估,得到性能最优的子神经网络,并将所述性能最优的子神经网络的准确率与衰减系数的乘积作为强化学习的反馈,通过强化学习的方法来寻找到最优的子神经架构为最终的神经架构。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875309.0A CN112101428B (zh) | 2020-08-27 | 2020-08-27 | 一种基于卷积神经网络的图像分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875309.0A CN112101428B (zh) | 2020-08-27 | 2020-08-27 | 一种基于卷积神经网络的图像分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101428A CN112101428A (zh) | 2020-12-18 |
CN112101428B true CN112101428B (zh) | 2023-11-10 |
Family
ID=73757908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010875309.0A Active CN112101428B (zh) | 2020-08-27 | 2020-08-27 | 一种基于卷积神经网络的图像分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101428B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113813053A (zh) * | 2021-09-18 | 2021-12-21 | 长春理工大学 | 一种基于腹腔镜内窥影像的手术进程分析方法 |
CN114229279B (zh) * | 2021-11-08 | 2022-12-20 | 苏州纳故环保科技有限公司 | 一种能够实现垃圾分类行为监管的智能垃圾房 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473195A (zh) * | 2019-08-13 | 2019-11-19 | 中山大学 | 一种可自动定制的医学病灶检测架构及方法 |
CN110852168A (zh) * | 2019-10-11 | 2020-02-28 | 西北大学 | 基于神经架构搜索的行人重识别模型构建方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019018375A1 (en) * | 2017-07-21 | 2019-01-24 | Google Llc | NEURONAL ARCHITECTURE RESEARCH FOR CONVOLUTION NEURAL NETWORKS |
US11741342B2 (en) * | 2018-05-18 | 2023-08-29 | Baidu Usa Llc | Resource-efficient neural architects |
-
2020
- 2020-08-27 CN CN202010875309.0A patent/CN112101428B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110473195A (zh) * | 2019-08-13 | 2019-11-19 | 中山大学 | 一种可自动定制的医学病灶检测架构及方法 |
CN110852168A (zh) * | 2019-10-11 | 2020-02-28 | 西北大学 | 基于神经架构搜索的行人重识别模型构建方法及装置 |
Non-Patent Citations (1)
Title |
---|
深度学习目标检测方法综述;赵永强;饶元;董世鹏;张君毅;;中国图象图形学报(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112101428A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Song et al. | A general framework for multi-fidelity bayesian optimization with gaussian processes | |
CN107766794B (zh) | 一种特征融合系数可学习的图像语义分割方法 | |
CN109948029B (zh) | 基于神经网络自适应的深度哈希图像搜索方法 | |
Ishii et al. | The PageRank problem, multiagent consensus, and web aggregation: A systems and control viewpoint | |
CN112101428B (zh) | 一种基于卷积神经网络的图像分类方法及系统 | |
Sun et al. | Network-scale traffic modeling and forecasting with graphical lasso and neural networks | |
CN111814966A (zh) | 神经网络架构搜索方法、神经网络应用方法、设备及存储介质 | |
CN110781967A (zh) | 一种基于可微分二值化的实时文本检测方法 | |
CN106294661B (zh) | 一种扩展搜索方法与装置 | |
CN104537126B (zh) | 一种基于边图随机游走的重叠社区发现方法 | |
Cagnoni et al. | Genetic and evolutionary computation for image processing and analysis | |
CN111126278B (zh) | 针对少类别场景的目标检测模型优化与加速的方法 | |
CN104850712B (zh) | 实物表面采样数据拓扑邻域查询方法 | |
CN107945199A (zh) | 基于蝙蝠算法和大津算法的红外图像分割方法及系统 | |
CN114167865B (zh) | 一种基于对抗生成网络与蚁群算法的机器人路径规划方法 | |
CN107730523A (zh) | 一种基于粒子群算法的图像分割方法及系统 | |
CN110827299A (zh) | 一种基于哈里斯鹰优化算法的图像分割方法 | |
Feng et al. | A new adaptive inertia weight strategy in particle swarm optimization | |
CN108645505B (zh) | 一种随机共振微弱信号检测方法 | |
Rong | Study of adaptive chaos embedded particle swarm optimization algorithm based on Skew Tent map | |
Pan et al. | The application of rough set and Kohonen network to feature selection for object extraction | |
CN104021563B (zh) | 基于多目标模糊聚类和反对学习的噪声图像分割方法 | |
CN107862700A (zh) | 基于蝙蝠算法和二维信息熵的红外图像分割方法及系统 | |
CN112966741A (zh) | 一种可防御拜占庭攻击的联邦学习图像分类方法 | |
CN113051816A (zh) | 一种大气污染管控方案优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |