一种图像搜索方法、服务器及存储介质与流程

文档序号:15686614发布日期:2018-10-16 21:07阅读:210来源:国知局

本申请涉及计算机技术领域,特别涉及一种图像搜索方法、服务器及存储介质。



背景技术:

目前,图像已成为人们记录和分享信息的主要方式。随着网络技术的发展,越来越多的用户将图像作为查询入口进行图像搜索。例如,用户可以对商品a进行拍照,以获取商品a的图像,并可以将商品a的图像作为查询入口,搜索与商品a相类似的商品的图像。

现有技术中,一般基于图像数据库,对标的图像进行搜索。具体过程通常如下:

获取图像数据库中每个图像的特征,其中,所述特征可以包括图像的语义特征和视觉特征;接收包含标的图像的搜索请求;获取所述标的图像的特征;计算所述图像数据库中每个图像的特征与所述标的图像的特征的相似度;按照相似度从大到小的顺序将所述图像数据库中的图像反馈给用户。

在实现本申请过程中,发明人发现现有技术中至少存在如下问题:

上述现有技术中,在进行图像搜索时,往往会将一个网站平台的图像数据库作为一个整体与标的图像进行匹配搜索,导致硬件设备的运算负荷非常大,而且花费较长时间。



技术实现要素:

本申请实施方式的目的是提供一种图像搜索方法、服务器和存储介质,以提高图像搜索的效率。

为实现上述目的,本申请实施方式提供一种图像搜索方法,提供分类体系,所述分类体系包括至少二个叶子节点和至少一个根节点;每个所述根节点从属有至少二个所述叶子节点;每个所述叶子节点对应一个图像集;所述图像集包括至少一个图像;所述方法包括:获取标的图像的图像特征信息;根据所述图像特征信息,确定所述标的图像在所述分类体系中,从所述根节点至叶子节点的分类路径;所述分类路径指向所述标的图像对应的图像集;在所述分类路径指向的图像集中搜索得到目标图像。

本申请实施方式还提供一种服务器,包括:存储器,用于存储分类体系,所述分类体系包括至少一个叶子节点和至少一个根节点;所述根节点从属有至少一个所述叶子节点;每个所述叶子节点对应一个图像集;所述产品图像集包括至少一个图像;处理器,用于获取标的图像的图像特征信息;根据所述图像特征信息,确定所述标的图像在所述分类体系中,从所述根节点至叶子节点的分类路径,所述分类路径指向所述标的图像对应的图像集;在所述分类路径指向的图像集中搜索得到目标图像。

本申请实施方式还提供一种计算机指令存储介质,所述计算机存储介质存储有程序指令,所述程序指令在被执行时实现:获取标的图像的图像特征信息;根据所述图像特征信息,确定所述标的图像在分类体系中,从根节点至叶子节点的分类路径;所述分类路径指向所述标的图像对应的图像集;其中,所述分类体系包括至少一个叶子节点和至少一个根节点;所述根节点从属有至少一个所述叶子节点;每个所述叶子节点对应一个图像集;所述产品图像集包括至少一个图像;在所述分类路径指向的图像集中搜索得到目标图像。

由以上本申请实施方式提供的技术方案可见,本申请实施方式通过针对业务平台中的图像设置分类体系,在接收到图像搜索请求时,首先确定标的图像在分类体系中的分类路径,得到分类路径指向的图像集,进而在该图像集中进行图像搜索。实现逐层级清晰明确的图像搜索的范围,避免了将标的图像在业务平台的全部图像中搜索。减小了业务平台的工作负荷,并且可以得到较为准确的搜索结果。

附图说明

为了更清楚地说明本申请实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施方式提供的一种分类体系中类别层级的示意图;

图2为本申请实施方式提供的一种分类体系中分类器层级的示意图;

图3为本申请实施方式提供的一种分类体系的构建方法的流程示意图;

图4为本申请实施方式提供的一种图像搜索方法的流程示意图;

图5为本申请实施方式提供的一种确定图像的分类路径的示意图;

图6为本申请实施方式提供的一种图像搜索方法的流程示意图;

图7为本申请实施方式提供的一种图像搜索方法的流程示意图;

图8为本申请实施方式提供的一种图像搜索方法的流程示意图;

图9为本申请实施方式提供的一种服务器的功能示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都应当属于本申请保护的范围。

请一并参阅图1和图2。本申请实施方式提供一个分类体系。所述分类体系可以包括至少二个叶子节点和至少一个根节点;每个所述根节点可以从属有至少二个所述叶子节点;每个所述叶子节点对应一个图像集;所述图像集包括至少一个图像。

在本实施方式中,所述分类体系可以应用于业务平台中。业务平台中的图像可以依照所述分类体系分别存储。业务平台可以是提供购物的网络平台。具体的,例如,业务平台可以是淘宝、京东、亚马逊、当当、ebay等。

在本实施方式中,可以在业务平台的图像中,表示相同或相似产品的图像聚合为一个图像集。使得业务平台的图像可以被聚合成多个图像集。相近似可以理解为图像表示的产品具有接近的款式、适用于同一个细分人群、或者具有相同或近似的名称等。

在本实施方式中,每个图像集可以对应一个叶子节点,使得聚合每个图像集的聚合规则,构成了对应的叶子节点的叶子节点聚合规则。每个叶子节点可以具有叶子节点名称,如此便于区分不同的叶子节点,也便于区分不同的图像集。叶子节点名称可以是图像集中图像表示产品的较为重要的共性。具体的,例如,将业务平台中涉及男t恤、女t恤、童t恤、裁缝剪刀、厨房剪刀的图像,分别聚合形成对应的多个图像集。相应的,男t恤、女t恤、童t恤、裁缝剪刀、厨房剪刀等,可以分别作为相应图像集对应的叶子节点名称。

在本实施方式中,叶子节点可以具有描述信息,该描述信息用于表达该叶子节点的图像集中图像的共性特征。进一步的,该描述信息也可以为叶子节点聚合规则的一部分。可以根据图像是否符合叶子节点的描述信息,实现将图像划分至一个叶子节点的图像集中。具体的,例如,裁缝剪刀的描述信息可以为“剪刀、主要用于剪裁布料、锋利”,厨房剪刀的描述信息可以为“剪刀、多功能、不生锈”。

在本实施方式中,根节点可以基于叶子节点生成。即对应根节点设置有根节点聚合规则依照根节点的根节点聚合规则对叶子节点进行聚合处理,实现根节点具有叶子节点。通常,一个根节点具有至少二个叶子节点。进而,根节点可对应的图像集为其叶子节点的图像集。根节点的根节点聚合规则可以根据叶子节点的叶子节点名称,或者叶子节点的描述信息,或者叶子节点的聚合规则,对叶子节点进行聚合。

在本实施方式中,分类体系可以是层级化的类别。每个类别可以作为一个节点,在节点之间可以具有从属关系。处于从属地位的节点和被从属的节点之间便构成了层级。具有从属节点且不从属于其它节点的节点可以作为根节点。没有从属节点的的节点可以作为叶子节点。

在本实施方式中,根节点可以包括一级根节点和二级根节点。根据叶子节点聚合为二级根节点,再根据二级根节点进行聚合生成一级根节点。二级根节点可以是商品品类,其为将具有一定共性的叶子节点聚合形成。具体的,例如,将名称为男t恤、女t恤、童t恤的叶子节点聚合为名称为t恤的二级根节点,t恤可以为该二级根节点的根节点名称。一级根节点可以是根据二级根节点进一步归纳共性得到。具体的,例如,名称为t恤、风衣的二级根节点,可以被聚合为名称为上衣的一级根节点。一级根节点可以是具有从属节点且不从属于其它节点的节点。二级根节点可以是具有从属节点,也从属于其它节点的节点。

在本实施方式中,一个节点表示的类别是另一个节点表示的类别的上位表达,如此在该两个节点之间构成从属关系。处于上位表达的节点作为被从属节点,另一个节点可以为从属节点。根节点表达的类别构成子节点表达的类别的上位表达,便可以在一级根节点和二级跟节点之间形成从属关系。具体的,例如,“上衣”一级根节点与“风衣”二级根子节点之间,“风衣”是“上衣”的下位概念,即“上衣”是“风衣”的上位概念,使得“上衣”构成“风衣”的上位表达。“上衣”一级根节点和“风衣”二级根节点之间形成从属关系,“风衣”二级根节点从属于“上衣”一级根节点。

在本实施方式中,可以根据每个根节点以及相应叶子节点的聚合规则,并结合函数算法形成分类器。每个根节点均可以对应一个分类器。一级根节点的分类器可以输出图像对应的二级根节点。二级根节点的分类器可以用于输出图像对应的叶子节点。还可以设置一个根分类器,用于输出与图像对应的一级根节点。在本实施方式中,分类器的主要算法可以包括卷积神经网络、循环神经网络、深度神经网络、gbdt(迭代决策树算法,gradientboostingdecisiontree)、强化学习算法等等,不再列举赘述。

在本实施方式中,根节点也可以仅仅包括一级根节点和叶子节点。如此,便形成了由一个层级的根节点和叶子节点形成的二层分类体系。当然,分类体系也可以包括一级根节点、二级根节点和叶子节点组成的三层分类体系。当然,分类体系的层级还可以为三层以上,在此不再赘述。

请一并参阅图1、图2和图3,本申请实施方式还提供一种分类体系的构建方法可以包括以下步骤。

步骤s11:提供设定数量的叶子节点,每个所述叶子节点对应有图像集。

在本实施方式中,可以将业务平台中的图像,基于设定的聚合算法,聚合成不同的图像集,每个图像集的聚合规则或名称构成一个叶子节点。或者,可以接收由外部输入指定的叶子节点。每个叶子节点的名称可以表征对应图像集中的图像表达的内容。具体的,例如,“男t恤”叶子节点、“女t恤”叶子节点、“童t恤”叶子节点、“裁缝剪刀”叶子节点、“厨房剪刀”叶子节点等。

步骤s13:将语义相近的叶子节点聚合成二级根节点。

在本实施方式中,可以根据语义分析的算法,得出语义相近的叶子节点。也可以为由外部输入指定的二级根节点,并由外部输入指定从属于二级根节点的叶子节点。具体的,例如,“男t恤”叶子节点、“女t恤”叶子节点和“童t恤”叶子节点等,聚合成“t恤”二级根节点。

步骤s15:根据用途可以将二级根节点聚合得到一级根节点,以形成包括一级根节点、二级根节点和叶子节点的分类体系。

在本实施方式中,可以将用途基本相同的二级根节点,分别聚合得到多个一级根节点。具体的,例如,“t恤”二级根节点和“风衣”二级根节点都是人着装的上衣,因此聚合成为“上衣”一级根节点。

步骤s16:提供每个根节点对应的初级分类器,以及提供初级根分类器。

在本实施方式中,可以根据卷积神经网络、循环神经网络、深度神经网络、gbdt(迭代决策树算法,gradientboostingdecisiontree)、强化学习算法等等,构建每个根节点的初级分类器。

在本实施方式中,根节点对应的初级分类器和初级根分类器可以为基于算法构建的初级模型,需要进一步的训练调教精度后,输出正式的根节点的分类器和根分类器。正式的根节点的分类器和根分类器可以具有比所述初级分类器和所述初级根分类器更高的分类准确度。

在本实施方式中,每个根节点的初级分类器可以用于将样本图像划分至其从属的节点中。具体的,例如,“其它”节点分类器可以用于将表示裁缝剪刀的样本图像划分至“剪刀”二级根节点。

在本实施方式中,根分类器可以用于作为分类体系的入口。样本图像通过根分类器被划分至根节点。具体的,例如,根分类器将样本图像划分至一级根节点。

在本实施方式中,每个分类器对样本图像进行类别划分时,可以根据该样本图像输出具有从属关系的下一层级节点的打分,将打分最大的节点作为所述样本图像对应的类别。

步骤s17:根据叶子节点的图像集,提供样本图像;所述样本图像用于训练所述初级分类器。

在本实施方式中,可以从每个叶子节点的图像集中,都选择全部图像或一部分图像作为样本图像,如此使得全部的二级根节点和一级根节点的分类器,都可以得到分类训练。也可以从部分叶子节点的图像集中,选择部分图像作为样本图像,如此使得与被选择的叶子节点存在从属关系的根节点得到分类训练。

例如,为了对“水杯”这个一级根节点以及“男用水杯”这个二级根节点的分类器进行训练,可以使用“男用水杯”下所有叶子节点的图像集作为训练样本,包括“男用玻璃杯”、“男用茶杯”、“男用不锈钢杯”、“军用水壶”这些叶子节点(在此不进行穷举)的图像集。也可以使用以上叶子节点中的一部分叶子节点的一部分图像集作为训练样本。

步骤s18:将所述样本图像带入所述分类体系,以根据所述初级根分类器和根节点的分类器的输出,以及所述样本图像的实际分类情况,调整所述初级根分类器和根节点的分类器。

在本实施方式中,将样本图像带入初级根分类器得到被划分的一级根节点。判断初级根分类器输出的一级根节点,是否与样本图像实际从属的一级根节点是否相同。在发生不同时,可以调整初级根分类器的算法内容,比如运算参数等,以使得提升初级根分类器的分类准确度。具体的,例如,样本图像表示童t恤,带入初级根分类器后,输出的一级根节点打分为“上衣”一级根节点0.3分,“裙装”一级根节点0.4分,“其它”一级根节点0.1分。此时,初级根分类器输出的类别与样本图像的实际属于的类别不同,需要调整初级根分类器的参数,提升准确度。同理,针对根节点的初级分类器也可以采用上述的方式进行训练。

步骤s19:输出正式的根分类器和根节点的分类器。

在本实施方式中,在初级根分类器和根节点的初级分类器的分类准确度达到要求时,可以结束对初级根分类器和根节点的分类器的训练。

请参阅图4。本申请实施方式提供一种图像搜索方法。所述图像搜索方法应用于业务平台中,以提供搜索结果。所述图像搜索方法可以包括以下步骤。

步骤s10:获取标的图像的图像特征信息。

在本实施方式中,图像特征信息可以为根据指定算法从标的图像中提取的特征。图像特征信息可以表征图像,不同图像的图像特征信息不同。具体的,例如,可以通过神经网络或者gbdt算法提取标的图像的图像特征信息。

在本实施方式中,获取标的图像的图像特征信息的方式可以包括:接收客户端提供的标的图像,业务平台根据指定算法从标的图像中提取出图像特征信息。还可以为,接收到客户端提供的图像特征信息。即客户端可以提取标的图像的图像特征信息,并将图像特征信息提供给业务平台。

在本实施方式中,具体的,图像特征信息可以是一个具有多个图像特征值组成的表征向量。其中,表征向量中的每个图像特征值可以对应一个图像特征。即图像特征的具体取值可以为所述图像特征值。图像特征信息中包括多个图像特征值,可以理解为图像特征信息中包括多个维度的图像特征。具体的,例如,图像特征信息中的图像特征可以包括纹理、背景、造型、图案、品牌、颜色等等,不再赘述。从标的图像中从提取出该些图像特征的图像特征值,以形成表征向量。即形成所述图像特征信息。

步骤s12:根据所述图像特征信息,确定所述标的图像在所述分类体系中,从所述根节点至叶子节点方向的分类路径;所述分类路径指向所述标的图像对应的图像集。

在本实施方式中,通过确定标的图像对应于分类体系中的分类路径,进而实现确定标的图像对应的图像集。使得,进一步搜索得出的图像,与所述标的图像可以较为近似,提升了搜索的准确性。

在本实施方式中,采用从根节点至叶子节点的方向,逐层输出标的图像对应的根节点至叶子节点,从而可以将叶子节点对应的图像集作为分类路径指向的图像集。由于,根节点为基于叶子节点聚合生成,使得在分类体系中,将标的图像划分至不同的根节点时,对最终确定的叶子节点有较大影响。确定的根节点不同,最终确定的叶子节点也不相同。具体的,例如,以分类体系为三层级为例,可以将所述图像特征信息先带入根分类器,使得通过根分类器确定标的图像对应的一级根节点。例如,根分类器可以根据图像特征信息与每个一级根节点的聚合规则匹配,输出每个一级根节点的打分,将分值最大的一级根节点作为与所述标的图像对应的一级根节点。根分类器输出的打分,可以用于表示图像特征信息与一级根节点的聚合规则的匹配程度。根分类器输出的打分较高,表示匹配程度较高,打分较低,表示匹配程度较低。进一步的,将图像特征信息带入对应的一级根节点的分类器,该分类器可以根据图像特征信息和二级根节点的聚合规则匹配,对二级根节点进行打分,将分值最大的二级根节点作为与所述标的图像对应的二级根节点。同理,根据二级根节点得到标的图像对应的叶子节点。该“一级根节点-二级根节点-叶子节点”构成了标的图像的分类路径,指向叶子节点对应的图像集。当然,对于三层级以上的分类体系,分类路径并不限于从一级根节点至叶子节点,还可以为由至少二级根节点形成的分类路径。具体的,例如上述举例中,由“一级根节点-二级根节点”形成该分类路径。该分类路径指向的图像集可以为二级根节点的叶子节点的图像集的总和。

步骤s14:在所述分类路径指向的图像集中搜索得到目标图像。

在本实施方式中,可以基于图像搜索算法,将标的图像的图像特征信息在分类路径指向的图像集中搜索。具体的,可以在图像集中搜索与标的图像相同的图像。或者,在图像集中搜索与标的图像之间具有某种相同特征的图像。将搜索得到的图像作为目标图像。目标图像可以用于提供给客户端显示。

在本实施方式中,进行图像搜索使用的算法可以包括:基于纹理特征算法、bof算法(bagoffeatures)、ftrl算法(follow-the-regularized-leader)、lr算法(logisticregression)、wdl算法(wide&deeplearning)、强化学习算法(reinforcementlearning)等。在此不再列举赘述。

本申请实施方式,通过针对业务平台中的图像设置分类体系,在接收到图像搜索请求时,首先确定标的图像在分类体系中的分类路径,得到分类路径指向的图像集,进而在该图像集中进行图像搜索。实现逐层级清晰明确的图像搜索的路径,缩小了需要进行图像搜索的范围,避免了将标的图像在业务平台的全部图像中搜索,提高检索效率,减小了业务平台的工作负荷,并且可以得到较为准确的搜索结果。其次,通过在与叶子类目对应的图像集中查找,可以保证结果集中的目标图像与叶子类目的信息是一致的,例如,在叶子类目“男t恤”所对应的图像集(多种男用t恤类产品的图像集合)中进行的搜索,得到的搜索结果将会是男用t恤,不会出现商品种类上的偏差。

请参阅图5。在一个具体的场景示例中,提供三层级分类体系,一级根节点包括箱包、鞋子、零食。属于“箱包”的二级根节点为旅行箱、背包。属于“鞋子”的二级根节点包括运动鞋、休闲鞋。属于“零食”的二级根节点包括糖果、饼干。属于“旅行箱”的叶子节点包括硬质旅行箱、软质旅行箱。属于“背包”的叶子节点包括帆布包和皮包。属于“运动鞋”的叶子结点包括跑步鞋和足球鞋。属于“休闲鞋”的叶子节点包括帆布鞋和休闲皮鞋。属于“糖果”的叶子节点包括水果糖和奶糖。属于“饼干”的叶子节点包括曲奇和蛋卷。

在本场景示例中,可以基于卷积神经网络算法构建分类体系的根分类器、一级根节点分类器、二级根节点分类器。

在本场景示例中,业务平台接收到客户端发出的图像搜索请求,图像搜索请求中附带有标的图像。业务平台根据卷积神经网络算法,识别所述图像的图像特征信息。得到的图像特征信息包括:旅行箱、黑色、帆布、万向轮。

在本场景示例中,将图像特征信息带入根分类器,使得根分类器输出的对应各一级根节点的打分分值分别为,“箱包”一级根节点1分,“鞋子”一级根节点0分,“零食”一级根节点0分。从而确定的一级目标根节点为“箱包”一级根节点。进一步的,将该图像特征信息带入“箱包”二级根节点的分类器,输出的二级根节点打分分值分别为,“旅行箱”二级根节点0.9分,“背包”二级根节点0.1分,确定“旅行箱”二级根节点为二级目标根节点。将该图像特征信息带入“旅行箱”二级根节点的分类器,输出的叶子节点打分分值分别为,“硬质旅行箱”叶子节点0.3分,“软质旅行箱”叶子节点0.6分,确定目标叶子节点为“软质旅行箱”叶子节点。由以上可得,标的图像对应的分类路径为“箱包-旅行箱-软质旅行箱”,该分类路径指向“软质旅行箱”叶子节点的图像集。可以基于卷积神经网络算法,使用标的图像的图像特征信息在分类路径指向的图像集中搜索得到目标图像。

在本场景示例中,可以将目标图像发送给发出图像搜索请求的客户端,以使得该客户端显示搜索结果。进一步的,发送给客户端的数据中,还可以包括目标图像表示的产品的产品信息,如此便于使用者浏览目标图像时,可以结合文字表达的产品信息,便于使用者快速了解产品。

请参阅图6。在一个实施方式中,在获取标的图像的图像特征信息的步骤中可以包括以下步骤。

步骤s20:接收客户端发出的图像搜索请求,所述图像搜索请求附带有标的图像。

步骤s22:识别所述标的图像的图像特征信息;所述图像特征信息用于表征所述标的图像。

在本实施方式中,业务平台可以响应于客户端的请求,进行图像搜索。客户端可以为具有显示、运算和网络访问功能的电子设备。具体的,例如,客户端可以为台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、具有网络访问功能的电视机。或者,客户端也可以为能够运行于上述电子设备中的软体。具体的,例如,客户端可以为购物网站平台提供访问入口,例如当当网站、京东网站、亚马逊网站等;客户端还可以为购物网站平台提供的在智能手机中运行的应用。例如,手机当当、手机京东、手机亚马逊等。

在本实施方式中,接收图像搜索请求,可以为通信端子接收到客户端依照网络通信协议发出的网络通信请求,该网络通信请求指向业务平台对图像的搜索功能。网络通信协议可以包括但不限于http、tcp/ip、ftp等协议。在本实施方式中,图像搜索请求中附带有标的图像,以使得业务平台可以进一步根据该标的图像进行搜索工作,以搜索得到与标的图像相关的图像。

在本实施方式中,识别所述标的图像的图像特征信息的算法,可以包括但不限于:神经网络算法、深度学习算法、逻辑回归算法等,再此不再赘述。

在本实施方式中,生成的图像特征信息可以用于表征标的图像。图像特征信息为基于标的图像本身的内容生成,使得图像特征信息与标的图像之间存在对应关系。图像特征信息可以包括标的图像多个维度的信息,比如纹理、背景、造型、图案、品牌、颜色等等。

在本实施方式中,所述图像搜索方法还可以包括:将所述目标图像发送给所述客户端。如此,以便于客户端显示目标图像。发送的方式可以为基于网络通信协议,例如http、tcp/ip、ftp等。

在一个实施方式中,在获取标的图像的图像特征信息的步骤中可以包括:接收客户端发出的图像搜索请求,所述图像搜索请求附带有图像特征信息;所述图像特征信息能表征标的图像。

在本实施方式中,业务平台接收到的图像搜索请求中,已经携带有图像特征信息。如此业务平台根据该图像特征信息进一步确定分类路径,进而进行图像搜索即可。如此可以减少了业务平台识别图像特征信息的业务量,减少业务平台的工作负荷。

请参阅图7,在一个实施方式中,所述根节点可以包括一级根节点和从属于所述一级根节点的二级根节点;所述二级根节点从属有叶子节点。在确定分类路径的步骤中可以包括以下步骤。

步骤s21:根据所述图像特征信息,在所述一级根节点中确定一级目标根节点。

步骤s23:根据所述图像特征信息,在所述一级目标根节点对应的二级根节点中确定二级目标根节点,以使所述一级目标根节点和所述二级目标根节点形成所述分类路径;所述分类路径指向的图像集为所述二级目标根节点的叶子节点的图像集的总和。

在本实施方式中,一级目标根节点和二级目标根节点组成了分类路径。通过先确定一级目标根节点,再确定二级目标根节点,实现逐层级对标的图像进行分类。在每个层级进行分类时,具有每个层级固有的特征因素,从而使得整体运行较为高效且准确。具体的,例如,分类体系为三层级结构。标的图像可以是一个风衣。将该标的图像提供给根分类器时,根分类器可以根据对一级根节点的打分,确定标的图像对应的一级目标根节点为“上衣”。一级根节点“上衣”的分类器可以通过对二级根节点的打分,确定标的图像对应的二级目标根节点为“风衣”。“风衣”二级根节点的叶子节点可以包括“女士风衣”叶子节点和“男士风衣”叶子节点。分类路径“上衣-风衣”指向的图像集可以包括“女士风衣”叶子节点和“男式风衣”叶子节点对应的图像集的总和。进一步的,可以针对二级根节点设置有阈值,当一级根节点对二级根节点的打分大于所述阈值时,便可以停止对标的图像进一步分类至叶子节点。当一级根节点对二级根节点的打分小于所述阈值时,二级根节点的分类器进一步将标的图像分类至叶子节点。如此可以实现,针对不同的打分情况,指定不同的分类路径,而指向不同的图像集。

请参阅图8。在一个实施方式中,在确定分类路径的步骤中可以包括以下步骤。

步骤s30:根据所述图像特征信息,在所述分类体系中的至少一个根节点中确定目标根节点。

步骤s32:根据所述图像特征信息,在所述目标根节点对应的叶子节点中确定目标叶子节点,以使所述目标根节点和所述目标叶子节点形成所述分类路径。

在本实施方式中,目标根节点和目标叶子节点组成了分类路径。通过先确定目标根节点,再确定目标叶子节点,实现逐层级对标的图像进行分类。在每个层级进行分类时,具有每个层级固有的特征因素,从而使得整体运行较为高效且准确。具体的,例如,分类体系为三层级结构。标的图像可以是一个厨房剪刀。将该标的图像提供给根分类器时,根分类器可以判断标的图像表示的物品是否为上衣、裙装、电脑……等物品,在不属于前述物品时,将标的图像对应的一级目标根节点为“其它”。“其它”一级根节点的分类器可以通过图像的识别判断标的图像是剪刀,而不是乐器等,确定标的图像的二级根节点为“剪刀”。“剪刀”二级根节点的分类器,可以根据标的图像中剪刀的形状、功能特征等进一步判断标的图像中剪刀为厨房剪刀。裁缝剪刀的形状,其把手部分多为一个小圈和一个大圈两个不同形状的把手,而厨房剪刀多为较为对称的把手,但具又多功能结构特征,比如锯齿状的夹具功能、或者开瓶器的功能等等。通过上述具体示例描述,也可以得出,从根节点至叶子节点,具体分类依据的图像特征信息越来越注重标的图像的细节。

在一个实施方式中,对应每个所述根节点提供有聚合规则;不同的所述根节点对应的聚合规则不同;在确定目标根节点的步骤中可以包括:确定所述图像特征信息符合的聚合规则,所述聚合规则对应的根节点是所述目标根节点。

在本实施方式中,在建立分类体系时,针对每个根节点设置有相应的聚合规则,该聚合规则可以用于判断标的图像是否属于该根节点。在确定标的图像的分类路径的过程中,也可以认为将将标的图像划分至某一个叶子节点的图像集的过程。即标的图像符合根节点的聚合规则,才会被划分至该根节点下属叶子节点的图像集中。

在本实施方式中,根节点的聚合规则可以包括根节点下属的叶子节点的共性特征。使得叶子节点可以从属于一个根节点。具体的,例如,“裁缝剪刀”叶子节点、“厨房剪刀”叶子节点、“儿童安全剪刀”叶子节点等,该些叶子节点的共性在于均是剪刀,所以可以将关于剪刀的叶子节点,聚合在一起形成“剪刀”根节点。如此,通过不同的聚合规则形成不同的根节点,同理,不同的根节点对应的聚合规则也不同。

在本实施方式中,针对不同层级结构的分类体系,目标根节点包括的内容可以不同。针对二个层级的分类体系,即一个层级的根节点和一个层级叶子节点,在根节点的层级中,确认目标根节点。针对三个或以上层级的分类体系中,从一级根节点至叶子节点之间,可以有多个层级。例如三层级分类体系,具有一级根节点和二级根节点。可以在每个根节点层级确认一个目标根节点。

在本实施方式中,具体的,根分类器将标的图像分类至根节点的过程中,可以将标的图像的图像特征信息与每个根节点的聚合规则进行匹配,根据图像特征信息与聚合规则的匹配情况,对每个根节点进行打分,将分值最大的根节点作为目标根节点。

在一个实施方式中,对应每个所述叶子节点提供有子聚合规则;所述叶子节点对应的产品图像集中的产品图像符合所述叶子节点对应的子聚合规则;在确定目标叶子节点的步骤中可以包括:在所述目标根节点包括的叶子节点对应的子聚合规则中,确定所述图像特征信息符合的子聚合规则,所述子聚合规则对应的叶子节点是目标叶子节点。

在本实施方式中,在建立分类体系时,针对每个叶子节点设置有相应的子聚合规则,该子聚合规则可以用于判断标的图像是否属于该叶子节点。在确定标的图像的分类路径的过程中,也可以认为将将标的图像划分至某一个叶子节点的图像集的过程。即标的图像符合叶子节点的子聚合规则,才会被划分至该叶子节点的图像集中。

在本实施方式中,叶子节点的子聚合规则可以包括图像集中图像的共性特征。具体的,例如,多个图像的内容都表示男士t恤衫,但具体的颜色和图案有区别。由于这些图像均为男士t恤衫,使得男士t恤衫构成了这些图像的共性特征,可以被聚合为“男t恤”叶子节点。

在本实施方式中,具体的,根分类器将标的图像分类至叶子节点的过程中,可以将标的图像的图像特征信息与每个叶子节点的子聚合规则进行匹配,根据图像特征信息与子聚合规则的匹配情况,对每个叶子节点进行打分,将分值最大的叶子节点作为目标叶子节点。

在一个实施方式中,不同所述叶子节点对应的图像集之间可以没有交集。在本实施方式中,业务平台中的图像可以只被聚合到一个图像集。即,当一个图像被聚合到一个图像集中之后,其不会在被聚合到其它的图像集。具体的,例如,在聚合形成图像集的过程中,可以将图像与不同图像集的子聚合规则进行匹配,得到图像与每个图像集的子聚合规则的打分,将图像划分至分值最大的图像集。如此,形成的图像集之间可以没有交集,使得每个叶子节点对应的图像集归类较为清晰,进行图像搜索时的结果更加准确。

在一个实施方式中,所述图像集中的图像为产品图像;同一个图像集中的图像所描述的产品相同或相近似。

在本实施方式中,产品可以包括商品和服务。商品可以具有一定的空间形态。服务可以是一种抽象意义的商品。具体的,例如,商品可以包括鼠标、衣服、汽车等实际物体。服务可以包括维修、干洗、家政等抽象意义上的商品。

在本实施方式中,图像集是依照叶子节点的子聚合规则进行聚合得到,使得图像集中的产品图像具有一定的共同性,使得同一个图像集中的图像描述的产品相同或相似。进一步的,图像所描述的产品相同,可以为图像中的产品是相同的产品。或者,相同产品从不同角度生成的图像。图像所描述的产品相近似,可以为凸显各种的产品应用于同一个领域,具有相同或接近的功能,但在商品外形,或者服务的介绍或表达上,存在一定的差别。

在一个实施方式中,所述图像搜索方法还可以包括将所述目标图像表示的产品的产品信息发送给所述客户端。

在本实施方式中,产品信息可以为文本信息,该文本信息用于介绍所述产品。具体的,例如,业务平台可以是提供网络购物的平台。针对业务平台中的产品设置有标题或者摘要信息。在本实施方式中,将产品的产品信息发送给客户端,以便于客户端展示目标图像时,可以展示所述文本信息更好的让使用者了解每个图像表示的产品。

在一个实施方式中,提供根分类器和对应每个所述根节点的分类器;所述根分类器用于根据所述图像特征信息将所述标的图像划分至根节点;所述根节点的分类器用于根据所述图像特征信息将所述标的图像划分至下一层级的节点。

在本实施方式中,根节点的下一层级的节点可以包括:在二层级分类体系中,根节点的下一层级为叶子节点。在三层级以上分类体系中,一级根节点的下一层级为二级根节点,二级根节点的下一层级可以为叶子节点,也可以为处于该二级根节点与叶子节点之间的二级根节点。即二级根节点的层级可以为多个。

在一个实施方式中,所述根节点包括一级根节点和二级根节点,所述根分类器用于根据所述图像特征信息对每个所述一级根节点打分,将打分最高的一级根节点确定为一级目标根节点;所述一级目标根节点的分类器用于根据所述图像特征信息对该一级目标根节点从属的二级目标根节点打分,将打分最高的二级根节点确定为二级目标根节点;所述二级目标根节点的分类器用于根据所述图像特征信息对该二级目标根节点从属的叶子节点进行打分,将打分最高的确定为目标叶子节点;所述一级目标根节点、所述二级目标根节点和所述目标叶子节点构成所述分类路径。

在本实施方式中,根分类器和根节点的分类器所基于的算法可以包括:卷积神经网络、循环神经网络、深度神经网络、gbdt(迭代决策树算法,gradientboostingdecisiontree)、强化学习算法等等。具体的,例如,将图像特征信息带入根分类器,使得根分类器输出的对应各一级根节点的打分分值分别为,“箱包”一级根节点1分,“鞋子”一级根节点0分,“零食”一级根节点0分。从而确定的一级目标根节点为“箱包”一级根节点。进一步的,将该图像特征信息带入“箱包”二级根节点的分类器,输出的二级根节点打分分值分别为,“旅行箱”二级根节点0.9分,“背包”二级根节点0.1分,确定“旅行箱”二级根节点为二级目标根节点。将该图像特征信息带入“旅行箱”二级根节点的分类器,输出的叶子节点打分分值分别为,“硬质旅行箱”叶子节点0.3分,“软质旅行箱”叶子节点0.6分,确定目标叶子节点为“软质旅行箱”叶子节点。由以上可得,标的图像对应的分类路径为“箱包-旅行箱-软质旅行箱”,该分类路径指向“软质旅行箱”叶子节点的图像集。

请参阅图9,本申请实施方式还提供一种服务器。所述服务器可以包括存储器和处理器。

存储器,用于存储分类体系,所述分类体系包括至少一个叶子节点和至少一个根节点;所述根节点从属有至少一个所述叶子节点;每个所述叶子节点对应一个图像集;所述产品图像集包括至少一个图像。

处理器,用于获取标的图像的图像特征信息;根据所述图像特征信息,确定所述标的图像在所述分类体系中,从所述根节点至叶子节点的分类路径,所述分类路径指向所述标的图像对应的图像集;在所述分类路径指向的图像集中搜索得到目标图像。

在本实施方式中,所述处理器可以按任何适当的方式实现。例如,所述处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式等等。存储器也可以按照任何适当的实现方式。例如,磁性存储器、数字存储器、rom/ram、磁碟、光盘等等。

本申请实施方式方式提供的服务器,其处理器和存储器实现的具体功能,可以与本申请中的前述实施方式方式相对照解释。

本申请实施方式还提供一种计算机存储介质,所述计算机存储介质存储有程序指令,所述程序指令在被执行时实现:获取标的图像的图像特征信息;根据所述图像特征信息,确定所述标的图像在分类体系中,从根节点至叶子节点的分类路径,所述分类路径指向所述标的图像对应的图像集,其中,所述分类体系包括至少一个叶子节点和至少一个根节点,所述根节点从属有至少一个所述叶子节点,每个所述叶子节点对应一个图像集,所述产品图像集包括至少一个图像;在所述分类路径指向的图像集中搜索得到目标图像。

在本实施方式中,计算机存储介质本身可以为适当的时限方式。具体的,例如,计算机存储介质包括但不限于:磁性存储器、数字存储器、rom/ram、磁碟、光盘等等。

本申请实施方式提供的计算机存储介质,其存储的程序指令实现的具体功能,可以与本申请中的前述实施方式相对照解释。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。尤其,对于服务器和计算机存储介质实施方式而言,由于其基本相似于方法实施方式,所以描述的比较简单,相关之处参见方法实施方式的部分说明即可。

可以理解,所属领域技术人员在阅读本申请文件之后,可以无需创造性劳动想到本申请文件中列举的部分或全部实施方式之间可以组合,这些组合也在本申请公开和保护的范围内。

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。

本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。

上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。

通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施方式或者实施方式的某些部分所述的方法。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

虽然通过实施方式描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

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