图像分类方法、系统、存储介质及电子设备与流程

文档序号:26589543发布日期:2021-09-10 20:27阅读:114来源:国知局
1.本技术涉及图像处理
技术领域
:,具体涉及一种图像分类方法、系统、存储介质及电子设备。
背景技术
::2.图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。3.目前,为实现图像分类模型良好的分类准确性,往往需要构建复杂的图像分类模型进行大量的运算,然而会导致图像分类速度变慢,进而对内存和处理器运算速度具有较高的要求。而采用简单的小型图像分类模型对图像进行分类,则往往存在图像分类精度不高的问题。技术实现要素:4.基于此,为了解决或改善现有技术的问题,本技术提供一种图像分类方法、系统、存储介质及电子设备,有利于提高图像分类模型进行图像分类的精度。5.第一方面,提供一种图像分类方法,包括:获取图像分类模型;获取待分类的图像;将所述图像输入所述图像分类模型中,输出所述图像的分类结果;所述图像分类模型采用图像分类模型的训练方法训练得到的;所述图像分类模型的训练方法包括:获取第一神经网络和第二神经网络,其中,所述第一神经网络和所述第二神经网络均包括输入层、多个卷积层和输出层,且所述第一神经网络中的卷积层的通道维度数量大于所述第二神经网络中的卷积层的通道维度数量,设定第一神经网络中的多个卷积层中的一个或多个卷积层作为指导层,设定第二神经网络中的多个卷积层中的一个或多个卷积层作为学习层,所述第一神经网络还包括与所述指导层连接的全局平均池化层,所述第二神经网络还包括与所述学习层连接的升维卷积层;获取训练图像,并将所述训练图像输入所述第一神经网络中并在指导层中输出第一特征图,将所述训练图像输入所述第二神经网络中并在学习层中输出第二特征图;将第一特征图输入所述全局平均池化层中得到降维特征图,将第二特征图输入所述升维卷积层中得到升维特征图,其中,所述降维特征图与所述升维特征图中通道维度的数量相同;至少基于所述降维特征图与所述升维特征图计算第一损失,基于所述第一损失更新所述学习层中的参数,得到指导后的第二神经网络;将所述训练图像输入到所述指导后的第二神经网络中输出预测标签,至少根据所述预测标签与所述训练图像的真实标签计算第二损失,基于所述第二损失更新所述第二神经网络中的参数,得到所述图像分类模型。6.其中一个实施例中,所述将所述第一特征图输入所述全局平均池化层中得到降维特征图包括:将所述第一特征图输入所述全局平均池化层中,获得对应于所述第一特征图中每一个通道维度的分数;根据每一个通道维度对应的分数由大到小对通道维度进行排序,得到特征图序列;从特征图序列中选取排序倒数的多个通道维度组成压缩特征图;按照预设规则从所述压缩特征图中选取部分通道维度组成去除特征图;将第一特征图与去除特征图相减,得到降维特征图。7.其中一个实施例中,所述至少根据所述降维特征图与所述升维特征图计算第一损失之后,还包括:基于所述第一损失更新所述升维卷积层中的参数。8.其中一个实施例中,所述第一损失的计算步骤包括:计算所述降维特征图中的各个通道维度与所述升维特征图中对应通道维度的相减值,得到多个差值;将所述多个差值中每个差值进行平方,得到多个平方值;计算所述多个平方值的平均值,得到所述第一损失。9.其中一个实施例中,所述第一损失的计算步骤包括:分别对所述升维特征图和所述降维特征图进行归一化处理;分别计算归一化处理后的所述升维特征图与归一化处理后的所述降维特征图在每个通道维度上的相似度,得到多个相似度值;计算多个相似度值的平均值,将所述平均值的相反数乘以第一预设系数,得到所述第一损失。10.其中一个实施例中,所述第二损失的计算步骤包括:根据所述预测标签与所述训练图像的真实标签的相似度计算第一部分损失;获取所述第一神经网络中输出层输出的第一特征向量,以及所述第二神经网络中输出层输出的第二特征向量;根据所述第一特征向量与所述第二特征向量的相似度计算第二部分损失;至少将第二部分损失和第二预设系数的乘积与所述第一部分损失相加得到所述第二损失。11.其中一个实施例中,所述至少将第二部分损失和第二预设系数的乘积与所述第一部分损失相加得到所述第二损失包括:将所述第一损失作为第三部分损失;将第二部分损失和第二预设系数的乘积、第三部分损失和第三预设系数的乘积以及所述第一部分损失相加得到所述第二损失。12.第二方面提供一种图像分类系统,包括:图像分类模型获取模块,用于获取图像分类模型;图像获取模块,用于获取待分类的图像;图像分类模块,用于将所述图像输入所述图像分类模型中,输出所述图像的分类结果;其中,所述图像分类模型获取模块包括:神经网络获取单元,用于获取第一神经网络和第二神经网络,其中,所述第一神经网络和所述第二神经网络均包括输入层、多个卷积层和输出层,且所述第一神经网络中的卷积层的通道维度数量大于所述第二神经网络中的卷积层的通道维度数量,设定第一神经网络中的多个卷积层中的一个或多个卷积层作为指导层,设定第二神经网络中的多个卷积层中的一个或多个卷积层作为学习层,所述第一神经网络还包括与所述指导层连接的全局平均池化层,所述第二神经网络还包括与所述学习层连接的升维卷积层;训练图像获取单元,用于获取训练图像;训练单元,用于将所述训练图像输入到所述第一神经网络中并在指导层中输出第一特征图,将所述训练图像输入所述第二神经网络中并在学习层中输出第二特征图;将第一特征图输入所述全局平均池化层中得到降维特征图,将第二特征图输入所述升维卷积层中得到升维特征图,其中,所述降维特征图与所述升维特征图中通道维度的数量相同;至少根据所述降维特征图与所述升维特征图计算第一损失,基于所述第一损失更新所述学习层中的参数,得到指导后的所述第二神经网络;将所述训练图像输入到所述指导后的所述第二神经网络中输出预测标签,至少根据所述预测标签与所述训练图像的真实标签计算第二损失,基于所述第二损失更新所述第二神经网络中的参数,得到所述图像分类模型。13.第三方面提供一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上所述的图像分类方法。14.第四方面提供一种计算机可读的存储介质,其上存储有计算机程序,当计算机程序在计算机上执行时,使得所述计算机执行如上所述的图像分类方法。15.上述图像分类方法中,第一神经网络的卷积层中通道维度的数量相对较多使第一神经网络具有较好的表达能力,再将训练图像分别输入第一神经网络和第二神经网络中并获得由第一神经网络中指导层输出的第一特征图以及第二神经网络中指导层输出的第二特征图,对第一特征图进行降维和对第二特征图进行升维使得到的降维特征图与升维特征图的通道维度数量相等,从而实现第一损失的计算,并根据第一损失更新学习层中的参数,实现学习层向指导层进行学习模仿,有利于提高第二神经网络的图像分类的准确性,从而提高图像分类精度;而且,第二神经网络的卷积层中通道维度的数量相对较少,通过将训练后的第二神经网络作为图像分类模型,有利于提高图像分类的速度。附图说明16.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。应当理解的是,下面描述中的附图仅仅用以解释本发明,并不用于限定本发明。17.图1为本技术一实施例中电子设备的内部结构示意图;图2为本技术一实施例中图像分类方法的流程图;图3为本技术一实施例中图像分类模型的训练方法的流程图;图4为本技术一实施例中第一神经网络与第二神经网络的结构对比示意图;图5为本技术一实施例中第一特征图的降维过程和第二特征图的升维过程对比示意图;图6为本技术一实施例中图像分类系统的模块连接关系示意图。具体实施方式18.下面结合附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而非全部实施例。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。19.图1为一个实施例中电子设备的内部结构示意图。如图1所示,该终端包括通过系统总线连接的处理器、存储器和网络接口。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器用于存储数据、程序等,存储器上存储至少一个计算机程序,该计算机程序可被处理器执行,以实现本技术实施例中提供的适用于电子设备的无线网络通信方法。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以下各个实施例所提供的一种图像分类方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。网络接口可以是以太网卡或无线网卡等,用于与外部的电子设备进行通信。20.本技术中描述的电子设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。21.后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本技术的实施方式的构造也能够应用于固定类型的终端。22.请参阅图2,该图像分类方法,包括:步骤1、获取图像分类模型;步骤2、获取待分类的图像;步骤3、将图像输入图像分类模型中,输出图像的分类结果;其中,图像分类模型采用如下图像分类模型的训练方法训练得到的;请参阅图3,图像分类模型的训练方法包括:步骤10、获取第一神经网络和第二神经网络,其中,第一神经网络和第二神经网络均包括输入层、多个卷积层和输出层,且第一神经网络中的卷积层的通道维度数量大于第二神经网络中的卷积层的通道维度数量,设定第一神经网络中的多个卷积层中的一个或多个卷积层(至少一个卷积层)作为指导层(whint),设定第二神经网络中的多个卷积层中的一个或多个卷积层(至少一个卷积层)作为学习层(wguided),第一神经网络还包括与指导层连接的全局平均池化层,第二神经网络还包括与学习层连接的升维卷积层;步骤20、获取训练图像,并将训练图像输入第一神经网络中并在指导层中输出第一特征图,将训练图像输入第二神经网络中并在学习层中输出第二特征图;步骤30、将第一特征图输入全局平均池化层中得到降维特征图,将第二特征图输入升维卷积层中得到升维特征图,其中,降维特征图与升维特征图中通道维度的数量相同;步骤40、至少根据降维特征图与升维特征图计算第一损失,基于第一损失更新学习层中的参数,得到指导后的第二神经网络;步骤50、将训练图像输入到指导后的第二神经网络中输出预测标签,至少根据预测标签与训练图像的真实标签计算第二损失,基于第二损失更新第二神经网络中的参数,得到图像分类模型。23.本实施例图像分类方法中,提供的第一神经网络的卷积层中通道维度的数量相对较多使第一神经网络具有较好的表达能力,再将训练图像分别输入第一神经网络和第二神经网络中,并在第一神经网络中指导层输出第一特征图以及第二神经网络中学习层输出第二特征图,对第一特征图进行降维和对第二特征图进行升维使得到的降维特征图与升维特征图的通道维度数量相等从而实现第一损失的计算,并根据第一损失更新学习层中的参数,实现学习层向指导层进行学习模仿,有利于提高第二神经网络的图像分类的准确性;而且,第二神经网络的卷积层通道维度的数量相对较少,通过将训练后的第二神经网络作为图像分类模型,有利于提高图像分类的速度。24.步骤10是构建第一神经网络和构建第二神经网络。其中,第一神经网络可以是已在训练集进行过充分训练并冻结参数的图像分类神经网络模型,即第一神经网络为充分训练后的图像分类神经网络模型。卷积层也可以称为特征层,可以通过对输入图像进行卷积处理,并输出特征图。卷积层中的通道维度数量(简称通道数量)等于卷积层中卷积核的个数,也等于卷积输出的特征图的通道维度数量。25.其中,第一神经网络是一种大型的神经网络模型,第二神经网络是一种小型的神经网络模型。一般地,大模型往往是单个复杂网络或者是若干网络的集合,拥有良好的性能和泛化能力,而小模型因为网络规模较小,表达能力有限。因此,可以利用大模型学习到的知识去指导小模型训练,使得小模型具有与大模型相当的性能,但是参数数量大幅降低,从而实现图像分类方神经网络模型的压缩与加速。具体地,第一神经网络中卷积层的通道数量大于第二神经网络中卷积层的通道数量,因此,第一神经网络相对来说具有更好的表达能力。26.本实施例升维卷积层为用作通道升维的卷积层,即为一种用于增加输入的特征图的通道维度数量的卷积层。请参阅图4,指导层702和学习层802分别是从第一神经网络70中的多个卷积层701以及第二神经网络80中的多个卷积层801选取一个或多个卷积层。相比于第二神经网络80中的卷积层801,第一神经网络70中的卷积层701具有较多的通道维度数量,因此相对来说具有更好的表达能力,通过学习层802向指导层702学习,使第二神经网络80中的学习层802模仿第一神经网络70的指导层702,有利于提高训练后的第二神经网络80的对图片进行分类的精确性。27.通常,指导层中具有更为复杂的网络结构,而学习层具有较为简单的网络结构。可选地,指导层为第一神经网络中用于压缩特征图的一个或多个卷积层;学习层为第二神经网络中用于压缩特征图的一个或多个卷积层。其中,用于压缩特征图的卷积层是指能够通对输入的特征图进行卷积,从而将输入的特征图压缩至更小尺寸的特征图,比如用于压缩特征图的卷积层通过卷积处理将输入的特征图的尺寸由244×244被压缩到112×112(卷积层中步长stride设置为2,使输出的特征图边长就会被压缩到输入特征图边长的一半)。28.由于指导层与学习层中卷积层的通道维度数量并不相同,会导致输出的特征图具有不同的通道维度数量,即第一特征图和第二特征图的通道维度数量不同。本实施例提出了一种学习层向指导层学习的步骤,具体是通过对通道维度数量较高的第一特征图进行降维,对通道维度数量较低的第二特征图进行升维。请参阅图5,本实施例中,通过对第一特征图910进行降维得到降维特征图911,对第二特征图920进行升维得到升维特征图921,从而使降维特征图911和升维特征图921的通道维度数量相等,进而计算第一损失并按照第一损失减小的方向更新第二神经网络中的学习层参数,以实现第二神经网络学习层模仿第一神经网络指导层的输出结果,从而提高第二神经网络的表达能力。29.步骤20是将同一训练图片分别输入第一神经网络和第二神经网络中,通过指导层对训练图片进行卷积处理实现特征提取并输出第一特征图,通过学习层对训练图片进行卷积处理实现特征提取并输出第二特征图。30.步骤30中,第一特征图和第二特征图的通道维度数量不同,不能直接进行比较,需要将第一特征图进行降维处理和第二特征图进行升维处理,使两者的通道维度相等才可进行第一损失的计算,进而对学习层中的参数进行更新。31.研究发现,仅通过对第二特征图进行升维处理,使学习层输出的第二特征图的通道维度数量与指导层输出的第一特征图的通道维度数量对齐,从而使具有对应可比较性,虽然可以由此算出第一损失,进而根据第一损失收敛的方向更新学习层中的参数,实现学习层向指导层学习,但是存在可能会影响学习层向指导层学习的效果的问题。具体地,当采用的升维处理是通过将学习层与一个通道维度数量与第一特征图通道维度数量一致的升维卷积层连接,通过学习形成的映射函数可以将第二特征图的通道维度进行升维至第一特征图的通道维度数,然而,当第一特征图与第二特征图的通道维度数量相差较大时,可能会影响学习层向指导层学习的效果。32.通过降低第一特征图的通道维度,可以减小第二特征图进行升维的维度数量,使降维的第一特征图和升维的第二特征图的通道维度数量相等(通道数量对齐),同样可以实现计算第一损失。此时,如何对第一特征图进行降维成为一个的技术难题。因为,为提升第二神经网络的预测精度,需要第二神经网络向第一神经网络进行学习,而非第一神经网络向第二神经网络学习,如果参照降维处理方法在将指导层连接一个可学习的降维层,那么需要降维层的参数需要重新学习(因为降维层是没有预先设置的参数权重的),于是产生了让指导层向学习层进行学习的问题。33.基于此,本实施例提供一个降维方法。具体地,将指导层与一个全局平均池化层连接。进一步地,将第一特征图输入全局平均池化层中得到降维特征图包括:步骤301、将第一特征图输入全局平均池化层中,获得对应于第一特征图中的每一个通道维度的分数;步骤302、根据每一个通道维度对应的分数由大到小对通道维度进行排序,得到特征图序列;步骤303、从特征图序列中选取排序倒数的多个通道维度组成压缩特征图;步骤304、按照预设规则从压缩特征图中选取部分通道维度组成去除特征图;步骤305、将第一特征图与去除特征图相减,得到降维特征图。34.本实施例中全局平均池化层分别对输入的特征图中的每个通道维度进行全局平均池化处理,获得的值作为对应于每个通道维度的分数,即用全局平均池化层在输入的特征图每个通道维度上获得值作为第一特征图中的每个通道维度的分数。35.可见,在对第一特征图进行降维时,全局平均池化层和上述规则形成了一种降维机制,但是全局平均池化层中本身不具有参数,获得的特征图是基于原始第一特征图进行遗传,因此规避了技术难点。36.举例地,例如第一神经网络的指导层输出112×112×64的第一特征图,其中112、112和64分别是第一特征图的长、宽以及通道维度数量,而第二神经网络的学习层输出112×112×32的第二特征图(一般第一神经网络和第二神经网络输出的特征图的尺寸相同,但通道数量不同),从第一特征图中64个通道中选择出较为重要的48个通道供学习层学习,其中一个通道对应一个通道维度。具体地,在第一神经网络的指导层后增加一个全局平均池化层,通过全局平均池化层为每一个通道赋予一个分数(分数为平均池化后得到的64个数值),再将64个分数从大到小排列,得到排序后通道维度组,即特征图序列,将分数最小的32个通道(排序倒数的多个通道,通道数量可以预先设定)中的一半即16个进行随机丢弃(按照预设规则从压缩特征图中选取部分通道维度组成去除特征图),使64个通道被压缩成48个通道。37.第二神经网络对应学习层输出的第二特征图需要升维处理来对齐这48通道。本实施例通过从第一特征图的64个通道中不断选择最具有代表性的48个通道来对第二神经网络进行指导,而第二神经网络从48个最具有代表性的通道中再次提炼自己需要的特征,来取得更好的学习效果。38.可见,本实施例通过从第二特征图中直接区分出关键的通道,有利于学习层进行高效的学习,可以有效改善第一损失存在难收敛的问题。39.其中一个实施例中,在更新学习层中的参数的同时,更新升维卷积层中的参数。例如在至少根据降维特征图与升维特征图计算第一损失之后,还包括:基于第一损失更新升维卷积层中的参数。也就是说,基于第一损失减小的方向,对升维卷积层中参数进行更新。40.步骤40中,至少根据降维特征图与升维特征图计算第一损失,并根据第一损失更新第二神经网络,进而得到指导后的第二神经网络。41.具体地,步骤40是根据降维特征图和升维特征图计算第一损失。其中一个实施例中,第一损失可以基于第一特征图与第二特征图通过均方差原理计算得到。具体地,第一损失的计算步骤包括:步骤401、计算降维特征图中的各个通道维度与升维特征图中对应通道维度的相减值,得到多个差值;步骤402、将多个差值中每个差值进行平方,得到多个平方值;步骤403、计算多个平方值的平均值,得到第一损失。42.步骤401中,升维特征图中各个通道维度可以乘以第四预设系数,其中第四系数可以为根据具体的应用场景不同预先设定的数值,对第一损失范围具有一定的调节效果。43.其中一个实施例中,为进一步提高第一损失对学习层的优化效果,可以将第一特征图和第二特征图分别归一化后的余弦相似度并作为第一损失。具体地,第一损失的计算步骤包括:步骤411、分别对升维特征图和降维特征图进行归一化处理;步骤412、分别计算归一化处理后的升维特征图与归一化处理后的降维特征图在每个通道维度上的相似度,得到多个相似度值;步骤413、计算多个相似度值的平均值,将平均值的相反数乘以第一预设系数,得到第一损失。44.l为第一损失,n为通道维度数量,sk为序号第k个通道维度对应相似度值,为第一预设系数,k为通道维度的序号,1≤k≤n。45.本实施例中第一损失是两个特征图归一化后的余弦相似度,可以忽略不同量级神经网络在提取特征时尺度上的单位统一性。可以理解的是,相似度值与通道维度相对应,多个相似度值的数量等于通道维度的数量。举例地,第一损失的步骤包括:首先分别对降维特征图和升维特征图中的各通道进行独立的l2归一化处理;再将归一化处理后的降维特征图和升维特征图展开成48个112×112大小的特征向量进行相似度计算;将相似度相加除以通道数的负数,并乘以一个第一预设系数作为第一损失函数。可以理解的是,降维特征图和升维特征图相似度越高,第一损失越小。46.步骤50是对第二神经网络中的所有参数进行更新,从而获得图像分类模型。具体地,通过计算第二损失,以及通过更新第二神经网络中的所有参数使第二损失进行收敛,得到图像分类模型。47.其中一个实施例中,第二损失的计算步骤包括:步骤501、根据预测标签与训练图像的真实标签的相似度计算第一部分损失;步骤502、获取第一神经网络中输出层输出的第一特征向量,以及第二神经网络中输出层输出的第二特征向量;具体地,第一特征向量由第一神经网络中最后的输出层(全连接特征层)输出,第二特征向量由第二神经网络中最后的输出层(全连接特征层)输出。48.步骤503、根据第一特征向量与第二特征向量的相似度计算第二部分损失;步骤504、至少将第二部分损失和第二预设系数的乘积与第一部分损失相加得到第二损失。49.步骤501是根据预测标签与训练图像的真实标签计算第一部分损失,衡量预测标签与真实标签之间的区别。具体可以是根据通过交叉熵分类损失的方法计算。50.步骤502至步骤503是计算第二部分损失,用于衡量第一神经网络中最后的全连接特征层输出特征向量与第二神经网络中最后的全连接特征层输出的特征向量之间的区别。51.其中,步骤502中第一神经网络和第二神经网络中的最后的全连接特征层会输出特征向量,特征向量经过softmax(归一化指数函数)输出层后即可得到对应于图像的分类结果;步骤503是根据特征向量与第二神经网络中最后的全连接特征层输出的特征向量进行相似度计算获得第二部分损失。步骤504中,第二损失包括第一部分损失和第二部分损失,具体是将基于第一部分损失与第二部分损失和第二预设系数的乘积相加。本实施例通过基于第二损失减小的方向更新第二神经网络中的参数,获得图像分类模型。52.其中一个实施例中,至少将第二部分损失和第二预设系数的乘积与第一部分损失相加得到第二损失包括:将第一损失作为第三部分损失;将第二部分损失和第二预设系数的乘积、第三部分损失和第三预设系数的乘积以及第一部分损失相加得到第二损失。53.可见,第二损失ltotal=βl3+αl2+l1其中,ltotal为第二损失,l3为第三部分损失,l2为第二部分损失,l1为第一部分损失,β为第三预设系数,α为第二预设系数。54.通过将第一损失作为第三部分损失加入到第二损失中,有利于学习层获得良好的鲁棒性。55.本实施例中,图像分类模型的训练方法为分段式蒸馏学习的训练方法,包括第一阶段和第二阶段。第一阶段为通过知识蒸馏的方式进行训练,使得第一神经网络的学习层学习第二神经网络的指导层的输出;第二阶段为将当前的参数作为第二神经网络的初始参数,在利用知识蒸馏的方式训练第二神经网络的所有层参数,使第二神经网络学习第一神经网络的输出。与第一神经网络相比,第二神经网络中权重参数更少,具有较佳的图像分类的速度;同时,通过第二神经网络学习层向第一神经网络指导层进行学习模仿,能够达到在权重参数较少的情况下提高图像分类的准确性。56.应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。57.本实施例图像分类模型可以适用于各种图像分类任务,例如对动物图像进行分类实现动物分类的效果。待分类的图像具体为动物图片。58.本实施例的图像分类方法中图像分类模型是采用的训练方法,能够使图像分类模型的图像分类准确性得到提高;而且,第二神经网络的卷积层的通道维度数量相对较少,通过将训练后的第二神经网络作为图像分类模型,有利于提高图像分类的速度。59.本实施例还提供一种图像分类模型的训练方法,图像分类模型用于对图像进行分类。请参阅图3,该图像分类模型的训练方法,包括:步骤10、获取第一神经网络和第二神经网络,其中,第一神经网络和第二神经网络均包括输入层、多个卷积层和输出层,且第一神经网络中的卷积层的通道维度数量大于第二神经网络中的卷积层的通道维度数量,设定第一神经网络中的多个卷积层中的一个或多个卷积层作为指导层,设定第二神经网络中的多个卷积层中的一个或多个卷积层作为学习层,第一神经网络还包括与指导层连接的全局平均池化层,第二神经网络还包括与学习层连接的升维卷积层;其中,第一神经网络可以为训练充分的神经网络。60.步骤20、获取训练图像,并将训练图像输入到第一神经网络中并在指导层中输出第一特征图,将训练图像输入第二神经网络中并在学习层中输出第二特征图;步骤30、将第一特征图输入全局平均池化层中得到降维特征图,将第二特征图输入升维卷积层中得到升维特征图,其中,降维特征图与升维特征图中通道维度的数量相同;步骤40、至少根据降维特征图与升维特征图计算第一损失,基于第一损失更新学习层中的参数,得到指导后的第二神经网络;步骤50、将训练图像输入到指导后的第二神经网络中输出预测标签,至少根据预测标签与训练图像的真实标签计算第二损失,基于第二损失更新第二神经网络中的参数,得到图像分类模型。61.本实施例中的图像分类模型的训练方法中的具体过程可参阅前文,在此不再赘述。62.请参阅图6,本实施例提供一种图像分类系统,包括:图像分类模型获取模61,用于获取图像分类模型;图像获取模块62,用于获取待分类的图像;图像分类模块63,用于将图像输入图像分类模型中,输出图像的分类结果;其中,图像分类模型获取模块61包括:神经网络获取单元611,用于获取第一神经网络和第二神经网络,其中,第一神经网络和第二神经网络均包括输入层、多个卷积层和输出层,且第一神经网络中的卷积层的通道维度数量大于第二神经网络中的卷积层的通道维度数量,设定第一神经网络中的多个卷积层中的一个或多个卷积层作为指导层,设定第二神经网络中的多个卷积层中的一个或多个卷积层作为学习层,第一神经网络还包括与指导层连接的全局平均池化层,第二神经网络还包括与学习层连接的升维卷积层;训练图像获取单元612,用于获取训练图像;训练单元613,用于将训练图像输入到第一神经网络中并在指导层中输出第一特征图,将训练图像输入第二神经网络中并在学习层中输出第二特征图;将第一特征图输入全局平均池化层中得到降维特征图,将第二特征图输入升维卷积层中得到升维特征图,其中,降维特征图与升维特征图中通道维度的数量相同;至少根据降维特征图与升维特征图计算第一损失,基于第一损失更新学习层中的参数,得到指导后的第二神经网络;将训练图像输入到指导后的第二神经网络中输出预测标签,至少根据预测标签与训练图像的真实标签计算第二损失,基于第二损失更新第二神经网络中的参数,得到图像分类模型。63.上述图像分类系统中各个模块的划分仅用于举例说明,在其他实施例中,可将图像分类系统按照需要划分为不同的模块,以完成上述图像分类系统的全部或部分功能。64.本技术实施例中提供的图像分类系统中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本技术实施例中所描述方法的步骤。65.其中一个实施例中,训练单元613还用于将第一特征图输入全局平均池化层中,获得对应于第一特征图中的每一个通道维度的分数;根据每一个通道维度对应的分数由大到小对通道维度进行排序,得到特征图序列;从特征图序列中选取排序倒数的多个通道维度组成压缩特征图;按照预设规则从压缩特征图中选取部分通道维度组成去除特征图;将第一特征图与去除特征图相减,得到降维特征图。66.其中一个实施例中,训练单元613还用于基于第一损失更新升维卷积层中的参数。67.其中一个实施例中,训练单元613还用于计算降维特征图中的各个通道维度与升维特征图中对应通道维度的相减值,得到多个差值;将多个差值中每个差值进行平方,得到多个平方值;计算多个平方值的平均值,得到第一损失。68.其中一个实施例中,训练单元613还用于分别对升维特征图和降维特征图进行归一化处理;分别计算归一化处理后的升维特征图与归一化处理后的降维特征图在每个通道维度上的相似度,得到多个相似度值;计算多个相似度值的平均值,将平均值的相反数乘以第一预设系数,得到第一损失。69.其中一个实施例中,训练单元613还用于根据预测标签与训练图像的真实标签的相似度计算第一部分损失;获取第一神经网络中输出层输出的第一特征向量,以及第二神经网络中输出层输出的第二特征向量;根据第一特征向量与第二特征向量的相似度计算第二部分损失;至少将第二部分损失和第二预设系数的乘积与第一部分损失相加得到第二损失。70.其中一个实施例中,训练单元613还用于将第一损失作为第三部分损失;将第二部分损失和第二预设系数的乘积、第三部分损失和第三预设系数的乘积以及第一部分损失相加得到第二损失。71.关于图像分类系统的具体限定可以参见上文中对于图像分类方法的限定,在此不再赘述。上述图像分类系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。72.本实施例还提供一种电子设备,包括存储器及处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行如上的图像分类模型的训练方法或如上的图像分类方法的步骤。73.电子设备可以以各种形式来实施。例如,本技术中描述的电子设备可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字tv、台式计算机等固定终端。74.本技术实施例中提供的电子设备可以通过执行计算机程序实现图像分类。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本技术实施例中所描述方法的步骤。75.本实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,当计算机程序在计算机上执行时,使得计算机执行如上的图像分类方法。76.本技术实施例中提供的存储介质中存储有计算机程序,计算机程序执行时,实现本技术实施例中所描述方法的步骤。具体地,本技术所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。77.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。78.以上实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1