法律状态公告日
法律状态信息
法律状态
2020-06-09
授权
授权
2018-03-09
实质审查的生效 IPC(主分类):G06Q30/06 申请日:20171012
实质审查的生效
2018-02-09
公开
公开
技术领域
本发明涉及一种基于服装图像和标签文本双模态内容分析的个性化服装的推荐方法,属于服装推荐方法。
背景技术
随着互联网技术的发展,出现了越来越多的电子商务网站,销售各种类别的商品,包括化妆品、服饰、海淘、日用百货、电子产品等,网上购物几乎成为每个家庭必不可少的一部分。购物网站之所以如此受欢迎,是因为这个海量的“商品库”中包括了全国甚至全世界的商品。然而,用户在享受这种方便的同时,也面临这样一个问题:他们在访问电子商务网站时,一开始很难直接找到自己的目标商品,会被动地浏览许多自己并不关心的商品信息,同时又要花费大量的时间去查找自己所需要商品的信息。因此,商品推荐不仅可以方便用户,也会增加网上商城的商品销量。
目前的推荐问题主要有两种解决方案,即基于协同过滤的推荐和基于内容的推荐。然而,服装商品有一些特殊性:首先,用户一般不会多次购买同样的服装;第二,每个用户有自己的穿着喜好,大多不喜欢从众;第三,文本标签很多时候不能准确地描述出服装的细节特征。由于用户“不从众”的心理,协同过滤推荐方法不适合服装推荐,而且每天甚至每时每刻都有大量的服装在商务网站上新,对于一个刚刚上新的服装,没有用户曾经购买过,那么就没有办法通过协同过滤的方式将它推荐给可能对它感兴趣的用户。此外,由于用户购买服装时的“不重复”心理,传统的基于内容的推荐方法也不适用于服装推荐。本发明基于内容推荐方法,却是根据服装细节部位图像与服装标签融合的结果进行建模并基于模型进行推荐,因此不重复推荐相同的服装,不受其他用户的购买记录影响,从而规避上述问题。
发明内容
本发明针对以上问题的提出,本发明提出一种基于服装图像和标签文本双模态内容分析的个性化服装的推荐方法,其特征在于,包括以下步骤:
S1:通过对购物网站的服装图像中的细节属性进行分析,建立以服装细节部位图像和特征形式描述的服装商品模型和用户喜好模型;
S2:通过对购物网站的服装标签文本进行分析,建立以文本形式描述的服装商品模型和用户喜好模型;
S3:将所述步骤S1建立的基于服装图像的服装商品模型和所述步骤S2建立的用户喜好模型相结合,产生推荐结果;
所述步骤S1建立的基于服装图像的服装商品模型和所述步骤S2建立的用户喜好模型相结合的过程还至少包括:
S31:同时利用服装商品的图像特征和文本特征来描述服装的整体特征;对于每一件服装Ci∈C(i=1,2,...),则双模态特征表示为Ci~<dpri,1,dpri,2,dpri,3,dpri,4,dpri,5,ti,spi,cti,Wi>;
其中dpri,1、dpri,2、dpri,3、dpri,4、dpri,5分别表示颜色、纹理、领子、袖子和拼接五种属性的特征,ti表示该服装的纹理特征值,spi表示该服装的拼接特征值,cti表示该服装的类别,Wi={wdi,1,wdi,2,,…,wd>i,n}表示该件服装的标签集合;
S32:对于数据集C,每一件服装表示为Ci∈C(i=1,2,...);用户最近四次的浏览记录获得的用户的兴趣为
其中dpru,1、dpru,2、dpru,3、dpru,4、dpru,5表示用户选择的感兴趣的服装属性的特征,
S33:根据服装和文本两个模态的特征进行相似性计算,将最相似的k件服装推荐给用户,并将推荐的k件服装的集合定义为Cr。
进一步的,所述建立以服装细节部位图像和特征形式描述的服装商品模型和用户喜好模型还包括以下步骤:
S11:通过GrabCut分割算法去除背景后按照服装的细节绘制前景范围框,将标记后的图像至少3次迭代后,得到分割后的服装图像的前景人物图;
S12:对分割后的服装图像前景人物图的花纹特征进行提取,先选取上半身部位的图像,提取表示整个服装的颜色特征的RGB空间的颜色直方图;所述RGB空间的颜色直方图三个维度均分成5份,其中,第i个服装的颜色特征表示一个125维的向量dprc,1=<rgbi,1,rgbi,2,...,rgbi,125>;并对分割后的服装图像前景人物图的纹理特征进行提取,先选取上半身部位的图像,将其分成九份,选取中心的一份,对其提取ULBP特征,其中,第i个服装的纹理特征表示一个59维的向量<ulbpi,1,ulbpi,2,...,ulbpi,59>;其中,rgbi,j,j=1…125,表示每个分量的一个RGB颜色特征,ulbpi,j,j=1…59表示每个分量一个ULBP纹理特征;
S13:用Canny边界检测方法提取分割后的服装图像的边缘,获得袖子和领子的特征;
S14:选取上身部分为特征提取区域,将特征提取区域平均分成10×10的小块,对每个小块提取RGB空间的颜色特征,并选取每个小块的主要颜色代表该块的颜色,那么每件服装的颜色分布特征表示为10×10的颜色矩阵/向量<dci,1,dc>i,2,…,dc>i,100>;
进一步的,选出主要的颜色,并将正身的每个小方块的主颜色与脸部颜色对比,去除脖子和胳膊部位的皮肤;
进一步的,所述主要颜色的判断至少包括:对颜色矩阵中的非背景颜色进行频数统计,并按照频数由高到低排序,按由高到低的顺序将对应位置的颜色数从1~n标号,n≤125,属于背景和皮肤的块统一用0表示,出现次数最多的颜色表示为1,出现次数第二、第三、…、第n多的颜色依次被表示为2~n,则表示为1的则为主要颜色;
S15:将每个服装图像的属性Ii、对应的细节部位、对应的特征及其分类结果存储到数据库中;
S16:从用户在线搜索或浏览的服装信息中,获取其最近四次的服装商品浏览记录,并展示这些服装的细节部位图像给用户,用户选择每个属性中、其喜欢的类型的服装细节图像,系统根据用户的选择,获取用户喜好Iu。
进一步的,S21:首先进行中文文本分词,利用jieba分词器将文本描述信息由句子划分为词,将词作为文本的特征并构建过滤掉不重要的词停用词词典及常用词词典;
S22:利用数据集中的文本信息,将服装标签化,服装的标签集合表示为Wi={wdi,1,wdi,2,…,wdi,n},每个wdi,j表示一个标签,wdi,j不重复;所述标签化是将服装分为四个大类C,C={C0,C1,C2,C3}共26个小类,并按类别在数据库中建立索引,加快检索速度;其中C0、C1、C2、C3分别代表服装标签化后的四大类别;
S23:根据步骤S22建立的文本信息和标签集合获取用户浏览的服装商品的标签获得用户浏览文本标签集合W={<wd1,t1>,<wd2,t2>,…,<wdn,tn>}和类别集合CT={ct1,ct2,ct3,ct4};其中,ct1、ct2、ct3、ct4表示用户最近四次浏览的服装的类别。
进一步的,所述服装的纹理分为6类:竖条纹、格子、横条纹、碎花、图案和无花纹,使用LIBSVM对这六种纹理进行训练;则纹理的种类dprc,2=<texturec,1,texturec,2,texturec,3,texturec,4,texturec,5,texturec,6>,
其中,texturec,1、texturec,2、texturec,3、texturec,4、texturec,5、texturec,6分别表示服装纹理的分类,其取值为0或1。
进一步的,所述步骤S13用Canny边界检测方法提取分割后的服装图像的边缘,还至少包括:将所述分割后的服装图像分成三层,后一层子区域的面积是前一层区域面积的1/4,在每个层次级别上提取子区域的梯度直方图HOG特征,采用3层结构,再分成12个区间,即PHOG特征维数是1020维;根据通常的图像处理经验,取前120个傅里叶系数,即轮廓傅里叶描述子为120维的特征向量;
S131:将大小为h×w的灰度图像f(x,y)划分成大小相等的na×na个网格,每个网格的大小为h'×w',其中h'=h/na,w'=w/na;对每个小块图像用nc个通道的滤波器进行卷积滤波,并将nc个通道滤波后的结果级联起来;其中,h表示灰度图像的长度,w表示灰度图像的宽度,h'表示分割后的每一网格的灰度图像的长度,w'表示分割后的每一网格的灰度图像的宽度,na表示分割的次数,nc表示滤波器开通的通道数量,f(x,y)中x、y为第i小块中的坐标值;
则形成该小块的特征Gi(x,y)为:
其中,i表示网格数,i=1,2,…,na×na,,则Gi(x,y)的维数为h'×w'×nc;
S132:将上述每一小块计算出的特征值取平均值,得到每一小块的Gist特征:
其中,
S133:将所述每一小块中产生的nc个平均特征值级联起来,获得整幅图像提供图像的梯度信息的Gist特征,其维数为na×na×nc;按照Oliva和Torralba将图像划分成4×4的网格,将输入图像在4个尺度8个方向上与32个Gabor滤波器进行卷积,产生32个和输入图像大小相等的特征图;
则对于一个服装领子或袖子部位的图像xij,其中,j=1表示领子,j=2表示袖子,则可以获取到一个由PHOG特征pij,、傅里叶描述子特征fij和GIST特征gij,每类特征构成一个特征向量,三个特征向量经过归一化构成一个统一的联合特征向量csij=[pij,fij,gij],最后使用这个联合特征来表示领子dprc,3和袖子dprc,4的特征;所述归一化先测算数据中每种特征之间的距离,然后取距离中的众数,再用每种距离除以这个众数。
更进一步的,建立服装数据集C其中的每一件服装表示为ci∈C(i=1,2,...)。定义服装属性的集合A={A1,A2,A3,A4,A5},其中A1、A2、A3、A4和A5分别表示颜色、纹理、领子、袖子和拼接。并使用
更进一步的,S33:根据在步骤S15和步骤S16分别获得了服装的属性Ii和用户喜好Iu,针对图像分析,推荐用户得分最高的k幅图像,把这k幅图像的集合定义为Cr,即
其中Score(Ii,Iu)是Ii和Iu之间的相似性得分
其中,ωj表示权重,dist(dpri,j,dpru,j)表示RGB空间的颜色特征采用卡方距离计算相似性,并将图像每个属性对应的特征描述向量间的归一化距离,均被归一化到[0,1]区间;
进一步的,在步骤S22、步骤S23分别获得了服装标签Wi和用户喜好标签Wu,针对文本分析,推荐给用户得分最高的k件服装,把这k件服装的集合定义为Cr,即
Cr=Topk(argmax(1-J(Wi,Wu)))
其中J(Wj,Wu)表示服装标签Wi和用户喜好标签Wu之间的Jaccard距离;
根据服装和文本两个模态的特征进行相似性计算,推荐给用户得分最高的前k件服装,把这k件服装的集合定义为Cr
Cr=Topk(argmax(1-J(Wi,Wu)+Score(Ii,Iu)));
其中,Ii表示服装的属性和Iu表示用户喜好。
更进一步的,如果用户选择了第j个属性中的一个图像,表示用户强烈喜欢相对应属性的该商品具有的特征,因此设置ωj=1;否则,若用户没有选择相对应的属性中的任何一个图片,表示其中没有用户感兴趣的,或者用户对该属性并没有特殊的需求,则设置ωj=0。
本发明的优点在于:本发明的个性化服装推荐方法涉及服装图像和标签文本两种模态的内容分析,现有的推荐方法大多都是基于单一模态的,例如单独利用文本特征的基于标签的推荐,或单独利用图像特征的基于图像内容相似性的推荐。针对基于单一模态的推荐存在各自的缺点,本发明:
(1)基于购物网站的服装图像,建立以服装细节部位图像和特征形式描述的服装商品模型和用户喜好模型;
(2)基于服装标签文本,建立以文本形式描述的服装商品模型和用户喜好模型;
(3)将服装的图像和文本信息进行结合,基于前述两个模型的融合,为用户进行个性化服装推荐。
附图说明
为了更清楚的说明本发明的实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的整体流程示意图;
图2(a)-(d)为本发明的服装图像预处理及细节部位分割;
图3为本发明基于双模态特征描述的服装商品模型示意图;
图4为本发明基于双模态特征描述的用户偏好模型示意图。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图1-4所示的一种基于服装图像和标签文本双模态内容分析的个性化服装的推荐方法,包括以下步骤:
S1:通过对购物网站的服装图像中的细节属性进行分析,建立以服装细节部位图像和特征形式描述的服装商品模型和用户喜好模型;
S2:通过对购物网站的服装标签文本进行分析,建立以文本形式描述的服装商品模型和用户喜好模型;
S3:将所述步骤S1建立的基于服装图像的服装商品模型和所述步骤S2建立的用户喜好模型相结合,产生推荐结果。
作为优选的实施方式步骤S1建立的基于服装图像的服装商品模型和所述步骤S2建立的用户喜好模型相结合的过程还至少包括:
S31:同时利用服装商品的图像特征和文本特征来描述服装的整体特征;对于每一件服装Ci∈C(i=1,2,...),则双模态特征表示为Ci~<dpri,1,dpri,2,dpri,3,dpri,4,dpri,5,ti,spi,cti,Wi>;
其中dpri,1、dpri,2、dpri,3、dpri,4、dpri,5分别表示颜色、纹理、领子、袖子和拼接五种属性的特征,ti表示该服装的纹理特征值,spi表示该服装的拼接特征值,cti表示该服装的类别,Wi={wdi,1,wdi,2,,…,wd>i,n}表示该件服装的标签集合;
S32:对于数据集C,每一件服装表示为Ci∈C(i=1,2,...);用户最近四次的浏览记录获得的用户的兴趣为
其中dpru,1、dpru,2、dpru,3、dpru,4、dpru,5表示用户选择的感兴趣的服装属性的特征,
S33:根据服装和文本两个模态的特征进行相似性计算,将最相似的k件服装推荐给用户,并将推荐的k件服装的集合定义为Cr。可以理解为其他实施方式中,对于衣服特征的描述可以按照实际情况进行分类,只要能够满足能够清晰的分类衣物即可。
在本实施方式中,建立以服装细节部位图像和特征形式描述的服装商品模型和用户喜好模型还包括以下步骤:
S11:通过GrabCut分割算法去除背景后按照服装的细节绘制前景范围框,将标记后的图像至少3次迭代后,得到分割后的服装图像的前景人物图;
S12:对分割后的服装图像前景人物图的花纹特征进行提取,先选取上半身部位的图像,提取表示整个服装的颜色特征的RGB空间的颜色直方图;所述RGB空间的颜色直方图三个维度均分成5份,其中,第i个服装的颜色特征表示一个125维的向量dprc,1=<rgbi,1,rgbi,2,...,rgbi,125>;并对分割后的服装图像前景人物图的纹理特征进行提取,先选取上半身部位的图像,将其分成九份,选取中心的一份,对其提取ULBP特征,其中,第i个服装的纹理特征表示一个59维的向量<ulbpi,1,ulbpi,2,...,ulbpi,59>;其中,rgbi,j,j=1…125,表示每个分量的一个RGB颜色特征,ulbpi,j,j=1…59表示每个分量一个ULBP纹理特征;
S13:用Canny边界检测方法提取分割后的服装图像的边缘,获得袖子和领子的特征;
S14:选取上身部分为特征提取区域,将特征提取区域平均分成10×10的小块,对每个小块提取RGB空间的颜色特征,并选取每个小块的主要颜色代表该块的颜色,那么每件服装的颜色分布特征表示为10×10的颜色矩阵/向量<dci,1,dc>i,2,…,dc>i,100>。选出主要的颜色,并将正身的每个小方块的主颜色与脸部颜色对比,去除脖子和胳膊部位的皮肤;
S15:将每个服装图像的属性Ii、对应的细节部位、对应的特征及其分类结果存储到数据库中;
S16:从用户在线搜索或浏览的服装信息中,获取其最近四次的服装商品浏览记录,并展示这些服装的细节部位图像给用户,用户选择每个属性中、其喜欢的类型的服装细节图像,系统根据用户的选择,获取用户喜好Iu。
在本实施方式中,主要颜色的判断至少包括:对颜色矩阵中的非背景颜色进行频数统计,并按照频数由高到低排序,按由高到低的顺序将对应位置的颜色数从1~n标号,n≤125,属于背景和皮肤的块统一用0表示,出现次数最多的颜色表示为1,出现次数第二、第三、…、第n多的颜色依次被表示为2~n,则表示为1的则为主要颜色。可以理解为,在其他实施方式中,采用的背景去除方式,可以按照实际情况进行选择,只要能够去除背景清楚的显示实际需要的衣物即可。
在本实施方式中,S21:首先进行中文文本分词,利用jieba分词器将文本描述信息由句子划分为词,将词作为文本的特征并构建过滤掉不重要的词停用词词典及常用词词典;
S22:利用数据集中的文本信息,将服装标签化,服装的标签集合表示为Wi={wdi,1,wdi,2,…,wdi,n},每个wdi,j表示一个标签,wdi,j不重复;所述标签化是将服装分为四个大类C,C={C0,C1,C2,C3}共26个小类,并按类别在数据库中建立索引,加快检索速度;其中C0、C1、C2、C3分别代表服装标签化后的四大类别;
S23:根据步骤S22建立的文本信息和标签集合获取用户浏览的服装商品的标签获得用户浏览文本标签集合W={<wd1,t1>,<wd2,t2>,…,<wdn,tn>}和类别集合CT={ct1,ct2,ct3,ct4};其中,ct1、ct2、ct3、ct4表示用户最近四次浏览的服装的类别。
在本实施方式中,服装的纹理分为6类:竖条纹、格子、横条纹、碎花、图案和无花纹,使用LIBSVM对这六种纹理进行训练;则纹理的种类dprc,2=<texturec,1,texturec,2,texturec,3,texturec,4,texturec,5,texturec,6>,
其中,texturec,1、texturec,2、texturec,3、texturec,4、texturec,5、texturec,6分别表示服装纹理的分类,其取值为0或1。
在本实施方式中,步骤S13用Canny边界检测方法提取分割后的服装图像的边缘,还至少包括:将所述分割后的服装图像分成三层,后一层子区域的面积是前一层区域面积的1/4,在每个层次级别上提取子区域的梯度直方图HOG特征,采用3层结构,再分成12个区间,即PHOG特征维数是1020维;根据通常的图像处理经验,取前120个傅里叶系数,即轮廓傅里叶描述子为120维的特征向量;
S131:将大小为h×w的灰度图像f(x,y)划分成大小相等的na×na个网格,每个网格的大小为h'×w',其中h'=h/na,w'=w/na;对每个小块图像用nc个通道的滤波器进行卷积滤波,并将nc个通道滤波后的结果级联起来;其中,h表示灰度图像的长度,w表示灰度图像的宽度,h'表示分割后的每一网格的灰度图像的长度,w'表示分割后的每一网格的灰度图像的宽度,na表示分割的次数,nc表示滤波器开通的通道数量,f(x,y)中x、y为第i小块中的坐标值;
则形成该小块的特征Gi(x,y)为:
其中,i表示网格数,i=1,2,…,na×na,,则Gi(x,y)的维数为h'×w'×nc;
S132:将上述每一小块计算出的特征值取平均值,得到每一小块的Gist特征:
其中,
S133:将所述每一小块中产生的nc个平均特征值级联起来,获得整幅图像提供图像的梯度信息的Gist特征,其维数为na×na×nc;按照Oliva和Torralba将图像划分成4×4的网格,将输入图像在4个尺度8个方向上与32个Gabor滤波器进行卷积,产生32个和输入图像大小相等的特征图;
对于一个服装领子或袖子部位的图像xij,其中,j=1表示领子,j=2表示袖子,则可以获取到一个由PHOG特征pij,、傅里叶描述子特征fij和GIST特征gij,每类特征构成一个特征向量,三个特征向量经过归一化构成一个统一的联合特征向量csij=[pij,fij,gij],最后使用这个联合特征来表示领子dprc,3和袖子dprc,4的特征;所述归一化先测算数据中每种特征之间的距离,然后取距离中的众数,再用每种距离除以这个众数。
作为优选的实施方式,建立服装数据集C其中的每一件服装表示为ci∈C(i=1,2,...)。定义服装属性的集合A={A1,A2,A3,A4,A5},其中A1、A2、A3、A4和A5分别表示颜色、纹理、领子、袖子和拼接。并使用
S33:根据在步骤S15和步骤S16分别获得了服装的属性Ii和用户喜好Iu,针对图像分析,推荐用户得分最高的k幅图像,把这k幅图像的集合定义为Cr,即
其中Score(Ii,Iu)是Ii和Iu之间的相似性得分
其中,ωj表示权重,dist(dpri,j,dpru,j)表示RGB空间的颜色特征采用卡方距离计算相似性,并将图像每个属性对应的特征描述向量间的归一化距离,均被归一化到[0,1]区间;
在本实施方式在中,步骤S22、步骤S23分别获得了服装标签Wi和用户喜好标签Wu,针对文本分析,推荐给用户得分最高的k件服装,把这k件服装的集合定义为Cr,即
Cr=Topk(argmax(1-J(Wi,Wu)))
其中J(Wj,Wu)表示服装标签Wi和用户喜好标签Wu之间的Jaccard距离;
根据服装和文本两个模态的特征进行相似性计算,推荐给用户得分最高的前k件服装,把这k件服装的集合定义为Cr
Cr=Topk(argmax(1-J(Wi,Wu)+Score(Ii,Iu)));
其中,Ii表示服装的属性和Iu表示用户喜好。
在本实施方式中,如果用户选择了第j个属性中的一个图像,表示用户强烈喜欢相对应属性的该商品具有的特征,因此设置ωj=1;否则,若用户没有选择相对应的属性中的任何一个图片,表示其中没有用户感兴趣的,或者用户对该属性并没有特殊的需求,则设置ωj=0。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
机译: 一种标准化服装套件以及一种从标准服装套件中提供的标准部分缝合的服装件中个性化和适合服装的方法
机译: 服装产品信息管理装置和与服装进行通信的服装产品信息管理,推荐与该服装有关的产品的服务器,一种服装产品信息提供方法
机译: (54)标题:用于工业加工和后期护理中的RFID服装标签(57)摘要:本发明属于包括RFID设备的服装或服装标签领域。更具体地,服装或服装标签或标签被密封在由不透流体的材料制成的柔性袋中,该柔性袋保护RFff)装置免受维护和护理处理以及服装和服装加工条件的破坏,该条件可用于提供某些美感或服装商品的其他特征。