一种基于深度神经网络模型的图像识别方法、装置及设备转让专利

申请号 : CN201910004752.8

文献号 : CN109344921B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谭明奎吴希贤

申请人 : 湖南极点智能科技有限公司

摘要 :

本发明公开了一种基于深度神经网络模型的图像识别方法,该方法包括:获取待识别的目标图像;将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果。由于识别目标图像的目标模型是基于通道的表征能力进行剪枝后的模型,因而,对目标图像进行识别时的计算量可大幅度降低。本发明还公开了一种基于深度神经网络模型的图像识别装置、设备及可读存储介质,具有相应的技术效果。

权利要求 :

1.一种基于深度神经网络模型的图像识别方法,其特征在于,包括:获取待识别的目标图像;

将所述目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;

利用所述目标模型中的辅助分类器对所述目标图像进行分类处理,获得识别结果;

其中,获得所述目标模型的过程,包括:

在所述深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;

在所述深度神经网络模型中插入辅助损失函数,并与所述深度神经网络模型的重构损失函数构成目标损失函数;

利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型。

2.根据权利要求1所述的基于深度神经网络模型的图像识别方法,其特征在于,在所述深度神经网络模型中插入辅助损失函数,包括:在所述深度神经网络模型中插入交叉熵损失函数。

3.根据权利要求2所述的基于深度神经网络模型的图像识别方法,其特征在于,所述利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型,包括:利用所述目标损失函数并结合通道的表征能力,在所述深度神经网络模型中选择待剪枝的冗余通道;

在所述深度神经网络模型中,剪去所述冗余通道,获得目标模型。

4.根据权利要求3所述的基于深度神经网络模型的图像识别方法,其特征在于,所述利用所述目标损失函数并结合通道的表征能力,在所述深度神经网络模型中选择待剪枝的冗余通道,包括:获取表征所述深度神经网络模型中各个通道的重要性的通道选择向量;

利用所述目标损失函数对所述通道选择向量和模型参数进行优化;

将优化后通道选择向量的向量元素为0的通道确定为冗余通道。

5.根据权利要求4所述的基于深度神经网络模型的图像识别方法,其特征在于,所述利用所述目标损失函数对所述通道选择向量和模型参数进行优化,包括:随机选择训练样本,并利用随机梯度下降算法和贪婪算法,令目标损失函数收敛;其中, 为重构损失函数, 为指定辅助损失函数,W为模型参数,β为通道选择向量;λ为所述指定辅助损失函数的权重。

6.一种基于深度神经网络模型的图像识别装置,其特征在于,包括:目标图像获取模块、目标图像输入模块、分类识别模块和目标模型获取模块;

其中,所述目标图像获取模块,用于获取待识别的目标图像;

所述目标图像输入模块,用于将所述目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;

所述分类识别模块,用于利用所述目标模型中的辅助分类器对所述目标图像进行分类处理,获得识别结果;

所述目标模型获取模块,包括:

辅助分类器构建单元,用于在所述深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;

辅助损失函数插入单元,用于在所述深度神经网络模型中插入辅助损失函数,并与所述深度神经网络模型的重构损失函数构成目标损失函数;

训练单元,用于利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型。

7.一种基于深度神经网络模型的图像识别设备,其特征在于,包括:存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述基于深度神经网络模型的图像识别方法的步骤。

8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于深度神经网络模型的图像识别方法的步骤。

说明书 :

一种基于深度神经网络模型的图像识别方法、装置及设备

技术领域

[0001] 本发明涉及智能识别技术领域,特别是涉及一种基于深度神经网络模型的图像识别方法、装置、设备及可读存储介质。

背景技术

[0002] 目前,图像分类、人脸识别等图像分类识别中,深度神经网络模型至关重要。然而,深度神经网络具有参数多、计算量大的特点,造成了大量的内存需求以及计算负担,使得深度神经网络模型难以应用到存储和计算资源有限的如手机等硬件设备中。
[0003] 综上所述,如何有效地解决减少图像识别的计算量等问题,是目前本领域技术人员急需解决的技术问题。

发明内容

[0004] 本发明的目的是提供一种基于深度神经网络模型的图像识别方法、装置、设备及可读存储介质,以实现减少基于深度神经网络模型的图像识别时的计算量。
[0005] 为解决上述技术问题,本发明提供如下技术方案:
[0006] 一种基于深度神经网络模型的图像识别方法,包括:
[0007] 获取待识别的目标图像;
[0008] 将所述目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;
[0009] 利用所述目标模型中的辅助分类器对所述目标图像进行分类处理,获得识别结果;
[0010] 其中,获得所述目标模型的过程,包括:
[0011] 在所述深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;
[0012] 在所述深度神经网络模型中插入辅助损失函数,并与所述深度神经网络模型的重构损失函数构成目标损失函数;
[0013] 利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型。
[0014] 优选地,在所述深度神经网络模型中插入辅助损失函数,包括:
[0015] 在所述深度神经网络模型中插入交叉熵损失函数。
[0016] 优选地,所述利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型,包括:
[0017] 利用所述目标损失函数并结合通道的表征能力,在所述深度神经网络模型中选择待剪枝的冗余通道;
[0018] 在所述深度神经网络模型中,剪去所述冗余通道,获得目标模型。
[0019] 优选地,所述利用所述目标损失函数并结合通道的表征能力,在所述深度神经网络模型中选择待剪枝的冗余通道,包括:
[0020] 获取表征所述深度神经网络模型中各个通道的重要性的通道选择向量;
[0021] 利用所述目标损失函数对所述通道选择向量和模型参数进行优化;
[0022] 将优化后通道选择向量的向量元素为0的通道确定为冗余通道。
[0023] 优选地,所述利用所述目标损失函数对所述重要通道的通道选择向量和模型参数进行优化,包括:
[0024] 随机选择训练样本,并利用随机梯度下降算法和贪婪算法,令目标损失函数收敛;其中, 为重构损失函数, 为指定辅助损失函数,为模型参数,β为通道选择向量;λ为所述指定辅助损失函数的权重。
[0025] 一种基于深度神经网络模型的图像识别装置,包括:目标图像获取模块、目标图像输入模块、分类识别模块和目标模型获取模块,
[0026] 其中,所述目标图像获取模块,用于获取待识别的目标图像;
[0027] 所述目标图像输入模块,用于将所述目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;
[0028] 所述分类识别模块,用于利用所述目标模型中的辅助分类器对所述目标图像进行分类处理,获得识别结果;
[0029] 所述目标模型获取模块,包括:
[0030] 辅助分类器构建单元,用于在所述深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;
[0031] 辅助损失函数插入单元,用于在所述深度神经网络模型中插入辅助损失函数,并与所述深度神经网络模型的重构损失函数构成目标损失函数;
[0032] 训练单元,用于利用所述目标损失函数结合通道的表征能力,对所述辅助分类器进行训练,获得目标模型。
[0033] 一种基于深度神经网络模型的图像识别设备,包括:
[0034] 存储器,用于存储计算机程序;
[0035] 处理器,用于执行所述计算机程序时实现上述基于深度神经网络模型的图像识别方法的步骤。
[0036] 一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述基于深度神经网络模型的图像识别方法的步骤。
[0037] 应用本发明实施例所提供的方法,获取待识别的目标图像;将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果。
[0038] 获取待识别的目标图像,然后将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中。即该目标模型为利用通道的表征能力对深度神经网络模型剪枝后获取的。也就是说,该目标模型已剔除了表征能力差的通道。然后,利用目标模型中的辅助分类器对目标图像进行分类处理,便可获得目标图像的识别结果。由于,目标模型是基于通道的表征能力对深度神经网络模型进行剪枝后所得的模型,因而,对目标图像进行识别时的计算量可大幅度降低。同时,由于剪枝剔除的通道是表征能力差的通道,因而采用剪枝后的深度神经网络模型对目标图像进行分类识别,并不会降低最终的识别结果的准确率。进一步,由于该目标模型的进行了通道剪枝,计算量可大幅度降低,因而可将本发明实施例所提供的基于深度神经网络模型的图像识别方法应用到如智能手机等计算资源有效的硬件设备中。
[0039] 相应地,本发明实施例还提供了与上述基于深度神经网络模型的图像识别方法相对应的基于深度神经网络模型的图像识别装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

[0040] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0041] 图1为本发明实施例中一种基于深度神经网络模型的图像识别方法的实施流程图;
[0042] 图2为本发明实施例中一种插入了辅助分类器和辅助损失函数的深度神经网络模型的网络结构示意图;
[0043] 图3为本发明实施例中通道剪枝示意图;
[0044] 图4为本发明实施例中一种基于深度神经网络模型的图像识别装置的结构示意图;
[0045] 图5为本发明实施例中一种基于深度神经网络模型的图像识别设备的结构示意图;
[0046] 图6为本发明实施例中一种基于深度神经网络模型的图像识别设备的具体结构示意图。

具体实施方式

[0047] 为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048] 实施例一:
[0049] 请参考图1,图1为本发明实施例中一种基于深度神经网络模型的图像识别方法的流程图,该方法包括以下步骤:
[0050] S101、获取待识别的目标图像。
[0051] 利用目标图像采集设备实时采集待识别的目标图像,也可以在预先设置的存储设备中读取待识别的目标图像。目标图像可为利用摄像头等图像采集设备实时采集待识别的图像。
[0052] S102、将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中。
[0053] 可以预先对深度神经网络模型,基于通道的表征能力进行通道剪枝,进而获得目标模型。然后,获得目标图像之后,便可将目标图像输入至目标模型中。由于目标模型已基于通道的表征能力,进行了通道剪枝,因而相较于普通神经网络模型而言,该目标模型可在计算资源相对较少的硬件设备上运行,如智能手机,平板电脑等。
[0054] 优选地,为了提高识别结果的准确率,在将目标图像输入至预设深度神经网络模型之前,还可以对目标图像进行降维、去噪等预处理。例如,若待识别的目标图像为彩色图像,并且在执行步骤S101之后,获得了一个待识别的残缺彩色图像,此时可先利用常见的图像修改技术对该残缺彩色图像进行修复,并将修复后的图像进行二值化之后,再将二值化的图像输入至预设深度神经网络模型中。
[0055] 可通过执行以下步骤获取目标模型:
[0056] 步骤一、在深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;
[0057] 步骤二、在深度神经网络模型中插入辅助损失函数,并与深度神经网络模型的重构损失函数构成目标损失函数;
[0058] 步骤三、利用目标损失函数结合通道的表征能力,对辅助分类器进行训练,获得目标模型。
[0059] 为便于描述,下面将上述三个步骤结合起来进行说明。
[0060] 请参见图2,图2为本发明实施例中一种插入了辅助分类器和辅助损失函数的深度神经网络模型的网络结构示意图,其中,Conv为卷积层,BatchNorm为批量归一化层,ReLU为线性整流层,AvgPooling为平均池化层,Softmax为softmax损失分类函数(即下文所描述的辅助损失函数)。获取目标模型时,可在深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器,以及插入辅助损失函数。在深度神经网络模型中各层所插入的辅助损失函数须为相同函数。
[0061] 插入的辅助损失函数可与重构损失函数共同构成目标损失函数。然后,利用目标损失函数结合通道的表征能力对辅助分类器进行训练,即通过对通道进行剪枝,以剪枝模型。具体的,对辅助分类器进行训练的损失函数包括辅助损失函数和深度神经网络中原有的损失函数。
[0062] S103、利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果。
[0063] 利用预设目标模型中的辅助分类其对目标图像进行分类处理,最终可获得目标图像的识别结果。具体的,识别结果可以为对图像中的物品识别分类,如危险品分类。
[0064] 应用本发明实施例所提供的方法,获取待识别的目标图像;将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果。
[0065] 获取待识别目标图像,然后将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中。即该目标模型为利用通道的表征能力对深度神经网络模型剪枝后获取的。也就是说,该目标模型已剔除了表征能力差的通道。然后,利用目标模型中的辅助分类器对目标图像进行分类处理,便可获得目标图像的识别结果。由于,目标模型是基于通道的表征能力对深度神经网络模型进行剪枝后所得的模型,因而,对目标图像进行识别时的计算量可大幅度降低。同时,由于剪枝剔除的通道是表征能力差的通道,因而采用剪枝后的深度神经网络模型对目标图像进行分类识别,并不会降低最终的识别结果的准确率。进一步,由于该目标模型的进行了通道剪枝,计算量可大幅度降低,因而可将本发明实施例所提供的基于深度神经网络模型的图像识别方法应用到如智能手机等计算资源有效的硬件设备中。
[0066] 需要说明的是,将上文所描述的深度神经网络模型可以为VGG以及ResNet模型。在VGG以及ResNet模型进行剪枝后,并在CIFAR10,ILSVRC-12等经典的大型数据集上进行测试,通过计算top-1 error以及top-5 error进行性能比较时发现,利用本发明实施例所提供的基于深度神经网络模型的图像识别方法所得到的识别结果,仍然可以保持甚至超过基准模型(即未剪枝的神经神经网络模型)的性能。
[0067] 实施例二:
[0068] 为便于本领域技术人员理解本发明实施例所提供的技术方案,下面以在深度神经网络模型中插入的辅助损失函数具体为交叉熵损失函数为例,对在深度神经网络模型中插入辅助损失函数进行详细说明。
[0069] 在深度神经网络模型中插入 个辅助损失函数{ },令{ }表示插入位置,其中 表示最后一层。使用第 个损失函数 对第 层进行通
道选择。
[0070] 令 表示对应第个输入样本的输入特征图,对应于第 个交叉熵损失函数的定义如下: ,其中, 表示指数函数,表示全连接层的权值,表示类别的数量, 为全连接层的输入通道的数量。
[0071] 需要注意的是,由于插入太多的辅助损失函数将带来巨大的计算代价,因此,在插入损失函数时,可在仅在部分层后面插入损失函数。也就是说 的取值并非越大越好,的取值可根据网络的深度进行调节,例如深度大时,可取较大值。对应通常的深度网络模型,的取值可在[2,5]内,如对于VGG和ResNet18,值可以取2,对于ResNet50则可以设置为3。
[0072] 如此,便可完成在深度神经网络模型中插入辅助损失函数。
[0073] 其中,利用目标损失函数结合通道的表征能力,对辅助分类器进行训练,获得目标模型,具体包括:
[0074] 步骤一、利用目标损失函数并结合通道的表征能力,在深度神经网络模型中选择待剪枝的冗余通道;
[0075] 步骤二、在深度神经网络模型中,剪去冗余通道,获得目标模型。
[0076] 为便于模型,下面将上述两个步骤结合起来进行说明。
[0077] 在对辅助分类器进行顺利时,也就是对深度神经网络模型进行剪枝时,可以利用目标损失函数并结合通道的表征能力对深度神经网络模型中的通道进行选择,可确定出待剪枝的冗余通道。并在确定出冗余通道之后,将冗余通道剪去,如此便可获得结构更为紧凑的目标模型。
[0078] 优选地,为了便于计算,可使用通道选择向量表示对深度神经网络模型中的各个通道的表征能力。即在利用目标损失函数并结合通道的表征能力,在深度神经网络模型中选择待剪枝的冗余通道,执行以下步骤:
[0079] 步骤一、获取表征深度神经网络模型中各个通道的重要性的通道选择向量;
[0080] 步骤二、利用目标损失函数对通道选择向量和模型参数进行优化;
[0081] 步骤三、将优化后通道选择向量的向量元素为0的通道确定为冗余通道。
[0082] 为便于描述,下面将上述三个步骤结合起来进行说明。
[0083] 首先,可获取表征深度神经网络模型中各个通道的重要性的通道选择向量。具体的,通过通道选择向量在零处的梯度来判断通道的重要性,梯度越大,重要性越大。如此,便可将通道选择的问题转化为一个带有 约束的优化问题;其中,L0约束指向量中非0元素的个数,可使参数变得稀疏,易于运算。然后,便可利用目标损失函数对通道选择向量和模型参数进行优化;并在优化结束后,将优化后通道选择向量的向量元素为0的通道确定为冗余通道。其中,向量元素是指向量中的元素,如向量[1,0]中第一个元素为1,第二个元素为0。
[0084] 需要说明的是,利用目标损失函数对通道选择向量和模型参数进行优化时,在每一个步骤中,不会同时使用所有的辅助损失函数,而是只考虑两个损失函数—当前步骤的辅助损失函数和原损失函数,也就是说,对深度卷积神经网络进行剪枝优化时,是以该深度神经网络模型中的层为单位,分层优化。利用目标损失函数对重要通道的通道选择向量和模型参数进行优化,具体为随机选择训练样本,并利用随机梯度下降算法和贪婪算法,令目标损失函数 收敛;其中, 为重构损失函数, 为指定辅助损失函数, 为模型参数,β为通道选择向量;λ为指定辅助损失函数的权重。即,可利用贪婪算法对各个通道选择向量进行选择,获得输入特征图中重要的目标通道;在深度神经网络模型中,以仅保留目标通道的方式进行剪枝,获得剪枝模型。其中,循环迭代终止条件可以为最终的损失函数收敛,具体的,即重复循环迭代的次数达到先设置的数值便可。迭代次数可根据实际精度需求而定,即当精度需求较高时,可多次循环迭代;精度需求较低时,迭代循环次数可相应较低。
[0085] 利用训练样本对目标损失函数收敛计算,即使用辅助损失函数和原损失函数对模型进行微调的过程。在微调的过程中,模型的所有参数将被更新。该微调过程可以补偿由剪枝导致的准确率损失,进一步抑制累积误差。具体的,可分为对通道进行选择,和对通道选择向量β和模型参数进行优化两大阶段。
[0086] 其中,在对通道进行选择阶段,具体包括:引入一个通道选择向量β来衡量各个通道的重要性,使用贪婪算法对通道进行选择,即通过β在零处的梯度来判断通道的重要性,梯度越大,重要性越大。最终得到输入特征图中重要的通道。另外,由于不同层的通道冗余层度不同,因此,可以通过所选择的通道对模型损失的影响实现自适应的剪枝。即在通道选择过程中,若模型损失不再明显下降,则提前停止通道选择,从而达到自适应剪枝的目的。
[0087] 在对通道选择向量β和模型参数进行优化阶段,具体包括:随机选择批训练样本,通过随机梯度下降算法(SGD,Stochastic Gradient Descent)对通道选择向量β和模型参数W进行优化。还可使用小批量梯度下降算法(MBGD,Mini-batch Gradient Descent)对通道的选择向量和模型参数进行优化。通过 ,可计算最小化剪枝前后模型的重构误差。其中, , 为第 个输入样本和第 个通道的特征
图,并且表示费罗贝尼乌斯范数(Frobenius Norm)因此,最终的损失函数定义为:
[0088] ,其中,λ表示所对应损失函数的权重。
[0089] 训练结束后,根据通道选择向量β保留选择的通道。具体的,可将向量元素为0所对应的表征能力差的通道去除,获得结构更加紧凑的模型。请参考图3,图3为本发明实施例中通道剪枝示意图,其中,图3中的A为如图2所示的深度神经网络模型(即基准模型)所对应的原始输入特征图,B和C是通道剪枝后得到的特征图,c和n均指通道数量,w为权重,Kh、Kw分别指卷积核的高度和宽度。
[0090] 利用模型中通道表征能力,直接利用通道剪枝去除网络层中的冗余通道,从而减少网络的宽度,实现网络模型的剪枝。相比于低秩近似和稀疏连接的方法,通道剪枝直接改变网络的宽度,可直接应用于深度学习框架中。相较于现有通道剪枝算法对所有网络层都设定了同样的剪枝率,并没有考虑各个网络层的冗余情况以及所保留通道是否真正对模型的最终分类能力有贡献。本发明实施例中所描述的通道剪枝基于通道的表征能力进行剪枝,可真正去除对最终分类结果无用的冗余通道。
[0091] 将上述基于深度神经网络模型的图像识别方法应用到了经典的人脸识别数据集LFW上,利用本实施例所提出的通道剪枝方法对SphereNet进行模型剪枝。识别结果如下:
[0092] 表1为CIFAR-10上的比较(其中“-”表示结果没有公布)。其中DCP、DCP-Adapt为本发明实施例所提供的通道剪枝算法,ThiNet(一种用于深度神经网络压缩的滤波器级别剪枝算法)、Channel pruning(一种针对预训练模型进行通道裁剪(channel pruning)的算法)、Sliming(模型剪枝)、WM、WM+、Random pruning(机器学习算法)为常见的其他通道剪枝算法,在此不再一一赘述。
[0093] VGGNet、ResNet-56:为上文中所提到的深度神经网络模型;#Param↓:减少的参数量,#FLOP↓:减少的浮点数量;Err.gap(%):与基准模型的误差,正数表示误差升高,负数表示误差下降。
[0094]
[0095] 表1
[0096] 表2为ILSVRC-12上的比较。预训练模型的top-1和top-5error(%)分别为23.99和7.07(其中,“-”表示结果没有公布)。
[0097]
[0098] 表2
[0099] 表3为预测结果准确率,参数数量,浮点数运算量在LFW上的比较,不同模型的十折交叉验证准确率。FaceNet、DeepFace、VGG、SphereNet-4为常见的深度模型算法。LFW acc. (%) 表示在LFW数据集上的准确率。
[0100]
[0101] 表3
[0102] 结合上表1、表2和表3,可看出通过计算所得到的结果准确率,证实了本发明实施例所提供的技术方案具备实用性(可行性)。
[0103] 实施例三:
[0104] 相应于上面的方法实施例,本发明实施例还提供了一种基于深度神经网络模型的图像识别装置,下文描述的基于深度神经网络模型的图像识别装置与上文描述的基于深度神经网络模型的图像识别方法可相互对应参照。
[0105] 参见图4所示,该装置包括以下模块:目标图像获取模块101、目标图像输入模块102、分类识别模块103和目标模型获取模块104;
[0106] 其中,目标图像获取模块101,用于获取待识别的目标图像;
[0107] 目标图像输入模块102,用于将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;
[0108] 分类识别模块103,用于利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果;
[0109] 目标模型获取模块104,包括:
[0110] 辅助分类器构建单元,用于在深度神经网络模型中插入批量归一化层、线性整流层、平均池化层构建辅助分类器;
[0111] 辅助损失函数插入单元,用于在深度神经网络模型中插入辅助损失函数,并与深度神经网络模型的重构损失函数构成目标损失函数;
[0112] 训练单元,用于利用目标损失函数结合通道的表征能力,对辅助分类器进行训练,获得目标模型。
[0113] 应用本发明实施例所提供的装置,获取待识别的目标图像;将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中;利用目标模型中的辅助分类器对目标图像进行分类处理,获得识别结果。
[0114] 获取待识别的目标图像,然后将目标图像输入至利用通道的表征能力对深度神经网络模型进行通道剪枝后获得的目标模型中。即该目标模型为利用通道的表征能力对深度神经网络模型剪枝后获取的。也就是说,该目标模型已剔除了表征能力差的通道。然后,利用目标模型中的辅助分类器对目标图像进行分类处理,便可获得目标图像的识别结果。由于,目标模型是基于通道的表征能力对深度神经网络模型进行剪枝后所得的模型,因而,对目标图像进行识别时的计算量可大幅度降低。同时,由于剪枝剔除的通道是表征能力差的通道,因而采用剪枝后的深度神经网络模型对目标图像进行分类识别,并不会降低最终的识别结果的准确率。进一步,由于该目标模型的进行了通道剪枝,计算量可大幅度降低,因而可将本发明实施例所提供的基于深度神经网络模型的图像识别装置应用到如智能手机等计算资源有效的硬件设备中。
[0115] 在本发明的一种具体实施方式中,辅助损失函数插入单元,具体用于在深度神经网络模型中插入交叉熵损失函数。
[0116] 在本发明的一种具体实施方式中,训练单元,包括:
[0117] 冗余通道选择子单元,用于利用目标损失函数并结合通道的表征能力,在深度神经网络模型中选择待剪枝的冗余通道;
[0118] 剪枝子单元,用于在深度神经网络模型中,剪去冗余通道,获得目标模型。
[0119] 在本发明的一种具体实施方式中,冗余通道选择子单元,具体用于获取表征深度神经网络模型中各个通道的重要性的通道选择向量;利用目标损失函数对通道选择向量和模型参数进行优化;将优化后通道选择向量的向量元素为0的通道确定为冗余通道。
[0120] 在本发明的一种具体实施方式中,冗余通道选择子单元,具体用于随机选择训练样本,并利用随机梯度下降算法和贪婪算法,令目标损失函数收敛;其中, 为重构损失函数, 为指定辅助损失函数, 为模型参数,β为通道选择向量;λ为指定辅助损失函数的权重。
[0121] 实施例四:
[0122] 相应于上面的方法实施例,本发明实施例还提供了一种基于深度神经网络模型的图像识别设备,下文描述的一种基于深度神经网络模型的图像识别设备与上文描述的一种基于深度神经网络模型的图像识别方法可相互对应参照。
[0123] 参见图5所示,该基于深度神经网络模型的图像识别设备包括:
[0124] 存储器D1,用于存储计算机程序;
[0125] 处理器D2,用于执行计算机程序时实现上述方法实施例的基于深度神经网络模型的图像识别方法的步骤。
[0126] 具体的,请参考图6,为本实施例提供的基于深度神经网络模型的图像识别设备的具体结构示意图,该基于深度神经网络模型的图像识别设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在基于深度神经网络模型的图像识别设备301上执行存储介质330中的一系列指令操作。
[0127] 基于深度神经网络模型的图像识别设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
[0128] 上文所描述的基于深度神经网络模型的图像识别方法中的步骤可以由基于深度神经网络模型的图像识别设备的结构实现。
[0129] 实施例五:
[0130] 相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种基于深度神经网络模型的图像识别方法可相互对应参照。
[0131] 一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的基于深度神经网络模型的图像识别方法的步骤。
[0132] 该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
[0133] 专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。