APP下载

基于生成式对抗网络的用户下装搭配推荐

2021-07-26杨争妍薛文良张传雄马颜雪

纺织学报 2021年7期
关键词:直方图像素服装

杨争妍, 薛文良, 张传雄, 丁 亦 , 马颜雪

(1. 东华大学 纺织学院, 上海 201620; 2. 纺织工业科学技术发展中心, 北京 100020)

在信息化时代,科技发展日新月异,人工智能突飞猛进,越来越多算法的出现使得机器行为更加智能化,能够胜任大量机械性工作,并且可以通过大数据的学习表现出比人类更优质的决策性。随着越来越多的企业朝智能化方向发展,纺织时尚领域也在不断摸索如何将人工智能完美融入用户生活。

随着人们物质生活的提高,销售模式的改变,用户购买服装频率增加,出现盲目购买现象,造成了衣柜服装溢出和服装堆积等问题。许多团队在研究“智能衣柜”以使服装管理智能化,各团队之间模块设计和使用算法不同,实现效果也各有差异。例如基于iOS(苹果公司移动设备专有操作系统)模块设计智能衣柜管理系统[1],使用Polyvore网站的数据集进行智能搭配设计[2],使用协同过滤算法设计智能衣物搭配系统[3]。除算法理论外,还有实际应用案例,阿里巴巴基于50多万服装搭配达人的搭配方案开设了FashionAI时尚零售概念店。

本文通过对以上智能服装推荐系统及应用的调研发现,目前存在的推荐模式多为通过将服装搭配中的下装与下装库内下装进行相似度计算,从而进行推荐,智能化程度低,对使用场景有限制,在日常生活场景中实用性不高。

基于以上原因,本文提出一种新的下装推荐思路:依据图像,通过深度学习模型探索搭配的潜在规则,如颜色、款式、风格等;利用模型预测并生成虚拟下装;然后通过相似度匹配算法将虚拟下装与真实下装进行匹配,依托用户私人衣柜完成推荐过程。

1 流程设计

本文通过目标人群调研,确定美感、风格与温度3个服装搭配要素,从这3方面出发进行系统设计。同时,通过对近年来深度学习领域算法的调研,采用在图像生成领域中生成效果较好的生成式对抗网络(GAN)模型进行下装图像生成,实现输入上装智能设计下装的功能,体现智能性。最后利用方向梯度直方图计算生成的虚拟下装与用户的真实下装的相似度,并结合温度因素为用户推荐合理的下装。

本系统智能推荐功能的实现分为以下3个步骤:第1步,收集大量服装搭配数据,用以训练网络模型,找出上下装映射关系;第2步,确定相似阈值以进行相似度匹配,实现从虚拟数据到实际数据的转换;第3步,确定温度范围进行二次筛选,最终通过服装厚薄程度标签为用户推荐合适的下装。系统框架如图1所示。

图1 系统框架Fig.1 System framework

2 系统功能实现

2.1 数据获取

为训练图像生成模型,需要获取大量有参考价值的训练数据,在此选择用爬虫技术从一个高端品牌购物网站上爬取足量的上下装搭配数据。

网络爬虫是一个自动获取网页相关信息的程序,通过算法滤掉无用的信息,抓取有用的信息保存下来,直至满足设定的条件后停止抓取。为确保服装的美感因素,选择中高端品牌的服装作为训练数据。根据网站分类,按照不同服装的廓形和款式归纳并获取西装通勤、街头潮流、运动套装、基础简约、性感前卫、优雅大气6种风格的服装数据,以概括日常生活中的常见风格。最终得到女性服装搭配组5 303组,男性服装搭配组1 332组,由于男性裤装多样性较小,因此选择减少其数据数量,增加女性服装在总数据中的占比,总共6 635组服装对数据。每对服装对(包括1件上装和1件下装)形成1个训练数据集。

2.2 图像生成模型的构建

本文选用生成式对抗网络对服装数据进行学习生成图像,旨在通过对大量数据探索搭配内在规律,不指定按照某一特定元素如颜色、材质、花纹进行搭配,因此输出结果受到训练数据集的影响。

GAN作为近些年来最热门的深度学习模型之一,在图像生成方面表现出卓越的效果。GAN的提出是受到零和博弈 (即参与博弈的2人利益之和为零, 一方的利益是另一方的损失) 的启发[4]。该模型由1个生成器和1个鉴别器组成,生成器通过学习大量数据研究其分布规律,并生成新的数据分布,而鉴别器判断输入的数据是真实的数据还是生成器生成的数据。GAN的优化是“极小极大博弈”问题[5],生成器和鉴别器相互博弈,生成器尽可能生成足够真实的数据分布去迷惑判别器,判别器提高自己的判断能力去鉴别输入数据的真假,二者相互博弈,对抗训练,使得生成器的生成数据达到以假乱真的效果。同时,GAN的生成只需运行1次模型,不需要重复用马尔科夫链来生成。GAN模型示意图如图2所示。

图2 GAN模型示意图Fig.2 Schematic diagram of GAN model

本文中生成模型主要采用图像翻译pix2pix卷积神经网络[6]的思想,将服装生成视为一种图像翻译任务,学习一种由上装到下装的映射。

2.2.1 模型的生成器

生成器的工作是通过重复训练,生成近似真实数据的数据分布,即在本文中用以通过上装图像生成下装图像。本文中模型的生成器采用图像翻译中非常流行的一种结构U-Net[7],其下采样与上采样的对称性显示出U型结构,加以跳跃式传递(skip connection)结构,使其能够加快收敛速度,在网络深度达到一定程度时,还可保留更多的高分辨率细节信息,在处理上装到下装的映射问题时,可以在一定程度上建立起上下装在服装花型、轮廓等的联系。

网络以256像素×256像素×3(训练图片为RGB图像,256像素×256像素为图片的空间分辨率,3为维度,即三维矩阵)的图像为输入,经过8次步长为2的4×4卷积操作,再进行8次上采样及卷积得到256像素×256像素×3的输出图像。其中,本文将pix2pix中的反卷积操作改为了上采样加步长为1的卷积组合,旨在消除生成图像的棋盘效应[8],提升生成图片的质量。

2.2.2 模型的鉴别器

虽然数据的生成依靠生成器,但鉴别器的存在是为了训练生成器。鉴别器判断数据是否足够真实,与生成器相对抗,用以提升生成器生成数据的真实性,使得生成器通过反复训练生成的数据更符合真实数据的分布。本文中鉴别器采用PatchGAN的思想,可在局部小块画面中捕获高频结构信息[6]。网络以256像素×256像素×6的组合图像为输入,通过4次步长为2的4×4卷积与2次步长为1的4×4卷积,获得输出为32×32×1的矩阵,此矩阵的每个点对应原图中86像素×86像素的图像区域的匹配程度,即上下装是否搭配合理。

2.2.3 模型的对抗损失

本文中用以训练的图片并没有文字标注,对抗损失目的是在少标注数据下尽可能实现多标注数据的生成效果,增强模型的鲁棒性。为保证模型的训练速度与训练稳定性,本文放弃了GAN的对数对抗损失,而使用了WGAN-GP[9]的W-Distance(推土机距离)与梯度惩罚:

Ladv(G,D)=-Ex~pdata[D(x)]+Ex~pG(x)[D(x)]+

2.2.4 模型的重建损失

为使得网络训练的初期能够加速收敛,即更快达到理想效果,本文在生成器中设置了重建损失——L1损失,即生成图像与目标图像像素值之差的绝对值之和,公式如下:

LL1(G)=Ex,y~pdata(x,y)[‖y-G(x)‖1]

式中:y为目标图像数据;G(x)为生成器生成数据;Ex,y~pdata(x,y)为训练数据分布,下角标是范数。

最终,获得了网络的目标函数,即优化目标是最小化G的损失。

式中,λL1为可调节的超参数。

模型训练的目标是使得生成数据和真实数据之间的距离尽可能得小。整个网络通过每一批次数据(称为1个epoch)的计算训练,计算出相应目标函数的值,经由网络的反向传播机制,形成误差梯度,应用梯度下降法减小网络训练误差,最终获得符合预期的生成图像。

2.3 用户下装的匹配

由于最终落脚点为用户个人衣柜,所以系统需要由用户提供个人下装的图片数据:由用户拍照输入下装图片,并给每件下装打上季节标签,即该下装适合穿着的季节,如冬、春秋,制作成用户下装数据集。

在计算机视觉中,图像特征是指能够完成某种指定操作的信息,有许多算法可以用来提取图像特征,常用的算法有局部敏感哈希算法、方向梯度直方图等。经测试选择了方向梯度直方图进行虚拟下装图片到真实下装图片的图像特征提取和匹配。

方向梯度直方图是一种经典的特征描述方法,可以很好地描述图像的局部特征,计算图像边缘信息,通过统计梯度方向直方图来构成特征[10],即构成对图像中物体表象和形状的特征描述子。

利用方向梯度直方图对上一步的生成图像与用户下装库的下装进行相似度匹配,可以得到图像相似度数值,从高到低输出前4件高分下装,暂存。

再由用户输入天气温度T,通过预先设定的温度区间,即春季和秋季为14~24 ℃,夏季为22 ℃以上,冬季为16 ℃以下对上述4件下装进行温度筛选。为了适应不同人群的体质,各个温度区间有所重叠,以扩大筛选范围,从而提高推荐合适下装的可能性。

3 下装生成及推荐效果展示

通过对大量上、下装搭配数据训练,模型总结搭配规律,通过黑箱方式对输入的上装图像进行处理,并根据机器总结的搭配规律预测和生成下装图像。

本文模型训练效果和测试效果中的输入数据图片,均为farfetch网站获取图片。全部的训练数据训练1次称为1个epoch,本模型总共训练了800个epoch,每个epoch训练耗时15~29 min。训练效果如图3所示。

图3 训练效果Fig.3 Effect of model training. (a) Real top image; (b) Real bottom image; (c) Generate bottom image after 5 epoch training;(d) Generate bottom image after 800 epoch training

实际应用中,输入的上装图像需保证白色底色,但不限制来源,导入客户端图片、实景拍摄图片等方式均可。测试效果如图4所示。

图4 测试效果Fig.4 Effect of model testing. (a) Real top image; (b) Real bottom image; (c) Generate bottom image after 5 epoch training;(d) Generate bottom image after 800 epoch training

在实际应用场景中,用户可以通过导入或拍摄等手段,输入上装图片,通过训练好的模型进行下装图像生成,这一步骤结果暂时保存在系统内部,成为黑箱步骤;再通过相似度匹配输出与预测下装相似的用户下装,此时用户可编辑温度,根据下装标签进行筛选,最终输出符合美感和温度的下装。全部推荐过程如图5所示。

图5 推荐过程Fig.5 Recommendation process

4 结束语

本文基于大量服装搭配数据,利用生成式对抗网络生成虚拟下装,并用方向梯度直方图进行图像相似度对比,完成从输入上装到输出用户下装的过程。通过效果图对比发现,生成的下装与设计师推荐搭配的颜色较为一致。然而GAN的缺点是训练不稳定,比较困难,本文的模型训练也遇到此问题,导致生成的下装有时出现款式偏差、轮廓模糊等问题。但通过GAN生成下装图片,再匹配到用户衣橱的方法体现了机器自主决策的智能性,为智能搭配系统设计提供了一种较为新颖的方法。

猜你喜欢

直方图像素服装
像素前线之“幻影”2000
ADC直方图分析在颈部淋巴结转移性鳞癌鉴别诊断中的价值
基于差分隐私的高精度直方图发布方法
“像素”仙人掌
道具服装
例析频率分布直方图
中考频数分布直方图题型展示
现在可以入手的mina风高性价比服装
高像素不是全部
服装家纺个股表现