皱纹分类模型训练方法及装置转让专利

申请号 : CN201910586506.8

文献号 : CN110287930A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王喆黄炜张伟许清泉关明鑫

申请人 : 厦门美图之家科技有限公司

摘要 :

本申请实施例提供一种皱纹分类模型训练方法及装置,通过为具有含皱纹标签的脸部图像样本标记至少一条皱纹,将对皱纹的分类问题转化成皱纹分割问题,从而能够以所标记的至少一条皱纹作为监督信号来对脸部图像进行皱纹分类,提高了分类结果的准确性。

权利要求 :

1.一种皱纹分类模型训练方法,用于对预先构建的皱纹分类模型进行训练,其特征在于,所述皱纹分类模型包括特征提取部分及上采样部分;所述特征提取部分包括多个第一处理层,所述上采样部分包括与所述多个第一处理层分别对应的多个第二处理层;所述方法包括:获取多个脸部图像样本及每个脸部图像样本的掩码图像;其中,每个脸部图像样本预设有样本标签,所述样本标签为含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本的掩码图像包括该脸部图像样本中的至少一条皱纹的轮廓;

分别将每个脸部图像样本输入所述皱纹分类模型;将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到第一计算结果;计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果;

分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。

2.根据权利要求1所述的方法,其特征在于,所述将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层的步骤,包括:通过一全局池化层对所述特征提取部分中处于最高层的第一处理层输出的特征图进行处理,将处理结果输入所述全连接层。

3.根据权利要求1或2所述的方法,其特征在于,所述计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果的步骤,包括:分别计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到多个所述第二计算结果。

4.根据权利要求3所述的方法,其特征在于,所述方法还包括:

在计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失之前,将所述脸部图像样本的掩码图像下采样成与该第二处理层输出的特征图的尺度相同的图像。

5.根据权利要求4所述的方法,其特征在于,所述将所述脸部图像样本的掩码图像下采样成与该第二处理层输出的特征图的尺度相同的图像的步骤,包括:采用MaxPooling算法对所述脸部图像样本的掩码图像进行下采样,以得到与该第二处理层输出的特征图的尺度相同的图像。

6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

采用所述特征提取部分对输入所述皱纹分类模型的每个脸部图像样本进行处理,针对每个第一处理层输出的特征图,将该特征图进行切割后输入与该第一处理层对应的第二处理层,以及,将该特征图进行池化后输入该第一处理层连接的下一个第一处理层;

针对所述特征提取部分中处于最高层的第一处理层或者每个第二处理层输出的特征图,以所述脸部图像样本的掩码图像为监督信号对该特征图进行上采样后输入连接的下一个第二处理层;

每个第二处理层对接收到的经过上采样的特征图和经过切割的特征图进行拼接,并对拼接结果进行处理后输出。

7.一种皱纹分类模型训练装置,用于对预先构建的皱纹分类模型进行训练,其特征在于,所述皱纹分类模型包括特征提取部分及上采样部分;所述特征提取部分包括多个第一处理层,所述上采样部分包括与所述多个第一处理层分别对应的多个第二处理层;所述装置包括:获取模块,用于获取多个脸部图像样本及每个脸部图像样本的掩码图像;其中,每个脸部图像样本预设有样本标签,所述样本标签为含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本的掩码图像包括该脸部图像样本中的至少一条皱纹的轮廓;

计算模块,用于分别将每个脸部图像样本输入所述皱纹分类模型;将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到第一计算结果;计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果;

参数调整模块,用于分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。

8.根据权利要求7所述的装置,其特征在于,所述计算模块具体用于,通过一全局池化层对所述特征提取部分中处于最高层的第一处理层输出的特征图进行处理,将处理结果输出所述全连接层。

9.根据权利要求7或8所述的装置,其特征在于,所述计算模块具体还用于,分别计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到多个所述第二计算结果。

10.根据权利要求9所述的装置,其特征在于,所述计算模块具体还用于,在计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失之前,将所述脸部图像样本的掩码图像下采样成与该第二处理层输出的特征图的尺度相同的图像。

说明书 :

皱纹分类模型训练方法及装置

技术领域

[0001] 本申请涉及图像处理技术领域,具体而言,涉及一种皱纹分类模型训练方法及装置。

背景技术

[0002] 在一些应用场景中,需要识别脸部图像是否具有皱纹。相关技术中,通常采用卷积神经网络(ConvolutionalNeuralNetwork,CNN)模型来作为分类模型。然而,由于脸部图像通常具有眼睛形状、眼睫毛等干扰特征,导致通过CNN来对脸部图像是否含有皱纹进行分类准确度比较低。

发明内容

[0003] 有鉴于此,本申请的目的之一在于提供一种皱纹分类模型训练方法及装置,以至少部分地提高皱纹分类模型的分类准确度。
[0004] 为了达到上述目的,本申请实施例采用以下技术方案:
[0005] 第一方面,本申请实施例提供一种皱纹分类模型训练方法,用于对预先构建的皱纹分类模型进行训练,所述皱纹分类模型包括特征提取部分及上采样部分;所述特征提取部分包括多个第一处理层,所述上采样部分包括与所述多个第一处理层分别对应的多个第二处理层;所述方法包括:
[0006] 获取多个脸部图像样本及每个脸部图像样本的掩码图像;其中,每个脸部图像样本预设有样本标签,所述样本标签为含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本的掩码图像包括该脸部图像样本中的至少一条皱纹的轮廓;
[0007] 分别将每个脸部图像样本输入所述皱纹分类模型;将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到第一计算结果;计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果;
[0008] 分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。
[0009] 第二方面,本申请实施例提供一种皱纹分类模型训练装置,用于对预先构建的皱纹分类模型进行训练,所述皱纹分类模型包括特征提取部分及上采样部分;所述特征提取部分包括多个第一处理层,所述上采样部分包括与所述多个第一处理层分别对应的多个第二处理层;所述装置包括:
[0010] 获取模块,用于获取多个脸部图像样本及每个脸部图像样本的掩码图像;其中,每个脸部图像样本预设有样本标签,所述样本标签为含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本的掩码图像包括该脸部图像样本中的至少一条皱纹的轮廓;
[0011] 计算模块,用于分别将每个脸部图像样本输入所述皱纹分类模型;将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到第一计算结果;计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果;
[0012] 参数调整模块,用于分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。
[0013] 相较于现有技术,本申请实施例提供一种皱纹分类模型训练方法及装置,将对皱纹的分类问题转化成分割问题,能够采用掩码图像中标记出的至少一条皱纹作为监督信号来对脸部图像进行皱纹分类,能够通过较少的样本提高分类准确度。

附图说明

[0014] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0015] 图1为本申请实施例提供的一种图像处理设备的方框示意图;
[0016] 图2为本申请实施例提供的一种皱纹分类模型的结构示意图;
[0017] 图3为本申请实施例提供的一种皱纹分类模型训练方法的流程示意图;
[0018] 图4为本申请实施例提供的一种皱纹分类模型训练装置的功能模块框图。
[0019] 图标:10-图像处理设备;11-处理器;12-机器可读存储介质;20-皱纹分类模型;21-特征提取部分;22-上采样部分;40-皱纹分类模型训练装置;41-获取模块;42-计算模块;43-参数调整模块。

具体实施方式

[0020] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0021] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0023] 请参照图1,图1是本申请实施例提供的一种图像处理设备10的方框示意图。该图像处理设备10可以是服务器、个人计算机(PersonalComputer,PC)等任意具有图像处理功能的设备。
[0024] 图像处理设备10包括处理器11及机器可读存储介质12,处理器11及机器可读存储介质12通过系统总线通信连接。机器可读存储介质12存储有机器可执行指令,该机器可执行指令被处理器11执行时,可以实现本实施例下文描述的皱纹分类模型训练方法。
[0025] 此外,所述机器可读存储介质12还可以存储有预先构建的皱纹分类模型。
[0026] 值得说明的是,图1所示的图像处理设备仅为示意,图像处理设备还可以包括比图1所示更多或更少的组件,或是具有完全不同的配置。
[0027] 请参照图2,其中示例性地示出了本申请实施例提供的皱纹分类模型20的一种架构示意图。
[0028] 所述皱纹分类模型20包括特征提取部分21和上采样部分22,所述特征提取部分21包括多个第一处理层,例如图2所示的L1、L2、L3、L4和L5。每个第一处理层包括至少一个预设层组,预设层组包括依次连接的卷积(Conv)层和激活(Relu)函数。
[0029] 所述上采样部分22包括与所述多个第一处理层分别对应的多个第二处理层,例如图2所示的L5、L6、L7、L8和L9。其中,L5既可以视作特征提取部分21中处于最高层的第一处理层,也可以视作上采样部分22中处于最高层的第二处理层。其中,作为第一处理层的L5和作为第二处理层的L5对应,L6与L4对应,L7与L3对应,L8与L2对应,L9与L1对应。
[0030] 每个第二处理层包括至少一个预设层组。值得说明的是,不同预设层组中的卷积层和激活函数可以具有不同参数,也可以具有相同参数,本实施例不以此为限制。
[0031] 可选地,在本实施例中,在所述特征提取部分中,每个预设层组的卷积层和激活函数之间还可以设置有归一化层(BatchNorm),用于对卷积层输出的特征图进行归一化处理。
[0032] 可选地,所述皱纹分类模型可以基于改进的UNet模型实现。
[0033] 请参照图3,图3是本申请实施例提供的一种皱纹分类模型训练的流程示意图,该方法可以应用于图1所示的图像处理设备。下面将对该方法的各个步骤进行详细描述。
[0034] 步骤S31,获取多个脸部图像样本及每个脸部图像样本的掩码(mask)图像。
[0035] 其中,可以根据每个脸部图像样本是否含有皱纹来为该脸部图像样本预先设置样本标签。具体地,如果一个脸部图像样本含有皱纹,则可以为其添加含皱纹标签,如果一个脸部图像样本不含皱纹,则可以为其添加不含皱纹标签。在实施时,可以为每个脸部图像样本设置一个特定字段,当该特定字段的值为数据a(例如,0)时,表示含皱纹标签,当该特定字段的值为数据b(例如,1)时,表示不含皱纹标签。
[0036] 在本实施例中,对于设置有含皱纹标签的脸部图像样本,其掩码图像包括该脸部图像样本中的至少一条皱纹,例如可以是该脸部图像样本中的深度最大的一条皱纹,如此,可以减少标记的皱纹数量且能够较好地提升分类准确率。
[0037] 本实施例中,一个脸部图像样本的掩码图像的尺寸与该脸部图像样本相同。并且,对于包括皱纹轮廓的掩码图像,皱纹轮廓所在位置的像素值可以为255,其它位置的像素的值为0(即:黑色)。
[0038] 步骤S32,分别将每个脸部图像样本输入所述皱纹分类模型。
[0039] 在本实施例中,输入所述皱纹分类模型的每个脸部图像样本首先由所述特征提取部分的各个第一处理层依次进行处理,对于每个第一处理层输出的特征图,可以将该特征图进行池化(pool)后输入该第一处理层所连接的下一个第一处理层。对于每个第一处理层输出的特征图,还可以复制(copy)一份该特征图,并将复制的特征图进行切割(crop)后输入与该第一处理层对应的第二处理层。
[0040] 此外,对于所述特征提取部分中处于最高层的第一处理层(例如,L5)或者每个第二处理层输出的特征图,可以以所述脸部图像样本的掩码图像作为监督信号来对该特征图进行上采样后再输入所连接的下个第二处理层。其中,上采样可以通过上采样层或反卷积层实现,本实施例不以此为限制。
[0041] 在上述情况下,每个第二处理层将会接收到经过上采样的特征图以及经过切割的特征图。在本实施例中,每个第二处理层可以对接收到的经过上采样的特征图和经过切割的特征图进行拼接(concat),再对拼接结果进行处理并输出相应的特征图。
[0042] 可选地,在本实施例中,在以任一脸部图像样本的掩码图像为监督信号对第一处理层或第二处理层输出的特征图进行上采样时,可以将该掩码图像下采样成与该特征图相同的尺度。具体地,可以采用maxpooling(最大池化)算法进行下采样,相较于相关技术中采用平均池化算法来进行上采样,可以避免将掩码图像中的皱纹轮廓与该皱纹轮廓周围的黑色像素平均掉。
[0043] 步骤S33,将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失(loss),得到第一计算结果。
[0044] 具体地,所述全连接层的输出指示了皱纹分类模型对所述脸部图像样本的分类结果,可以采用特定的分类损失函数来计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到的函数值即为所述第一计算结果。可选地,所述分类损失函数例如可以是Softmax(柔性最大值)函数。
[0045] 通过设置所述全连接层,所述皱纹分类模型在适用于分割问题的情况下,还可以适用于分类问题。
[0046] 可选地,在本实施例中,步骤33还可以包括以下子步骤:
[0047] 通过一全局池化层对所述特征提取部分中处于最高层的第一处理层输出的特征图进行处理,将处理结果输入所述全连接层。
[0048] 如此,可以在不影响处理结果精度的情况下减少参数量,从而提高训练速度和实际使用所述皱纹分类模型时的数据处理速度。
[0049] 步骤S34,计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果。
[0050] 详细地,在本实施例中,可以分别计算所述上采样部分中除最低层(例如图2所示的L9)之外每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失(loss),得到多个所述第二计算结果。在实施过程中,可以采用预设的分割函数来计算分割损失,得到的函数值即为一个所述第二计算结果。
[0051] 通过在皱纹分类模型中的多个位置计算分割损失(即,设置多层监督信号),可以更有效地提升分类精度。
[0052] 可选地,在本实施例中,在计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失之前,可以先将所述脸部图像样本的掩码图像下采样成与该第二处理层输出的特征图的尺度相同的图像。其中,可以采用前述的maxpooling算法来进行所述下采样。
[0053] 步骤S35,分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。
[0054] 实施过程中,在得到第一计算结果时,即可根据该第一计算结果调整皱纹分类模型的超参数,以减小使得相应分类损失函数的函数值减小。每得到一个第二计算结果,即可根据该第二计算结果调整皱纹分类模型的超参数,以减小输出该第二计算结果的分割损失函数的函数值。
[0055] 参照上述流程反复调整皱纹分类模型的超参数,即可实现对该皱纹分类模型的训练。
[0056] 在上述设计中,采用多种尺度的掩码图像作为监督信号来对脸部图像样本进行皱纹分类训练,能够使皱纹分类模型在训练过程中学习到更为准确的皱纹特征,从而可以至少部分地过滤掉脸部的干扰特征对皱纹特征的影响,例如睫毛对眼部皱纹的影响、头发对抬头纹的影响、鼻子或嘴角的形状对法令纹的影响等。如此,提高了皱纹分类模型的分类精度,即提高了皱纹分类模型的泛化能力。
[0057] 请参照图4,图4是本申请实施例提供的一种皱纹分类模型训练装置40的功能模块框图。该皱纹分类模型训练装置40包括至少一个可以以机器可执行指令的形式存储于所述机器可读存储介质12中的功能模块。具体地,皱纹分类模型训练装置40包括获取模块41、计算模块42以及参数调整模块43。
[0058] 其中,所述获取模块41用于获取多个脸部图像样本及每个脸部图像样本的掩码图像。
[0059] 本实施例中,每个脸部图像样本预设有样本标签,该样本标签具体为含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本的掩码图像包括该脸部图像样本中的至少一条皱纹的轮廓。
[0060] 所述计算模块42用于分别将每个脸部图像样本输入所述皱纹分类模型;将所述特征提取部分中处于最高层的第一处理层输出的特征图输入一全连接层,并计算所述全连接层输出的特征图与所述脸部图像样本的样本标签的分类损失,得到第一计算结果;计算所述上采样部分的至少一个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到至少一个第二计算结果。
[0061] 可选地,所述计算模块42具体可以用于分别计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失,得到多个所述第二计算结果。
[0062] 可选地,所述计算模块42具体还可以用于在计算所述上采样部分中除最低层之外的每个第二处理层输出的特征图与所述脸部图像样本的掩码图像的分割损失之前,将所述脸部图像样本的掩码图像下采样成与该第二处理层输出的特征图的尺度相同的图像。
[0063] 所述参数调整模块43用于分别根据所述第一计算结果和所述第二计算结果调整所述皱纹分类模型的参数,以实现对所述皱纹分类模型的训练。
[0064] 关于上述功能模块的详细描述具体可以参照上文中对相应步骤的阐述。
[0065] 综上所述,本申请实施例提供一种皱纹分类模型训练方法及装置,获取多个脸部图像样本及其各自的掩码图像,其中,每个样本设有含皱纹标签或不含皱纹标签,设有含皱纹标签的脸部图像样本包括该样本中的至少一条皱纹的轮廓;分别将每个样本输入皱纹分类模型,将该模型的特征提取部分中的最高层输出的特征图输入一全连接层,并计算该全连接层输出的特征图与该样本的样本标签的分类损失,得到第一计算结果;计算该模型的上采样部分的至少一个第二处理层输出的特征图与该样本的掩码图像的分割损失,得到至少一个第二计算结果;分别根据得到的第一计算结果和第二计算结果调整该模型的参数,实现对该模型的训练。如此,将对皱纹的分类问题转化成分割问题,能够采用掩码图像中标记出的至少一条皱纹作为监督信号来对脸部图像进行皱纹分类,能够通过较少的样本提高分类准确度。
[0066] 在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,也可以通过其它方式实现。以上描述的装置实施例仅为示意性的,例如,附图所示的流程图和框图显示了根据本申请实施例的装置、方法及计算机产品可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包括一个或多个用于实现规定的逻辑功能的可执行指令。也应注意,在一些作为替换的实施方式中,方框中标出的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序来执行,这依据所涉及的功能而定。
[0067] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0068] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。