[0001]
本公开涉及信息处理领域,特别涉及一种图像识别模型训练方法和装置、图像识别方法和装置。
背景技术:[0002]
人脸识别(face recognition)是模式识别和计算机视觉研究领域的基础研究问题之一,有很大的实际应用价值,可广泛应用在人脸门禁、无人超市、无人仓储物流中、智能机器人等领域。近些年,由于大数据和卷积神经网络的发展,人脸识别技术取得了显著的进步。
[0003]
目前,从网上获取的人脸识别数据库都存在噪声标签。噪声标签的存在必然会降低模型的泛化能力。为了解决这一问题,现有技术通过对噪声标签进行预测以选择干净标签样本。
技术实现要素:[0004]
发明人通过研究发现,现有的噪声标签预测方法效率较低,无法实现大规模的人脸识别。此外,在预测过程中还存在误差积累,从而导致模型出现偏差。
[0005]
为此,本公开提供一种能够高效识别出干净标签样本、同时避免误差积累情况发生的方案。
[0006]
根据本公开实施例的第一方面,提供一种图像识别模型训练方法,包括:利用图像样本集合分别对第一深度学习模型和第二深度学习模型进行训练;按照预设噪声标签比例和相应的损失函数值,将第一深度学习模型的输出结果分为第一非噪声标签样本集合和第一噪声标签样本集合,将第二深度学习模型的输出结果分为第二非噪声标签样本集合和第二噪声标签样本集合;将第一非噪声标签样本集合和第二非噪声标签样本集合的交集作为干净标签样本集合;若干净标签样本的损失函数值不满足预设条件,则利用第二非噪声标签样本集合对第一深度学习模型继续进行训练,利用第一非噪声标签样本集合对第二深度学习模型继续进行训练;若干净标签样本的损失函数值满足预设条件,则结束训练。
[0007]
在一些实施例中,在利用第二非噪声标签样本集合对第一深度学习模型继续进行训练前,增加干净标签样本的权值;在利用第一非噪声标签样本集合对第二深度学习模型继续进行训练前,增加干净标签样本的权值。
[0008]
在一些实施例中,根据预设噪声标签比例和训练样本数量确定噪声标签样本数量n;将第一深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的n个输出结果作为第一噪声标签样本集合;将第二深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的n个输出结果作为第二噪声标签样本集合。
[0009]
在一些实施例中,所述预设噪声标签比例随着迭代次数的增加而增大。
[0010]
在一些实施例中,所述预设噪声标签比例r
t
为其中t为迭代次数,t
k
、r为预设参数。
[0011]
在一些实施例中,第一深度学习模型和第二深度学习模型为卷积神经网络模型。
[0012]
在一些实施例中,利用交叉熵损失函数计算干净标签样本的损失函数值,其中在交叉熵损失函数中,降低非干净标签样本的权值。
[0013]
根据本公开实施例的第二方面,提供一种图像识别模型训练装置,包括:第一训练模块,被配置为利用图像样本集合分别对第一深度学习模型和第二深度学习模型进行训练;集合分拣模块,被配置为按照预设噪声标签比例和相应的损失函数值,将第一深度学习模型的输出结果分为第一非噪声标签样本集合和第一噪声标签样本集合,将第二深度学习模型的输出结果分为第二非噪声标签样本集合和第二噪声标签样本集合;将第一非噪声标签样本集合和第二非噪声标签样本集合的交集作为干净标签样本集合;识别模块,被配置为检测干净标签样本的损失函数值是否满足预设条件;若干净标签样本的损失函数值满足预设条件,则结束训练;第二训练模块,被配置为若干净标签样本的损失函数值不满足预设条件,则利用第二非噪声标签样本集合对第一深度学习模型继续进行训练,利用第一非噪声标签样本集合对第二深度学习模型继续进行训练。
[0014]
根据本公开实施例的第三方面,提供一种图像识别模型训练装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例涉及的方法。
[0015]
根据本公开实施例的第四方面,提供一种图像识别方法,包括:提取待识别图像集合中各待识别图像的特征信息;利用经上述任一实施例涉及的训练方法所训练的第一深度学习模型或第二深度学习模型对所述特征信息进行处理,以识别出具有干净标签的图像。
[0016]
根据本公开实施例的第五方面,提供一种图像识别装置,包括:特征提取模块,被配置为提取待识别图像集合中各待识别图像的特征信息;图像处理模块,被配置为利用经上述任一实施例涉及的训练方法所训练的第一深度学习模型或第二深度学习模型对所述特征信息进行处理,以识别出具有干净标签的图像。
[0017]
根据本公开实施例的第六方面,提供一种图像识别装置,包括:存储器,被配置为存储指令;处理器,耦合到存储器,处理器被配置为基于存储器存储的指令执行实现如上述任一实施例涉及的方法。
[0018]
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其中,计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如上述任一实施例涉及的方法。
[0019]
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
[0020]
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0021]
图1为本公开一个实施例的图像识别模型训练方法的流程示意图;
[0022]
图2为本公开一个实施例的图像识别模型训练框架示意图;
[0023]
图3为本公开一个实施例的图像识别模型训练装置的结构示意图;
[0024]
图4为本公开另一个实施例的图像识别模型训练装置的结构示意图;
[0025]
图5为本公开一个实施例的图像识别方法的流程示意图;
[0026]
图6为本公开一个实施例的图像识别装置的结构示意图;
[0027]
图7为本公开另一个实施例的图像识别装置的结构示意图。
具体实施方式
[0028]
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0029]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0030]
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0031]
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0032]
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0033]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0034]
图1为本公开一个实施例的图像识别模型训练方法的流程示意图。在一些实施例中,下列的图像识别模型训练方法步骤由图像识别模型训练装置执行。
[0035]
在步骤101,利用图像样本集合分别对第一深度学习模型和第二深度学习模型进行训练。
[0036]
在一些实施例中,图像样本集合中包括多个人脸图像样本。
[0037]
在一些实施例中,第一深度学习模型和第二深度学习模型为卷积神经网络模型。
[0038]
在步骤102,按照预设噪声标签比例和相应的损失函数值,将第一深度学习模型的输出结果分为第一非噪声标签样本集合和第一噪声标签样本集合,将第二深度学习模型的输出结果分为第二非噪声标签样本集合和第二噪声标签样本集合。
[0039]
这里需要说明的是,对于第一深度学习模型和第二深度学习模型的输出结果,可根据样本标签计算相应的损失函数值。若损失函数值较大,则表明该样本很有可能是带噪声标签的样本。相反,若损失函数值很小,则表明该样本很有可能是带干净标签的样本。
[0040]
在一些实施例中,根据预设噪声标签比例和训练样本数量确定噪声标签样本数量n。将第一深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的n个输出结果作为第一噪声标签样本集合。将第二深度学习模型的输出结果按照相应
损失函数值的大小进行排序,将损失函数值最大的n个输出结果作为第二噪声标签样本集合。
[0041]
例如,若训练样本为100,预设噪声标签比例为2%,则可确定噪声标签样本数量为2。由此,将第一深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的2个输出结果作为第一噪声标签样本集合,将其余的98个输出结果作为第一非噪声标签样本集合。相应地,将第二深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的2个输出结果作为第二噪声标签样本集合,将其余的98个输出结果作为第二非噪声标签样本集合。
[0042]
在一些实施例中,预设噪声标签比例随着迭代次数的增加而增大。也就是说,在训练的开始阶段保持更多的训练样本。随着迭代的进行,增加噪声标签样本的丢弃比例,由此可增加训练的效率。
[0043]
在另一些实施例中,预设噪声标签比例r
t
为其中t为迭代次数,t
k
、r为预设参数,min为最小值函数。
[0044]
例如t
k
取10,r为10%。在第一次迭代时,min{0.1r,r}=0.1r,即预设噪声标签比例为1%。在第二次迭代时,min{0.2r,r}=0.2r,即预设噪声标签比例为2%。以此类推。在第11此迭代时,min{1.1r,r}=r,即预设噪声标签比例为10%。即在迭代一定次数后,保持预设噪声标签比例不变,由此可避免丢弃过多的训练样本。
[0045]
在步骤103,将第一非噪声标签样本集合和第二非噪声标签样本集合的交集作为干净标签样本集合。
[0046]
这里需要说明是,若同一样本同时被第一深度学习模型和第二深度学习模型识别为非噪声标签样本,则可将该样本视为干净标签样本。相应地,将第一非噪声标签样本集合和第二非噪声标签样本集合中的非干净标签样本作为高置信度干净标签样本。
[0047]
由此,可将第一深度学习模型和第二深度学习模型的识别结果分为三类,即噪声标签样本、高置信度可信标签样本和可信标签样本。
[0048]
在步骤104,若干净标签样本的损失函数值不满足预设条件,则利用第二非噪声标签样本集合对第一深度学习模型继续进行训练,利用第一非噪声标签样本集合对第二深度学习模型继续进行训练。
[0049]
这里需要说明的是,若每个模型独立进行训练,则随着迭代的进行,误差会不断积累。为了解决这一问题,本公开提出将通过第一深度学习模型所得到的第一非噪声标签样本集合提供给第二深度学习模型,将通过第二深度学习模型所得到的第二非噪声标签样本集合提供给第一深度学习模型。也就是说,在训练过程中,将第一深度学习模型所确定的高置信度干净标签样本和第二深度学习模型所确定的高置信度干净标签样本进行交换。由此,每个模型可借助其它模型对自身的误差积累进行校正。
[0050]
此外,在迭代过程中,会将所确定的噪声标签样本丢弃,从而可有效减小噪声标签样本所带来的误差积累。
[0051]
在一些实施例中,在利用第二非噪声标签样本集合对第一深度学习模型继续进行训练前,增加干净标签样本的权值。在利用第一非噪声标签样本集合对第二深度学习模型继续进行训练前,增加干净标签样本的权值。也就是说,在迭代过程中,通过增加干净标签
样本的权值,可有效提升模型训练的效率。
[0052]
在步骤105,若干净标签样本的损失函数值满足预设条件,则结束训练。
[0053]
在一些实施例中,利用交叉熵损失函数计算干净标签样本的损失函数值,其中在交叉熵损失函数中,通过降低非干净标签样本的权值,以提升干净标签样本的权值。
[0054]
例如,干净标签样本的损失函数值为:
[0055][0056]
其中,s为尺度参数,例如s取32。m是间隔值,x是样本特征。是第k个归一化的分类器特征与特征x的夹角的余弦值,k为分类总数。g(μ)≥1是一个重加权函数,参数μ是一个非负的数值。明显地,当μ=0时,g(μ)=1。具体表达式为:
[0057][0058]
在本公开上述实施例提供的图像识别模型训练方法中,利用双模型架构进行训练,并在迭代过程中丢弃噪声标签样本、交换高置信度干净标签样本,从而可有效减少误差积累,高效识别出干净标签样本。
[0059]
图2为本公开一个实施例的图像识别模型训练框架示意图。
[0060]
如图2所示,通过利用图像样本集合分别对第一深度学习模型和第二深度学习模型进行训练。根据预设噪声标签比例和相应的损失函数值,将第一深度学习模型的输出结果分为干净标签样本集合21、高置信度干净标签样本集合22和噪声样本标签集合23。将第二深度学习模型的输出结果分为干净标签样本集合21、高置信度干净标签样本集合24和噪声样本标签集合25。通过丢弃噪声样本标签集合23、25,将高置信度干净标签样本集合22和24进行交换,以便第一深度学习模型利用干净标签样本集合21和高置信度干净标签样本集合24进行训练,第二深度学习模型利用干净标签样本集合21和高置信度干净标签样本集合22进行训练。如此迭代循环,直到干净标签样本的损失函数值满足预定条件为止。
[0061]
图3为本公开一个实施例的图像识别模型训练装置的结构示意图。如图3所示,训练装置包括第一训练模块31、集合分拣模块32、识别模块33和第二训练模块34。
[0062]
第一训练模块31被配置为利用图像样本集合分别对第一深度学习模型和第二深度学习模型进行训练。
[0063]
在一些实施例中,图像样本集合中包括多个人脸图像样本。
[0064]
在一些实施例中,第一深度学习模型和第二深度学习模型为卷积神经网络模型。
[0065]
集合分拣模块32被配置为按照预设噪声标签比例和相应的损失函数值,将第一深度学习模型的输出结果分为第一非噪声标签样本集合和第一噪声标签样本集合,将第二深度学习模型的输出结果分为第二非噪声标签样本集合和第二噪声标签样本集合;将第一非噪声标签样本集合和第二非噪声标签样本集合的交集作为干净标签样本集合。
[0066]
这里需要说明的是,对于第一深度学习模型和第二深度学习模型的输出结果,可根据样本标签计算相应的损失函数值。若损失函数值较大,则表明该样本很有可能是带噪声标签的样本。相反,若损失函数值很小,则表明该样本很有可能是带干净标签的样本。
[0067]
在一些实施例中,根据预设噪声标签比例和训练样本数量确定噪声标签样本数量n。将第一深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最
大的n个输出结果作为第一噪声标签样本集合。将第二深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的n个输出结果作为第二噪声标签样本集合。
[0068]
例如,若训练样本为100,预设噪声标签比例为2%,则可确定噪声标签样本数量为2。由此,将第一深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的2个输出结果作为第一噪声标签样本集合,将其余的98个输出结果作为第一非噪声标签样本集合。相应地,将第二深度学习模型的输出结果按照相应损失函数值的大小进行排序,将损失函数值最大的2个输出结果作为第二噪声标签样本集合,将其余的98个输出结果作为第二非噪声标签样本集合。
[0069]
在一些实施例中,预设噪声标签比例随着迭代次数的增加而增大。也就是说,在训练的开始阶段保持更多的训练样本。随着迭代的进行,增加噪声标签样本的丢弃比例,由此可增加训练的效率。
[0070]
在另一些实施例中,预设噪声标签比例r
t
为其中t为迭代次数,t
k
、r为预设参数,min为最小值函数。
[0071]
例如t
k
取10,r为10%。在第一次迭代时,min{0.1r,r}=0.1r,即预设噪声标签比例为1%。在第二次迭代时,min{0.2r,r}=0.2r,即预设噪声标签比例为2%。以此类推。在第11此迭代时,min{1.1r,r}=r,即预设噪声标签比例为10%。即在迭代一定次数后,保持预设噪声标签比例不变,由此可避免丢弃过多的训练样本。
[0072]
识别模块33被配置为检测干净标签样本的损失函数值是否满足预设条件;若干净标签样本的损失函数值满足预设条件,则结束训练。
[0073]
这里需要说明是,若同一样本同时被第一深度学习模型和第二深度学习模型识别为非噪声标签样本,则可将该样本视为干净标签样本。相应地,将第一非噪声标签样本集合和第二非噪声标签样本集合中的非干净标签样本作为高置信度干净标签样本。
[0074]
由此,可将第一深度学习模型和第二深度学习模型的识别结果分为三类,即噪声标签样本、高置信度可信标签样本和可信标签样本。
[0075]
第二训练模块34被配置为若干净标签样本的损失函数值不满足预设条件,则利用第二非噪声标签样本集合对第一深度学习模型继续进行训练,利用第一非噪声标签样本集合对第二深度学习模型继续进行训练。
[0076]
这里需要说明的是,若每个模型独立进行训练,则随着迭代的进行,误差会不断积累。为了解决这一问题,本公开提出将通过第一深度学习模型所得到的第一非噪声标签样本集合提供给第二深度学习模型,将通过第二深度学习模型所得到的第二非噪声标签样本集合提供给第一深度学习模型。也就是说,在训练过程中,将第一深度学习模型所确定的高置信度干净标签样本和第二深度学习模型所确定的高置信度干净标签样本进行交换。由此,每个模型可借助其它模型对自身的误差积累进行校正。
[0077]
此外,在迭代过程中,会将所确定的噪声标签样本丢弃,从而可有效减小噪声标签样本所带来的误差积累。
[0078]
在一些实施例中,在利用第二非噪声标签样本集合对第一深度学习模型继续进行训练前,增加干净标签样本的权值。在利用第一非噪声标签样本集合对第二深度学习模型
继续进行训练前,增加干净标签样本的权值。也就是说,在迭代过程中,通过增加干净标签样本的权值,可有效提升模型训练的效率。
[0079]
在一些实施例中,利用交叉熵损失函数计算干净标签样本的损失函数值,其中在交叉熵损失函数中,通过降低非干净标签样本的权值,以提升干净标签样本的权值。
[0080]
在本公开上述实施例提供的图像识别模型训练装置中,利用双模型架构进行训练,并在迭代过程中丢弃噪声标签样本、交换高置信度干净标签样本,从而可有效减少误差积累,高效识别出干净标签样本。
[0081]
图4为本公开另一个实施例的图像识别模型训练装置的结构示意图。如图4所示,训练装置包括存储器41和处理器42。
[0082]
存储器41用于存储指令,处理器42耦合到存储器41,处理器42被配置为基于存储器存储的指令执行实现如图1中任一实施例涉及的方法。
[0083]
如图4所示,该装置还包括通信接口43,用于与其它设备进行信息交互。同时,该装置还包括总线44,处理器42、通信接口43、以及存储器41通过总线44完成相互间的通信。
[0084]
存储器41可以包含高速ram存储器,也可还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器41也可以是存储器阵列。存储器41还可能被分块,并且块可按一定的规则组合成虚拟卷。
[0085]
此外处理器42可以是一个中央处理器cpu,或者可以是专用集成电路asic,或是被配置成实施本公开实施例的一个或多个集成电路。
[0086]
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计算机指令,指令被处理器执行时实现如图1中任一实施例涉及的方法。
[0087]
图5为本公开一个实施例的图像识别方法的流程示意图。在一些实施例中,下列的图像识别方法步骤由图像识别装置执行。
[0088]
在步骤501,提取待识别图像集合中各待识别图像的特征信息。
[0089]
在步骤502,利用经图1中任一实施例涉及的训练方法所训练的第一深度学习模型或第二深度学习模型对所述特征信息进行处理,以识别出具有干净标签的图像。
[0090]
通过利用图1中任一实施例所涉及的训练方法,第一深度学习模型或第二深度学习模型均可用于图像识别。因此使用经过训练的第一深度学习模型或第二深度学习模型均可用于识别待识别图像集合中具有干净标签的图像。
[0091]
图6为本公开一个实施例的图像识别装置的结构示意图。如图6所示,图像识别装置包括特征提取模块61和图像处理模块62。
[0092]
特征提取模块61被配置为提取待识别图像集合中各待识别图像的特征信息。
[0093]
图像处理模块62被配置为利用经图1中任一实施例涉及的训练方法所训练的第一深度学习模型或第二深度学习模型对所述特征信息进行处理,以识别出具有干净标签的图像。
[0094]
图7为本公开另一个实施例的图像识别装置的结构示意图。如图7所示,图像识别装置包括存储器71、处理器72、通信接口73和总线74。图7与图5的不同之处在于,在图7所示实施例中,处理器72被配置为基于存储器存储的指令执行实现如图5中任一实施例涉及的方法。
[0095]
本公开同时还涉及一种计算机可读存储介质,其中计算机可读存储介质存储有计
算机指令,指令被处理器执行时实现如图5中任一实施例涉及的方法。
[0096]
在一些实施例中,在上面所描述的功能单元模块可以实现为用于执行本公开所描述功能的通用处理器、可编程逻辑控制器(programmable logic controller,简称:plc)、数字信号处理器(digital signal processor,简称:dsp)、专用集成电路(application specific integrated circuit,简称:asic)、现场可编程门阵列(field-programmable gate array,简称:fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件或者其任意适当组合。
[0097]
通过实施本公开所涉及的训练方法,可利用第一深度学习模型或第二深度学习模型进行相应的人脸识别检测。
[0098]
测试一:
[0099]
首先利用具有干净标签样本的数据库casia-clean-r作为训练数据库,在训练样本上人为添加噪声标签。然后对lfw、calfw、cplfw、agedb、cfp等数据库进行相应的检测。相应的测试结果如表1所示。其中在表1中,策略一栏中的“检测”是指利用传统方法进行噪声标签检测,“交换”是指两个模型交换高置信度干净标签样本的方案,“加权”是指在高置信度干净标签样本交换过程中提高干净标签权值的方案。
[0100][0101][0102]
表1
[0103]
从表1中可以看出,随着噪声程度的增大,比如从0.1增加至0.3,模型的性能呈逐步降低趋势,但本公开所提出方案的有效程度越发明显。
[0104]
测试二:
[0105]
用真实公开的带噪声标签的人脸数据库ms-celeb-1m-r和vggface2-r两个训练集训练,在相应所采用的测试集上进行测试,并与现有方案进行比较。相应结果分别如表2和表3所示。
[0106][0107][0108]
表2
[0109] calfwcplfwagedbcfpbaseline90.1186.3092.8195.50mentornet90.1485.4192.7095.20decoupling90.2386.1493.9095.85dualnet90.2685.0193.3395.05mutual learning90.0886.0093.3595.51co-teaching89.9085.0592.0595.05co-teaching+89.4385.2392.5095.41本公开方案91.0687.3194.0595.87
[0110]
表3
[0111]
表2和表3的结果验证了本发明可有效减少误差积累,高效识别出噪声标签样本。
[0112]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0113]
本公开的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本公开的原理和实际应用,并且使本领域的普通技术人员能够理解本公开从而设计适于特定用途的带有各种修改的各种实施例。