着装分类模型的训练方法及装置、着装分类方法及装置与流程

文档序号:29423231发布日期:2022-03-26 14:37阅读:165来源:国知局
着装分类模型的训练方法及装置、着装分类方法及装置与流程

1.本发明涉及计算机技术领域,特别涉及一种着装分类模型的训练方法及装置、着装分类方法及装置。


背景技术:

2.目前在着装分类上的分类方法主要有两种:第一种在模型训练前,需人工为人像着装的landmark(关键特征点)进行标注,在学习着装特征时,需要训练一个landmark网络来获取图像种的着装特征点位置和可见性信息,并对特征点附近进行局部特征编码,再将局部特征融合作为最终的着装特征进行表征,整张图下来可能几十近百个landmark,因此该方法人工标注成本相当高,训练难度大,且基于landmark提取的局部区域特征并不关注全局信息;第二种在模型中加入类特定残差注意力模块,通过充分利用每个类别单独的注意力模块,结合类无关的全局特征提升各类属性特征表达能力,提升多标签分类任务性能。然而,这种方法在着装分类任务上,注意力模块很难有效地关注到各类着装属性本身的特征,大大降低了着装分类的准确率。


技术实现要素:

3.本发明要解决的技术问题是为了克服现有技术中着装分类模型训练困难,分类准确率低的缺陷,提供一种着装分类模型的训练方法及装置、着装分类方法及装置。
4.本发明是通过下述技术方案来解决上述技术问题:
5.根据本发明的第一方面,提供一种着装分类模型的训练方法,包括以下步骤:
6.获取训练样本,其中,所述训练样本包括样本图像和对应的着装分类标签;
7.将所述样本图像输入着装分类模型,所述着装分类模型用于提取所述样本图像的第一特征,并基于注意力机制对所述第一特征进行处理得到第二特征,以及基于残差注意力机制对所述第二特征进行处理得到着装分类结果;
8.基于mask(掩膜)机制对所述样本图像中的人像区域进行语义分割,得到目标图像;
9.基于所述第二特征、目标特征、所述着装分类结果以及对应的着装分类标签计算目标损失,并根据所述目标损失调整所述着装分类模型的参数,直至满足收敛条件;其中,所述目标特征基于所述目标图像和所述第一特征得到。
10.较佳地,所述基于所述第二特征、目标特征、所述着装分类结果以及对应的着装分类标签计算目标损失的步骤具体包括:
11.基于所述第二特征和所述目标特征计算第一损失;
12.基于所述着装分类结果和对应的着装分类标签计算第二损失;
13.根据所述第一损失和所述第二损失确定目标损失。
14.较佳地,所述基于所述第二特征和所述目标特征计算第一损失的步骤具体包括:
15.将所述第二特征和所述目标特征代入第一损失函数得到第一损失;
16.所述第一损失函数用于迫使所述第二特征不断逼近所述目标特征。
17.较佳地,所述基于所述第二特征、所述目标特征、所述着装分类结果以及对应的着装分类标签计算目标损失的步骤具体包括:
18.基于所述第二特征和所述目标特征计算第一损失;
19.将所述着装分类结果和对应的着装分类标签代入第二损失函数计算第二损失;
20.将所述着装分类结果和对应的着装分类标签代入第三损失函数计算第三损失;所述第三损失函数为所述第二损失函数的正则项;
21.根据所述第一损失、所述第二损失以及所述第三损失确定目标损失。
22.较佳地,所述基于mask机制对所述样本图像中的人像区域进行语义分割,得到目标图像的步骤包括:
23.基于mask机制对所述样本图像中的人像区域进行语义分割,得到中间图像;
24.对所述中间图像中的非人脸区域进行语义分割,得到目标图像。
25.根据本发明的第二方面,提供一种着装分类模型的训练装置,包括:
26.获取模块,用于获取训练样本,其中,所述训练样本包括样本图像和对应的着装分类标签;
27.分类模块,用于将所述样本图像输入着装分类模型,所述着装分类模型用于提取所述样本图像的第一特征,并基于注意力机制对所述第一特征进行处理得到第二特征,以及基于残差注意力机制对所述第二特征进行处理得到着装分类结果;
28.分割模块,用于基于mask机制对所述样本图像中的人像区域进行语义分割,得到目标图像;
29.训练模块,用于基于所述第二特征、目标特征、所述着装分类结果以及对应的着装分类标签计算目标损失,并根据所述目标损失调整所述着装分类模型的参数,直至满足收敛条件;其中,所述目标特征基于所述目标图像和所述第一特征得到。
30.根据本发明的第三方面,提供一种着装分类方法,包括以下步骤:
31.获取待分类图像,所述待分类图像包含着装信息;
32.通过着装分类模型对所述待分类图像进行着装分类处理,得到所述待分类图像的着装分类结果,所述着装分类模型通过本发明的着装分类模型的训练方法得到。
33.根据本发明的第四方面,提供一种着装分类装置,包括:
34.待分类图像获取模块,用于获取待分类图像,所述待分类图像包含着装信息;
35.分类处理模块,用于通过着装分类模型对所述待分类图像进行着装分类处理,得到所述待分类图像的着装分类结果,所述着装分类模型通过本发明的着装分类模型的训练方法得到。
36.根据本发明的第五方面,提供一种电子设备,包括存储器以及与所述存储器连接的处理器,所述处理器执行存储在所述存储器上的计算机程序时实现本发明的着装分类模型的训练方法或者本发明的着装分类方法。
37.根据本发明的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明的着装分类模型的训练方法或者本发明的着装分类方法。
38.本发明的积极进步效果在于:
39.通过mask机制进行语义分割,辅助着装分类模型学习区分前景即人像区域和背景,降低了着装模型训练的难度,让着装分类模型的注意力机制有效地学习到人体着装前景区域,过滤背景干扰,进而更好地表征各类着装属性本身的特征,从而准确高效地实现人体着装多标签分类任务,另外,通过设计多种损失函数联合优化模型,保证着装分类模型能更稳定地收敛至最优解,大大提高了着装分类的准确率。
附图说明
40.图1为本发明实施例1的着装分类模型的训练方法的流程示意图。
41.图2为本发明实施例1的着装分类模型的训练方法的框架示意图。
42.图3为本发明实施例3的着装分类模型的训练装置的结构示意图。
43.图4为本发明实施例5的着装分类方法的流程示意图。
44.图5为本发明实施例6的着装分类装置的结构示意图。
45.图6为本发明实施例7的电子设备的结构示意图。
具体实施方式
46.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
47.实施例1
48.本实施例提供一种着装分类模型的训练方法,如图1所示,该着装分类模型的训练方法包括以下步骤:
49.s11、获取训练样本,其中,训练样本包括样本图像和对应的着装分类标签。
50.在本实施例中,训练样本具体为设备拍摄或网络爬取的人体着装图像(即样本图像),并对人体着装图像中不同的服饰类别分别标注标签(即着装分类标签)。为了更好的提取样本图像的特征,对样本图像进行预处理,作为可选的一种实施方式,将所有样本图像进行短边尺寸相同的缩放,比如224
×
224,然后对样本图像的像素点进行归一化操作,即把像素点对应到0到1之间,从而消除图像特征中单位和尺度差异的影响,以及做一些色彩抖动操作,通过调整图像的亮度,饱和度和对比度来对图像的颜色方面做增强,以消除图像在不同背景中存在的差异性等等,当然本实施例并不限于上述数据预处理操作。
51.s12、将样本图像输入着装分类模型,着装分类模型用于提取样本图像的第一特征,并基于注意力机制对第一特征进行处理得到第二特征,以及基于残差注意力机制对第二特征进行处理得到着装分类结果。
52.将上述预处理后的样本图像输入着装分类模型中得到着装分类结果,具体地,通过着装分类模型的特征提取网络,比如resnet50(深度残差网络)网络来提取样本图像的特征,当然本实施例并不限于上述的特征提取网络。如图2所示,样本图像的尺寸为224
×
224,特征提取网络由7层深度自注意力变换网络组成,最终获得一个2048
×7×
7维度的特征图(即第一特征)。
53.在着装分类模型中引入注意力机制,并基于注意力机制对第一特征进行处理得到第二特征,比如cbam(卷积块注意模块),参见图2,在特征提取网络的卷积层后增加一个注意力机制,注意力机制包括通道注意力模块和空间注意力模块,输入第一特征至通道注意
力模块,然后分别经过全局最大池化和全局平均池化,得到两个2048
×1×
1的特征图,再将这两个2048
×1×
1的特征图分别送入共享的多层感知神经网络中,分别进行加和操作和激活操作,得到通道注意力模块的输出向量,然后将通道注意力模块的输出向量与输入2048
×7×
7维度的特征图相乘,再次得到2048
×7×
7维度的特征图。将经过通道注意力模块输出的特征图作为空间注意力模块的输入特征图,通过最大值池化和平均池化分成两个大小为7
×7×
1的特征图,分别通过拼接操作将两个堆叠在一起和卷积操作将通道变为1,再经过激活操作得到空间注意力模块的输出向量,然后将空间注意力模块的输出向量与通道注意力模块输出的特征图进行相乘,得到最终生成的特征图(即第二特征),当然本实施例并不限于上述的注意力机制。
54.再在着装分类模型中引入residual attention(残差注意力机制),并基于残差注意力机制对第二特征进行处理得到着装分类结果,参照图2,在注意力机制后增加一个残差注意力机制,比如csra(类特定残差注意力模块),通过csra学习着装分类标签的特征,输入第二特征至csra,分别作全局平均池化和全局最大池化,将两种不同的池化方法得到的特征进行融合,再经过激活操作得到每个着装分类标签的预测概率(即着装分类结果),当然本实施例并不限于上述的残差注意力机制。
55.s13、基于mask机制对样本图像中的人像区域进行语义分割,得到目标图像。
56.作为可选的一种实施方式,mask机制为通过human parsing(人体解析数据集)预先训练的模型,将样本图像输入该预先训练的模型中以提取人体各身体部位的语义mask信息,从而得到人像区域的图像,为了避免人脸对着装分类的干扰,再对人脸区域的语义mask信息进行扣除,最终得到人体着装区域的语义mask信息(即目标图像),然后将目标图像统一缩放至7
×
7的尺寸,需要说明的是,在本实施例中,mask机制仅作为先验手段,并不需要学习参数,因此在着装分类模型的训练阶段,无需再通过mask机制提取人体着装区域的语义mask信息。
57.s14、基于第二特征、目标特征、着装分类结果以及对应的着装分类标签计算目标损失,并根据目标损失调整着装分类模型的参数,直至满足收敛条件;其中,目标特征基于目标图像和第一特征得到。
58.如图2所示,将人体着装区域的语义mask信息(即目标图像),通过广播方式与特征提取网络提取的特征(即第一特征)逐元素相乘,过滤掉背景区域和前景区域的人脸区域,得到仅有人体着装区域的特征(即目标特征)。在本实施例中,通过注意力机制对第一特征进行得到第二特征,基于第二特征和目标特征计算损失(即第一损失),具体地,将第二特征和目标特征代入第一损失函数计算出第一损失,第一损失函数的计算公式如下:
59.ls=smoothl1loss(fa,fm)
60.其中,ls表示第一损失,fa表示通过注意力机制得到的第二特征,fm表示借助mask机制得到的目标特征。利用第一损失函数迫使注意力机制得到的第二特征不断逼近借助mask机制得到的目标特征,最终使得注意力机制有主动聚焦于人体着装区域的能力,如此可以更有效地使第二特征表征人体着装区域的特征。
61.在训练着装分类模型时,使用交叉熵损失函数对模型进行训练,通过残差注意力机制学习第二特征得到对应的着装分类结果,然后基于着装分类结果与样本图像对应的着装分类标签计算交叉熵损失(即第二损失),由于模型训练过程中,存在难易样本不均衡问
题,作为可选的一种实施方式,在模型训练过程中对困难样本赋予更大的权重,使其注重对困难样本的学习和优化。具体地,将着装分类结果和对应的着装分类标签代入第二损失函数计算出第二损失,第二损失函数的计算公式如下:
62.lc=-(1-pi)
γ
yilog(pi)-p

(1-yi)log(1-pi)
63.其中,lc表示第二损失,γ为难易样本权重参数,pi为模型预测的第i个服饰类别的着装分类结果,yi为第i个服饰类别的着装分类标签,具体地,pi为0到1的预测概率值,yi为“0”或者“1”的标签值。
64.其中,第二损失函数为着装分类模型训练的主导函数,训练初期,只需反向传播第二损失,调整着装分类模型的参数,直至第二损失收敛。作为可选的一种实施方式,第二损失的反向传播采用基于动量的随机梯度下降的方法,以加速收敛。
65.随着着装分类模型训练的迭代次数增加,第二损失逐渐收敛,则引入第一损失,进一步对着装分类模型的参数进行调整,第一损失使对着装分类任务更有用的特征得到增强、对着装分类任务无用的特征受到抑制。联合第一损失和第二损失,得到着装分类模型的总损失(即目标损失)。通过反向传播目标损失,调整着装分类模型的参数,直至着装分类模型满足收敛条件。作为可选的一种实施方式,收敛条件可以是目标损失小于一个预先设定的阈值,通过预先设定一个比较小的损失阈值,当目标损失小于设定的损失阈值时,确定该着装分类模型收敛;作为可选的另一种实施方式,收敛条件也可以是着装分类模型训练的迭代次数大于一个预设的迭代次数,通过预先设定一个比较大的迭代次数,当着装分类模型训练的迭代次数大于设定的最大迭代次数时,确定该着装分类模型收敛。
66.作为可选的一种实施方式,在联合第一损失和第二损失计算目标损失时,设置权重参数α来协调第一损失函数和第二损失函数在着装分类模型训练中的比重,用l表示目标损失,其计算公式如下:
67.l=lc+αls68.在着装分类模型训练初期,α的值设为0,随着着装分类模型训练的迭代次数增加,逐渐增大α的值,并继续进行迭代训练,其中,α的值不大于1。直至目标损失l的值达到最小化,确定该着装分类模型收敛。
69.本实施例通过mask机制进行语义分割,辅助着装分类模型学习区分前景即人像区域和背景,降低了着装模型训练的难度,让着装分类模型的注意力机制有效地学习到人体着装前景区域,过滤背景干扰,进而更好地表征各类着装属性本身的特征,从而准确高效地实现人体着装多标签分类任务,另外,通过设计第一损失函数和第二损失函数联合优化模型,保证着装分类模型能更稳定地收敛至最优解,大大提高了着装分类的准确率。
70.实施例2
71.本实施例提供另一种着装分类模型的训练方法,该着装分类模型的训练方法是对实施例1的进一步改进。
72.参见图1,步骤14中,除了基于第二特征和目标特征计算损失第一损失和基于着装分类结果与样本图像对应的着装分类标签计算第二损失以外,还包括基于着装分类结果与样本图像对应的着装分类标签计算第三损失。具体地,将着装分类结果和对应的着装分类标签代入第三损失函数计算出第三损失,第三损失函数为第二损失函数的辅助函数(即正则项),第三损失函数的计算公式如下:
[0073][0074]
其中,lo表示第三损失,pi为模型预测的第i个服饰类别的着装分类结果,yi为第i个服饰类别的着装分类标签,具体地,pi为0到1的预测概率值,yi为“0”或者“1”的标签值。第三损失函数用于加强着装分类模型对着装分类标签为1的关注,确保着装分类模型对于yi为1的着装分类标签的预测概率大于0.5。
[0075]
联合第一损失、第二损失和第三损失,得到着装分类模型的总损失(即目标损失),通过反向传播目标损失,调整着装分类模型的参数,直至着装分类模型满足收敛条件。
[0076]
作为可选的一种实施方式,在联合第一损失、第二损失和第三损失计算目标损失时,需协调它们在着装分类模型训练中的比重。第二损失函数在着装分类模型训练中占主导作用,而第一损失函数和第三损失函数仅用于微调模型参数,因此第一损失函数和第三损失函数的权重较小;随着着装分类模型训练的迭代次数增加,第二损失逐渐收敛,此时第一损失函数和第三损失函数的权重可逐渐加大,设置权重参数α为第一损失函数和第三损失函数的权重,该着装分类模型训练的迭代次数t与权重参数α的关系如下:
[0077][0078]
其中,t1和t2为着装分类模型训练的迭代次数中线性变化的起始点和停止点,αf为着装分类模型稳定后的权重值,作为可选的一种实施方式,αf的值默认为1,在着装分类模型的训练过程中,α随着迭代次数t的增加逐渐变大。
[0079]
作为可选的一种实施方式,着装分类模型的优化目标为目标损失的最小化,用l表示目标损失,其计算公式如下:
[0080]
l=lc+α(ls+lo)
[0081]
设定目标损失l的目标阈值,通过迭代训练,直至目标损失l的值低于目标阈值,且模型参数变化很小,确定该着装分类模型收敛。
[0082]
本实施例通过mask机制进行语义分割,辅助着装分类模型学习区分前景即人像区域和背景,降低了着装模型训练的难度,让着装分类模型的注意力机制有效地学习到人体着装前景区域,过滤背景干扰,进而更好地表征各类着装属性本身的特征,从而准确高效地实现人体着装多标签分类任务,另外,通过设计第一损失函数、第二损失函数和第三损失函数联合优化模型,保证着装分类模型能更稳定地收敛至最优解,大大提高了着装分类的准确率。
[0083]
实施例3
[0084]
本实施例提供一种着装分类模型的训练装置,如图3所示,该着装分类模型的训练装置包括获取模块21、分类模块22、分割模块23和训练模块24。
[0085]
获取模块21用于获取训练样本,其中,训练样本包括样本图像和对应的着装分类标签。
[0086]
在本实施例中,训练样本具体为设备拍摄或网络爬取的人体着装图像(即样本图
像),并对人体着装图像中不同的服饰类别分别标注标签(即着装分类标签)。为了更好的提取样本图像的特征,获取模块21对样本图像进行预处理,作为可选的一种实施方式,获取模块21将所有样本图像进行短边尺寸相同的缩放,比如224
×
224,然后对样本图像的像素点进行归一化操作,即把像素点对应到0到1之间,从而消除图像特征中单位和尺度差异的影响,以及做一些色彩抖动操作,通过调整图像的亮度,饱和度和对比度来对图像的颜色方面做增强,以消除图像在不同背景中存在的差异性等等,当然本实施例并不限于上述数据预处理操作。
[0087]
分类模块22用于将样本图像输入着装分类模型。着装分类模型用于提取样本图像的第一特征,并基于注意力机制对第一特征进行处理得到第二特征,以及基于残差注意力机制对第二特征进行处理得到着装分类结果。
[0088]
分类模块22将上述预处理后的样本图像输入着装分类模型中得到着装分类结果,具体地,分类模块22通过着装分类模型的特征提取网络,比如resnet50(深度残差网络)网络来提取样本图像的特征,当然本实施例并不限于上述的特征提取网络。如图2所示,样本图像的尺寸为224
×
224,特征提取网络由7层深度自注意力变换网络组成,最终获得一个2048
×7×
7维度的特征图(即第一特征)。
[0089]
在着装分类模型中引入注意力机制,分类模块22用于基于注意力机制对第一特征进行处理得到第二特征,比如cbam(卷积块注意模块),参见图2,在特征提取网络的卷积层后增加一个注意力机制,注意力机制包括通道注意力模块和空间注意力模块,分类模块22输入第一特征至通道注意力模块,然后分别经过全局最大池化和全局平均池化,得到两个2048
×1×
1的特征图,再将这两个2048
×1×
1的特征图分别送入共享的多层感知神经网络中,分别进行加和操作和激活操作,得到通道注意力模块的输出向量,然后将通道注意力模块的输出向量与输入2048
×7×
7维度的特征图相乘,再次得到2048
×7×
7维度的特征图。将经过通道注意力模块输出的特征图作为空间注意力模块的输入特征图,通过最大值池化和平均池化分成两个大小为7
×7×
1的特征图,分别通过拼接操作将两个堆叠在一起和卷积操作将通道变为1,再经过激活操作得到空间注意力模块的输出向量,然后将空间注意力模块的输出向量与通道注意力模块输出的特征图进行相乘,得到最终生成的特征图(即第二特征),当然本实施例并不限于上述的注意力机制。
[0090]
再在着装分类模型中引入residual attention(残差注意力机制),分类模块22用于基于残差注意力机制对第二特征进行处理得到着装分类结果,参照图2,在注意力机制后增加一个残差注意力机制,比如csra(类特定残差注意力模块),通过csra学习着装分类标签的特征,分类模块22输入第二特征至csra,分别作全局平均池化和全局最大池化,将两种不同的池化方法得到的特征进行融合,再经过激活操作得到每个着装分类标签的预测概率(即着装分类结果),当然本实施例并不限于上述的残差注意力机制。
[0091]
分割模块23用于基于mask机制对样本图像中的人像区域进行语义分割,得到目标图像。
[0092]
作为可选的一种实施方式,mask机制为通过human parsing(人体解析数据集)预先训练的模型,分割模块23将样本图像输入该预先训练的模型中以提取人体各身体部位的语义mask信息,从而得到人像区域的图像,为了避免人脸对着装分类的干扰,分割模块23再对人脸区域的语义mask信息进行扣除,最终得到人体着装区域的语义mask信息(即目标图
像),然后将目标图像统一缩放至7
×
7的尺寸,需要说明的是,在本实施例中,mask机制仅作为先验手段,并不需要学习参数,因此在着装分类模型的训练阶段,无需再通过mask机制提取人体着装区域的语义mask信息。
[0093]
训练模块24用于基于第二特征、目标特征、着装分类结果以及对应的着装分类标签计算目标损失,并根据目标损失调整着装分类模型的参数,直至满足收敛条件;其中,目标特征基于目标图像和第一特征得到。
[0094]
如图2所示,训练模块24将人体着装区域的语义mask信息(即目标图像),通过广播方式与特征提取网络提取的特征(即第一特征)逐元素相乘,过滤掉背景区域和前景区域的人脸区域,得到仅有人体着装区域的特征(即目标特征)。在本实施例中,分类模块22通过注意力机制对第一特征进行得到第二特征,训练模块24基于第二特征和目标特征计算损失(即第一损失),具体地,将第二特征和目标特征代入第一损失函数计算出第一损失,第一损失函数的计算公式如下:
[0095]
ls=smoothl1loss(fa,fm)
[0096]
其中,ls表示第一损失,fa表示通过注意力机制得到的第二特征,fm表示借助mask机制得到的目标特征。训练模块24利用第一损失函数迫使注意力机制得到的第二特征不断逼近借助mask机制得到的目标特征,最终使得注意力机制有主动聚焦于人体着装区域的能力,如此可以更有效地使第二特征表征人体着装区域的特征。
[0097]
在训练着装分类模型时,训练模块24使用交叉熵损失函数对模型进行训练,分类模块22通过残差注意力机制学习第二特征得到对应的着装分类结果,然后训练模块24基于着装分类结果与样本图像对应的着装分类标签计算交叉熵损失(即第二损失),由于模型训练过程中,存在难易样本不均衡问题,作为可选的一种实施方式,在模型训练过程中对困难样本赋予更大的权重,使其注重对困难样本的学习和优化。具体地,将着装分类结果和对应的着装分类标签代入第二损失函数计算出第二损失,第二损失函数的计算公式如下:
[0098]
lc=-(1-pi)
γ
yilog(pi)-p

(1-yi)log(1-pi)
[0099]
其中,lc表示第二损失,γ为难易样本权重参数,pi为模型预测的第i个服饰类别的着装分类结果,yi为第i个服饰类别的着装分类标签,具体地,pi为0到1的预测概率值,yi为“0”或者“1”的标签值。
[0100]
其中,第二损失函数为着装分类模型训练的主导函数,训练初期,训练模块24只需反向传播第二损失,调整着装分类模型的参数,直至第二损失收敛。作为可选的一种实施方式,第二损失的反向传播采用基于动量的随机梯度下降的方法,以加速收敛。
[0101]
随着着装分类模型训练的迭代次数增加,第二损失逐渐收敛,则训练模块24引入第一损失,进一步对着装分类模型的参数进行调整,第一损失使对着装分类任务更有用的特征得到增强、对着装分类任务无用的特征受到抑制。联合第一损失和第二损失,得到着装分类模型的总损失(即目标损失)。训练模块24通过反向传播目标损失,调整着装分类模型的参数,直至着装分类模型满足收敛条件。作为可选的一种实施方式,收敛条件可以是目标损失小于一个预先设定的阈值,通过预先设定一个比较小的损失阈值,当目标损失小于设定的损失阈值时,确定该着装分类模型收敛;作为可选的另一种实施方式,收敛条件也可以是着装分类模型训练的迭代次数大于一个预设的迭代次数,通过预先设定一个比较大的迭代次数,当着装分类模型训练的迭代次数大于设定的最大迭代次数时,确定该着装分类模
型收敛。
[0102]
作为可选的一种实施方式,训练模块24在联合第一损失和第二损失计算目标损失时,设置权重参数α来协调第一损失函数和第二损失函数在着装分类模型训练中的比重,用l表示目标损失,其计算公式如下:
[0103]
l=lc+αls[0104]
在着装分类模型训练初期,α的值设为0,随着着装分类模型训练的迭代次数增加,逐渐增大α的值,并继续进行迭代训练,其中,α的值不大于1。直至目标损失l的值达到最小化,确定该着装分类模型收敛。
[0105]
实施例4
[0106]
本实施例提供另一种着装分类模型的训练装置,该着装分类模型的训练装置是对实施例3的进一步改进。
[0107]
训练模块24除了用于基于第二特征和目标特征计算损失第一损失和基于着装分类结果与样本图像对应的着装分类标签计算第二损失以外,训练模块24还用于基于着装分类结果与样本图像对应的着装分类标签计算第三损失。具体地,训练模块24将着装分类结果和对应的着装分类标签代入第三损失函数计算出第三损失,第三损失函数为第二损失函数的辅助函数(即正则项),第三损失函数的计算公式如下:
[0108][0109]
其中,lo表示第三损失,pi为模型预测的第i个服饰类别的着装分类结果,yi为第i个服饰类别的着装分类标签,具体地,pi为0到1的预测概率值,yi为“0”或者“1”的标签值。第三损失函数用于加强着装分类模型对着装分类标签为1的关注,确保着装分类模型对于yi为1的着装分类标签的预测概率大于0.5。
[0110]
训练模块24联合第一损失、第二损失和第三损失,得到着装分类模型的总损失(即目标损失),通过反向传播目标损失,调整着装分类模型的参数,直至着装分类模型满足收敛条件。
[0111]
作为可选的一种实施方式,训练模块24在联合第一损失、第二损失和第三损失计算目标损失时,需协调它们在着装分类模型训练中的比重。第二损失函数在着装分类模型训练中占主导作用,而第一损失函数和第三损失函数仅用于微调模型参数,因此第一损失函数和第三损失函数的权重较小;随着着装分类模型训练的迭代次数增加,第二损失逐渐收敛,此时第一损失函数和第三损失函数的权重可逐渐加大,设置权重参数为α为第一损失函数和第三损失函数的权重,该着装分类模型训练的迭代次数t与权重参数α的关系如下:
[0112][0113]
其中,t1和t2为着装分类模型训练的迭代次数中线性变化的起始点和停止点,αf为着装分类模型稳定后的权重值,作为可选的一种实施方式,αf的值默认为1,在着装分类模型的训练过程中,α随着迭代次数t的增加逐渐变大。
[0114]
作为可选的一种实施方式,着装分类模型的优化目标为目标损失的最小化,用l表示目标损失,其计算公式如下:
[0115]
l=lc+αls+βlo[0116]
设定目标损失l的目标阈值,通过迭代训练,直至目标损失l的值低于目标阈值,且模型参数变化很小,确定该着装分类模型收敛。
[0117]
实施例5
[0118]
本实施例提供一种着装分类方法,如图4所示,该着装分类方法包括以下步骤:
[0119]
s31、获取待分类图像,待分类图像包含着装信息。
[0120]
其中,着装信息包括人像以及人像身穿的服饰,包括但不限于帽子,上衣,裤子,鞋子,围巾,裙子等,在实际应用中,根据种类、材质、颜色等属性进一步划分服饰标签,比如红色衬衫、黑色高跟鞋或白色短裙等,当然本实施例并不限于上述的服饰标签。
[0121]
s32、通过着装分类模型对待分类图像进行着装分类处理,得到待分类图像的着装分类结果。
[0122]
其中,着装分类模型通过实施例1或实施例2的着装分类模型的训练方法得到,着装分类处理包括但不限于着装检测,着装识别或着装数据跟踪等涉及分类的场景。假设一张待分类图像中的着装信息包括红色衬衫、黑色高跟鞋或白色短裙,将该图像输入至着装分类模型中,可以得到该图像的帽子为无,上衣为红色衬衫,裤子为无,鞋子为黑色高跟鞋,围巾为无,裙子为白色短裙的着装分类结果。
[0123]
在本实施例中,由于用于进行着装分类处理的着装分类模型是通过实施例1或实施例2的着装分类模型的训练方法得到的,因此在该着装分类模型应用于具体的着装分类任务时,其输出的着装分类结果也会更加准确。
[0124]
实施例6
[0125]
本实施例提供一种着装分类装置,如图5所示,该着装分类装置包括待分类图像获取模块41和分类处理模块42。
[0126]
待分类图像获取模块41用于获取待分类图像,待分类图像包含着装信息。其中,着装信息包括人像以及人像身穿的服饰,包括但不限于帽子,上衣,裤子,鞋子,围巾,裙子等,在实际应用中,待分类图像获取模块41根据种类、材质、颜色等属性进一步划分服饰标签,比如红色衬衫、黑色高跟鞋或白色短裙等,当然本实施例并不限于上述的服饰标签。
[0127]
分类处理模块42用于通过着装分类模型对待分类图像进行着装分类处理,得到待分类图像的着装分类结果。其中,着装分类模型通过实施例1或实施例2的着装分类模型的训练方法得到,着装分类处理包括但不限于着装检测,着装识别或着装数据跟踪等涉及分类的场景。假设一张待分类图像中的着装信息包括红色衬衫、黑色高跟鞋或白色短裙,将该图像输入至着装分类模型中,可以得到该图像的帽子为无,上衣为红色衬衫,裤子为无,鞋子为黑色高跟鞋,围巾为无,裙子为白色短裙的着装分类结果。
[0128]
实施例7
[0129]
本实施例提供一种电子设备,所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1或实施例2的着装分类模型的训练方法以及实施例5的着装分类方法。
[0130]
如图6所示的电子设备50仅仅是一个示例,不应对本发明实施例的功能和使用范
围带来任何限制。
[0131]
电子设备50可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备50的组件可以包括但不限于:上述至少一个处理器51、上述至少一个存储器52、连接不同系统组件(包括存储器52和处理器51)的总线53。
[0132]
总线53包括数据总线、地址总线和控制总线。
[0133]
存储器52可以包括易失性存储器,例如随机存取存储器(ram)521和高速缓存存储器522,还可以进一步包括只读存储器(rom)523。
[0134]
存储器52还可以包括具有一组(至少一个)程序模块524的程序工具525,这样的程序模块524包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0135]
处理器51通过运行存储在存储器52中的计算机程序,从而执行各种功能应用以及数据处理,例如实施例1或实施例2的着装分类模型的训练方法以及实施例5的着装分类方法。
[0136]
电子设备50也可以与一个或多个外部设备54通信。这种通信可以通过输入/输出(i/o)接口55进行。并且,模型生成的设备50还可以通过网络适配器56与一个或者多个网络通信。如图6所示,网络适配器56通过总线53与模型生成的设备50的其它模块通信。应当明白,尽管图6未标示,可以结合模型生成的设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
[0137]
应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
[0138]
实施例8
[0139]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1或实施例2的着装分类模型的训练方法以及实施例5的着装分类方法。
[0140]
其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
[0141]
在可选的一种实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1或实施例2的着装分类模型的训练方法以及实施例5的着装分类方法。
[0142]
其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
[0143]
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和
修改均落入本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1