一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多层掩码Transformer的服装兼容性预测方法

2023-02-14 07:13:13 来源:中国专利 TAG:

一种基于多层掩码transformer的服装兼容性预测方法
技术领域
1.本发明涉及服装兼容性预测技术领域,具体的讲是一种基于多层掩码transformer的服装兼容性预测方法。


背景技术:

2.服装推荐是计算机视觉中一个重要的应用领域,其中服装兼容在其领域中扮演着重要的角色,不同的服装搭配会带给人们不同的视觉感知,一身搭配合理的套装可以提升用户外在的气质。早期的兼容性研究主要集中在学习两两物品之间或端到端的成对表示,但这并没有考虑到多个单品之间的复杂关系,即每件单品在低层次上面颜色、纹理等特征和高层次上面风格、样式等特征之间构成一个复杂的关系网络。近年来,有采用序列进行兼容性预测,但将单品进行固定的序列化来看并不合理,因为并不存在固定的单品顺序,而且服装的兼容性问题并不仅仅指的是前后相邻物品之间的关系。由此可见,时装的兼容性预测仍然是时装推荐面临的巨大挑战。
3.基于卷积神经网络的层次结构,可以分别获得服装的低级和高级特征。低级特征具有更高的分辨率,并包含更多的位置和细节信息。然而,它们的语义较低,噪声较多;高级特征具有更强的语义信息,但分辨率较低,感知细节的能力较差。对于服装图像,代表服装颜色和材质的低级特征来自于卷积神经网络的低层次,而服装类别和风格的高级特征则来自于网络的高层次。兼容性学习具有主观性,因此可以根据用户以往的购买记录,专家建议,服装的各种特征等,来寻找服装之间的内部关联性。
4.申请号cn202210296195.3的专利提出了一种基于超图的服装兼容性预测方法,通过引入超图很好的反映了套装和服饰单品之间的复杂关系,同时将超图转化为简单图得到一个简单图增强网络模型,利用消息传播机制迭代更新简单的图结构中的图节点表示,并通过门控循环得到图节点的最终表示;通过注意力机制增强模型的预测能力,利用图节点的最终表示计算套装的兼容性得分。但该专利存在的问题是由于考虑到服装之间的复杂关系,无法准确进行兼容性判断以及无法判断两个遮盖后的单品之间的相关性。


技术实现要素:

5.本发明要解决的技术问题是针对以上不足,提供一种基于多层掩码transformer的服装兼容性预测方法,其目的在于解决服装之间的复杂关系,无法准确进行兼容性判断以及无法判断两个遮盖后的单品之间的相关性的问题。
6.为解决以上技术问题,本发明采用以下技术方案:
7.一种基于多层掩码transformer的服装兼容性预测方法,包括以下步骤:
8.步骤s1、收集服装数据集;
9.步骤s2、将服装数据集中的单品服装图像和描述文本数据输入视觉语义嵌入模块,建立服装图像和描述文本的关联性,并判断服装图像和描述文本是否匹配,若匹配则输入步骤s3的多层掩码模块内;若不匹配,则回到视觉语义嵌入模块继续匹配;
10.步骤s3、将服装数据集内服装图像和描述文本匹配的所有单品输入多层掩码模块,计算单品间的相关性;
11.步骤s4、将服装数据集中的多套服装套装输入服装兼容性预测模型对模型进行训练,得到训练好的服装兼容性预测模型;
12.步骤s5、利用训练好的服装兼容性预测模型对兼容性进行预测。
13.进一步的,所述步骤s2中通过视觉语义嵌入模块判断图像和文本是否匹配的方法包括以下步骤s2a至步骤s2c:
14.步骤s2a、通过resnet-50卷积模块提取服装数据集中单品的服装图像特征;
15.步骤s2b、通过one-hot编码模块提取服装数据集中所有单品的描述文本特征;
16.步骤s2c、将服装图像特征和描述文本特征输入同一向量空间内,建立服装图像特征和描述文本特征的关联性,根据服装图像特征和描述文本特征在向量空间的距离,判断服装图像和描述文本是否匹配。
17.进一步的,所述步骤s2c包括以下步骤s2c-1至步骤s2c-3:
18.步骤s2c-1、用i表示一件单品的服装图像,t表示描述该单品的描述文本,则服装图像与描述文本的集合的计算公式如下:
[0019][0020]
其中,s为服装图像与描述文本的集合,i为一件单品的服装图像,t为该单品的描述文本,(in,tn)为正对,(in,t
m≠n
)为负对,n为数量,n为总数;
[0021]
步骤s2c-2、设是根据服装图像i的服装图像特征向量,是描述文本t的描述文本特征向量,其中,和θ
φ
分别表示服装图像和描述文本的相应映射的模型参数,通过线性投影将服装图像特征向量和描述文本特征向量映射到同一维度的空间,其计算公式如下:
[0022][0023][0024]
其中,i为一件单品的服装图像,t为该单品的描述文本,f和g分别是服装图像和描述文本特征空间,(in,tn)为正对,(in,t
m≠n
)为负对,n为数量,wf和表示服装图像的相应映射的模型参数,wg和θ
φ
表示描述文本的相应映射的模型参数;
[0025]
步骤s2c-3、定义一个相似度函数s(i,t)以及预设范围值来判断服装图像和描述文本对是否匹配,若相似度函数s(i,t)在预设范围值内则服装图像和描述文本匹配;若相似度函数s(i,t)不在预设范围内则服装图像和描述文本不匹配;
[0026]
规定和为同一维度,则嵌入空间中的相似函数定义为内积表示,其计算公式如下:
[0027][0028]
其中,i为一件单品的服装图像,t为该单品的描述文本,f和g分别是服装图像和描述文本的特征空间,wf和表示服装图像的相应映射的模型参数,wg和θ
φ
表示描述文本的相应映射的模型参数。
[0029]
进一步的,所述步骤s3中多层掩码模块计算单品间的相关性的方法包括以下步骤s3a至步骤s3c:
[0030]
步骤s3a、任意输入一个服装套装o,并随机遮盖掉第i件单品,获得关于这个单品的上下文表示,从而得到向量fa,再随机遮盖掉第j件单品,获得关于这个单品的上下文表示,从而得到向量fb;
[0031]
步骤s3b、通过transformer编码器提取a和b的全局特征,计算公式如下:
[0032]
ga=encoder(fa×
maski)
[0033]
gb=encoder(fb×
maskj)
[0034]
其中,ga表示a全局特征,gb表示b全局特征;
[0035]
步骤s3c、通过计算全局特征的相关矩阵r(ga,gb)的大小来判断两件单品的相关性,r越大则表明相关性越高,第i件单品相对于第j件单品的相关性r,其计算公式如下:
[0036]
r=ga×
gb[0037]
其中,ga表示a全局特征,gb表示b全局特征。
[0038]
进一步的,所述步骤s4包括以下步骤
[0039]
步骤s4a、输入一组包含n个单品的服装套装;
[0040]
步骤s4b、设它们同一层面的特征的集合为y={y1,y2,...,yn},其中yi是第i个单品的特征向量(i=1、2

n),将任意两个单品的相关性表示为矩阵形式,其计算公式如下:
[0041][0042]
其中,m为比较矩阵,m
ij
表示yi和yj之间的相关性(i=1、2

n)(j=1、2

n);
[0043]
步骤s4c、对u个不同层面的特征比较时,有u个不同的比较矩阵(m1,m2,...,mu},得到所有比较关系h,计算公式如下:
[0044][0045]
其中,u表示层面的数量,h表示比较关系;
[0046]
步骤s4d、通过三层感知机和激活函数来计算兼容性分数s,计算公式如下:
[0047]
s=relu(w2relu(w1relu[m1;m2;...;mu] b) k))
[0048]
其中,s代表兼容性分数,relu表示激活函数,m为比较矩阵,b表示第2层感知机的参数,k表示第3层感知机的参数,w2和w1表示服装图像和描述文本的相应映射的模型参数;
[0049]
步骤s4e、使用sigmoid函数将输出的兼容性分数s映射到0到1之间,计算公式如下:
[0050][0051]
采用二元交叉熵作为损失函数,其计算公式如下:
[0052]
l
clf
=y
×
logσ(s) (1-y)
×
log(1-σ(s))
[0053]
其中,l
clf
表示二元交叉熵的损失值,sigmoid(x)表示输出单元上的激活函数,x表示输入的服装图像和描述文本,y表示二元标签0或者1;
[0054]
步骤s4f、通过最小化损失值l
clf
对服装兼容性预测模型进行训练,得到训练好的
服装兼容性预测模型。
[0055]
本发明采用以上技术方案后,与现有技术相比,具有以下优点:
[0056]
(1)本发明提出了一个transformer编码器来提取整套服装的整体特征,使得特征的提取更为全面,由此能得到更为准确的兼容性判断;
[0057]
(2)考虑到服装之间的复杂关系,提出了一个分层网络,用来提取套装所有单品不同层次的全局特征,提高兼容性判断的精准程度;
[0058]
(3)引入了一个新的比较方法,通过依次遮盖任意一件单品后的全局特征,与遮盖另一件单品后的全局特征进行比较,从而判断两个遮盖后的单品之间的相关性。
[0059]
下面结合附图和实施例对本发明进行详细说明。
附图说明
[0060]
图1为本发明的流程示意图;
[0061]
图2为为本发明填空任务检索结果;
[0062]
图3本发明不同方法下缺少每类单品的map。
具体实施方式
[0063]
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0064]
实施例1:
[0065]
如图1所示的一种基于多层掩码transformer的服装兼容性预测方法,包括如下步骤:
[0066]
步骤s1,收集服装数据集;
[0067]
本发明使用了polyvore-t数据集是在polyvore数据集上进行构建的,包含了12000套专家精选的套装,其中每个套装中有5个类型来标记每个单品的信息,分别是上装,下装,鞋子,包,配饰。每个单品都有相应的图像、文本描述和类别标签(如牛仔裤、裙子、运动,共381种类别)。对于不含标签中的单品将直接删除,剩下的单品根据类别进行标记,对于缺少的单品,则通过计算其他单品的平均值作为填充,以确保每个套装中有5个项目。
[0068]
步骤s2,构建mlmt网络模型,mlmt模型由三部分组成:视觉语义嵌入模块,多层掩码模块,服装兼容性预测模块,图1展示了整个网络的流程,,各模块的具体处理过程如下:
[0069]
步骤s2a,构建基于视觉语义嵌入模块,用来学习单个单品对应的图像和文本之间的共同表示,将服装图像和文本描述映射到同一空间中,建立两者之间的关联性,根据图像特征和文本特征在向量空间的距离进行判断,来判断两者之间是否匹配;如果匹配成功,将到达多层掩码模块;如果匹配不成功,将回到视觉语义嵌入模块继续匹配。
[0070]
用i表示一件服装单品图像,t表示描述该服装单品的句子,则一组服装图像与描述的集合,其计算公式如下:
[0071][0072]
其中,s表示一组服装图像与描述的集合,i表示一件服装单品图像,t表示描述该服装单品的句子,(in,tn)为正对,(in,t
m≠n
)为负对,n为数量,n为总数。
[0073]
设是根据图像i计算的基于特征的表示,是文本t嵌入空间中的
语义表示,其中和θ
φ
表示图像和文本的相应映射的模型参数,通过线性投影将向量映射到同一维度的空间,其计算公式如下:
[0074][0075][0076]
其中,i表示一件服装单品图像,t表示描述该服装单品的句子,(in,tn)为正对,f和g分别是图像和文本特征空间,(in,t
m≠n
)为负对,n为数量,wf,wg,θ表示图像和文本的相应映射的模型参数。
[0077]
定义一个相似度函数s(i,t)来判断图像文本对是否匹配,规定和为同一维度,则嵌入空间中的相似函数定义为内积表示,其计算公式如下:
[0078][0079]
其中,i表示一件服装单品图像,t表示描述该服装单品的句子,f和g分别是图像和文本特征空间,wf,wx,θ
φ
表示图像和文本的相应映射的模型参数。
[0080]
步骤s2b,构建基于多层掩码模块,根据上述得到视觉语义嵌入模块,接着采用多层掩码模型对单品之间的复杂关系进行分层比较,借鉴bert的掩码语言模型的思想来处理单品之间的相关性;
[0081]
步骤s2b-1,任意输入一个套装o的图像到bert模型中,随机遮盖掉第i件单品,获得关于这个单品的上下文表示,从而得到向量fa;
[0082]
步骤s2b-2,接着同时随机遮盖掉第j件单品,获得关于这个单品的上下文表示,从而得到向量fb,然后通过编码器提取a和b的全局特征,得到ga和gb;ga=encoder(fa×
maski),gb=encoder(fb×
maskj);
[0083]
步骤s2b-3,通过计算全局特征的相关矩阵r(ga,gb)的大小来判断两者的相关度,r越大则表明j对于i件单品的影响越大,相关度越高。每个单品的相关性r,其计算公式如下:
[0084]
r=ga×
gb[0085]
其中,ga和gb表示a和b的全局特征。
[0086]
步骤s2c,构建基于服装兼容性预测模块,兼容性预测,即输入一个套装进入模型,通过比较各个单品之间的相关性来判定这套服装是否兼容,也可被视为在低层次特征(颜色,材质,纹理)和高层次特征(风格)等不同方面将每个单品与其他单品进行比较后的特征融合。兼容性预测可以实现空白填充和诊断任务,在填充空白的任务中,提供了一系列候选单品,需要从这些候选单品种选择一个项目来填充空白。例如,用户想要选择一条与衣服和鞋子相配的下装,就可以在较短的时间实现正确的选择。
[0087]
诊断不兼容项目,可以进行套装的自动诊断和修正,此任务可以查找出一个套装(上装、下装、鞋子、包、配饰)内不兼容的单品,并在候选单品中选择一个评分最高的单品,即为最匹配的一个单品;
[0088]
给定包含n个单品的套装,设它们在颜色特征或材质特征或纹理特征或风格特征表示为集合y={y1,y2,...,yn},其中yi是第i个单品的特征向量,遮盖任意单品之后的成对相似性可以表示为矩阵形式,其计算公式如下:
[0089][0090]
其中,m为比较矩阵,m
ij
表示yi和yj之间的相似度;
[0091]
对于u个不同层面的比较,有u个不同的比较矩阵{m1,m2,...,mu},得到所有比较关系h,计算公式如下:
[0092][0093]
其中,u表示不同单品,h表示比较关系;
[0094]
比较矩阵中的所有向量将会通过3层感知机和激活函数来计算兼容性分数s,计算公式如下:
[0095]
s=relu(w2relu(w1relu[m1;m2;...;mu] b) k))
[0096]
其中,s代表兼容性分数,relu表示激活函数,m为比较矩阵,b表示第2层感知机的参数,k表示第3层感知机的参数,w2和w1表示图像和文本的相应映射的模型参数。
[0097]
在基于多层掩码transformer的服装兼容性预测方法进行预测和训练时,使用sigmoid函数进行预测和训练,计算公式如下:
[0098][0099]
将输出分数映射到0到1之间,即兼容性概率,并使用服装兼容性预测模块进行预测,再采用二元交叉熵作为损失函数,其计算公式如下:
[0100]
l
clf
=y
×
logσ(s) (1-y)
×
log(1-σ(s))
[0101]
其中,l
clf
表示二元交叉熵的损失值,sigmoid(x)表示输出单元上的激活函数,x表示输入的图像和文本,y表示二元标签0或者1。
[0102]
本发明的实验过程:
[0103]
所有实验都在一个tesla v100 gpu(16gb)上训练,在centos7和cuda10.2环境下使用pytorch 1.9.0框架来完成实验,图像特征和文本特征都是1000维特征向量,实验设置批量大小为16,随机梯度下降sgd的动量为0.9,学习率为0.5e-2,学习率衰减的乘数因子为0.5,采用二元交叉熵作为损失函数,迭代次数为100。
[0104]
实验选择roc曲线的下面积(auc)如公式(1)所示,其中由公式(2)计算准确率(acc),由式(3)计算精确率和召回率的调和均值(f1)三种指标评估模型性能。
[0105][0106]
其中,a,b分别表示正,负样本的个数,i是指示函数。
[0107][0108][0109]
其中,tp为正例预测正确的个数;fp为负例预测错误的个数;tn为负例预测正确的
个数;fn为正例预测错误的个数;n为总样本个数。
[0110]
如图2所示,展示了填空任务的查询结果,通过给定不完整的一套服装和4件候选单品,计算每件候选单品与给定套装的兼容性评分,按照分数由高到低排序。通过比较mlmt模型和mcn的输出可以看出,本文提出的方法在准确度上具有一定优势。
[0111]
从数据集中抽取6种不同类型的单品,在5种不同的算法下进行实验,在缺少不同类型单品的情况下,检索准确率如图3所示。由于不同类型的服装对整体兼容性的影响力不同,造成准确率有所波动,但是本文方法的平均兼容性预测准确率依然高于其他方法。其如图3不同方法下缺少每类单品的map结果所示。
[0112]
methodaucaccf1-scoreself-attention63.71%55.94%94.53%ggnn72.10%65.22%94.02%contactenation81.17%74.92%98.35%mcn91.60%78.26%98.35%mlmt(ours)91.52%79.60%97.89%
[0113]
通过与以上几种方法进行对比,分别与其他几个基线进行比较的实验结果如表所示,从表中可以看出mlmt优于mcn,并在acc和f1两个指标上分别提升了1.34%和6.1%,在auc指标上与整个测试集的期望值也最为接近,证明分层掩码方法能够提高服装兼容性预测的准确性。
[0114]
另外,分别禁用不同层和transformer编码器,如下表所示,查看缺少一层网络对最终的预测性能是否有影响,从表中可以看出,随着层数的增加,准确度也有所提升。并在缺少transformer编码的情况下,准确度有所下降,这也验证了其在提取特征方面的有效性。
[0115]
综上所述,通过多层掩码模型计算相关性和transformer编码提取全局特征可以使得兼容性预测效果更加准确。
[0116]
methodaucaccf1-scorelayer 187.26%75.25%79.24%layer 1 288.06%74.41%78.13%layer 1 2 389.65%79.77%82.28%layer 1 2 3 490.69%80.07%83.12%mlm90.00%79.52%75.08%mlmt91.52%79.60%82.50%
[0117]
以上所述为本发明最佳实施方式的举例,其中未详细述及的部分均为本领域普通技术人员的公知常识。本发明的保护范围以权利要求的内容为准,任何基于本发明的技术启示而进行的等效变换,也在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献