发明内容
技术问题:本发明实施例所要解决的问题是:提供一种基于图像的商品推荐方法及系统,能够适用于普通多目标场景,且可以获得较好的推荐效果。
技术方案:为解决以上技术问题,本发明实施例提供的技术方案如下:
第一方面,本实施例提供一种基于图像的商品推荐方法,该方法包括以下步骤:
获取图像,并对图像进行预处理;
识别预处理后的图像中的目标区域;
对识别出的目标区域进行聚合,生成多模态的内容描述;
根据生成的内容描述,得到初步商品推荐结果;
对得到的初步商品推荐结果进行合并,删除重复项,输出合并后的商品推荐结果。
结合第一方面,作为第一种可能实现的方式,所述的获取图像,并对图像进行预处理是指:通过移动终端获取图像,并对图像进行包括缩放和/或剪裁步骤的预处理。
结合第一方面,作为第二种可能实现的方式,所述的识别预处理后的图像中的目标区域具体包括:
检测图像中可能目标区域,并形成可能目标区域集合;
对可能目标区域集合进行筛选,筛选出目标区域;
利用图像分类器,对目标区域内的图像进行识别。
结合第一方面的第二种可能实现的方式,作为第三种可能实现的方式,所述的利用图像分类器,对目标区域内的图像进行识别具体包括:
对每个目标区域内图像,从中取出若干个亚区域图像,并将亚区域图像进行归一化,将其调整为与图像分类器训练时采用的相同尺寸,作为图像分类器的输入;从图像分类器输出的该图像属于各个类别的概率中选取概率最大的类别作为该图像所属类别。
结合第一方面,作为第四种可能实现的方式,所述的对识别出的目标区域进行聚合,生成多模态的内容描述具体包括:
将识别的每个目标区域与文字描述相对应,得到文字描述向量,作为该目标区域内容的文本标识,生成单目标文本描述;
根据各个单目标文本描述之间的关联关系,将属于同一商品的单目标文本描述进行聚类,生成代表不同商品的聚类;
判断每个聚类是否由单个商品区域构成,如果是,则抽取该单个商品区域的商品图像特征,生成图像特征内容描述;如果否,则将多个商品区域的文本内容描述标识进行合并,生成文本内容描述。
结合第一方面的第四种可能实现的方式,作为第五种可能实现的方式,所述的根据生成的内容描述,得到初步商品推荐结果具体包括:
如果生成的内容描述是文本内容描述标识,则生成初步商品推荐结果的过程为:在已有的商品文本描述标识集合中,寻找出与输入文本内容描述标识相似的商品文本描述标识,将相似的商品文本描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序;
如果生成的内容描述是图像内容描述标识,则生成初步商品推荐结果的过程为:在已有的同类商品的图像内容描述标识集合中,寻找出与输入图像内容描述标识相近的图像内容描述标识,将相似的图像内容描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序。
第二方面,本发明实施例提供一种基于图像的商品推荐系统,该系统包括:
移动终端:用于获取图像,并对图像进行预处理;
服务器端:用于识别预处理后的图像中的目标区域;用于对识别出的目标区域进行聚合,生成多模态的内容描述;用于根据生成的内容描述,得到初步商品推荐结果;还用于对得到的初步商品推荐结果进行合并,删除重复项,向移动终端输出合并后的商品推荐结果。
移动终端:还用于接收并显示服务器端输出合并后的商品推荐结果;
结合第二方面,作为第一种可能实现的方式,所述的移动终端具体用于:通过拍摄、扫描或内部已存储的照片,获取图像,并对图像进行包括缩放和/或剪裁步骤的预处理。
结合第二方面,作为第二种可能实现的方式,所述的服务器端用于识别预处理后的图像中的目标区域,具体包括:检测图像中区域,并形成区域集合;对区域集合进行筛选,筛选出目标区域;利用图像分类器,对目标区域内的图像进行识别。
结合第二方面的第二种可能实现的方式,作为第三种可能实现的方式,所述的利用图像分类器,对目标区域内的图像进行识别具体包括:对每个目标区域内图像,从中取出若干个亚区域图像,并将亚区域图像进行归一化,将其调整为与图像分类器训练时采用的相同尺寸,作为图像分类器的输入;从图像分类器输出的该图像属于各个类别的概率中选取概率最大的类别作为该图像所属类别。
结合第二方面,作为第四种可能实现的方式,所述的服务器端用于对识别出的目标区域进行聚合,生成多模态的内容描述具体包括:
将识别的每个目标区域与文字描述相对应,得到文字描述向量,作为该目标区域内容的文本标识,生成单目标文本描述;
根据各个单目标文本描述之间的关联关系,将属于同一商品的单目标文本描述进行聚类,生成代表不同商品的聚类;
判断每个聚类是否由单个商品区域构成,如果是,则抽取该单个商品区域的商品图像特征,生成图像特征内容描述;如果否,则将多个商品区域的文本内容描述标识进行合并,生成文本内容描述。
结合第二方面第四种可能实现的方式,作为第五种可能实现的方式,所述的服务器端用于根据生成的内容描述,得到初步商品推荐结果,具体包括:
如果生成的内容描述是文本内容描述标识,则生成初步商品推荐结果的过程为:在已有的商品文本描述标识集合中,寻找出与输入文本内容描述标识相似的商品文本描述标识,将相似的商品文本描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序;
如果生成的内容描述是图像内容描述标识,则生成初步商品推荐结果的过程为:在已有的同类商品的图像内容描述标识集合中,寻找出与输入图像内容描述标识相近的图像内容描述标识,将相似的图像内容描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序。
有益效果:与现有技术相比,本发明实施例的方法及系统既可以用于传统的单目标识别场景,也可以用于普通场景的多目标识别,进而可以返回更为丰富的推荐结果,进一步提高推荐的准确性。本发明实施例的方法及系统中,首先对获取的图像进行预处理,该图像中可以包括多个目标区域,也可以仅仅包括一个目标区域;然后识别图像中的目标区域;随后对识别出的目标区域进行聚合,生成多模态的内容描述;接着根据生成的内容描述,采用不同的方法,得到初步商品推荐结果,可以避免对图像识别引擎的单一依赖,具有更好的容错性能;最后对初步商品推荐结果进行合并,删除重复项,输出合并后的商品推荐结果。本发明实施例的方法及系统适用场景的范围大,尤其对于多目标区域的图像,具有良好的识别能力。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本发明实施例提供的一种基于图像的商品推荐方法,如图1和图5所示,该方法包括以下步骤:
步骤S101获取图像,并对图像进行预处理。
其中,获取图像可以通过移动终端获取图像。具体获取方式可以如以下实例:利用移动终端拍摄固定的场景而获得的图像,或者利用移动终端扫描动态的场景而获得的图像,或者选取已经存储在移动终端内存中的图片等等。图像中可以包括单个目标区域,也可以包括多个目标区域。所述目标区域中包含感兴趣内容(例如商品、品牌图形Logo、品牌文字图像等)的区域。
步骤S101在移动终端获取包含商品的场景图像,将相关数据发送至服务器端,并在服务器端或移动终端进行图像的预处理操作。例如,在移动终端把彩色图像调整尺寸后(保持原有长宽比例),以常见压缩格式(如jpg、png、webp等)直接发送到服务器端,在服务器端进行解码和其它预处理操作。对图像进行预处理,包括缩放图像和/或剪裁图像。放缩图像尺寸至预先设定的标准尺寸,便于后续识别步骤的进行。
可选的,可在移动终端进行图像尺寸调整、剪裁之后,进一步提取图像的特征,将图像特征数据发送到服务器端。移动终端计算能力不足时,可直接发送压缩后的图像数据至服务器端。当移动终端具有一定计算能力时,可以在移动端提取图像特征,将图像特征数据发送至后端服务器。
步骤S102识别预处理后的图像中的目标区域。
步骤S102主要是检测出图像中可能的目标,经过筛选后进行识别,得到其准确商品类别描述。所述的目标包括商品外形、品牌图形Logo、品牌名称文字等。对原图像进行扫描,获得目标区域集合,并对集合内各子图像进行识别,识别出其中包括感兴趣内容(例如商品、品牌图形Logo,品牌文字图像等)的部分。
如图2所示,步骤S102具体包括以下步骤:
S201检测图像中可能目标区域,并形成可能目标区域集合。
步骤S201主要是从图像中检测到可能目标区域集合。所述的可能目标区域,根据所采用的方法不同,具有不同的含义。本实施例采用以下两种检测方法:第一种检测方法是不限于检测本方法感兴趣的目标区域,是根据梯度一般图像特征提取出来的普通目标区域,也就是说检测到的区域会包括很多不感兴趣的区域,相应的方法如Objectness,Selective Search等。第二种检测方法是根据感兴趣的目标进行训练,用训练过的模型来抽取疑似感兴趣区域,提取出来的区域和感兴趣区域有较大相似性,相应的方法如BING模型等。上述两种方法检测到的区域集合,包含有大量的疑似目标区域。
S202对可能目标区域集合进行筛选,筛选出目标区域。
步骤S202对疑似目标区域进行预筛选。筛选的原则主要是来自于对感兴趣区域的先验知识,可以利用区域长度、宽度、面积、长宽比等基本特征进行筛选。
S203利用图像分类器,对目标区域内的图像进行识别。
步骤S203主要是对目标区域集内的区域图像,用图像分类器进行识别。具体来说,步骤S203中,对每个目标区域内图像,从中取出若干个亚区域图像,并将亚区域图像进行归一化,将其调整为与图像分类器训练时采用的相同尺寸,作为图像分类器的输入;从图像分类器输出的该图像属于各个类别的概率中选取概率最大的类别作为该图像所属类别。
本实施例中所采用的图像分类器,是以卷积神经网络(CNN)为基础的分类器。该网络模型包括多个卷积层、池化层和全连接层,可以输出该图像属于各个商品类别的概率,概率最大的商品类别就是该图像所属商品类别。该图像分类器根据大量图像及其标记值进行训练得到的。由于每幅区域内图像里抽取出了几个亚区域图像,需要对各个亚区域图像的输出结果进行合并,可以采用投票或直接选取最大概率的方式来确定其商品类别。当识别概率很低时,图像分类器进行拒识。优选的,当待选的目标区域比较多,图像识别过程是在GPU平台上进行的,可以批量获得其识别结果。在所有区域的识别结果中,可以仅保留本方法感兴趣区域的正常的识别结果,过滤掉非感兴趣区域的结果,以及存在拒识的结果。
优选的,图像分类器还包括一个特征输出层,将图像特征输出并进行缓存。当后续步骤需要用到商品图像特征进行匹配时,从特征输出层中输出待匹配的图像特征。
S103对识别出的目标区域进行聚合,生成多模态的内容描述。
步骤S103主要是根据步骤102输出的各区域识别结果,进行聚合后生成多模态的内容描述。内容描述包括文本描述和图像描述两种。内容描述的生成过程如图3所示,
步骤S301:将步骤S102识别的每个目标区域与文字描述相对应,得到文字描述向量,作为该目标区域内容的文本标识,生成单目标文本描述。
步骤102所输出的各区域识别结果,对应着一种目标类别,根据预先的定义,得到其具体的文字描述(商品类别,品牌名称等)。这样每个区域都可以对应得到一个文字描述向量,作为其内容的文本标识。
步骤S302:根据各个单目标文本描述之间的关联关系,将属于同一商品的单目标文本描述进行聚类,生成代表不同商品的聚类;
步骤S302主要是寻找各个单目标的文本描述之间的关联关系,生成代表不同商品的聚类。
步骤301中所生成的文本描述是面对单个目标的。不同的文本描述可能存在重叠。例如,检测到华为手机的商品图像,又检测到了华为的品牌Logo,在语义上属于同一商品的描述范围,可以将它们合并。
步骤S302用到的聚类方法,其距离是图像中区域中心的几何距离d1和语义距离d2的加权,例如,可定义为d=d1*d2。语义距离定义了两个图像在高层语义方面的关联关系,比如“华为”和“手机”有较大关联,距离就较近;反之“华为”与“调味油”就没有什么关联,距离较远。可以如下离线获得:对于训练集中所有的目标关键词集合(例如“华为”、“手机”、“调味油”等),根据海量的商品名称,计算关键词之间的共现概率,以共现概率的负对数作为语义距离。
定义了以上的距离,按照常用聚类方法,如k均值算法等,得到多个聚类,每个聚类对应着一个语义近似的目标。
步骤303:判断每个聚类是否由单个商品区域构成,如果是,则进入步骤S304和步骤S305;如果否,则进入步骤S306。
步骤S304:抽取该单个商品区域的商品图像特征;
步骤S305:根据S304抽取的商品图像特征,生成图像特征内容描述;
步骤S306:将多个商品区域的文本内容描述标识进行合并,生成文本内容描述。
当一个聚类是由单个商品区域构成时,将单个商品区域的图像内容描述标识和所属类别输出到下一步。也就是说,该区域的图像特征数据,构成一个图像描述向量,作为其内容的视觉特征标识。将视觉特征标识和所属类别输出到下一步。
当一个聚类是由多个商品区域构成时,将聚类内部的各个区域的文本内容标识进行合并,合并采用逻辑或的方式对各个关键字求并集,将合并后的每个聚类的文本内容标识输出到下一步。
S40根据生成的内容描述,得到初步商品推荐结果。如图4所示,S40具体包括以下过程:
步骤S401:选择推荐方式:根据步骤S30输出的目标聚类的内容描述标识属性,采用不同的推荐方式;如果生成的内容描述是文本内容描述标识,则进入步骤S402和步骤S403,用文本推荐系统获得推荐结果;如果生成的内容描述是图像内容描述标识,则进入步骤S404和步骤S405,用图像特征推荐系统获得推荐结果。
步骤S402:搜索相似文本描述标识:在已有的商品文本描述标识集合中,寻找出与输入文本内容描述标识相似的商品文本描述标识。对于文本描述标识用一个向量来表示,则需要比较输入向量与已有所有样本向量的距离关系,距离较小的若干个向量构成搜索结果子集,也就是作为相似的商品文本描述标识。比较向量之间距离可以采用现有的通用方法,比如余弦相似度。
步骤S403:生成基于文本描述标识的推荐结果:将步骤S402搜索的相似的商品文本描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序;
步骤S404:搜索相似图像描述标识:在已有的同类商品的图像内容描述标识集合中,寻找出与输入图像内容描述标识相近的图像内容描述标识。对于图像内容描述标识用一个向量来表示,则需要比较输入向量与同类商品已有所有样本向量的距离关系,距离较小的若干个向量构成搜索结果子集,也就是作为相近的图像内容描述标识。比较向量之间距离可以采用现有的通用方法,比如余弦相似度。
步骤405:生成基于图像描述标识的推荐结果:将步骤S404搜索的相似的图像内容描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序。
S50对得到的初步商品推荐结果进行合并,删除重复项,输出合并后的商品推荐结果。
步骤S50中,对于推荐结果,采用逻辑或的方式求并集,去除了重复项。对不同推荐结果进行融合,根据几何关系进行重新排列,生成推荐列表。例如,排序的基准是根据各个目标聚类的位置,比如聚类中心在图像区域中的水平占比和垂直占比,即在图像中更为显眼位置的商品相关的推荐结果,应该排的更为靠前。可选的,可以考虑商品的热门程度,对位置进行加权。最终输出的推荐结果列表,就是根据输入图像做出的推荐结果。推荐结果发送到移动终端,并导入相关链接进行显示。
上述实施例的方法,可以对图像中多目标进行检测和识别,对于图像中的多个目标(例如商品、品牌图形Logo,品牌文字名称等),均可以做到检测和识别,
该方法可获得图像中不同目标的有效语义特征,共同组成对图中目标的语义描述(商品类别、品牌、商家等),再利用该语义描述进行匹配和推荐。该方法克服了传统基于图像内容推荐方法只适合于单一目标的问题,能够对普通场景中多个目标进行检测和推荐。另外,该方法对图像中目标使用高语义层次的文本描述和普通的图像特征描述,并根据不同维度的相近关系将属于同一商品的目标描述进行聚合,进一步改善了推荐结果的效果。
本发明实施例还提供一种基于图像的商品推荐系统,该系统包括:
移动终端:用于获取图像,并对图像进行预处理;
服务器端:用于识别预处理后的图像中的目标区域;用于对识别出的目标区域进行聚合,生成多模态的内容描述;用于根据生成的内容描述,得到初步商品推荐结果;还用于对得到的初步商品推荐结果进行合并,删除重复项,向移动终端输出合并后的商品推荐结果。
移动终端:还用于接收并显示服务器端输出合并后的商品推荐结果;
优选的,所述的移动终端具体用于:通过拍摄、扫描或内部已存储的照片,获取图像,并对图像进行包括缩放和/或剪裁步骤的预处理。
优选的,所述的服务器端用于识别预处理后的图像中的目标区域,具体包括:检测图像中区域,并形成区域集合;对区域集合进行筛选,筛选出目标区域;利用图像分类器,对目标区域内的图像进行识别。
优选的,所述的利用图像分类器,对目标区域内的图像进行识别具体包括:对每个目标区域内图像,从中取出若干个亚区域图像,并将亚区域图像进行归一化,将其调整为与图像分类器训练时采用的相同尺寸,作为图像分类器的输入;从图像分类器输出的该图像属于各个类别的概率中选取概率最大的类别作为该图像所属类别。
优选的,所述的服务器端用于对识别出的目标区域进行聚合,生成多模态的内容描述具体包括:
将识别的每个目标区域与文字描述相对应,得到文字描述向量,作为该目标区域内容的文本标识,生成单目标文本描述;
根据各个单目标文本描述之间的关联关系,将属于同一商品的单目标文本描述进行聚类,生成代表不同商品的聚类;
判断每个聚类是否由单个商品区域构成,如果是,则将单个商品区域的图像内容描述标识和所属类别输出到下一步;如果否,则将多个商品区域的文本内容描述标识进行合并,并将合并后的每个聚类的文本内容描述标识输出到下一步。
优选的,所述的服务器端用于根据生成的内容描述,得到初步商品推荐结果,具体包括:
如果生成的内容描述是文本内容描述标识,则生成初步商品推荐结果的过程为:在已有的商品文本描述标识集合中,寻找出与输入文本内容描述标识相似的商品文本描述标识,将相似的商品文本描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序;
如果生成的内容描述是图像内容描述标识,则生成初步商品推荐结果的过程为:在已有的同类商品的图像内容描述标识集合中,寻找出与输入图像内容描述标识相近的图像内容描述标识,将相似的图像内容描述标识所对应的商品提取出来,构成相应的初步商品推荐结果列表,该列表里的结果按照相似度进行排序。
该系统可获得图像中不同目标的有效语义特征,共同组成对图中目标的语义描述(商品类别、品牌、商家等),再利用该语义描述进行匹配和推荐。该系统克服了传统基于图像内容推荐方法只适合于单一目标的问题,能够对普通场景中多个目标进行检测和推荐。另外,该系统对图像中目标使用高语义层次的文本描述和普通的图像特征描述,并根据不同维度的相近关系将属于同一商品的目标描述进行聚合,进一步改善了推荐结果的效果。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。