基于深度卷积神经网络的时尚衣物搭配方法研究

2019-10-31 07:00高洁张键
电脑知识与技术 2019年22期
关键词:卷积神经网络图像处理深度学习

高洁 张键

摘要:本文利用卷积神经网络算法,提出了基于Inception V3的服装分类模型。首先对服装数据集进行分类,然后将分类好的数据放入神经网络的模型中训练,Inception V3模型网络结构能够高效的提取服装图像的特征,并根据服装的分类属性预测服装的类别,进而得到不同类别的服装之间的搭配度。

最终,本课题在现有的网络模型基础上提出了基于Inception V3的服装搭配模型,它能够实现服装的分类预测以及服装之间的搭配度预测,因此能够在一定程度上解决实际生活中遇到的衣物搭配问题。

关键词:卷积神经网络;时尚衣物搭配;深度学习;Inception V3网络模型;图像处理

中图分类号:TP181        文献标识码:A

文章编号:1009-3044(2019)22-0180-04

开放科学(资源服务)标识码(OSID):

Research on Fashion Collocation Algorithm Based on Deep Convolutional Neural Network

GAO Jie,ZHANG Jian

(Huaihai Institute of Technology,Lianyungang 222000,China)

Abstract:In this paper, based on the convolutional neural network algorithm, a clothing classification model based on Inception V3 is proposed.Firstly, the clothing data set is classified, and then the classified data is trained in the model of the neural network. The Inception V3 model network structure can extract the features of the clothing image efficiently, and predict the category of the clothing according to the classification attribute of the clothing, and then obtain the degree of matching between different categories of clothing.

Finally, based on the existing network model, this topic proposes a clothing matching model based on Inception V3.It can realize the classification prediction of clothing and the prediction of the matching degree between garments, so it can solve the problem of clothing matching encountered in real life to a certain extent.

Key words:convolutional neural network;fashion collocation;deep learning;inception V3 network model;image processing

引言

近年来,互联网的高速发展催生出了许多电子商务平台,这些购物平台在带给人们便利的同时也在不断地创新和发展。服装搭配是人们日常生活中比较关注的问题,网络购物平台经常会根据用户的搭配习惯为用户推荐商品,推荐的搭配的好坏直接影响着用户的体验。据中国产业信息网统计,2011年国内服装电子商务市场规模为2035亿元,2016年市场规模增长至9343亿元,当年同比增速为25%,2011-2016年CAGR为36%,服装电商的渗透率也从2011年的14%提升至2016年的37%[1]。目前一些大型的购物网站比如淘宝、京东、亚马逊等,都将服装搭配作为吸引消费者的重要手段。因此,本课题的研究非常具有现实意义。

卷积神经网络[2]作为关注度最高的神经网络之一,能够有效地减少网络中的参数从而降低网络模型的复杂度。卷积神经网络能够很好地处理图像[6],它采用了局部连接和全局共享的方式,使得网络的权值的数量降低,同时,卷积神经网络在处理二维图像时,它的网络结构能够自动提取图像的特征,比如图像的花纹、颜色、形状等,而且CNN对图像进行移动、缩放等形式的操作时具备杰出的鲁棒性和运算效率。基于卷积神经网络在处理图像上的众多优点,本文选择使用该网络结构来实现对服装图像的处理和识别,从而确定服装之间的匹配度[3]。神经网络与服装搭配的良好结合,将会促进服装电子商务的发展。快速准确的服装搭配能够满足用户的需求,促进电子商务行业的发展。

1 本文主要工作及成果

1.1卷积神经网络

随着大数据的发展以及一些大规模的硬件设备的出现,深度学习[4]的性能在近几年不断提高。近年来,人工智能领域的许多技术的发展离不开卷积神经网络,比如语音识别、人脸识别、图像处理等,卷积神经网络的优势在于它与普通的神经网络相比,有独特的卷积层和池化层,它的卷积层和池化层构成的特征提取器能够准确地提取图像的特征信息[5]。

1.1.1 卷积层

卷积层的主要作用是通过卷积操作提取输入的图像数据的特征,在卷积层中,一个神经元只和与它相邻的层中的神经元连接。卷积神经网络中的卷积层一般包含若干个由神经元组成的特征平面,同一个特征平面中的神经元能够共享权值,这些共享的权值就是卷积层的卷积核。卷积核的重要特性就是它需要通过网络自己进行学习。

为了清楚的描述卷积计算过程,根据我们定义的卷积核步长对卷积核窗口进行滑动。首先将图片的每一个像素标上序号,用表示图像的第i行、第j列元素;再将卷积核的每一个权值进行编号,用表示filter的偏置项;其中,表示卷积核的第m行、第n列权重。对目标图像的每个元素进行编号,用表示Feature Map(特征图像)的第i行、第j列元素;用f表示激活函数。卷积层的卷积计算的公式为:,利用该公式计算得到结果如图1所示:

1.1.2池化层

卷积神经网络中的池化层可以看作提取输入数据的核心特征的方式,池化层的操作大量减少了参与模型计算的参数,而且实现了对原始数据的压缩。这种方式能够提高计算效率。

池化层的作用主要有以下几点。

(1)第一是降维。降低维度的主要目的是减少网络学习的参数数量从而提高学习效率。

(2)池化层的第二个作用是扩大感受野,扩大感受野能够获得更大的原始输入图像的范围,这样就可以获取更大的图像特征。

(3)池化层能够使图像在操作过程中使图像具有平移不变性、旋转不变性和尺寸不变性,保持图像的完整性。

常用的池化方法是最大池化层和平均池化层。最大池化方法就是在n*n的样本中取得最大值,作为下采样的样本值。如图2为最大池化层的操作过程。首先通过滑动窗口框选出特征图中的数据,然后将这组数据中的最大值作为最后输出的结果。图2中边的格子就是输出的结果。

1.1.3 全连接层

图像数据在经过卷积层和池化层的处理后,已经提取出了重要的特征,全连接层的主要作用就是将卷积层和池化层的操作完成后提取出的特征进行压缩处理,并根据压缩后的特征进行模型的分类。

1.2基于Inception v3的服装搭配模型

Inception V3网络[7]在两个方面进行了改造,一方面是引入了Factorization into small convolutions(卷积分解)的思想,这个思想将二维卷积层拆分成两个一维的卷积层,这样可以降低参数的数量并减轻了出现过拟合的现象。Inception V3之所以能够取得良好的性能是因为它进行了卷积分解,比如将一个7x7的卷积核分解成两个分别是1x7和7x1的一维卷积,这样分解的好处是既可以将一个卷积拆分成两个卷积从而增加网络的深度、增强网络模型的非线性扩展表达能力,又可以加速计算过程从而减轻过拟合,提高计算效率。另一方面,Inception V3模型优化了Inception Module的结构,Inception V3除了在Inception Module中使用分解卷积的操作,还可以在分解的卷积中再分解。

本课题使用的就是Inception V3模型来训练服装图片。整个网络结构如表1所示,Inception V3的深度是42层。

从表中我们可以看到,Inception V3模型的最后一层是Softmax层。在分類问题之中,我们想要最终得到的是图像的预测结果,而该结果往往是由一定的概率得到的。Softmax层能够将神经元的输入数据映射到(0,1)之间,然后将所得结果进行归一化处理,这样输出的值得累加之和就是1,满足概率的特点。公式(1)为Softmax函数的公式。公式(1)为Softmax函数的公式。

在(1)式中,表示第i个神经元的输出,输出的向量表示各个分类的概率。

1.3服装搭配模型的构建

1.3.1 准备数据集

将服装图片下载完成后分为训练集和测试集,训练集中包含十三个分类,分别是短袖t恤、长袖t恤、短袖卫衣、长袖卫衣、毛衣、短袖衬衫、长袖衬衫、短裤、运动裤、牛仔裤、西装裤、短半身裙和长半身裙。每个类中有100章图片,每个类放在同一个文件夹中。

1.3.2 模型构建

对数据集的处理完成后,选择InceptionV3模型对图片进行特征提取。首先将该模型的顶层的输出作为提取的特征,然后将这些特征经过全连接层进行分类。获得图像的特征后,将其输入一个全连接层进行分类。全连接层的模型示意图如图3所示:

将两个模型连接起来就是一个完整的模型。模型的输入是服装的某一个种类的图片。而模型的输出是输入的图片属于哪一种服装的类型。

1.3.3训练模型

在训练过程中可能要花费较多的时间和计算资源,为了合理利用资源、节约时间以及有效地提高训练效果,需要设置合理的模型结构。第一是要缓存模型的计算结果,这样可以加快计算的过程。第二是图片要以一定的数量批量的输入,如果输入的图片过多可能导致计算机资源紧张,输入的图片过少计算机的资源不能得到充分的利用。第三要设置合理的模型训练参数,这样可以提高模型训练的精确度并减少训练的次数。

模型训练参数主要包括学习率、一次输入图片数量及训练次数。

在配置好网络模型后,可以开始训练模型。以下为Inception V3模型对服装图片的训练过程。

(1)准备数据。这里用到的训练数据集是自己准备的,数据的图像大小分辨率较高,因此不可以将数据一次性全部载入到内存中,会出现内存溢出的情形,这里使用flow_from_directory方法,该方法能够按批次按数量从硬盘中读取数据。在载入数据过程中,实时对进行数据图像增强。

(2)训练数据:在Inception V3模型中,有两个重要的参数,一个是weights,本模型中的weights的值为"imagenet","imagenet"表示加载训练的权重,它表示Keras能够自动下载ImageNet上已经训练好的参数。这里该参数的值为False,表示模型会丢掉顶层全连接层,然后输出一个8x8x2048的长量。构建完新的模型后要对模型进行配置,指定所有层都需要训练,设置模型训练的优化器使用Adam算法,损失函数设置为多类,它是与Softmax分类器相对应的损失函数。

训练过程中的训练次数验证精度之间的关系如图4所示:

训练过程中的训练次数验证损失之间的关系如图5所示:

(3)预测图片的类别。

首先指定图片的尺寸,输入模型和将要预测的图片;将图片处理之后,加载训练好的模型的权重,然后开始预测,获取预测概率最大的结果,如图6所示:

将测试的图片的类别预测出来之后,根据自定义的服装匹配度输出两件服装的搭配度。

1.4系统的测试

首先准备不同种类的服装若干张,将其中图片放在test的目录下,如果这两张图片都是上衣或者都是下衣,那么不显示搭配结果,如果图片是一张上衣和一张下衣,那么输出图片的类别一节两件衣服的匹配度。

(1)输入短袖衬衫和牛仔裤作为测试图片。

(2)输入的图片的测试结果如图7所示:

2 结论

服装图像与其他图像相比有许多特征,比如服装的长度、款式等等,深度卷积神经网络正是利用图像固有的特征,通过训练分类属性让网络能够更精确的表示服装的细节特征。本文使用卷积神经网络的Inception 模型来训练和预测图像类别[8],它能够进行卷积分解,这样分解的好处是增强网络的非线性表达能力,还可以减轻过拟合提高计算的效率速率。

服装搭配主要涉及数据集处理、目标检索、特征提取、图像分类等相关技术,卷积神经网络是目前为止处理图像最适合的技术之一,它能够使得输入的图像直接作为网络的输入,这样可以避免进行复杂的特征提取和数据重建。这一特征在处理二维图像上具有很大的优势。同时,CNN具有良好的容错能力和自学习能力,它允许图像有部分损失或者变形,它能够通过结构重组和减少权值将提取的特征融合到多层感知层中,在识别图像之前不需要进行复杂的图像特征提取过程。

本文经过多次测试发现,基于Keras框架搭建的Inception V3模型对服装类别的预测的精确度很高,基本能够正确识别出测试的图片属于服装的哪种类型,并根据服装的类型给出两类服装的匹配度。

参考文献:

[1] 莫岱青.《2015-2016年度中国服装电商行业报告》发布[J]. 计算机与网络, 2017(4).

[2] 陈先昌.基于卷积神经网络的深度学习算法与应用研究[D]. 浙江工商大学, 2014.

[3] 杜丹.基于极速学习机的服装搭配智能推荐系统设计[J]. 中国科技信息,2012(17):70-71.

[4] 樊雅琴, 王炳皓, 王伟, 等. 深度学习国内研究综述[J]. 中国远程教育, 2015(6): 27-33.

[5] 刘海龙, 李宝安, 吕学强,等. 基于深度卷积神经网络的图像检索算法研究[J]. 计算机应用研究, 2017, 34(12):302-305.

[6] 包晓安, 张瑞林, 钟乐海. 基于人工神经网络与图像处理的苹果识别方法研究[J]. 农业工程学报, 2004, 20(3):109-112.

[7] 佚名. 基于inception v3模型的道路交通标志识别研究[J]. 江西科學, 2018, 36(5):147-150.

[8] Xia X, Cui X, Bing N. Inception-v3 for flower classification[C]//International Conference on Image,2017.

【通联编辑:唐一东】

猜你喜欢
卷积神经网络图像处理深度学习
基于图像处理的机器人精确抓取的设计与实现
机器学习在图像处理中的应用
基于深度卷积神经网络的物体识别算法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
基于图像处理的定位器坡度计算
Photo Shop通道在图像处理中的应用