基于Mask R-CNN的服装搭配评分系统
2022-12-03胡昊天郑雅芝郑健南冯宝桐潘家辉
胡昊天 郑雅芝 郑健南 冯宝桐 梁 艳 潘家辉
(华南师范大学软件学院 广东 佛山 528225)
0 引 言
随着科技和网络购物的发展,基于服装图像的服装搭配产品具有较高的市场价值和研究价值。中国服装协会发布的《2018-2019年度中国服装行业发展报告》[1]显示,网络服装销售增长了22%,大型零售增长0.99%。在目前的服装消费市场中,服装的款式、色彩、纹理、面料等都十分多样化,满足了当下不同阶层和年龄段女性的购衣需求。在《2019年中国“升级一代”女性服装消费洞察报告》[2]研究中指出,“升级一代”女性服装消费凸显了“审美升级”的转变趋势,购衣的美丽消费已成为生活中的重要需求。因此,在如此繁杂的服装当中,如何快速、有效地推荐出一套大众普遍认可、喜爱的搭配服饰是当前急需探究的问题。
服装搭配的核心在于服装图像特征的描述。为了更有效地进行服装搭配,需要获取尽可能多的服装特征。市面上已有的服装搭配推荐产品,主要是通过用户的购买记录等利用协同过滤算法[3]进行相关性推荐购买,并没有帮助用户在众多的个人服饰之间实现智能搭配,为用户切身解决日常搭配烦恼。已有的服装搭配算法,大多存在搭配效果单一、推荐相似度高的服装的问题。对于服装搭配评分技术而言,现有的关于服装美感评价的研究大多针对服装的制作工艺、材质等方面,专门针对服装搭配的美感评分的研究较少。
本文提出了一个基于Mask R-CNN的服装搭配算法。首先,基于Mask R-CNN模型对输入的服装图像进行精准检测和分割;其次,采用卷积神经网络提取服装区域的部分特征;最后,对服装特征向量进行分析处理,建立服装搭配规则,对上下衣服装搭配效果进行评分。本文的主要贡献如下:
(1) 利用基于Mask R-CNN模型的服装识别处理算法,对输入的服装图像进行特征提取和分析,实现服装的目标识别和分割。
(2) 提出了一个服装搭配评分算法,将深度学习与服装搭配规则相结合。通过本文的服装识别处理算法对输入的服装图像特征进行提取和处理,利用处理后的特征向量对服装进行搭配计算并根据搭配度的高低进行评分。
(3) 实现了一个服装搭配评分系统,具有服装搭配评分、个人衣橱、智能推荐功能,帮助用户解决日常服装搭配问题。
1 国内外研究现状
1.1 服装识别处理的研究现状
服装识别处理是进行服装搭配计算的第一步。目前有很多服装识别处理的方法。项明等[4]提出了通用Fourier描述子,通过改进反馈技术提高了基于形状特征的服装图像目标检测和分类的准确度。以600幅裙装样例图像为目标进行检索,发现该方法的平均查准率达到了91.9%。实验表明,该算法仅对形状特征明显的服装例如T恤、裙子等的准确度较高,而且容易受到服装穿着的影响。Redmon等[5]提出了YOLO模型,该模型将目标检测任务转换为回归问题,极大地提高了检测速度,每秒最快可处理45幅图像。但是直接使用网格回归,没有Region Proposal机制,使得该模型的识别精度仅有63.4%,不能进行准确的定位。Yu等[6]融合了多特征提取算法,同时对多维特征向量进行降维,实现了服装分类与处理。包青平等[7]利用卷积神经网络进行服装特征提取,结合度量学习实现了服装图像的分类与识别。较之基于SIFT特征的传统方法,前者在服装分类处理的效果更佳。
1.2 服装智能搭配的研究现状
Shen等[8]建立了80万数据集的服装库,并手动标注了服装类型、风格等标签。在大型数据集的基础上,利用OMSC搭配知识库进行服装的智能搭配推荐。该方法由于前期数据集的处理步骤烦琐,故实现时间较长,且搭配和款式比较固定。徐略辉[9]提出了一种不确定性的服装搭配算法。首先进行模糊聚类分析,在模糊等价类的基础上,引入了可变截集水平等步骤,最终得到了服装搭配的不确定性属性约简算法。该算法能自动找出服装搭配组合,并克服服装搭配与人的主观性因素造成的不确定性。齐扬等[10]通过用户浏览信息和购买信息构建服装数据库,并构建用户偏好模型。这种方法仅仅通过挖掘用户喜好来推荐,得到搭配比较单一。
赵光明[11]使用淘宝天池大赛服装数据集基于ImageNet训练的AlexNet模型进行迁移学习搭建了服装搭配匹配模型。而后利用GBTree算法对模型进行优化,提出了服装搭配算法,包括基于搭配度、基于矩阵分解和基于Jaccard等方法。该模型提出MAP@N的测评指标(范围在0~1),MAP值越大,算法越准确。模型使用的数据集庞大约50万条商品数据,但是使用的算法模型比较老旧,数据处理速度有些慢。范宇航[12]使用爬虫得到的4万幅上衣图片作为数据集,提取服装SIFT特征并进行标签分类,利用ImageNet训练模型,提出服装深度特征并将其结合局部编码特征,以此挖掘服装搭配的关联规则。匡立洋[13]基于SDD_RN网络以及多特征融合实现了服装检索和个性化搭配推荐,但是该方法推荐的服装更倾向于相似度高的服装,比较单一。
2 系统总体设计
本系统主要以时尚服装搭配中的应用为主,包括服装评分模块和个人衣橱模块。
服装评分模块能够针对用户的服装图片给出评分结果。系统首先对一幅包含用户全套服装的图片进行服装检测,得到图片中包含的服装类别、数量并提取出服装基本特征;然后基于识别到的服装类别进一步获取类别文本特征,通过提示用户选择具体的“风格化标签”来获取。所谓“风格化标签”即指为提高评分科学性、基于基本服装类别之上衍生出来的时尚风格层面的标签,如“长裤”对应的风格化标签有“西裤、牛仔裤、阔腿裤”等。用户选择风格化标签之后,系统调用评分算法计算,向用户反馈评分结果,分数范围为0~100。
个人衣橱模块能够存储用户上传的服装,提供存储服装、自由组合、智能推荐功能。用户上传的服装以图片形式存储,用户可自由组合服装,系统反馈该组合搭配评分结果。系统还能自动计算衣橱内所有服装搭配的评分结果,向用户反馈最优搭配方案。
系统总功能说明图如图1所示。
图1 系统总功能说明图
3 服装识别处理算法
为了实现服装搭配评分功能,服装识别处理是不可或缺的一环。有效的服装识别处理能将一幅原始服装图片对象转化为服装款式类别、服装颜色特征。精确识别出服装款式以及颜色特征能够使得搭配评分更具准确性和科学性。因此服装识别处理必须完成下列任务。
1) 服装主体识别:(1) 能从复杂背景中定位目标服装区域;(2) 成功识别服装类别款式;(3) 服装实例分割,得到服装掩模区域和边界框。
2) 服装颜色特征提取:对服装掩模区域和边界框进行处理,提取服装颜色特征。
通过对大量文献的总结以及对各类目标检测模型的测试后,本文采用基于Mask R-CNN[14]模型的方法对服装进行识别与处理。
3.1 服装主体识别处理过程
输入一幅包含服装对象的图片,进行以下处理:
(1) 首先将服装图片进行归一化预处理,对于每幅图片进行伸缩处理,以最短边800像素、最长边1 024像素的规格将其裁剪为统一大小的正方形,方便模型处理。
(2) 将服装图片输入到预训练好的残差网络ResNet 101中,提取服装图片基本特征,处理得到相应的feature map,并输入FPN特征金字塔进一步提取特征。
(3) 将得到的feature map中每一点设定预定的ROI,得到多个候选ROI。
(4) 将得到的候选ROI送入RPN网络进行边界框回归和二分类,即前景和背景的区分,以此筛选掉一部分候选ROI。
(5) 将筛选过后的ROI送入ROI_Align处理,即将原图与feature map的像素点相对应,再将feature map与固定的feature相对应。
(6) 再将处理完的ROI送入服装掩模分割分支直接进行FCN操作生成服装掩模图,ROI送入模型中服装检测分支中的全连接层即可实现服装分类和边界框回归。
(7) 输出得到的服装款式类别。
(8) 将原始服装图片、分割好的掩模图以及边界框坐标进行颜色特征提取操作,输出得到的服装主颜色特征向量。
过程如图2所示。服装款式类别和服装颜色特征可作为后期评分的因素之一。
图2 服装识别处理过程
3.2 服装主体识别处理算法实现
3.2.1优化函数
实验中,训练模型采用SGD随机梯度下降函数作为模型优化函数。SGD每次仅用一小批样本进行计算梯度、更新模型参数,具有梯度下降更新参数时低方差的特性和随机梯度下降参数更新的高效率。再加入moment动量因子使梯度方向不变的维度上速度下降得更快,梯度方向改变的方向上更新速度更慢,加快收敛,减小震荡,动量因子取值0.9。
式中:vt代表t时刻的梯度下降速度,γ(0≤γ<1)为动量超参数,在实践中取值0.9;η代表学习率;θ为权重参数;j(θ)表示θ的最小二乘损失函数。
3.2.2损失函数
在模型训练过程中,定义在每个ROI上的多任务损失函数为:
L=Lcls+Lbox+Lmask
(2)
式中:用于服装分类的Lcls、用于边界框回归的Lbox,利用全连接层预测出每个RoI对象所属类别及其边界框坐标值,均与Faster R-CNN模型[15]中定义的相同;而用于服装分割的Lmask代表模型的分割误差。网络中的Mask分支通过FCN将每个ROI对象分割为K个类别m×m大小的二值掩模。对每一个像素应用sigmoid函数进行二分类后,计算RoI上所有像素的交叉熵的均值得到Lmask。
3.2.3网络结构
服装识别处理网络总体结构可分为三部分:Backbone、RPN、ROI Head。
1) 网络骨干部分Backbone选择预训练好的残差网络ResNet101结合FPN,将ResNet101划分为5个不同的阶段,识别服装图像的基本特征,每一个阶段输出不同尺寸的Feature map;而FPN特征金字塔网络采用自顶向下和横向连接的5层结构。首先将高层更抽象的Feature map进行2倍上采样Upsample,然后横向连接至前一层特征进行加强,其中前一层需经过1×1卷积过滤器处理使得channels一致。最后用3×3的卷积过滤器去处理已经融合的Feature map,Downsample降采样之后输出Feature map。
2) RPN网络负责对不同尺寸的Feature map进行滑动窗口扫描,生成多个不同尺寸的图像锚框anchor,并对边框进行精调后,进行非极大值抑制处理,生成最终的ROI。
3) 由于服装分割需要较精准的像素位置,需要使得Feature map和原图在尺寸上匹配。因此ROI Head部分负责对Feature map进行尺寸处理,其包括4个负责处理不同尺寸ROI的Roi_align以及一个进行Concat连接的池化层。尺寸处理使用双线性插值的方法以获得浮点数坐标的像素点上的图像数值:
(1) 遍历所有候选区域,获取区域浮点数边界。
(2) 将候选区域分割成k×k个单元,k为采样点数/2。
(3) 使用双线性插值的方法计算在每个单元中固定的四个坐标浮点数坐标,然后进行最大池化处理。
多个Roi_align负责提取特征金字塔中不同层的特征,将提取到的特征送入感知网络Perception Network。而感知网络由服装检测分支和服装掩模分割分支组成:
(1) 服装检测分支包含两个全连接层,分别用于服装类别预测和边界框回归。
(2) 服装掩模分割分支包含4个conv层、1个deconv层和1个conv层用于预测服装掩模。
妊娠是女性一生中的一个特殊生理阶段, 妊娠期妇女全身环境和口腔局部环境都会发生变化,导致口腔疾病的发生或原有口腔疾病的加重,在妊娠各期都会出现。二孩政策实行以来,高龄孕妇比例上升,各种妊娠并发症的发病率也相对增加。为更有效地开展孕妇口腔保健工作,提高孕妇的生活质量,本研究对长春市989名孕妇进行了问卷调查,现报道如下。
3.3 服装颜色特征提取
网络模型经过训练之后,具备将服装图像识别款式、分割服装掩模图的能力。将服装图片中的服装对象识别出服装款式类别并且分割出服装掩模图之后,还需要针对分割好的服装掩模图进一步提取用于搭配评分的特征。本系统选择影响服装搭配最重要的因素之一是颜色特征,它是作为后期对服装搭配进行评分的因素之一。
特征提取方法步骤如下:首先进行数据预处理:将分割好的服装掩模图与原图进行映射,去除图片背景元素后得到服装目标区域,开始进行颜色特征提取;识别服装颜色特征采用K均值聚类算法进行处理,这是一种迭代求解的聚类分析算法。如图3所示。
图3 服装颜色特征识别流程
(1) 服装图像数据从各像素点RGB值转换为HSV值序列进行储存,以便处理数据。
(2) 选择图像中各点HSV各个分量的最小值加上随机值,生成K个对象作为初始聚类中心,本文K值选择20。
(3) 循环迭代直到前一个聚类中心与当前聚类中心的欧氏距离小于0.1为止,其间计算每个对象与各个聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心,此处聚类中心被认为是服装图像上的一种颜色。即给每个点归类,判断各个像素属于哪个中心类。
(4) 一次所有点类别划分后,重新计算中心点,每个像素点的HSV值归类后,由该中心点计算均值取代该中心点的HSV值。
(5) 计算得到的聚类中心所包含数据数,将所含像素点个数小于0.5%的聚类中心去除,排序输出所含像素点个数占比超过13.5%的聚类中心。
4 服装搭配评分算法
4.1 算法原理
基于对Mask R-CNN模型的研究和改进之后,我们已经可以将一个RGB服装图像转为服装特征向量处理,为进行服装搭配评分算法的实现提供了依据。
服饰按照不同的搭配规则,比如基本色特征、颜色特征和款式特征搭配规则,可以分为不同的搭配空间。
假设服装按照某种搭配规则,将服装类别分为n类,即U={u1,u2,…,un}。
对于第i类服装,其对应的加分搭配可以表示为Pi={pi,1,pi,2,…,pi,n}。其中Pi表示与第i类服装匹配度高的搭配服饰。故第i类服装的搭配集合为Ci=
设D为该搭配规则下输入的上装和下装生成的搭配集合。各个搭配空间中搭配度值的计算公式如下:
式中:Cb、Cc、Cs分别为在基本色特征、颜色特征和款式特征搭配规则下定义的搭配空间;Db、Dc、Ds分别为用户输入的上下衣在基本色特征、颜色特征和款式特征搭配规则下生成的搭配集合;Mb、Mc、Ms则为不同搭配规则下的搭配度值,λ为调整权重,在实践中取值为0.05。
4.2 算法实现
1) 模型经过训练之后,可以从服装图像中提取得到服装类别ClassID、服装主颜色特征RGB、主颜色数量ColorNum。
2) 服装主颜色特征RGB的处理。
(1) 将得到的主颜色RGB特征向量值对应色相环映射为相应的基本色特征值ColorType,求得基本色特征的搭配度Mb。
(2) 将RGB转换为HSV特征向量值后,分离为色相Hue、饱和度Staturation、亮度Value3个特征值。
3) 颜色特征的搭配度Mc。
结合明度搭配法,色相搭配法[17]和三色原则,利用第二步处理得到的特征值与主颜色数量ColorNum,计算颜色特征部分的搭配度Mc。
4) 服装类别ClassID的处理。
(1) 由于图像特征往往不能够识别出服装的材质,为进一步提高评分的科学性,增加了系统与用户之间的交互。基于系统识别出服装类别ClassID,通过与用户简单的交互提取文字属性描述的信息,获取服装的具体款式、材质特征,称为“风格化标签”StyleID,如表1所示。
表1 服装类别和服装款式汇总表
StyleID是ClassID的进一步延伸和扩展,描述了计算机难以识别的服装材质特征,将“风格化标签”StyleID与图像信息进行融合计算并嵌入搭配评分规则,远比仅使用ClassID更能有效地提高搭配的准确度。
(2) 根据TPO规则与时尚搭配基本规则,再参考各类时尚前沿网站,结合当下时尚潮流趋势,构造服装搭配规则并建立搭配标准库,上下装的服装StyleID根据搭配库中的服装搭配组合数据的正负样本进行比较计算匹配度,得到款式特征的搭配度Ms。
5) 服装整体搭配度M主要由基本色特征、颜色特征和款式特征三部分的搭配度综合计算得出。
M=αMb+βMc+γMs
(4)
式中:α取0.6,β取0.25,γ取0.15。
具体评分流程如图4所示。
图4 评分流程图
系统的智能推荐功能则是在搭配评分的基础上,在用户个人衣橱中的候选服装数据集CS,调用服装搭配评分算法,求得搭配度最高的一组服装搭配并推荐给用户,即为智能推荐结果。
5 实验和结果
5.1 实验数据
本次实验采用DeepFashion2数据集,它包含来自各类电商平台和消费者的13种流行服装类别的图像。其中191 961组服装数据作为训练集,32 153组数据作为验证集,62 629组数据作为测试集。数据集将所有服装类别归类为13种流行服装类别:short sleeve top、long sleeve top、short sleeve outwear、long sleeve outwear、vest、sling、shorts、trousers、skirt、short sleeve dress、long sleeve dress、vest dress、sling dress。
此次实验在Linux环境下,以Pycharm工具为平台,采用Python3.5、谷歌开源深度学习框架Tensorflow1.3.0以及Keras2.0.8。
对于输入用作预测的服装图片进行归一化预处理,调整为正方形的模式进行识别,即通过缩放以及填充使得服装图片最短边必须大于800像素,最长边必须小于1 024像素。
5.2 服装识别分割实验
5.2.1整体测试
表2为13个数据集中服装类别的整体数据量,可见每个类别的数据量都很充足,最少的短袖外套数据量也超过1 000幅;但服装类别之间数据量差异十分明显。
表2 服装类别数据量与识别准确率(其中服装数据量为大概值)
续表2
对比数据量不难发现,训练数据量最大的短袖上衣和长裤类别预测的准确率也是最高的,同样,训练数据量最少的短外套和吊带预测的准确率也是最低的。
同时还发现数据量居中的背心、背心裙和吊带裙预测准确率偏低,而背心和吊带无论是在服装形状上、数据集标注点位置都十分相似,因此为区分吊带和背心带来一定的难度。
5.2.2服装检测
服装检测实验对象为一套以长袖上衣和长裤组成的服装图像,图5(a)为无人穿着的服装摆拍图像,图5(b)为正面穿着图像,图5(c)为侧面穿着图像,图5(d)为较多遮挡穿着图像,图5(e)为较少遮挡穿着图像。
(a) 服装摆拍图(b) 正面穿着图(c) 侧面穿着图
(d) 较多遮挡穿着图(e) 较少遮挡穿着图图5 服装检测结果
本次测试的目的在于以长袖上衣、长裤为例,测试服装有无人穿着、正反面、遮挡程度对于服装类别的影响程度,如表3所示。
表3 服装检测结果
将图5的5幅图像送入模型分别进行服装类别检测,可得图5和表3的结果。分析可知:
(1) 分析图5(a)与图5(b)检测结果可知,人体穿着的服装图像能成功识别出长袖上衣和长裤的服装类别,而无人穿着的服装摆拍图像仅能识别出长裤。由此可知有无人穿着对于服装类别检测起较大影响作用,有人穿着的衣服由于有人体的辅助对比检测,使得服装与其他元素差别更大,更易识别出服装类别。
(2) 分析图5(b)与图5(c)检测结果可知,正面服装图像能成功识别出服装的目标类别,而侧面服装图像仅识别出长裤。由此可知,正侧面影响因子在服装检测过程中也起了重要的作用,正面的服装图像能将服装特征细节完整展现出来,更易识别,而侧面图像对上衣这种正面特征点居多的服装类别影响较大,因此本次实验并没有检测出上衣的类别。
(3) 分析图5(d)与图5(e)检测结果可知,同为穿着坐姿的两幅服装图像,因服装前遮挡物遮挡面积大小不同,检测效果也不同。遮挡面积较大的图5(d)仅识别出长裤,而面积较小的图5(e)能正常识别。因此,遮挡物面积大小也对服装检测起影响作用。
5.2.3服装分割
服装分割实验旨在测试系统从复杂背景中成功分割服装目标区域的能力,并从定性分析和定量分析两个角度评估分割结果。
(1) 定量分析。为了更直观地对比本文方法对于服装分割的效果,本实验引入了经典的手动交互分割算法Grab Cut[18]与本文方法进行比较。为更好地定量分析分割效果,本实验选取信息检索和统计学分类领域中广泛应用的两个度量值:召回率和准确率,主要用于评价结果质量,以及选取精确率来反映预测的正例中真正正例样本的比重。
为更好地进行效果对比分析,采用准确率Acc、召回率Re和精确率Pre三个指标评估服装分割的效果。具体公式如下:
式中:Gti表示服装在图片中所占区域;ri表示利用算法分割出的服装区域;Pri则代表在服装图像中被正确分割出来的区域。
通过对同一幅服装图片分别采用本文方法和采用Grab Cut算法进行分割后,运用准确率Acc、召回率Re和精确率Pre进一步计算比较本文方法和Grab Cut分割算法效果,结果如表4所示。
表4 分割方法性能比较
由表4可知,本文方法在分割性能上均较优。
(2) 定性分析。定性分析依旧选取Grab Cut算法进行效果对比,针对同一幅服装图片分别使用本文方法以及Grab Cut算法进行分割。
选择的2幅服装图片均包含上装、下装2件服装对象,其中本文方法只需要对服装图片进行细微的预处理操作,自动裁剪图片后即可直接获得服装分割结果;而Grab Cut算法需要进行一定的交互操作,选取图片中服装所在区域才能计算得到服装分割结果。
分割效果图如图6所示,其中:图6(a)为原图;图6(b)为本文方法分割效果图;图6(c)为Grab Cut算法手动交互分割过程图;图6(d)为Grab Cut算法分割效果图。
观察图6不难发现,使用Grab Cut算法手动交互进行服装分割,效果很大程度上取决于交互的过程,且算法原理以像素灰度值差异为基础,容易导致分割不完整,服装本体上出现空洞;而本文模型经过深度学习训练后,不需要交互便可自动分割出服装目标区域,且服装区域完整,不会存在空洞位置。
从定量以及定性分析来看,在服装分割上,无论是从准确率、召回率、精确率三个指标进行比较,还是从实际的分割效果图来看,本文方法的分割综合效果均要优于经典分割算法Grab Cut。
(a) 原图(b) 本文方法分割效果图(c) Grab Cut过程图 (d) Grab Cut分割效果图
(a) 原图(b) 本文方法分割效果图(c) Grab Cut过程图(d) Grab Cut分割效果图图6 2种服装分割方法效果图
5.3 服装搭配评分实验
为测试系统搭配评分效果,首先随机选取一幅带有全套服装(上装和下装)的照片进行测试。选好图片后,系统首先进行服装检测,得到服装款式类别,提取服装特征向量,综合各因子进行计算服装搭配度,最后得到服装搭配评分结果。
测试结果如图7所示,图7(a)为原图,图7(b)为目标掩模图,图7(c)为上装颜色提取结果,图7(d)为下装颜色提取结果,图7(e)为搭配评分结果。
(e) 搭配评分结果图7 搭配评分过程图
由图7可知,系统准确识别出服装上装和下装类别,分别对应为“背心”和“长裤”;并成功定位上装和下装位置,提取得到上装主颜色RGB值为(175,185,91),下装为(103,131,150),均与视觉效果接近;在进一步选取“风格化标签”为“普通背心”和“牛仔裤”后系统得到了评分96.5分。可见整套服装在搭配评分过程采取了服装目标区域定位、提取目标位置颜色值、排除次要颜色、得到占比超过13.5%的主颜色、识别其他特征、判断款式、计算评分的步骤,实验结果均与实际图像接近。
由于服装图片在拍摄过程中由于采光不均匀、光线反射等问题,有一定几率出现服装部分区域颜色与实际颜色有所出入。经过实验测试,使用K均值聚类算法提取主颜色时,将距离小于0.1的颜色聚类中心合并,能有效解决此问题,成功排除占比太小的次颜色,得到接近实际的主颜色。
同时,由于服装搭配的问题因人而异,每个人都有自己的审美眼光。而Deepfashion2数据集是一个时尚服装数据集,其共有87.3万组买家秀与卖家秀的图像对。为了保证搭配评分实验的可靠性,本实验选取了Deepfashion2测试数据集中约1 000对拥有同一件服饰的卖家秀、买家秀图像分别作为正负样本进行进一步的搭配评分测试。结果如图8所示,其中横轴代表系统给出评分分数的范围区间,纵轴为分数在此区间的搭配图片。
图8 评分对比图
据数据集说明,由于卖家秀图片是商家为提高商品销量,经过精心挑选搭配的,故图片整体的服装搭配效果会优于随意搭配的买家秀。
实验结果表明,搭配更受推崇的卖家秀图像的搭配评分在81~100分的高分区的数量占总实验数据量的88.9%;而搭配效果较一般的买家秀的搭配评分分布情况较之卖家秀更为均匀,66.2%的搭配评分分数位于60~80分之间,且明显可以看出买家秀集中于中低分数区间,在高分区间的卖家秀数量均高于买家秀数量。
由此可反映出系统的搭配评分效果较接近大多数人的审美要求。
5.4 模型对比
本文选取Faster R-CNN模型进行对比,因为本系统服装识别分割算法是基于Mask R-CNN的,Mask R-CNN以Faster R-CNN作为原型,并增加了一个mask分支用于分割任务,使得语义分割任务从类型预测分支中解耦出来,从而大幅度提高了分割的精度。
虽然在文献[15]中指出,Faster R-CNN训练时间更短,梯度下降得更快,但Mask R-CNN更加适合本服装搭配评分系统的应用。
因为对比Faster R-CNN通过两次量化取整计算的操作,Mask R-CNN使用的Rol_Align层以双线性插值的方法,通过保留浮点数坐标的形式有效解决了特征图与原始图像上的Rol尺寸不匹配的问题,极大地提高了mask分割的准确率。
由此可见,Mask R-CNN模型在分割效果上达到了像素级别的效果,分割效果更优。服装搭配评分系统需要一个更加精确的分割效果,才能更好地捕捉服装特征,不受背景因素的影响,使得搭配评分效果更加贴近实际情况。
6 结 语
本文基于Mask R-CNN深度学习模型,结合捕捉到的服装特征研究一种服装搭配评分算法,开发出一套完整的服装搭配评分系统,能够有效帮助用户解决日常生活中对于服装穿搭的难题。
对比市面上其他电商平台结合用户分享的形式,以潮流博主分享服装穿搭引导用户购买服装的软件,并不能真正深入到用户的日常生活中为其解决穿搭问题;本文以搭建“个人衣橱”的形式为用户个性化推荐服装搭配。针对其他文献中如Shen等[8]耗费时间长、搭配款式单一,齐扬等[10]搭配较单一等问题,本文为提高对服装特征的捕捉能力,引入交互的形式获取服装的具体款式、材质特征,并且结合了TPO规则与时尚搭配原则,以评分的形式更直观地为用户推荐服装搭配。由于时尚审美标准不唯一,目前的评分效果距离真正的时尚搭配尚有一段距离,下一步应在精准识别服装的基础上,进一步挖掘更多的服装特征,为服装搭配评分算法提供更多计算依据。