基于度量学习的服装图像分类和检索

2017-04-24 10:25:08包青平孙志锋
计算机应用与软件 2017年4期
关键词:检索标签语义

包青平 孙志锋

(浙江大学电气工程学院 浙江 杭州 310058)

基于度量学习的服装图像分类和检索

包青平 孙志锋

(浙江大学电气工程学院 浙江 杭州 310058)

在服装图像分类和检索问题上,由于服装花纹样式的多样性和图像中不同环境背景的影响,普通卷积神经网络的辨识能力有限。针对这种情况,提出一种基于度量学习的卷积神经网络方法,其中度量学习基于triplet loss实现,由此该网络有参考样本、正样本和负样本共三个输入。通过度量学习可以减小同类别特征间距,增大不同类别特征间距,从而达到细分类的目的。此外把不同背景环境下的图像作为正样本输入训练网络以提高抗干扰能力。在服装检索问题上,提出融合卷积层特征和全连接层特征的精细检索方法。实验结果表明,度量学习的引入可以增强网络的特征提取能力,提高分类准确性,而基于融合特征的检索可以保证结果的精确性。

服装 分类 检索 多标签 度量学习

0 引 言

近年来,网上购物越来越流行,网购交易量也逐年增加,而服装网络零售是其中第一大类目,占比约25%。服装电子商务的快速发展,促进了服装图像分类、检索技术的进步。目前在国内各大电商购物平台,比如淘宝、京东等,主要是通过关键字或文本来检索图像。该技术要求事先对服装图像进行细分类并打上相应的标签。但是随着服装图像数量的爆发式增长,其缺点越来越显著。首先,关键字只能描述易于提取的语义特征,并不能全面地反映服装的特征;其次,人工标注工作量大且主观性误差[1]。随着图像处理技术的发展,出现了以图搜图技术,即通过对图像特征的提取,获得特征表示,然后进行相似性度量或聚类,从而获得检索和分类结果。而基于图像处理技术的服装图像检索和商品推荐也获得了越来越多的关注[2-4]。

传统图像特征描述方法包括GIST特征[5]、SIFT特征[6]、HOG特征[7]等。在背景、光照等的影响下,应用这些方法在服装图像分类和检索中往往准确率不高或者方法过于复杂。Bossard等[8]融合HOG、SURF、LBP特征,采用迁移森林进行服装图像多类别分类,只取得41.36%的准确率。Liu等[3]使用人体部位检测器检测图像中人物主体的关键区域,如肩、膝盖等部位,然后提取和融合这些区域的HOG、LBP、颜色矩、颜色直方图等特征,以此进行图像检索。

近年来,深度学习取得了突破性的进展,其中卷积神经网络CNN(convolutional neural network)已成为图像领域的研究热点。Krizhevsky等[9]提出的深层CNN模型在ILSVRC2012中取得了巨大的突破,并引发了CNN研究的热潮。本文深入分析了使用CNN进行服装图像的多标签细分类和检索,并引入基于triplet loss[10-11]的度量学习以提高网络特征提取能力,从而提高分类准确度,之后融合该网络卷积层和全连接层的特征输出进行图像检索。

1 卷积神经网络

CNN是为识别二维形状而设计的一种多层感知器,是深度神经网络的一种。CNN通常由多个卷积层、池化层和全连接层组成。

卷积层通常用于提取图像的局部特征,如边缘信息等。卷积层中采用了权值共享,从而大大减少了权值的数量,降低了网络模型的复杂度。卷积层的输入为:

z(l+1)=w(l)x(l)+b(l)

(1)

输出为:

x(l+1)=f(z(l))

(2)

式(1)中w(l)为第1层的卷积核,b(l)为偏置,式(2)中f(·)为激活函数,目前普遍使用的激活函数是ReLU函数[12],使用该激活函数主要是能避免梯度消失问题。

池化层仿照人的视觉系统进行降维(下采样),抽象图像特征表示,使得CNN具有一定的平移和旋转不变性。根据下采样方式的不同,可以分为均值池化、最大值池化、随机池化三种[13],在分类任务中采用较多的是最大值池化。

全连接层通常用于输出,根据不同的目标函数连接相应的损失层,比如分类任务中,通常会连接Softmax分类器。

2 服装图像分类

在使用CNN进行图像分类时,一般包括图片预处理、网络训练和训练参数调优等步骤,其总体流程如图1所示。其中预处理主要是把图像变化为符合CNN输入需求的标准图像。在误差反向传播过程中,通常使用随机梯度下降法SGD(stochasticgradientdescent)进行参数更新。通过多次的前向和反向传播,不断地更新卷积层、全连接层等的参数,使得网络逐步逼近最优解。

图1 CNN网络训练流程

2.1 多标签分类

常见的CNN网络通常用于单标签分类,而我们所要处理的服装图像通常有多个语义属性,比如花纹、领型等,单标签学习并不适用,因此需要采用多标签[14]或多任务学习[15]。本文采用了多标签学习,网络结构如图2所示。输入图像大小为256×256,提取该图像227×227的子块或其镜像作为CNN的输入。网络浅层为3个卷积模块(包括卷积层和池化层),结构和AlexNet[9]中的定义一致。由于各个属性标签之间没有明显的相关关系,因此全连接层FC2层由多个独立的、平行的子层组成,各子层连接相关属性的Softmax分类器,所有的FC2子层共享FC1的输出。

图2 多标签学习网络结构

2.2 度量学习

(3)

其中T是所有三元组的集合,α为阈值参数。从而损失函数tripletloss可表达为:

(4)

进一步可以得到损失函数的偏导数如下:

(5)

(6)

(7)

从tripletloss的定义可以发现,该损失函数除了可以增大不同类别间的距离之外,还减小了同类间的距离,因此可以提取更精细的特征。

在本文的服装图像分类和检索问题中,环境背景、光照等因素往往会影响卷积神经网络的效果,因此可以选择不同场景下同类别的图像作为正样本输入进行训练,这样可以增强网络的特征提取能力。本文最终使用的CNN网络结构如图3所示,由于有3个输入图像,因此有3个平行的共享参数的CNN网络。这3个CNN网络的FC1的输出,经过L2规范化后输入tripletloss层。因此网络总的损失函数为:

L=ωLtriple+(1-ω)Lsoftmax

(8)

参数ω表示tripletloss所占比重。

图3 加入triplet loss的CNN网络

3 服装图像检索

通常训练好的CNN网络具备良好的特征提取能力,因此可以使用CNN的分类预测结果和隐含层的特征向量进行图像检索,检索流程如图4所示。在神经网络中,深层特征往往代表图像总体的、抽象的特征,而浅层特征则更多地代表具体的局部特征。因此选择不同的隐含层输出作为特征向量进行检索可能会得到不同的结果。

图4 使用CNN进行图像检索的流程

在服装图像检索时,以往通常根据服装语义属性进行快速检索[18],但是语义属性往往是抽象属性,并不能描述一些细致的特征,因此若能同时考虑图像细致特征,则可以提高检索的精确度。本文采取融合卷积层Conv3和全连接层FC1的输出作为特征向量进行检索,其中Conv3的输出是13×13×384=64 896维,FC1的输出是4 096维,融合后是68 992维,之后进行降维处理用于检索。

4 实验和分析

4.1 数据集

实验所用的服装图像均采集自互联网,总共28 057张,其中22 057张用于训练,剩下6 000张用于检测。数据集中,大约80%采集自淘宝、亚马逊等购物网站,这些图像没有复杂的背景,人物主体突出;其余20%图像来自社交网络,会有不同的背景和光照条件。本文主要对服装的5类语义属性进行分析,如表1所示,其中上身服装的主要属性有图案、袖子长短、领口形状,下身服装属性有形状和长短。

表1 服装的语义属性

4.2 服装图像分类

在使用tripletloss的网络中,如何选择三元组样本关系到网络的整体性能。若训练集大小为n,则所有可能的三元组选择为n3种。如果随机选取的话,则可能大部分选中的三元样本的损失函数值为0,从而在后向传播中对参数的更新起的作用很小[19],因此要尽可能选取对tripletloss有贡献的样本。本文中采取了如下方法:每迭代5 000次,重新采样生成三元组的方法。采样时,首先使用当前的网络获取每张图像的特征表达;对于某张参考图像,根据式(9)计算概率来选取3张同类别的正样本图像,从式子的定义可以发现特征间距越大的同类图像越容易被选中。采取随机选择而不是直接选择特征间距最大的,是因为这样可以减少可能存在的噪声样本所带来的影响。此外还需保证正样本中有来自于不用的环境场景的图像。对于负样本的选取,简单地选择不属于本类的特征距离最近的3张图像。

(9)

其中Pi,j表示对于第i张图像,选中同类别的第j张图像作为正样本的概率,αi,j表示第i、j两张图像特征向量的欧氏距离。

在训练过程中,学习速率的初始值设为0.01,每经过10 000次迭代将学习速率减小为原来的1/10,动量设置为0.9,权重衰减系数设置为0.000 2。在引入tripletloss进行训练时,设置式(3)中的阈值参数α设置为0.8,式(8)中的参数ω设置为0.3,训练总共迭代20 000次。图5对比了两种网络结构的训练过程,其中ML-CNN表示多标签网络,tML-CNN表示加入了tripletloss的多标签网络。从图中可以发现ML-CNN收敛速度比tML-CNN的快,迭代6 000次后已经收敛。另外,由于在tML-CNN训练过程中要重新采样生成三元组,因此tripletloss在其后期迭代中起主要作用。从测试准确率中也可看出,前5次测试时ML-CNN和tML-CNN的准确率相当,之后ML-CNN的测试准确率基本保持稳定,而tML-CNN的测试准确率缓慢上升直至稳定。

图5 网络训练过程

表2为各语义属性的最终分类结果,从表中可以发现多标签网络由于要同时识别多个属性,准确性往往比单标签的要低,而加入tripletloss之后可以提高多标签网络的分类准确性,对各个属性的分类准确性均有4%左右的提升。

表2 服装属性分类结果

4.3 服装图像检索

我们构建了一个含15 000张图像的服装图像数据库,每张图像都标注了语义属性,然后把每张图像输入到训练好的网络中,提取Conv3和FC1的特征输出,之后进行PCA训练,降维到1 024维。检索图像时,为了加快检索速度,首先选取有相同语义属性的服装,然后比较待查图像和数据库中图像的特征向量的距离来获得检索结果。实验平台下检索一张图像花费约1.5s,其中大部分时间用于特征向量的比较上。

表3说明了以不同的隐含层输出特征进行检索的结果,其中Conv3&FC1表示融合Conv3和FC1层的特征,Top-k(表中k分别取5和10)准确率表示前k个检索结果中包含有待检索图像的准确率。从表中可以看出融合Conv3和FC1特征比单独采用它们进行检索的准确率要高,有近3%的提升。

表3 服装属性分类结果

此外由于检索时采用了使用语义属性来缩小检索范围以加快检索的方法,因此若待检索图像的语义属性预测错误,那么检索结果就会出错。因此对于分类准确率不高的语义属性在检索时可以不予考虑,比如表2中,领型的分类准确性相对较低,那么在检索时可以选择忽略这个语义属性。

服装图像检索结果示例如图6所示,从图中可以看到检索结果不仅体现了全局的语义属性信息,而且包含了局部了纹理信息。

图6 服装图像检索示例(每行第一张图片为输入,后五张为检索结果)

5 结 语

本文提出了一种基于度量学习的卷积神经网络方法用于服装图像的分类和检索。该网络使用了多标签分类,可以同时识别图像中服装的多个属性。基于tripletloss的度量学习的引进可以增强网络的特征提取能力,提高分类准确性。对于服装图像检索问题,使用了融合了卷积层输出和全连接层输出的特征向量,同时保留了服装的整体和局部信息。在检索过程中,首先定位有相同属性的图像,然后比较各图像特征向量间的相似性,从而得到检索结果。

[1] 卢兴敬.基于内容的服装图像检索技术研究及实现[D].哈尔滨:哈尔滨工业大学,2008.

[2]ManfrediM,GranaC,CalderaraS,etal.Acompletesystemforgarmentsegmentationandcolorclassification[J].MachineVisionandApplications,2014,25(4):955-969.

[3]LiuS,SongZ,LiuG,etal.Street-to-shop:Cross-scenarioclothingretrievalviapartsalignmentandauxiliaryset[C]//ComputerVisionandPatternRecognition(CVPR),2012IEEEConferenceon.IEEE,2012:3330-3337.

[4]JagadeeshV,PiramuthuR,BhardwajA,etal.Largescalevisualrecommendationsfromstreetfashionimages[C]//Proceedingsofthe20thACMSIGKDDInternationalConferenceonKnowledgeDiscoveryandDataMining.ACM,2014:1925-1934.

[5]OlivaA,TorralbaA.Modelingtheshapeofthescene:aholisticrepresentationofthespatialenvelope[J].InternationalJournalofComputerVision,2001,42(3):145-175.

[6]LoweDG.Distinctiveimagefeaturesfromscale-invariantkeypoints[J].InternationalJournalofComputerVision,2004,60(2):91-110.

[7]DalalN,TriggsB.Histogramsoforientedgradientsforhumandetection[C]//ComputerVisionandPatternRecognition,2005IEEEComputerSocietyConferenceon.IEEE,2005:886-893.

[8]BossardL,DantoneM,LeistnerC,etal.Apparelclassificationwithstyle[C]//11thAsianConferenceonComputerVision.Springer,2012:321-335.

[9]KrizhevskyA,SutskeverI,HintonGE.ImageNetClassificationwithDeepConvolutionalNeuralNetworks[C]//AdvancesinNeuralInformationProcessingSystems25,2012:1106-1114.

[10]HofferE,AilonN.Deepmetriclearningusingtripletnetwork[C]//3rdInternationalWorkshoponSimilarity-BasedPatternAnalysisandRecognition.SpringerInternationalPublishing,2015:84-92.

[11]SchroffF,KalenichenkoD,PhilbinJ.FaceNet:Aunifiedembeddingforfacerecognitionandclustering[C]//Proceedingsofthe2015IEEEConferenceonComputerVisionandPatternRecognition,2015:815-823.

[12]MaasAL,HannunAY,NgAY.Rectifiernonlinearitiesimproveneuralnetworkacousticmodels[C]//Proceedingsofthe30thInternationalConferenceonMachineLearning(ICML),2013:1-6.

[13]ZeilerMD,FergusR.Stochasticpoolingforregularizationofdeepconvolutionalneuralnetworks[DB].arXivpreprintarXiv:1301.3557,2013.

[14]WeiY,XiaW,HuangJ,etal.CNN:Single-labeltomulti-label[DB].arXivpreprintarXiv:1406.5726,2014.

[15]AbdulnabiAH,WangG,LuJ,etal.Multi-taskCNNmodelforattributeprediction[J].IEEETransactionsonMultimedia,2015,17(11):1949-1959.

[16]ChopraS,HadsellR,LeCunY.Learningasimilaritymetricdiscriminatively,withapplicationtofaceverification[C]//ComputerVisionandPatternRecognition,2005IEEEComputerSocietyConferenceon,2005:539-546.

[17]HadsellR,ChopraS,LeCunY.Dimensionalityreductionbylearninganinvariantmapping[C]//ComputerVisionandPatternRecognition,2006IEEEComputerSocietyConferenceon.IEEE,2006:1735-1742.

[18]LinK,YangHF,LiuKH,etal.Rapidclothingretrievalviadeeplearningofbinarycodesandhierarchicalsearch[C]//Proceedingsofthe5thACMInternationalConferenceonMultimediaRetrieval.ACM,2015:499-502.

[19]WangJ,SongY,LeungT,etal.Learningfine-grainedimagesimilaritywithdeepranking[C]//ComputerVisionandPatternRecognition(CVPR),2014IEEEConferenceon.IEEE,2014:1386-1393.

CLOTHING IMAGE CLASSIFICATION AND RETRIEVAL BASED ON METRIC LEARNING

Bao Qingping Sun Zhifeng

(CollegeofElectricalEngineering,ZhejiangUniversity,Hangzhou310058,Zhejiang,China)

On the problem of clothing image classification and retrieval, the general convolutional neural network has limited ability to identify because of diverse patterns and different backgrounds in image. To solve this problem, a convolution neural network method based on metric learning is proposed, in which the metric learning is based on the triplet loss, and the network has three inputs: the reference sample, the positive sample and the negative sample. By means of metric learning, it is possible to reduce the intra-class feature distance and increase the inter-class feature distance, so as to achieve the fine-grained classification. In addition, the images in different backgrounds are input into the training network as positive samples to improve the anti-interference ability. On the problem of clothing retrieval, a fine-grained retrieval method is proposed, which combines features of convolutional layers and fully-connected layers. The experimental results show that the introduction of metric learning can enhance the feature extraction ability of the network and improve the accuracy of classification, and the retrieval based on combined features can ensure the accuracy of the results.

Clothing Classification Retrieval Multi-label Metric learning

2016-03-17。包青平,硕士生,主研领域:深度学习。孙志锋,副教授。

TP391.4

A

10.3969/j.issn.1000-386x.2017.04.043

猜你喜欢
检索标签语义
语言与语义
2019年第4-6期便捷检索目录
无惧标签 Alfa Romeo Giulia 200HP
车迷(2018年11期)2018-08-30 03:20:32
不害怕撕掉标签的人,都活出了真正的漂亮
海峡姐妹(2018年3期)2018-05-09 08:21:02
“上”与“下”语义的不对称性及其认知阐释
现代语文(2016年21期)2016-05-25 13:13:44
专利检索中“语义”的表现
专利代理(2016年1期)2016-05-17 06:14:36
标签化伤害了谁
基于多进制查询树的多标签识别方法
计算机工程(2015年8期)2015-07-03 12:20:27
认知范畴模糊与语义模糊
语义分析与汉俄副名组合
外语学刊(2011年1期)2011-01-22 03:38:33