图像标签的推荐方法、装置及电子设备与流程

文档序号:19738381发布日期:2020-01-18 04:49阅读:272来源:国知局
图像标签的推荐方法、装置及电子设备与流程

本发明涉及图像处理技术领域,尤其是涉及一种图像标签的推荐方法、装置及电子设备。



背景技术:

随着互联网的高速发展,越来越多的图像分享软件/网站等图像分享平台受到广大用户欢迎。图像分享平台可以通过图像标签推荐技术为用户推荐图像候选标签(又可称为语义关键字,用于对图像语义信息进行描述),用户从推荐的候选标签中选择所需的标签并标注至图像中,以使分享的图像易被其他用户发现。

现有的图像标签推荐技术主要通过以下两种方式实现:方式一,基于用户输入的标签进行推荐:利用标签间的共性信息,将与用户输入的标签相似度高的标签推荐给用户,但是这种方式通常存在标签歧义和标签冗余等问题,且无法灵活地结合图像中的其他元素推荐标签,而且难以在用户新上传图像时就给出标签建议,导致用户体验较差;方式二,结合图像的语义信息推荐标签:利用手动设计和选择的特征提取算法提取图像中的语义特征,进而基于提取的语义特征为用户推荐标签,标签推荐效果直接依赖于特征提取算法,而特征提取算法设计难度较大,还需要结合人的先验知识及直观感受,往往需要人工投入大量的时间研究和调整,增加了标签推荐的开发难度。综上所述,现有的图像标签推荐技术不佳。



技术实现要素:

有鉴于此,本发明的目的在于提供一种图像标签的推荐方法、装置及电子设备,可以有效改善现有的图像标签推荐技术,在降低标签推荐难度的同时也能够较好地提升用户体验。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种图像标签的推荐方法,包括:获取待推荐标签的目标图像;对所述目标图像进行特征提取,得到所述目标图像的特征向量;基于所述目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定所述目标图像对应的目标图像类簇;其中,每个所述图像类簇中均包含有多张库存图像,每张所述库存图像都标注有至少一个标签;同一个所述图像类簇中的库存图像之间的特征相似度大于不同所述图像类簇中的库存图像之间的特征相似度;基于所述目标图像类簇的库存图像包含的每种标签的出现频率,确定所述目标图像的推荐标签。

在一种实施方式中,对所述目标图像进行特征提取,得到所述目标图像的特征向量的步骤,包括:通过预先训练得到的神经网络对所述目标图像进行高层语义特征提取,得到所述目标图像的特征向量;所述神经网络包括vgg16网络。

在一种实施方式中,所述图像类簇是基于如下步骤得到的:获取多张标注有至少一个标签的库存图像;对所述库存图像进行特征提取,得到所述库存图像的特征向量;采用聚类算法对所述库存图像的特征向量进行迭代聚类处理,得到迭代收敛时的多个图像类簇;所述聚类算法包括k均值聚类算法或小批量k均值聚类算法。

在一种实施方式中,得到所述图像类簇的步骤之后,所述方法还包括:统计并保存每个所述图像类簇包含的库存图像所标注的每种标签的出现频率。

在一种实施方式中,基于所述目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定所述目标图像对应的目标图像类簇的步骤,包括:获取由聚类算法预先得到的多个图像类簇的聚类中心;计算所述目标图像的特征向量与每个所述图像类簇的聚类中心之间的特征相似度;将计算得到的特征相似度最高的聚类中心对应的图像类簇确定为所述目标图像对应的目标图像类簇。

在一种实施方式中,基于所述目标图像类簇的库存图像包含的每种标签的出现频率,确定所述目标图像的推荐标签的步骤,包括:基于所述目标图像类簇的库存图像包含的每种标签的出现频率,对所述目标图像类簇中的每种标签排序;基于排序结果,从出现频率最高的标签开始,依次选择预设数量的标签作为所述目标图像的推荐标签。

在一种实施方式中,所述方法还包括:基于所述推荐标签对所述目标图像进行标注;或者,展示所述推荐标签供用户选择,将用户选择的推荐标签标注于所述目标图像。

在一种实施方式中,所述方法还包括:当库存图像更新时,更新所述图像类簇。

第二方面,本发明实施例提供了一种图像标签的推荐装置,包括:图像获取模块,用于获取待推荐标签的目标图像;特征提取模块,用于对所述目标图像进行特征提取,得到所述目标图像的特征向量;类簇确定模块,用于基于所述目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定所述目标图像对应的目标图像类簇;其中,每个所述图像类簇中均包含有多张库存图像,每张所述库存图像都标注有至少一个标签;同一个所述图像类簇中的库存图像之间的特征相似度大于不同所述图像类簇中的库存图像之间的特征相似度;标签确定模块,用于基于所述目标图像类簇的库存图像包含的每种标签的出现频率,确定所述目标图像的推荐标签。

第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器;所述存储器上存储有计算机程序,所述计算机程序在被所述处理器运行时执行如第一方面提供的任一项所述的方法。

第四方面,本发明实施例提供了一种计算机存储介质,用于储存为第一方面提供的任一项所述方法所用的计算机软件指令。

本发明实施例提供了一种图像标签的推荐方法、装置及电子设备,能够对获取到的待推荐标签的目标图像进行特征提取,得到目标图像的特征向量,并基于特征向量和由聚类算法预先得到的多个图像类簇(包含有多张标注有至少一个标签的库存图像,且同一图像类簇中的库存图像之间的特征相似度大于不同图像类簇中的库存图像之前的特征相似度),确定目标图像对应的目标图像类簇,基于目标图像类簇的库存图像包含的每种标签的出现频率确定目标图像的推荐标签。由于聚类算法得到的图像类簇中包含特征相似的多张库存图像,基于目标图像的特征向量从多个图像类簇中确定出与其对应的目标图像类簇,从而基于目标图像类簇的库存图像包含的每种标签的出现频率为目标图像推荐标签,也即可以基于与目标图像相似的多张库存图像的标签出现频率为目标图像推荐标签,一方面无需基于用户输入的标签进行推荐,避免了标签歧义、冗余等问题,并可以在用户新上传时即可给出标签建议,较好地提升了用户体验,在另一方面也无需人工投入较多时间精力设计特征提取算法,有效降低了标签推荐的开发难度。因此,本发明实施例可以有效改善现有的图像标签推荐技术,在降低标签推荐难度的同时也能够较好地提升用户体验。

本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1示出了本发明实施例所提供的一种图像标签的推荐方法的流程示意图;

图2示出了本发明实施例所提供的一种图像标签系统的构建方法的流程示意图;

图3示出了本发明实施例所提供的一种图像标签系统的应用示意图;

图4示出了本发明实施例所提供的另一种图像标签的推荐方法的流程示意图;

图5示出了本发明实施例所提供的一种图像标签的推荐装置的结构示意图;

图6示出了本发明实施例所提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前,图像分享平台通常会为用户提供设置语义关键字的功能,其中,语义关键字也可称之为图像标签,图像分享平台通过为图像标注语义关键字可以对图像进行分类和组织,从而使用户分享的图像易于被其他用户发现。现有的图像标签推荐技术可以根据用户上传的图像内容为用户提供相关的图像标签候选项,以快速地帮助用户为图像添加图像标签。然而现有的图像标签推荐技术不佳,基于此,本发明实施例提供了一种图像标签的推荐方法、装置及电子设备,该技术可应用于需要为图像添加标签的场景,诸如应用于图像分享软件、图像分享网站等平台,以下对本发明实施例进行详细介绍。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种图像标签的推荐方法进行详细介绍,参见图1所示的一种图像标签的推荐方法的流程示意图,该方法可以由电子设备执行,主要包括以下步骤s102至步骤s108:

步骤s102,获取待推荐标签的目标图像。

其中,目标图像可以是用户通过手机或相机等设备拍摄得到的图像,也可以是用户通过工具软件绘制得到的图像,还可以是用户通过网络下载得到的图像。在一种实施方式中,可以为用户提供上传目标图像的通道,由用户自行选择并上传需要添加标签的图像,将用户上传的图像作为待推荐标签的目标图像。

步骤s104,对目标图像进行特征提取,得到目标图像的特征向量。

其中,特征向量也即通过向量形式表示目标图像的特征。在一些实施方式中,可以将目标图像输入至预先训练好的神经网络中,以使神经网络针对输入的目标图像输出目标图像的特征向量,该神经网络可以是预先训练的cnn(convolutionalneuralnetwork,卷积神经网络),也可以是其它特征提取网络,在此不进行限制。在实际应用中,每张图像通过特征提取,可以得到对应的一个特征向量,该特征向量可以为一维向量,诸如为一个长度为14×14×512=100352的向量。

步骤s106,基于目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定目标图像对应的目标图像类簇。

其中,每个图像类簇中均包含有多张库存图像,每张库存图像都标注有至少一个标签,库存图像可以为图像分享平台的用户群历史分享的图像,也可以为图像数据库中存储的图像,库存图像上标注的标签可以表征该库存图像的语义特征,同一个图像类簇中的库存图像之间的特征相似度大于不同图像类簇中的库存图像之间的特征相似度,当然,也可以称为同一个图像类簇中的库存图像之间的特征相异度小于不同图像类簇中的库存图像之间的特征相异度。总之,同一个图像类簇中的库存图像是彼此相似的,不同图像类簇中的库存图像是不相似的。例如,图像类簇a中包含的库存图像均属于风景类,风景类库存图像a1的标签为“树”,风景类库存图像a2的标签为“树”和“山”;图像类簇b中包含的库存图像均属于食物类,食物类库存图像b1的标签为“面包”和“牛奶”,食物类库存图像b2的标签为“蛋糕”。另外,本发明实施例可以通过k均值聚类算法、均值漂移聚类算法、dbscan(density-basedspatialclusteringofapplicationswithnoise,基于密度的聚类)算法或最大期望聚类算法等聚类算法确定多个图像类簇。具体实现时,每个图像类簇对应有聚类中心,可以计算目标图像的特征向量与各图像类簇的聚类中心之间的特征相似度,并将特征相似度最高的聚类中心对应的图像类簇确定为目标图形对应的目标图像类簇。

步骤s108,基于目标图像类簇的库存图像包含的每种标签的出现频率,确定目标图像的推荐标签。

具体实现时,可以预先统计每个图像类簇的库存图像包含的每种标签的出现频率,当确定目标图像对应的目标图像类簇后,可直接获取该目标图像类簇中每种标签的出现频率,进而基于每种标签的出现频率确定目标图像的推荐标签。在一种实施方式中,可以将图像类簇中每种标签的出现频率按从高到低进行排序,从排位第一的标签开时依次选择预设数量的标签作为目标图像的推荐标签;在另一种实施方式中,还可以将出现频率大于预设阈值的一个或多个标签作为目标图像的推荐标签。

本发明实施例通过上述图像标签的推荐方法确定目标图像的推荐标签,由于聚类算法得到的图像类簇中包含特征相似的多张库存图像,基于目标图像的特征向量从多个图像类簇中确定出与其对应的目标图像类簇,从而基于目标图像类簇的库存图像包含的每种标签的出现频率为目标图像推荐标签,也即可以基于与目标图像相似的多张库存图像的标签出现频率为目标图像推荐标签,一方面无需基于用户输入的标签进行推荐,避免了标签歧义、冗余等问题,并可以在用户新上传时即可给出标签建议,较好地提升了用户体验,在另一方面也无需人工投入较多时间精力设计特征提取算法,有效降低了标签推荐的开发难度。因此,本发明实施例可以有效改善现有的图像标签推荐技术,在降低标签推荐难度的同时也能够较好地提升用户体验。

考虑到图像像素值不能很好地表示图像内容的语义信息,为了更好地表征图像特征,因此本发明实施例通过预先训练得到的神经网络对目标图像进行高层语义特征提取,得到目标图像的特征向量,其中,神经网络可以包括vgg16(visualgeometrygroup,视觉几何组)网络,vgg16网络是一种16层的深度卷积神经网络,可实际应用中直接采用keras深度学习库提供的已训练好的vgg16网络。在一种具体的实施方式中,目标图像的分辨率为224*224,获取目标图形rgb(red,green,blue)三个颜色通道的数组,以将目标图像的尺寸缩放至224*224*3,将尺寸为224*224*3的目标图像输入至vgg16网络中,以使vgg16网络的倒数第二层输出尺寸为14*14*512=100352的特征向量。

本发明实施例提供的图像类簇是基于聚类算法预先得到的,基于聚类算法的无监督分类思想可以将库存图像划分为多个图像类簇,一个类簇可以理解为包含密度相对较高的点集的多维空间中的连通区域,同一类簇中任意两点间的距离小于不同类簇的任意两点间的距离,因此本实施例基于聚类算法预先得到的图像类簇能够较好地对数据库中的库存图像进行归类,使得每个图像类簇中包含的都是彼此相似度高的图像。本发明实施例提供了一种图像类簇的获取方法,参见如下步骤1-步骤3:

步骤1,获取多张标注有至少一个标签的库存图像。在一些实施方式中,可从预设数据库中直接获取多张标注有至少一个标签的库存图像,也可以通过人工对图像进行标签标注,以得到多张标注有至少一个标签的库存图像。

步骤2,对库存图像进行特征提取,得到库存图像的特征向量。在一种具体的实施方式中,可以将库存图像输入至上述已训练好的vgg16网络中,通过vgg16网络对各库存图像进行高层语义特征提取,得到各库存图像的特征向量。

步骤3,采用聚类算法对库存图像的特征向量进行迭代聚类处理,得到迭代收敛时的多个图像类簇。为了得到聚类效果较好的图像类簇,本发明实施例优先采用的聚类算法包括k均值聚类算法或小批量k均值聚类(minibatchk-means)算法。其中,k均值聚类算法的核心思想是通过反复迭代运算找出k个聚类中心,使每张库存图像的特征和与其特征相似度较大的聚类中心之间的平均向量差最小;而小批量k均值聚类算法是在k均值聚类算法基础上的进一步改进,为降低运算量,小批量k均值聚类算法在每次迭代运算时,随机选取预设数量的库存图像用于更新聚类中心。

为便于对上述步骤3进行理解,以小批量k均值聚类算法为例,本发明实施例提供了一种采用小批量k均值聚类算法对库存图像的特征向量进行迭代聚类处理,得到迭代收敛时的多个图像类簇的具体实现方式,参见如下步骤3.1至步骤3.6:

步骤3.1,加载库存图像的特征向量。诸如,可以加载经vgg16网络提取得到的库存图像的一维特征向量。例如,有n张库存图像,则每张库存图像的特征可以通过一个尺寸为100352的向量表示,因此n张库存图像的特征是以一个尺寸为n*100352的二维矩阵表示。

步骤3.2,初始化聚类中心。在初始化过程中,可随机指定k个聚类中心(c1,c2,...,cv,...,ck),其中,ck指第k个聚类中心,k可以基于实际情况进行调整,例如选取随机指定150个聚类中心,每个聚类中心是由100352个随机数组成的向量。应当注意的是,步骤3.2中提及的聚类中心与库存图像和库存图像的特征向量无关,是随机选取得到的。

步骤3.3,将库存图像的特征向量分配至对应的聚类中心,并修正聚类中心。对于一个库存图像的特征向量xi,计算库存图像的特征向量与每个图像类簇的聚类中心之间的特征相似度,将该库存图像xi分配至与之特征相似度最高的聚类中心ck中,由于一张库存图像仅对应一个特征向量,因此一张库存图像仅能被分配至一个聚类中心。在将所有库存图像分配至对应的聚类中心后,再根据该聚类中心对应的库存图像的特征向量更新聚类中心,以实现对聚类中心进行修正。

步骤3.4,计算库存图像的特征向量和与该库存图像对应的修正后的聚类中心之间的特征偏差。本发明实施例提供了一种计算特征偏差的方法,可按照如下公式计算库存图像和与该库存图像对应的修正后的聚类中心之间的特征偏差d:

其中,n表示库存图像的数量,xi表示第i张库存图像,d(xi,ck)表示xi与ck相减。

另外,由于库存图像数量较大,受计算机硬件的限制,与需要对全部库存图像进行处理的k均值聚类算法相比,小批量k均值聚类算法在执行上述步骤3.2至3.4时无需使用全部库存图像的特征向量,而是可以随机选取预设个数的库存图像的特征向量执行上述步骤3.2至3.4,例如,随机选取10000张库存图像的特征向量,从而实现对聚类中心进行小批量更新。

步骤3.5,重复步骤3.3至步骤3.4,直至特征偏差收敛,保存所有聚类中心并终止停止运算。其中,聚类中心通常为类簇的主要聚类参数,对于本实施例而言,每个图像类簇的聚类中心都是一个长度与图像特征的长度相同的一维向量。

另外,为了能够提升标签推荐效率,本发明实施例在得到图像类簇之后,还可以进一步预先统计并保存每个图像类簇包含的库存图像所标注的每种标签的出现频率,例如,对风景类图像类簇中所有库存图像的标签进行统计,分别得到风景类图像类簇中标签“树”、标签“山”、标签“水”和标签“天空”的出现频率等,并保存上述标签的出现频率,以便在找到待推荐标签的目标图像所对应的目标图像类簇后,可以直接基于预先统计得到的目标图像类簇的标签出现频率为目标图像推荐标签,从而提高了标签推荐效率。

本发明实施例可以基于上述保存的每种标签的出现频率确定目标图像的推荐标签,在一种具体的实施方式中,可以先基于目标图像类簇的库存图像包含的每种标签的出现频率,对目标图像类簇中的每种标签排序,例如,目标图像类簇a中的标签排序为标签“树”的出现频率为0.35,标签“山”的出现频率为0.3,标签“水”的出现频率为0.25,标签“天空”的出现频率为0.15,其中,出现频率可以用浮点数或百分数等多种形式表示,本发明实施例对此不进行限制;然后基于排序结果,从出现频率最高的标签开始,依次选择预设数量的标签作为目标图像的推荐标签。例如,预设数量为3,则在上述目标图像类簇a中的标签排序的基础上,将标签“树”、标签“山”和标签“水”确定为目标图像的推荐标签。

对于上述步骤s106,在一种实施方式中,可以按照如下步骤a至步骤c执行基于目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定目标图像对应的目标图像类簇的步骤:

步骤a,获取由聚类算法预先得到的多个图像类簇的聚类中心。其中,基于聚类算法得到多个图像类簇的聚类中心的步骤可参见前述步骤s3.1至步骤s3.5,此处不再赘述。

步骤b,计算目标图像的特征向量与每个图像类簇的聚类中心之间的特征相似度。通常而言,目标图像的特征向量和聚类中心的尺寸相同,诸如均为尺寸是100352的向量,因此可以计算得到目标图像与聚类中心之间的特征向量差,进而基于特征向量差得到特征相似度。

步骤c,将计算得到的特征相似度最高的聚类中心对应的图像类簇确定为目标图像对应的目标图像类簇。例如,图像类簇a的聚类中心a,图像类簇b的聚类中心b,且目标图像与聚类中心a之间的特征相似度为0.8,与聚类中心b之间的特征相似度为0.3,则目标对象对应的目标类簇为图像类簇a。

考虑到现有技术中结合深度卷积网络和线性回归网络为目标图像确定推荐标签的方法,本质上是一种对目标图像进行多分类的方法,其推荐的标签数量固定,无法较好的应用于用户自主标注数量不等的标签的情况,因此本发明实施例还提供了对目标图像进行标注的方法。在一种实施方式中,本发明实施例可以基于推荐标签对目标图像进行标注,诸如,可以在确定推荐标签后自动将推荐标签添加至目标图像中。例如,当推荐标签为标签“树”、标签“山”和标签“水”时,在目标图像对应区域分别利用推荐标签进行标注,通过这种方式可以快速为目标图像添加标签,添加标签的个数可以根据需求而灵活设置。在另一种实施方式中,本发明实施例可以展示推荐标签供用户选择,将用户选择的推荐标签标注于目标图像,用户可以自行从推荐标签中选择所需的标签对目标图像进行标注,例如,用户为目标图像x添加3个标签,为目标图像y添加2个标签,通过这种方式可以满足用户的多种标注需求,用户可基于自己的喜好对目标图像进行标注,也可以保障图像标注的准确性,避免因推荐标签不准确而导致的目标图像标注错误。

另外为了使图像类簇与时俱进,本发明实施例还可以在库存图像更新时,更新图像类簇,使图像类簇能够较好的适应目标图像中的新事物,在一定程度上提高了图像类簇的鲁棒性。在基于更新的库存图像对图像类簇进行更新时,可以重新再采用聚类算法对所有库存图像进行聚类处理,当然,为了提升图像类簇的更新效率,也可以在现有图像类簇的基础上,直接基于更新后的库存图像执行聚类算法,诸如,使用现有的聚类参数确定聚类算法的初始参数,然后再通过迭代方式对图像类簇进行更新。在得到更新后的图像类簇后,可以保存更新后的图像类簇的聚类中心等参数,还可以基于更新后的图像类簇进一步统计标签频率,以保障标签推荐的准确性。

为便于对前述实施例提供的图像标签的推荐方法进行理解,本发明实施例提供了一种图像标签系统的构建方法,图像标签系统也即用于执行上述图像标签的推荐方法的系统,参见图2所示的一种图像标签系统的构建方法的流程示意图,该方法主要包括以下步骤s202至步骤s210:

步骤s202,加载预训练的vgg网络。

步骤s204,获取数据库中库存图像。其中,每个库存图像均标注有至少一个标签。

步骤s206,通过预训练的vgg16网络提取库存图像的特征向量。

步骤s208,使用k均值聚算法或小批量k均值聚类算法对库存图像的特征向量进行聚类,得到多个图像类簇。

步骤s210,保存每个图像类簇的聚类中心以及每个标签的出现频率。在具体实现时,每张库存图像均标注有一个或多个标签,且标签与库存图像的对应关系在得到图像类簇和标签出现频率的整个过程中会一直保持。对于一张库存图像,可以确定与该库存图像之间的特征向量差值最小的聚类中心,也即确定与该库存图像之间的特征相似度最高的聚类中心,将该聚类中心对应的图像类簇确定为该库存图像所在的图像类簇。另外,一个图像类簇中包含有多张库存图像,且不同库存图像中标注的标签可能重复,标签的重复次数越多(也即,出现频率越大)表明该标签被标注在图像中的可能性越大,因此本发明实施例对每个标签的出现频率进行统计和保存,以便于在确定目标图像的标签时基于标签的出现频率得到最可能被标注于目标图像上的标签。考虑到在部分诸如lofter软件等图像分享软件中,用户可以在一个帖子中发布多张图像,而这些图像的标签是共享的,对于此,为了进一步提升标签频率的统计合理性,在统计标签的出现频率时可以针对同一个帖子仅进行一次标签出现次数的统计,从而去除同一个帖子中多张图像相同标签的影响。

为便于对图2进行理解,本发明实施例提供了一种图像标签系统的应用示意图,如图3所示,将多张库存图像输入至预训练的神经网络vgg16中,输出各库存图像的特征向量,再基于k均值聚类算法或小批量k均值聚类算法确定并保存多个聚类中心以及各标签的出现频率。当用户上传目标图像时,通过预训练的神经网络vgg16提取目标图像的特征向量,即可基于保存的多个聚类中心以及各标签的出现频率输出目标图像的推荐标签。

在图3的基础上,本发明实施例提供了另一种图像标签的推荐方法,参见图4所示的另一种图像标签的推荐方法的流程示意图,该方法主要包括以下步骤s402至步骤s408:

步骤s402,加载图像类簇的聚类参数及每个图像类簇的标签出现频率。其中,图像类簇可以基于k均值聚类算法或小批量k均值聚类算法得到,具体可参见前述步骤3.1至步骤3.6,聚类参数主要包括图像类簇的聚类中心,每个图像类簇的聚类中心均可以通过一维向量表示。

步骤s404,获取用户上传的目标图像。

步骤s406,确定目标图像所在的图像类簇。在实际应用中,诸如可以经vgg16网络提取目标图像的特征向量,再基于目标图像的特征向量和聚类参数计算目标图像所在的图像类簇。

步骤s408,确定目标图像所在图像类簇内出现频率较高的多个标签,作为目标图像的推荐标签。例如,选取目标图像所在图像类簇内出现频率最高的3个标签作为目标图像的推荐标签。

综上所述,本发明实施例提供的上述图像标签的推荐方法,可以较好的结合目标图像的语义特征为用户推荐更为贴合目标图像的标签。相较于现有技术中结合图像的语义特征推荐标签的方法,本发明实施例无需人工设计复杂的图像特征提取方法。另外,用户上传目标图像即可为用户推荐对应的标签,即无需用户手动输入标签,相较于现有技术中基于用户输入的标签进行推荐的方法,本发明实施例较好的缓解了推荐标签存在歧义或冗余等问题。此外,本发明实施例可以较好的适应图像标签数量不固定的情况,而且还可以通过不断的学习迭代,为用户推荐时下热点事件的相关标签。

对于前述实施例提供的图像标签的推荐方法,本发明实施例还提供了一种图像标签的推荐装置,参见图5所示的一种图像标签的推荐装置的结构示意图,该装置可以包括以下部分:

图像获取模块502,用于获取待推荐标签的目标图像。

特征提取模块504,用于对目标图像进行特征提取,得到目标图像的特征向量。

类簇确定模块506,用于基于目标图像的特征向量和由聚类算法预先得到的多个图像类簇,确定目标图像对应的目标图像类簇;其中,每个图像类簇中均包含有多张库存图像,每张库存图像都标注有至少一个标签;同一个图像类簇中的库存图像之间的特征相似度大于不同图像类簇中的库存图像之间的特征相似度。

标签确定模块508,用于基于目标图像类簇的库存图像包含的每种标签的出现频率,确定目标图像的推荐标签。

本发明实施通过上述装置确定目标图像的推荐标签,由于聚类算法得到的图像类簇中包含特征相似的多张库存图像,基于目标图像的特征向量从多个图像类簇中确定出与其对应的目标图像类簇,从而基于目标图像类簇的库存图像包含的每种标签的出现频率为目标图像推荐标签,也即可以基于与目标图像相似的多张库存图像的标签出现频率为目标图像推荐标签,一方面无需基于用户输入的标签进行推荐,避免了标签歧义、冗余等问题,并可以在用户新上传时即可给出标签建议,较好地提升了用户体验,在另一方面也无需人工投入较多时间精力设计特征提取算法,有效降低了标签推荐的开发难度。因此,本发明实施例可以有效改善现有的图像标签推荐技术,在降低标签推荐难度的同时也能够较好地提升用户体验。

在一种实施方式中,上述特征提取模块504还用于:通过预先训练得到的神经网络对目标图像进行高层语义特征提取,得到目标图像的特征向量;神经网络包括vgg16网络。

在一种实施方式中,上述图像标签的推荐装置还包括类簇获取模块,用于获取多张标注有至少一个标签的库存图像;对库存图像进行特征提取,得到库存图像的特征向量;采用聚类算法对库存图像的特征向量进行迭代聚类处理,得到迭代收敛时的多个图像类簇;聚类算法包括k均值聚类算法或小批量k均值聚类算法。

在一种实施方式中,上述图像标签的推荐装置还包括频率保存模块,用于在得到图像类簇之后,统计并保存每个图像类簇包含的库存图像所标注的每种标签的出现频率。

在一种实施方式中,上述类簇确定模块506还用于:获取由聚类算法预先得到的多个图像类簇的聚类中心;计算目标图像的特征向量与每个图像类簇的聚类中心之间的特征相似度;将计算得到的特征相似度最高的聚类中心对应的图像类簇确定为目标图像对应的目标图像类簇。

在一种实施方式中,上述标签确定模块508还用于:基于目标图像类簇的库存图像包含的每种标签的出现频率,对目标图像类簇中的每种标签排序;基于排序结果,从出现频率最高的标签开始,依次选择预设数量的标签作为目标图像的推荐标签。

在一种实施方式中,上述图像标签的推荐装置还包括标注模块,用于基于推荐标签对目标图像进行标注;或者,展示推荐标签供用户选择,将用户选择的推荐标签标注于目标图像。

在一种实施方式中,上述图像标签的推荐装置还包括更新模块,用于当库存图像更新时,更新图像类簇。

本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

本发明实施例还提供了一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。

图6为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。

其中,存储器61可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线62可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。

处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。

本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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