模型压缩方法、装置、计算机设备及存储介质与流程

文档序号:18011624发布日期:2019-06-26 00:10阅读:151来源:国知局
模型压缩方法、装置、计算机设备及存储介质与流程

本发明涉及图像技术领域,特别涉及一种模型压缩方法、装置、计算机设备及存储介质。



背景技术:

随着图像技术的发展,神经网络因其强大的拟合能力和卓越的图像处理性能,在人工智能领域中得到广泛应用,例如,利用神经网络对人脸图像进行识别。神经网络的复杂度越高,输出的结果也越准确。然而,复杂度越高的神经网络,计算量越大,内存消耗也越多,因而,通常会对神经网络进行压缩,利用压缩后的神经网络对人脸图像进行识别。

相关技术中,为了得到更简化的识别模型,服务器可以通过下述模型训练方式来压缩模型,首先对一个复杂度较高的识别模型进行缩减,例如,将某个特征层中32个特征通道缩减至16通道,以得到一个复杂度较低的识别模型,再分别基于上述两个模型对同一样本图像的输出,对复杂度较低的识别模型进行训练,得到最终的识别模型。

上述过程实际上仅是通过删除特征层中的通道来压缩模型,导致模型本身的性能损失较大;且,基于具有不同特征通道数的特征层的输出进行训练,使得训练过程存在误差,从而导致压缩后识别模型的识别准确率较低。



技术实现要素:

本发明实施例提供了一种模型压缩方法、装置、计算机设备及存储介质,能够解决识别准确率较低的问题。所述技术方案如下:

一方面,提供了一种模型压缩方法,所述方法包括:

基于用于进行脸部识别的第一识别模型,获取第二初始模型;

基于所述第一识别模型,对所述第二初始模型进行训练,得到第二识别模型;

删除所述第二识别模型中的所述目标转化层,得到目标识别模型,以实现对所述第一识别模型的压缩;

所述第二初始模型的第一特征层中的特征通道数小于所述第一识别模型的第一特征层的特征通道数,且,所述第二初始模型包括目标转化层,所述目标转化层用于将所述第二初始模型的第一特征层的特征数转化为所述第一识别模型的第一特征层的特征通道数。

另一方面,提供了一种模型压缩装置,所述装置包括:

初始模型获取模块,用于基于用于进行脸部识别的第一识别模型,获取第二初始模型;

训练模块,用于基于所述第一识别模型,对所述第二初始模型进行训练,得到第二识别模型;

删除模块,用于删除所述第二识别模型中的所述目标转化层,得到目标识别模型,以实现对所述第一识别模型的压缩;

所述第二初始模型的第一特征层中的特征通道数小于所述第一识别模型的第一特征层的特征通道数,且,所述第二初始模型包括目标转化层,所述目标转化层用于将所述第二初始模型的第一特征层的特征数转化为所述第一识别模型的第一特征层的特征通道数。

另一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述至少一条指令由所述一个或多个处理器加载并执行以实现如上述的模型压缩方法所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上述的模型压缩方法所执行的操作。

本发明实施例提供的技术方案带来的有益效果至少可以包括:

本发明通过对特征通道数小于第一识别模型的第二初始模型进行训练,删除训练得到的第二识别模型的目标转化层,最终得到目标识别模型,该目标识别模型的复杂度降低,对计算机设备的运算性能要求也降低,从而提高了识别模型进行脸部图像识别的适用性。且,在训练过程中通过目标转化层保证压缩后的第二初始模型与第一识别模型的特征通道数一致,尽可能的减小了模型压缩所损失的性能,从而在降低模型复杂度前提下,同时保证了压缩后的识别模型的识别准确率。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种模型压缩方法的实施环境的示意图;

图2是本发明实施例提供的一种模型压缩的流程图;

图3是本发明实施例提供的一种模型压缩的框架示意图;

图4是本发明实施例提供的一种模型压缩方法的流程图;

图5是本发明实施例提供的一种脸部识别方法的流程图;

图6是本发明实施例提供的一种模型压缩装置的结构示意图;

图7是本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的一种模型压缩方法的实施环境的示意图,参见图1,该实施环境包括:至少一个计算机设备,参见图1,仅以该实施环境包括多个计算机设备为例进行说明。其中,该多个计算机设备可以通过有线连接方式实现数据交互,也可以通过无线网络连接方式实现数据交互,本发明实施例对此不作限定。

在本发明实施例中,计算机设备101可以对脸部图像进行识别,得到该脸部图像中各个五官的位置信息。在一种可能实现方式中,该计算机设备101中可以存储有识别模型,该计算机设备101可以基于该识别模型对脸部图像进行识别。在另一种可能实现方式中,该计算机设备101也可以调用其它计算机设备上的识别模型对脸部图像进行识别,本发明实施例对此不作限定,下述均以该计算机设备101存储识别模型为例进行说明。

在一种可能实现方式中,该实时环境中还可以包括计算机设备102,该计算机设备102还可以将该识别模型发送至该计算机设备101,从而计算机设备101可以接收并存储该识别模型。

需要说明的是,该计算机设备101和计算机设备102均可以被提供为终端,也可以被提供为服务器,本发明实施例对此不作限定。

图2为一种模型压缩的流程图,计算机设备可以训练一个复杂度较高的第一识别模型,对该第一识别模型中第一特征层的特征通道进行缩减,以对该第一识别模型进行压缩,降低该第一识别模型的复杂度。然后,该计算机设备在该压缩后的第一识别模型中添加目标转化层,将添加目标转化层的第一识别模型作为初始模型,通过该目标转化层,将初始模型中第一特征层的特征通道数转化为与第一识别模型的第一特征层的特征通道数一致。该计算机设备基于该第一识别模型,对该初始模型进行训练,直到该初始模型的运行速度达到预期要求,计算机设备删除该初始模型中的目标转化层,得到目标识别模型。下面以图3所示的架构图为例,对该初始模型的训练过程的原理进行介绍,如图3所示,该计算机设备将样本脸部图像输入第一识别模型和初始模型,获取该第一识别模型中第一特征层的第一输出特征,以及初始模型中第一特征层之后的目标转化层的第二输出特征,获取第一识别模型的第一识别结果和初始模型的第二识别结果,获取第一输出特征和第二输出特征的第一相似度,以及第一识别结果和第二识别结果的第二相似度,以及第二识别结果和样本标签的第三相似度,基于该第一相似度、第二相似度和第三相似度,对初始模型的模型参数进行调整,直至达到目标条件时停止调整,得到目标识别模型。

图4是本发明实施例提供的一种模型压缩方法的流程图。该发明实施例的执行主体为计算机设备,参见图4,该方法包括:

401、计算机设备获取多张第一样本脸部图像。

该多张第一样本脸部图像可以为包含有目标对象的脸部区域的图像,该目标对象可以为人或者动物等,例如,该第一样本脸部图像可以为样本人脸图像,或者样本猫脸图像、样本狗脸图像等。在一种可能的实施方式中,该计算机设备中可以事先存储有该多张第一样本脸部图像,该计算机设备可以从该计算机设备的本地存储空间中获取该多个第一样本脸部图像。在另一种可能实现方式中,该多个第一样本脸部图像也可以存储于其他计算机设备中,该计算机设备从其他计算机设备处获取该多个第一样本脸部图像。本发明实施例对该计算机设备获取第一样本脸部图像的方式不做具体限定。

其中,对于采用监督学习来进行训练的场景下,每张第一样本脸部图像对应一个样本标签,该计算机设备获取该多张第一样本脸部图像时,每张第一样本脸部图像可以包括样本标签。该样本标签可以包括该张第一样本脸部图像中目标五官的位置信息,该目标五官的位置信息可以为该脸部图像中的一个或多个五官在该脸部图像的位置信息。本发明实施例对该样本标签所包括的信息内容并不做具体限定。在一种可能的实施方式中,该样本标签还可以包括该第一样本脸部图像的脸部轮廓的位置信息。

而在另一种可能的实施方式中,该计算机设备还可以采用半监督学习的当时来进行模型训练,也即是,在获取该多张第一样本脸部图像时,可以仅获取部分第一样本脸部图像的样本标签,后续该计算机设备采用半监督学习的方式进行模型训练,生成第一识别模型,或者,在另一种可能的实施方式中,该计算机设备还可以采用无监督学习的当时来进行模型训练,也即是,该计算机设备可以不获取样本标签,后续该计算机采用无监督学习的方式进行模型训练,生成第一识别模型。本发明实施例对具体采用哪种机器学习方法来进行模型训练不做具体限定。

402、计算机设备根据该多张第一样本脸部图像,对第一初始模型进行训练,得到第一识别模型,该第一初始模型包括多个特征层,每个特征层包括至少一个特征通道。

该第一初始模型包括多个特征层,每个特征层包括多个特征通道,每个特征通道可以具有至少一个模型参数。每个特征通道用于提取脸部图像的一个图像特征,每个特征层用于输出脸部图像在该特征层包括的多个特征通道对应的图像特征。例如,该多个特征通道可以为卷积核的形式,该特征层中可以承载有卷积层和激励函数,该卷积层包括多个卷积核,每个卷积核对应用于提取脸部图像的一种类型的特征对应的特征向量,该特征层可以基于该卷积核提取的图像特征,输出对应的一种特征图像,该特征图像承载了该卷积核所提取的图像特征。

在一种可能实现方式中,计算机设备基于该多张第一样本脸部图像,对该第一初始模型进行训练,得到该第一识别模型。该训练过程可以包括:计算机设备将多个第一样本脸部图像输入第一初始模型,在该第一初始模型中,该多个第一样本脸部图像依次经过该多个特征层的处理,该计算机设备基于该特征层所包括的多个卷积核,提取该脸部图像的多个图像特征,并基于该特征层所包括的激励函数,对该多个图像特征进行对应运算,并将经过运算后的多个图像特征输入到下一个特征层进行处理,该脸部图像依次经过多个特征层进行处理后,该计算机设备输出对该多个第一样本脸部图像的识别结果。该计算机设备根据识别结果和样本标签,确定该多个特征层的多个第一初始模型参数,得到该第一识别模型。

本发明实施例中,该计算机设备训练得到第一识别模型,通过执行以下步骤403-406,基于该第一识别模型,来对复杂度小于该第一识别模型的第二初始模型进行辅助训练,后续可以基于训练得到的第二识别模型进行脸部图像的识别,从而提高脸部图像识别的效率。

403、计算机设备删除该第一识别模型的第一特征层的第一特征通道。

在本发明实施例中,可以对部分特征层中的部分特征通道进行删除,在一种实施方式中,该计算机设备可以先确定该第一识别模型中的第一特征层,再确定该第一特征层中待删除的第一特征通道,删除该第一特征层中第一特征通道。当然,第一特征层和其中的第一特征通道可以同时确定,而无需采用先后顺序。下述步骤4031-4032仅以先确定特征层再确定特征通道为例进行说明:

4031、计算机设备确定待缩减的第一特征层。

其中,待缩减的第一特征层可以是该第一识别模型中除最后一个特征层以外的多个特征层,还可以是第一识别模型中满足一定条件的部分特征层。相应的,步骤4031可以包括以下两种实现方式。

第一种方式、该计算机设备基于该每个特征层在第一识别模型中的排序位置,确定该多个特征层中待缩减的第一特征层。

其中,特征层在第一识别模型中的排序位置是指第一识别模型对脸部图像进行识别时,该脸部图像依次经过多个特征层的层层处理的顺序。

第二种方式、该计算机设备基于该第一识别模型中每个特征层所包括的特征通道的数量,确定该多个特征层中待缩减的第一特征层。

本步骤中,该计算机设备可以获取每个特征层所包括的特征通道的数量,将特征通道的数量不小于目标数量的特征层,确定为待缩减的第一特征层。

4032、该计算机设备根据该第一特征层包括的特征通道的影响值,删除该第一特征层中影响值满足删除条件的第一特征通道。

该影响值用于指示该特征通道对特征层的输出结果的影响力的大小。

在一种可能实施方式中,该步骤4032可以包括:该计算机设备可以根据该多个特征通道的模型参数,确定每个特征通道的影响值,根据删除条件,删除满足该删除条件的第一特征通道。其中,该删除条件可以包括:该第一特征层中影响值最低,或者,该第一特征层中影响值低于目标值的特征通道,或者,该第一特征层中影响值排序位于后目标位数以内。在一种可能实施方式中,该目标位数可以基于该第一特征层所包括的特征通道的总数进行确定,例如,该删除条件可以为,该第一特征层中影响值排序位于后30%的特征通道。

在一种可能实施方式中,该计算机设备可以采用该卷积核的参数,来确定该特征通道的影响值。或者,该计算机设备还可以该第一特征层在删除前后的损失值,来表示该特征通道的影响值。相应的,该计算机设备确定每个特征通道的影响值的过程,可以包括以下两种。

第一种方式、对于每个特征通道,计算机设备获取该特征通道的至少一个参数,计算该至少一个参数的和值,将该和值确定为该特征通道的影响值。

其中,以特征通道为卷积核为例,该计算机设备可以根据每个卷积核包括的参数,计算该至少一个参数的绝对值的和值,将该和值作为该卷积核的影响值。

例如,一个卷积核的参数可以为则可以取矩阵中各个元素的绝对值,再对绝对值求和,则可以得到该卷积核的影响值为5。

第二种方式、对于每个特征通道,计算机设备确定该待缩减的第一特征层在每个特征通道删除前后的损失值,将该损失值确定为每个特征通道的影响值。

该计算机设备可以在删除该特征通道之前,基于该第一特征层所包括的特征通道,获取该特征层对目标样本数据处理后输出的第一图像特征,也即是,该第一特征层所包括的原通道数量的图像特征。然后,该计算机设备删除该特征通道,获取该第一特征层对目标样本数据处理后输出的第二图像特征,根据该第一图像特征和第二图像特征之间的误差,确定该特征通道删除前后的损失值,将所确定的损失值作为该特征通道的影响值。

需要说明的是,对于任一个特征层来说,由于缩减了特征通道,可以无需在输入下一个特征层时还对已删除的特征通道的可能输出进行处理,因此,可以对位于第一特征层之后的第二特征层的参数进行调整,也即是,在步骤4032之后,该方法还可以包括:计算机设备基于上一个特征层缩减后的特征通道数量,调整该特征层的参数。例如,每个特征层的参数可以为一个多个维度的矩阵,该多个维度中包括输入指示维度,该输入指示维度用于指示上一个特征层的输入特征的数量,该输入指示维度上包括多个元素通道,每个元素通道对应一个输入特征,也即是,每个元素通道对应一个上一特征层的特征通道,该计算机设备可以根据已缩减的特征通道对应的元素通道,在该输入指示维度上删除已缩减的特征通道对应的元素通道。例如,第二特征层的参数可以为一个16×3×3×32的矩阵,该矩阵包括4个维度,第1个维度上包括16个元素通道,每个元素通道为一个1×3×3×32的矩阵,也即是,第一特征层的特征通道的数量为16,如果第一特征层的特征通道现在由16缩减至8,则计算机设备在第一个维度上删除8个被缩减的特征通道所对应的8个元素通道,则该第二特征层的参数变为8×3×3×32的矩阵。

需要说明的是,该计算机设备可以分多次进行多个特征层进行特征通道的缩减处理,也即是,本步骤可以为:该计算机设备根据该多个特征层的缩减顺序,逐个对多个特征层进行缩减。在一种可能实施方式中,该缩减顺序可以为排序的倒序。也即是,当第一次进行特征通道缩减处理时,该计算机设备将排在排序中位于倒数第二位的特征通道作为第一特征通道,在后续特征通道缩减时,该计算机设备按照该排序,将排在上一次进行特征通道缩减处理的特征层之前的特征层,作为第一特征层。在一种可能的实施方式中,该计算机设备也可以直接将该排序作为该多个特征层的缩减顺序,当第一次进行特征通道缩减处理时,该计算机设备基于该排序,将排序位于首位的特征通道作为第一特征通道,在后续进行特征通道缩减时,该计算机设备按照该排序,将排在上一次进行特征通道缩减处理的特征层之后的特征层,作为第一特征层。

需要说明的是,当计算机设备按照排序的倒序进行特征通道的缩减处理时,该计算机设备可以从该排序排在倒数第二位的特征层开始,进行特征通道的缩减处理,从而避免了排在最末位的特征层的缩减对识别结果产生的影响。并且,该第一识别模型中,前一个特征层的输出,即为后一个特征层的输入,也即是,排序越靠后的特征层,对其他多个特征层的整体影响程度越小,例如,倒数第二位的特征层,仅对末位特征层有影响,对于排在倒数第二位之前的特征层,无影响。因此,本发明实施例基于排序的倒序顺序进行逐层缩减处理,按照对多个特征层的整体影响程度由小到大的顺序,进行逐步缩减每个特征层的特征通道,最大化的减弱了对其他特征层的影响程度,在缩减第一识别模型时,尽可能的减少了模型的性能损失,保证了识别结果的可靠性和准确性。

例如,该第一识别模型可以包括m个特征层,该计算机设备可以基于该多个特征层的排序,从该多个特征层中倒数第n个特征层开始,该n的初始值可以为2,该计算机设备基于该目标条件,删除该倒数第n个特征层中的第一特征通道,并基于本次删除后的中间模型,执行一次步骤404-406的过程。然后,该计算机设备再删除倒数(n+1)个特征层中的第一特征通道,并基于本次删除后的中间模型,执行步骤404-406的过程,以此循环,直至满足步骤406的条件。

需要说明的是,在缩减第一识别模型的特征层的特征通道时,可以将第一识别模型的参数保持不变。该计算机设备可以删除第一特征层的第一特征通道,以对每个特征层进行缩减,并且,该计算机设备还可以逐次删除每个第一特征层的第一特征通道,在保证对第一识别模型的影响较小的前提下,最大化的降低第一识别模型的复杂度。

404、计算机设备根据该第一特征层的原通道数量,在删除后的第一识别模型中添加目标转化层,得到第二初始模型。

该目标转化层用于将第二初始模型的第一特征层输出的特征数转化为第一识别模型的第一特征层的特征通道数,也即是,将第二初始模型的第一特征层输出的特征的数量由第一数量转化为该原通道数量。该原通道数量是指第一识别模型中第一特征层删除第一特征通道之前时,该第一特征层所包括的特征通道的数量。该第一数量为第一识别模型中删除第一特征通道之后,该第一特征层所包括的特征通道的数量。该计算机设备根据该第一特征层包括的原通道数量,获取包括原通道数量的特征通道的目标转化层,将该目标转化层添加之第一识别模型中第一特征图层之后,得到该第二初始模型。

本步骤中,该转化层可以为具备卷积核的卷积层,则原通道数量也即是原卷积核数量,本步骤可以包括:该计算机设备将该原卷积核数量,确定为该目标卷积层所包括的卷积核的数量,该计算机设备获取包括原卷积核数量个卷积核的目标卷积层;该计算机设备将该目标卷积层添加至在该第二初始模型中,并将该目标卷积层的排序位置设置为在该第一特征层之后。

在一种可能的实施方式中,当该计算机设备对多个特征层进行逐层缩减,每次仅缩减一个特征层时,该计算机设备可以根据该第一识别模型所包括的多个特征层中每个特征层包括的原通道数量,获取多个目标转化层,每个目标转化层对应一个特征层。当该步骤403重复执行时,每当该计算机设备基于步骤403,删除一个第一特征层的第一特征通道时,该计算机设备在该第一特征层之后添加该第一特征层对应的目标转化层,并执行后续步骤404。

在另一种可能的实施方式中,当通过计算机设备对多个特征层进行缩减后,该计算机设备可以分别基于每个第一特征层的原通道数量,获取多个目标转化层,每个目标转化层包括的卷积核数量为对应的一个第一特征层的原通道数,该计算机设备在每个第一特征层之后,添加该第一特征层所对应的一个目标转化层。

需要说明的是,对于上述每缩减一个特征层就获取一个目标转化层的方式和当缩减完所有特征层再获取目标转化层的方式来说,本发明实施例对具体采用哪种方式不做限定。

在一种可能的实施方式中,该计算机设备可以基于一定尺寸来获取目标转化层。也即是,该计算机设备可以预先存储目标尺寸,该计算机根据该目标尺寸和该原通道数量,获取一个目标尺寸的目标转化层,其中,该目标尺寸包括该目标转化层的长和目标转化层的宽,该目标尺寸的大小基于需要进行设置,本发明实施例对此不做具体限定。

例如,以目标转化层为卷积层为例,该目标尺寸可以为长和宽分别为1×1的卷积层,或者长和宽分别为3×3的卷积层等,本发明实施例对此不做具体限定。

例如,长和宽分别为3×3的卷积层可以为:

405、计算机设备将第二样本脸部图像分别输入该第一识别模型和第二初始模型,基于该第二样本脸部图像,分别获取第一相似度以及第二相似度,该第一相似度为对应特征层的输出特征之间的相似度,该第二相似度为第一识别结果和第二识别结果的相似度。

其中,第一识别结果和第二识别结果分别为第一识别模型和第二初始模型输出的识别结果,第一输出特征为第一识别模型中第一目标特征层的输出特征,第二输出特征为第二初始模型中第二目标特征层的输出特征,其中,第一目标特征层和该第二目标特征层在模型中的排序位置对应。本步骤中,该计算机设备可以将第二样本脸部图像分别输入第一识别模型和第二初始模型,获取第一识别结果和第二识别结果,并基于该第一特征层,获取该第一识别模型的第一目标特征层的第一输出特征和第二初始模型的第二目标特征层的第二输出特征。然后,计算机设备确定第一输出特征和第二输出特征的第一相似度,确定第一识别结果和第二识别结果的第二相似度。本步骤可以通过以下步骤4051-4053实现。

4051、计算机设备获取第二样本脸部图像,将该第二样本脸部图像输入第一识别模型和第二初始模型,获取第一识别结果和第二识别结果,基于第一特征层的排序位置,获取第一识别模型的第一目标特征层的第一输出特征和第二初始模型的第二目标特征层的第二输出特征。

在一种可能的实施方式中,该计算机设备可以直接将该第一特征层确定为该第一目标特征层,再根据第一目标特征层在第二初始模型中确定排序位置相同的第二目标特征层。在另一种可能的实施方式中,该计算机设备可以根据该一特征层的排序位置,将第一识别模型中排序位置在该第一特征层之后的至少一个特征层,确定为第一目标特征层,再根据第一目标特征层在第二初始模型中确定排序位置相同的第二目标特征层。在另一种可能的实施方式中,该计算机设备还可以根据该第一特征层的位置排序,将第一识别模型中排序位置在该第一特征层之后的至少一个特征层和第一特征层确定为第一目标特征层,再根据第一目标特征层在第二初始模型中确定排序位置相同的第二目标特征层。

需要说明的是,由于第二初始模型中具有目标转化层,因此,该第一输出特征覆盖的通道数和第二输出特征覆盖的通道数相同。如果该第二初始模型中的第二目标特征层即是第一特征层,则该计算机设备将第一特征层的输出特征继续输入第二初始模型的目标转化层,将该目标转化层的输出特征作为该第二输出特征。

该计算机设备获取第二样本脸部图像,将该第二样本脸部图像分别输入第一识别模型和第二初始模型,在第一识别模型中,由于该第一特征层未进行通道缩减,该计算机设备根据第一特征层的原通道数,输出原通道数个图像特征。在第二初始模型中,对于任一个第一特征层,该计算机设备输出第一数量的图像特征,然后,该计算机设备基于该第二初始模型所添加的目标转化层,将该第一数量的图像特征输入该目标转化层,根据该目标转化层中原通道数个特征通道,将该第一数量的图像特征,转化为原通道数的图像特征。

每个第二样本脸部图像对应一个样本标签。在一种可能的实施方式中,该计算机设备还可以基于第一识别模型获取第二样本脸部图像,该终端可以将目标脸部图像输入该第一识别模型,将第一识别模型输出的识别结果,作为该目标脸部图像的伪样本标签,将目标脸部图像和伪样本标签组成第二样本脸部图像。

4052、计算机设备获取第一输出特征和第二输出特征的第一相似度,以及第一识别结果和第二识别结果的第二相似度。

该第一相似度可以用于表示第一目标特征层和第二目标特征层各自输出的图像特征的相似程度。在一种可能的实施方式中,该第一相似度可以基于第一损失函数确定,该计算机设备可以根据第一损失函数、该第一输出特征和该第二输出特征,获取第一相似度。该第一损失函数用于确定该第一输出特征和第二输出特征之间的相似程度,该第一损失函数的值越小,该第一相似度越大,该第二输出特征越靠近该第一输出特征。

在一种可能的实施方式中,如果该第二目标特征层为该第二初始模型中第一特征层,则计算机设备将该第二初始模型中目标转化层的输出特征,作为该第二输出特征,根据第一损失函数、该第一输出特征和该第二输出特征,获取该第一相似度。

在一个具体示例中,该计算机设备可以采用该第一输出特征和第二输出特征之间的距离来表示第一损失函数,该第一损失函数可以如下公式一所示,

公式一:loss1=||fs-ft||2

其中,loss1表示第一损失函数,ft表示第一目标特征层的第一输出特征,fs表示第二目标特征层的第二输出特征,如果该第二目标特征层为第一特征层,该fs用于表示目标转化层输出的原通道数的第二输出特征,符号“||”表示第一输出特征和第二输出特征之间距离的绝对值。当然,该第一损失函数还可以为其他函数表现形式,在此仅为一种示例说明,本发明实施例对此不做具体限定。

本步骤中,该第二相似度可以用于表示第一识别模型和第二初始模型各自输出的识别结果的相似程度。在一种可能的实施方式中,该第二相似度可以基于第二损失函数确定,该计算机设备可以根据第二损失函数、该第一识别结果和该第二识别结果,获取该第二相似度。

在一种可能的实施方式中,该第二损失函数可以用于确定第一偏差与第二偏差的相似程度,该第一偏差为第一识别结果与样本标签之间的偏差,第二偏差为第二识别结果与样本标签之间的偏差。如果该第二损失函数的值越小,说明该第一偏差越接近于第二偏差,由于第二脸部模型为基于第一脸部模型得到,该计算机设备通过将第一偏差和第二偏差进行比较,来衡量第二初始模型和第一识别模型的识别结果之间的相似程度。

该第二损失函数还可以为一个分段函数,该分段函数的分段条件用于表示第一偏差和第二偏差之间的间距的大小,当第一偏差和第二偏差之间间距大于目标数值时,该第二损失函数可以表示该第一识别结果与样本标签之间的间距,当第一偏差和第二偏差之间间距小于目标数值时,该第二损失函数可以为取0值,用于表示该第一偏差和第二偏差已比较接近,第一识别结果和第二识别结果之间达到目标相似要求。在一个具体示例中,该第二损失函数可以如下公式二所示:

公式二:

其中,loss2表示第二损失函数,rs表示第二识别结果,rt表示第一识别结果,符号“||”用于表示第一识别结果和第二识别结果的差值的绝对值,y表示样本标签,m用于表示目标数值,m取值可以为预设的常数。当然,该第二损失函数还可以为其他函数表现形式,在此仅为一种示例说明,本发明实施例对此不做具体限定。

在另一种可能的实施方式中,该第二损失函数用于确定该第二识别结果和第二识别结果之间的相似程度,该第二损失函数的值越小,该第一相似度越大,该第二识别结果越靠近该第一识别结果。该计算机设备可以用第一识别结果和第二识别结果之间的距离,表示该第二损失函数,则该第二损失函数的表现形式与上述第一损失函数的形式类似,此处不再赘述。

在一种可能的实施方式中,该计算机设备还可以获取该第二识别结果与样本标签之间的第三相似度,该第三相似度可以基于第三损失函数确定,该计算机设备可以根据第三损失函数、该第二识别结果和样本标签,获取第三相似度。该第三损失函数用于表示该第二识别结果和样本标签之间的相似程度,该第三损失函数的值越小,该第三相似度越大,该第二识别结果越靠近该样本标签。

在一个具体示例中,该计算机设备可以采用该第二识别结果和样本标签之间的距离来表示第三损失函数,该第三损失函数可以如下公式三所示:

公式三:loss3=||rs-y||;

其中,loss3表示第三损失函数,rs表示第二识别结果,y表示样本标签。符号“||”用于表示第二识别结果和样本标签的差值的绝对值,当然,该第三损失函数还可以为其他函数表现形式,在此仅为一种示例说明,本发明实施例对此不做具体限定。

在一种可能的实施方式中,该计算机设备可以根据该第一损失函数和第二损失函数,确定对该第二初始模型进行训练的目标损失函数。或者,该计算机还可以根据该第一损失函数、第二损失函数和第三损失函数,确定该目标损失函数。在一个具体示例中,该目标损失函数可以如下公式四所示:

公式四:loss=loss1+w1loss2+w2loss3

其中,loss表示目标损失函数,loss1表示第一损失函数,loss2表示第二损失函数,loss3表示第三损失函数,w1、w2分别为第二损失函数和第三损失函数的系数。在一种可能的实施方式中,该计算机设备可以根据该第二损失函数的重要程度和第三损失函数的重要程度,调整该第二损失函数和第三损失函数的系数的大小。

406、该计算机设备基于该第一相似度和第二相似度,对该第二初始模型的模型参数进行调整,直至符合目标条件时停止调整,输出第二识别模型。

该计算机设备可以基于第一相似度和第二相似度对第二初始模型的参数进行调整,上述步骤403至步骤405为一次训练过程,在每次训练时,该计算机设备基于相似度,对第二初始模型的模型参数进行调整,直到符合目标条件时,将最后一次训练得到的模型参数,作为第二识别模型的模型参数。例如,该计算机设备可以基于上述公式四,通过随机梯度下降法,对第二初始模型的模型参数进行调整。在一种可能的实施方式中,该目标条件可以包括但不限于:该第二初始模型的运行时间小于目标时间,或者,该第一相似度和第二相似度达到目标收敛条件,或者,训练次数达到目标次数。当然,该目标条件可以基于需要进行设置,该目标条件还可以为其他预设条件,本发明实施例对此不作限定。

407、该计算机设备删除该第二识别模型中的目标转化层,得到目标识别模型,以实现对该第一识别模型的压缩。

需要说明的是,通过基于第一识别模型对第二初始模型进行训练,以及在训练过程中通过目标转化层将第一识别模型和第二初始模型的特征空间大小调整成相同的,保证模型压缩前后对应特征层输出的图像特征数量一致,避免了压缩模型后特征空间不一致所引起的误差,尽可能的减少了模型压缩所损失的性能,保证了训练的准确性。

需要说明的是,该计算机设备实际上是以第一识别模型作为网络结构更深、更宽、更复杂的老师网络模型,当然识别准确率更高、泛化能力也更强。该初始模型实际上是一个复杂度较低的学生网络模型,识别准确率较低、泛化能力等也较差。该计算机设备通过删除该老师网络模型中特征层的特征通道,从而将老师网络模型压缩为复杂度较低的学生网络模型。由于该学生网络模型的复杂度较低,直接基于样本数据训练学生网络模型,训练得到的识别模型的识别准确率通常也难以达到预期目标,因此,该计算机设备在该学生网络模型中添加目标转化层,将学生网络模型和老师网络模型的特征空间保持一致。该计算机设备将添加目标转化层的学生网络模型作为一个初始模型,基于老师网络模型的强大泛化能力,帮助该学生网络模型进行训练。在训练过程中,即使对老师网络模型进行了压缩,由于基于添加目标转化层后的初始模型进行训练,从而尽可能的降低了模型压缩时所损失的性能。并且,基于老师网络模型的识别结果和特征层的输出特征,以及学生网络模型的识别结果和特征层的输出特征,对学生网络模型进行训练,让学生网络模型的识别结果与老师网络模型的识别结果尽可能靠近,极大的恢复了压缩后的学生模型的性能,保证训练得到的识别模型的识别准确率。

在实际使用时,计算机设备使用删除目标转化层的学生网络模型进行脸部图像识别,由于模型复杂度降低,计算机设备的运算量也会减少,提高了计算机设备的识别效率。并且,对计算机设备的计算能力的要求大大降低,即使在计算能力受限的arm(advancedriscmachines,高级精简指令集计算机)设备、手机等设备上,也能基于该识别模型正常进行脸部图像的识别,提高了识别模型进行脸部图像识别的适用性。

通过对特征通道数小于第一识别模型的第二初始模型进行训练,删除训练得到的第二识别模型的目标转化层,最终得到目标识别模型,该目标识别模型的复杂度降低,对计算机设备的运算性能要求也降低,从而提高了识别模型进行脸部图像识别的适用性。且,在训练过程中通过目标转化层保证压缩后的第二初始模型与第一识别模型的特征通道数一致,尽可能的减小了模型压缩所损失的性能,从而在降低模型复杂度前提下,同时保证了压缩后的识别模型的识别准确率。

图5是本发明实施例提供的一种脸部识别方法的流程图。该发明实施例的执行主体为计算机设备,参见图5,该方法包括:

501、计算机设备获取待识别的脸部图像。

该脸部头像可以为包括脸部区域的图像。计算机设备可以通过多种方式获取该二维人脸图像,在一种可能的实施方式中,该计算机设备可以对用户进行拍摄,得到该脸部图像。例如,当用户在图像应用中进行修图时,用户可以触发拍摄按钮,计算机设备基于用户的触发,拍摄得到该脸部图像。在另一种可能的实施方式中,该计算机设备还可以从视频文件中提取多张包含有脸部区域的脸部图像,例如,当用户需要对一段视频中包含人脸的图像进行识别时,该计算机设备可以提取该视频文件中的脸部图像。在另一种可能的实施方式中,该计算机设备还可以从该计算机设备的本地存储空间中,获取该待识别的脸部图像。本步骤中,该计算机设备可以在接收到识别指令时,获取该待识别的脸部图像。

502、该计算机设备调用目标识别模型。

该目标识别模型为基于上述步骤201-207训练得到,在一种可能的实施方式中,该计算机设备中可以存储有该目标识别模型,在另一种可能的实施方式中,该目标识别模型可以存储于其他计算机设备中,该计算机设备可以调用其他计算机设备中的目标识别模型。

503、该计算机设备将该脸部图像输入该目标识别模型中,输出该脸部图像的识别结果。

该计算机设备将该脸部图像输入该目标识别模型中,其中,在该目标识别模型的第一特征层中,该计算机设备输出第一通道数个图像特征,并将该第一通道数个通道特征输入该第一特征层之后的第二特征层中,层层处理后,得到该脸部图像的识别结果。第一通道数小于第一识别模型的第一特征层的原通道数,因此,通过在第一通道数的该第一特征层的处理过程,减小了该第一特征层的运算量,并且,该第一特征层的数目可以有多个,从而通过目标识别模型可以大大降低模型识别的运行时间,提升运行速度。并且,由于在训练时,通过目标转化层,将目标识别模型的特征层输出的图像特征数量调整至第一识别模型的第一特征层的原通道数量,保证两个识别模型特征空间的一致性,提高了训练得到的目标识别模型的准确性,保证了目标识别模型输出结果的精确度。

该识别结果包括该脸部图像中至少一个五官位置,在一种可能的实施方式中,该识别结果还可以包括该脸部图像中脸部轮廓的位置。该五官位置或者该脸部轮廓的位置可以采用关键点坐标表示,例如,眼部区域的位置可以为7个眼部区域的关键点的坐标。

本发明实施例中,该计算机设备可以获取待识别的脸部图像,调用第二识别模型,该计算机设备将该待识别的脸部图像输入该第二识别模型中,输出对该脸部图像的识别结果。由于第二识别模型基于第一识别模型对添加目标转化层的第二初始模型进行训练得到,通过该目标转化层,将该第二初始模型的特征层输出的图像特征数量调整至该第一识别模型的特征层的原通道数量,保证两个识别模型特征空间的一致性,提高了训练得到的第二识别模型的准确性,进而提高了脸部图像识别结果的准确性。

本发明实施例中,通过基于该第一识别模型,对该第二初始模型进行训练,得到第二识别模型,删除该第二识别模型中的该目标转化层,最终得到目标识别模型,通过该目标识别模型对脸部图像进行识别。由于该目标识别模型的复杂度降低,对计算机设备的运算性能要求也降低,从而提高了识别模型进行脸部图像识别的适用性。且,通过目标转化层保证训练时压缩后的第二初始模型与第一识别模型的特征通道数一致,尽可能的减小了模型压缩所损失的性能,从而在降低模型复杂度前提下,同时保证了压缩后的识别模型的识别准确率,提高了脸部识别的准确性。

图6是本发明实施例提供的一种模型压缩装置的结构示意图。参见图6,该装置包括:

初始模型获取模块601,用于基于用于进行脸部识别的第一识别模型,获取第二初始模型;

训练模块602,用于基于该第一识别模型,对该第二初始模型进行训练,得到第二识别模型;

删除模块603,用于删除该第二识别模型中的该目标转化层,得到目标识别模型,以实现对该第一识别模型的压缩;

该第二初始模型的第一特征层中的特征通道数小于该第一识别模型的第一特征层的特征通道数,且,该第二初始模型包括目标转化层,该目标转化层用于将该第二初始模型的第一特征层的特征数转化为该第一识别模型的第一特征层的特征通道数。

在一种可能实施方式中,该初始模型获取模块601包括:

通道删除单元6011,用于删除该第一识别模型的该第一特征层中的第一特征通道,该第一识别模型用于进行脸部识别;

添加单元6012,用于在删除后的第一识别模型中添加该目标转化层,得到第二初始模型。

在一种可能实施方式中,该通道删除单元6011包括:

确定子单元6011a,用于确定该第一识别模型中待缩减的第一特征层;

影响值确定子单元6011b,用于确定该待缩减的第一特征层包括的每个特征通道的影响值;

删除子单元6011c,用于根据该待缩减的该第一特征层包括的每个特征通道的影响值,删除该待缩减的该第一特征层中影响值满足删除条件的第一特征通道。

在一种可能实施方式中,该确定子单元6011a用于执行下述任一步骤:

基于该第一识别模型中每个特征层在该第一识别模型中的排序位置,确定该第一识别模型中待缩减的第一特征层;

基于该第一识别模型中每个特征层所包括的特征通道的数量,确定该第一识别模型中待缩减的第一特征层。

在一种可能实施方式中,该影响值确定子单元6011b用于执行下述任一步骤:

对于该每个特征通道,获取该每个特征通道的至少一个参数,确定该至少一个参数的和值,将该至少一个参数的和值确定为该每个特征通道的影响值;

对于该每个特征通道,确定该待缩减的第一特征层在该每个特征通道删除前后的损失值,将该损失值确定为该每个特征通道的影响值。

在一种可能实施方式中,该添加单元6012用于:

根据该第一识别模型中第一特征层删除该第一特征通道之前,该第一特征层包括的原通道数量,获取包括原通道数量的特征通道的目标转化层;

将该目标转化层添加至该第一识别模型中第一特征层之后,得到该第二初始模型。

在一种可能实施方式中,该训练模块602包括:

输入单元6021,用于将样本脸部图像输入该第一识别模型和该第二初始模型;

相似度获取单元6022,用于基于该样本脸部图像,分别获取第一相似度以及第二相似度,该第一相似度为该第一识别模型和该第二初始模型中对应特征层的输出特征之间的相似度,该第二相似度为第一识别结果和第二识别结果的相似度,该第一识别结果和该第二识别结果分别为该第一识别模型和该第二初始模型输出的识别结果;

调整单元6023,用于基于该第一相似度和该第二相似度,对该第二初始模型的模型参数进行调整,直至符合目标条件时停止调整,输出该第二识别模型。

在一种可能实施方式中,该相似度获取单元6022包括:

特征层确定子单元6022a,用于确定该第一识别模型中第一目标特征层和该第二初始模型中第二目标特征层,该第一目标特征层和该第二目标特征层在模型中的排序位置对应;

相似度确定子单元6022b,用于确定该第一目标特征层的第一输出特征和该第二目标特征层的第二输出特征之间的第一相似度;

该相似度确定子单元6022b,还用于确定该第一识别结果和该第二识别结果之间的第二相似度。

在一种可能实施方式中,该特征层确定子单元6022a用于执行下述至少一项:

将该第一识别模型中第一特征层确定为该第一目标特征层,根据该第一目标特征层,在该第二初始模型中确定排序位置相同的第二目标特征层;

根据该第一识别模型中第一特征层的排序位置,将该第一识别模型中排序位置在该第一特征层之后的至少一个特征层,确定为该第一目标特征层,根据该第一目标特征层,在该第二初始模型中确定排序位置相同的第二目标特征层。

在一种可能实施方式中,该相似度确定子单元6022b用于:如果该第二目标特征层为该第二初始模型中第一特征层,将该第二初始模型中目标转化层的输出特征,作为该第二输出特征;

根据第一损失函数、第一输出特征和该第二输出特征,获取该第一相似度,该第一损失函数用于确定该第一输出特征和该第二输出特征之间的相似程度。

在一种可能实施方式中,该相似度确定子单元6022b用于:

根据第二损失函数、该第一识别结果和该第二识别结果,获取该第二相似度;

其中,该第二损失函数用于确定第一偏差与第二偏差的相似程度,该第一偏差为该第一识别结果与样本标签之间的偏差,该第二偏差为第二识别结果与样本标签之间的偏差。

在一种可能实施方式中,该目标条件包括:该第二初始模型的运行时间小于目标时间、该第一相似度和该第二相似度达到目标收敛条件或者训练次数达到目标次数中的至少一项。

在一种可能实施方式中,该装置还包括:

识别模块604,用于获取待识别的脸部图像,将该待识别的脸部图像输入该目标识别模型,输出该目标识别模型对该脸部图像的识别结果。

本发明实施例提供的装置,通过对特征通道数小于第一识别模型的第二初始模型进行训练,删除训练得到的第二识别模型的目标转化层,最终得到目标识别模型,该目标识别模型的复杂度降低,对计算机设备的运算性能要求也降低,从而提高了识别模型进行脸部图像识别的适用性。且,在训练过程中通过目标转化层保证压缩后的第二初始模型与第一识别模型的特征通道数一致,尽可能的减小了模型压缩所损失的性能,从而在降低模型复杂度前提下,同时保证了压缩后的识别模型的识别准确率。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的模型压缩装置在模型压缩时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型压缩装置与模型压缩方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图7是本发明实施例提供的一种计算机设备的结构示意图,该计算机设备700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)701和一个或一个以上的存储器702,其中,该存储器702中存储有至少一条指令,该至少一条指令由该处理器701加载并执行以实现上述各个方法实施例提供的模型压缩方法。当然,该计算机设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的模型压缩方法。例如,该计算机可读存储介质可以是rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随机存取存储器)、cd-rom(compactdiscread-onlymemory,只读光盘)、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1