基于部分参数共享的深度卷积神经网络跨域服装检索方法与流程

文档序号:12470181阅读:411来源:国知局
基于部分参数共享的深度卷积神经网络跨域服装检索方法与流程

本发明涉及计算机视觉和图像处理领域,具体地,涉及一种基于部分参数共享的深度卷积神经网络跨域服装检索方法。



背景技术:

电商是一个巨大的,而且受到越来越多关注的市场。传统的服装检索通过关键字来搜索,下一代的服装检索系统将会越来越多地依赖于基于内容的图片检索技术。特别地,大量的研究关注点在跨域服装检索问题上,因为跨域服装检索与现实生活中的实际商业需求紧密联系,即人们通常在现实生活中看到了一件中意的衣服,通过智能手机拍摄下来,再将图片输入到电商搜索引擎中,搜索相似甚至同款衣服。

经过对现有技术的文献检索发现,Huang J和Feris R S等人在“Cross-domain image retrieval with a dual attribute-aware ranking network”这篇文章中提出了一种跨域服装检索模型,该模型使用了两路参数独立但是结构完全相同的深度卷积神经网络。该模型取得了很好的效果。

目前单路深度卷积神经网络的参数就已经很多了,比如AlexNet的参数在千万级别,参数少的GoogLeNet的参数也有数百万,使用两路参数独立的深度卷积神经网络,参数就加倍了。过多的参数阻碍了这类型模型在硬件比较简陋的移动设备上的使用(比如内存和存储相对工作站小得多),同时过多的参数需要更多的数据集训练才能使得模型不至于过拟合。

公开号为CN104572680A、申请号为201310485364.9的中国发明专利申请,该发明提供一种基于颜色矩的衣服检索方法,依次包括以下步骤:(1)输入待检索衣服图片,对其进行预处理,得到预定像素的图片;(2)将所述预定像素的图片均分为K块;(3)对于每个块,将其中每个像素由RGB颜色空间转换到HSV颜色空间,并将每个像素值进行归一化操作,进而计算该块的颜色矩;(4)级联待检索衣服图片的K块颜色矩,得到该图片的颜色特征,即为待检索衣服图片的级联颜色矩向量;(5)遍历衣服库的颜色特征数据库中的所有颜色特征,与待检索衣服图片的级联颜色矩向量进行相似性计算和比较。

但是上述专利存在以下不足:首先,对于服装图片来说,颜色矩特征并不是一个好的特征,颜色矩不能表达出服装的细节信息,比如领形,花纹的样式等等;其次,上述专利利用Grabcut算法来提取前景色,但是Grabcut提取前景色的效果不是非常好。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于部分参数共享的深度卷积神经网络跨域服装检索方法,该方法不仅可以能够区分出服装中细节的差别,而且还能减少跨域深度卷积神经网络服装检索模型的参数。

为实现上述目的,本发明采用的技术方案是:

一种基于部分参数共享的深度卷积神经网络跨域服装检索方法,包括以下步骤:

S1:将街拍域、线上商品域的图片分别输入到两路并行的结构完全相同的深度卷积神经网络f中,即:将街拍域的图片a输入一路深度卷积神经网络得到f(a|wl,wus),将线上商品域的图片p,n输入到另一路深度卷积神经网络得到f(p|wl,wuo)和f(n|wl,wuo);其中wl为低层神经网络层共享的参数,wus为街拍域的高层神经网络层参数,wuo为线上商品域的高层神经网络参数;p与a为同一款服装,n与a为不同款服装;

S2:计算图片a与p的距离D(a,p)=‖f(a|wl,wus)-f(p|wl,wuo)‖2,a与n的距离D(a,n)=‖f(a|wl,wus)-f(n|wl,wuo)‖2

S3:计算D(a,p)与D(a,n)的损失函数loss(D(a,p),D(a,n))=max{0,m+D(a,p)2-D(a,n)2},这是一个类铰链损失函数,使得图片a与图片p在深度卷积神经网络f映射的空间中距离尽可能近,而图片a与图片n在深度卷积神经网络f映射的空间中距离尽可能远;m是一个超参数,用来控制同款服装与不同款服装在f映射的空间中距离差别的余裕度;

S4:上述S1、S2和S3得到一个端对端的可训练的基于部分参数共享的深度卷积神经网络跨域服装检索模型,产生多组(a,p,n)三元图片组通过反向传播算法来进行训练模型,得到S1步中的参数wl,wus,wuo

S5:通过S4训练得到的检索模型,将街拍域的图片s映射为特征f(s|wl,wus),将线上商品域的图片oi映射为f(oi|wl,wuo),i∈{1,2,…,N},其中N是线上商品库中图片的数量;

S6:分别计算f(s|wl,wus)与f(oi|wl,wuo)的欧式距离,即D(s,oi)=‖f(s|wl,wus)-f(oi|wl,wuo)‖2

S7:对D(s,oi)进行由低到高的前K排序得到前K个最小欧式距离l∈{1,2,…,K},图片即为街拍域的图片s在线上商品域的图片集oi,i∈{1,2,…,N}中的前K检索结果。

优选地,所述的S1包括以下步骤:

S101:将两个域的三张图片a,p,n缩放到同一大小,随机裁剪其中一部分。

S102:输入到两路并行的结构完全相同的深度卷积神经网络f中,a输入到一路深度卷积神经网络中,得到f(a|wl,wus);p,n分别输入到另一路深度卷积神经网络中,得到f(p|wl,wuo),f(n|wl,wuo)。

进一步的,本发明中两路并行的深度神经网络的低层神经网络层共享参数,高层神经网络层的参数互相独立。

本发明的原理是:深度卷积神经网络低层学习的是普适的,与域无关的特征,比如边缘,拐角等,而高层网络层学习到的是包含更多语义信息,与域关系更加密切的特征,比如以人脸作为数据集,高层网络层会学到表征眼睛,鼻子的特征,而以服装作为数据集,高层网络层会学到表征服装花纹,服装质地信息的特征。基于深度卷积神经网络的这种特性,本发明将两路深度卷积神经网络的低层网络层参数共享,高层网络参数层仍然由各个域自己保有。相比于直接使用独立参数的两路深度卷积神经网络的模型,本发明利用深度卷积神经网络自身的特性,减少了冗余的参数,同时效果与直接使用独立参数的两路深度卷积神经网络模型相当。

与现有技术相比,本发明具有如下的有益效果:

相比于直接使用独立参数的两路深度卷积神经网络的模型,本发明利用深度卷积神经网络自身的特性,减少了冗余的参数。在现实环境中,获取大量带有标签的图片需要耗费极大人力,本发明由于减少了冗余的参数,使得达到同样效果的情况下,只需更少的带有标签的图片。同时,由于减少了大量参数,使得参数所占的空间更少,有利于本发明应用于硬件资源简陋的移动设备上。同时本发明实验表明效果与直接使用独立参数的两路深度卷积神经网络模型相当,证明了本发明的有效性

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1是本发明一实施例中的流程图;

图2为本发明一实施例所用的深度卷积神经网络模型图;

图3为本发明一实施例中对服装图片进行预处理的流程图;

图4是本发明一实施例中关于得到在线商品库中所有服装图片特征库的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。

本发明方法利用了深度神经网络模型中越高层的网络层的特征越具有语义信息,与训练数据所在域的关系越密切,越低层的网络层的特征越具有一般性,越与训练数据所在域无关,依此让传统的深度卷积神经网络跨域服装检索模型中的低层的网络层参数共享,而高层的网络层参数由各个域保有。本发明是一种能够使用比传统深度卷积神经网络跨域服装检索模型方法更少参数但却获得相同效果的方法,通过利用深度神经网络模型内在的特性,显著性减少模型参数数量。

如图1所示,为本发明一实施例的方法流程图,所述方法包括:

第一步,如图3所示,将两个域的三张图片a,p,n,分别先缩放到256像素×256像素大小,再随机从中裁剪224像素×224像素大小的部分,输入到两路并行的结构完全相同的深度卷积神经网络f中,其中a属于街拍域,输入到一路深度卷积神经网络中,得到f(a|wl,wus);p,n属于线上商品域,p与a为同一款服装,n与a为不同款服装,分别输入到另一路深度卷积神经网络中,得到f(p|wl,wuo),f(n|wl,wuo);其中wl为inception(5a)及更低层的神经网络层共享的参数,wus为街拍域的高层神经网络层参数,wuo为线上商品域的高层神经网络参数,均为inception(5a)更高层的神经网络层的参数。

上述的inception(5a)为现有技术,如Szegedy C和Liu W等人的文章“Going deeper with convolutions”中记载的。(参见Szegedy C,Liu W,Jia Y,et al.Going deeper with convolutions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2015:1-9.)

本实施例可以使用文章“Where to buy it:Matching street clothing photos in online shops”里面公布的“Exact Street2Shop Dataset”数据集,获取三张图片a,p,n。

本实施例使用GoogLeNet,参数的初始值使用caffe官网model zoo里提供的GoogLeNet预训练模型,得到f(a|wl,wus)。

第二步,计算图片a与p的欧式距离D(a,p)=‖f(a|wl,wus)-f(p|wl,wuo)‖2,a与n的欧式距离D(a,n)=‖f(a|wl,wus)-f(n|wl,wuo)‖2

第三步,计算D(a,p)与D(a,n)的损失函数loss(D(a,p),D(a,n))=max{0,m+D(a,p)2-D(a,n)2},这是一个类铰链损失函数(hinge loss),使得图片a与图片p在f映射的空间中距离尽可能近,而a与图片n在f映射的空间中距离尽可能远。

m是一个超参数,用来控制同款服装与不同款服装在f映射的空间中距离的余裕度,本实施例设置为m=0.2。

第四步,以上三步得到了一个端对端的可训练的基于部分参数共享的深度卷积神经网络跨域服装检索模型,利用“Exact Street2Shop Dataset”数据集产生(a,p,n)三元组训练数据,通过反向传播算法来进行训练模型,得到第一步中的参数wl,wus,wuo。如图2所示。

本实施例将学习速率设置为0.001,权重衰减设为0.0002,批大小设为50,共训练了40个epoch。

第五步,通过训练得到的模型,可以将街拍域的图片s映射为特征f(s|wl,wus),将线上商品域的图片o映射为f(o|wl,wuo),通过计算街拍图片特征与线上商品库中各张图片的特征欧式距离,并进行由低到高的排序,即可进行跨域服装检索。如图4所示。

通过训练得到的模型,将街拍域的图片s映射为特征f(s|wl,wus),将线上商品域的图片oi,i∈{1,2,…,N}映射为f(oi|wl,wuo),i∈{1,2,…,N};

分别计算f(s|wl,wus)与f(oi|wl,wuo),i∈{1,2,…,N}的欧式距离,即D(s,oi)=‖f(s|wl,wus)-f(oi|wl,wuo)‖2,i∈{1,2,…,N};

对D(s,oi),i∈{1,2,…,N}进行由低到高的前K排序得到前K个最小欧式距离,m∈{1,2,...,K}。图片m∈{1,2,...,K},即为街拍域的图片s在线上商品域的图片集oi,i∈{1,2,…,N}中的前K检索结果。

目前单路深度卷积神经网络的参数就已经很多了,比如AlexNet的参数在千万级别,参数少的GoogLeNet的参数也有数百万,使用两路参数独立的深度卷积神经网络,参数就加倍了。过多的参数阻碍了这类型模型在硬件比较简陋的移动设备上的使用(比如内存和存储相对工作站小得多),同时过多的参数需要更多的数据集训练才能使得模型不至于过拟合。而本发明解决了背景技术中前者特征表达能力不强和后者参数过多的问题,显著性减少模型参数数量,使得整个方法处理变得简单和快速。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1