CN110598037B - 一种图像搜索方法、装置和存储介质 - Google Patents
一种图像搜索方法、装置和存储介质 Download PDFInfo
- Publication number
- CN110598037B CN110598037B CN201910900623.7A CN201910900623A CN110598037B CN 110598037 B CN110598037 B CN 110598037B CN 201910900623 A CN201910900623 A CN 201910900623A CN 110598037 B CN110598037 B CN 110598037B
- Authority
- CN
- China
- Prior art keywords
- image
- similar
- images
- searched
- dimension
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/535—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Abstract
本申请实施例公开了一种图像搜索方法、装置和存储介质,通过获取待搜索图像;获取待搜索图像在多个图像相似维度上的特征信息;可以基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;再根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;从排序后集合中选择预设数量的目标相似图像;输出目标相似图像,通过上述方案,可以对待搜索图像在多个图像相似维度上进行相似图像的搜索,提升搜索结果的多样性,提升图像搜索能力。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种图像搜索方法、装置和存储介质。
背景技术
目前,以图搜图作为一种图像搜索功能,在一些即时通讯软件和搜索引擎中被提供给用户使用,对于以图搜图,需要能够根据输入的图像搜索目标图像。
发明内容
有鉴于此,本申请实施例提供了一种图像搜索方法、装置和存储介质,可以提升图像搜索的搜索能力以及提升搜索结果的多样性。
本申请实施例提供了一种图像搜索方法,该方法包括:
获取待搜索图像;
获取所述待搜索图像在多个图像相似维度上的特征信息;
基于所述多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,所述相似图像集合中的相似图像与所述待搜索图像在至少一个图像相似维度上相似;
根据所述相似图像集合中相似图像对应的图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合;
从所述排序后集合中选择预设数量的目标相似图像;
输出目标相似图像。
在一个实施例中,所述图像相似维度包括:图像承载对象相似维度、图像语义相似维度以及图像操作行为相似维度;
所述基于所述多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像包括:
基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像;
基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像;
基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像。
在一个实施例中,图像承载对象相似维度包括:图像特征相似子维度;
获取待搜索图像在图像承载对象相似维度上的特征信息,包括:
通过特征提取模型的局部特征提取块,提取所述待搜索图像的局部特征;
通过对应于所述局部特征提取块设置的注意力模块,学习所述局部特征提取块提取的局部特征的特征权重;
基于所述特征权重对所述局部特征提取块提取的局部特征进行处理,得到注意力局部特征,基于所述注意力局部特征得到所述待搜索图像的图像特征;
所述基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像,包括:
获取候选图像基于所述特征提取模型提取的图像特征;
从所述候选图像中,搜索图像特征与所述待搜索图像的图像特征相似的相似图像。
在一个实施例中,所述图像承载对象相似维度包括:人脸相似子维度;
获取待搜索图像在图像承载对象相似维度上的特征信息,包括:
检测所述待搜索图像中是否存在人脸;
若检测到所述待搜索图像中存在人脸,则通过人脸特征提取模型对所述待搜索图像进行人脸特征的提取;
所述基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像,包括:
获取候选图像基于所述人脸特征提取模型提取的人脸特征;
从所述候选图像中,搜索人脸特征与所述待搜索图像的人脸特征相似的相似图像。
在一个实施例中,所述图像语义相似维度包括图像语义相似子维度;
获取待搜索图像在图像语义相似维度上的特征信息,包括:
识别所述待搜索图像的语义信息;
所述基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像包括:
获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像。
在一个实施例中,所述图像语义相似维度包括图像对话关系相似子维度;
获取待搜索图像在图像语义相似维度上的特征信息,包括:
识别所述待搜索图像的语义信息;
所述基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像包括:
确定与所述待搜索图像的语义信息在对话关系上相似的目标语义信息;
获取候选图像的语义信息;
从所述候选图像中,搜索语义信息与所述目标语义信息相似的相似图像。
在一个实施例中,所述图像语义相似子维度包括:图像字符相似次级子维度;
所述识别所述待搜索图像的语义信息,包括:
通过图像文字识别技术,识别所述待搜索图像上记载的文字信息;
所述获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像包括:
获取候选图像上记载的文字信息,从所述候选图像中,搜索文字信息与所述待搜索图像的文字信息相似的相似图像。
在一个实施例中,所述图像语义相似子维度包括:图像标签相似次级子维度;
所述识别所述待搜索图像的语义信息,包括:
若所述待搜索图像存在标签,则识别所述待搜索图像的标签;
若所述待搜索图像不存在标签,则通过标签分类模型对所述待搜索图像的标签进行预测,根据预测结果获取所述待搜索图像对应的标签;
所述获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像,包括:
获取所述候选图像的标签;
从所述候选图像中,搜索标签与所述待搜索图像的标签相似的相似图像。
在一个实施例中,所述图像语义相似子维度包括:图像描述信息相似次级子维度;
所述识别所述待搜索图像的语义信息,包括:
通过图像理解模型对所述待搜索图像进行分析,以生成所述待搜索图像的图像描述信息;
所述获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像,包括:
获取所述候选图像基于所述图像理解模型生成的图像描述信息;
从所述候选图像中,搜索图像描述信息与所述待搜索图像的图像描述信息相似的相似图像。
在一个实施例中,所述图像操作行为相似维度包括:单用户图像操作行为相似子维度;
获取待搜索图像在图像操作行为相似维度上的特征信息,包括:
获取所述待搜索图像在第一历史图像标识号文本中的词向量,其中,所述第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,所述第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且所述第一用户历史操作图像集合包括所述待搜索图像;
所述基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像,包括:
获取候选图像在第二历史图像标识号文本中的词向量,其中,所述第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,所述第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且所述第二用户历史操作图像集合包括所述候选图像;
从所述候选图像中,搜索词向量与所述待搜索图像的词向量相似的相似图像。
在一个实施例中,所述图像操作行为相似维度包括多用户图像操作行为相似子维度;
获取待搜索图像在图像操作行为相似维度上的特征信息,包括:
获取待搜索图像的识别信息;
所述基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像,包括:
基于所述待搜索图像的识别信息,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,其中,所述目标二部图的一边顶点表示用户,另一边顶点表示所述候选图像中所述用户的历史操作图像,所述图像相似度矩阵包括所述历史操作图像之间的图像相似度;
在所述图像相似度矩阵中,搜索与所述待搜索图像的图像相似度不低于预设相似度阈值的相似图像。
在一个实施例中,所述根据所述相似图像集合中相似图像对应的图像相似维度,对所述相似图像集合中的相似图像进行排序,包括:
根据所述相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算所述相似图像集合中相似图像的综合相似度;
根据所述相似图像的综合相似度,对所述相似图像集合中的相似图像进行排序。
在一个实施例中,该方法还包括:
在用户历史操作行为数据的累积量满足预设条件时,不执行所述根据所述相似图像集合中相似图像对应的图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合的步骤;其中,所述用户历史操作行为数据包括:基于所述待搜索图像进行图像搜索的用户,在历史时间段内进行图像搜索产生的行为数据;
根据所述用户历史操作行为数据,分析用户对所述相似图像集合中相似图像的用户偏好,基于所述用户偏好对所述相似图像进行排序,得到排序后集合。
本实施例还提供一种图像搜索装置,该装置包括:
第一获取单元,用于获取待搜索图像;
第二获取单元,用于获取所述待搜索图像在多个图像相似维度上的特征信息;
搜索单元,用于基于所述多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,所述相似图像集合中的相似图像与所述待搜索图像在至少一个图像相似维度上相似;
排序单元,用于根据所述相似图像集合中相似图像对应的图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合;
选择单元,用于从所述排序后集合中选择预设数量的目标相似图像;
输出单元,用于输出目标相似图像。
在一个实施例中,图像相似维度包括:图像承载对象相似维度、图像语义相似维度以及图像操作行为相似维度;
搜索单元包括:
第一搜索子单元,用于基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像;
第二搜索子单元,用于基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像;
第三搜索子单元,用于基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像。
在一个实施例中,图像承载对象相似维度包括:图像特征相似子维度;
第二获取单元,包括:
图像特征提取子单元,用于通过特征提取模型的局部特征提取块,提取所述待搜索图像的局部特征;
学习子单元,用于通过对应于所述局部特征提取块设置的注意力模块,学习所述局部特征提取块提取的局部特征的特征权重;
处理子单元,用于基于所述特征权重对所述局部特征提取块提取的局部特征进行处理,得到注意力局部特征,基于所述注意力局部特征得到所述待搜索图像的图像特征;
第一搜索子单元,用于:
获取候选图像基于所述特征提取模型提取的图像特征;
从所述候选图像中,搜索图像特征与所述待搜索图像的图像特征相似的相似图像。
在一个实施例中,所述图像承载对象相似维度包括:人脸相似子维度;
第二获取单元,包括:
人脸检测子单元,用于检测所述待搜索图像中是否存在人脸;
人脸特征提取子单元,用于若检测到所述待搜索图像中存在人脸,则通过人脸特征提取模型对所述待搜索图像进行人脸特征的提取;
第一搜索子单元,用于:
获取候选图像基于所述人脸特征提取模型提取的人脸特征;
从所述候选图像中,搜索人脸特征与所述待搜索图像的人脸特征相似的相似图像。
在一实施例中,所述图像语义相似维度包括图像语义相似子维度;
第二获取单元,用于识别所述待搜索图像的语义信息;
第二搜索子单元,用于获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像。
在一实施例中,所述图像语义相似维度包括图像对话关系相似子维度;
第二获取单元,用于识别所述待搜索图像的语义信息;
第二搜索子单元,用于:
确定与所述待搜索图像的语义信息在对话关系上相似的目标语义信息;
获取候选图像的语义信息;
从所述候选图像中,搜索语义信息与所述目标语义信息相似的相似图像。
在一实施例中,所述图像语义相似子维度包括:图像字符相似次级子维度;
第二获取单元,用于通过图像文字识别技术,识别所述待搜索图像上记载的文字信息;
第二搜索子单元,用于获取候选图像上记载的文字信息,从所述候选图像中,搜索文字信息与所述待搜索图像的文字信息相似的相似图像。
在一实施例中,所述图像语义相似子维度包括:图像标签相似次级子维度;
第二获取单元,用于若所述待搜索图像存在标签,则识别所述待搜索图像的标签;若所述待搜索图像不存在标签,则通过标签分类模型对所述待搜索图像的标签进行预测,根据预测结果获取所述待搜索图像对应的标签;
第二搜索子单元,用于:
获取所述候选图像的标签;
从所述候选图像中,搜索标签与所述待搜索图像的标签相似的相似图像。
在一实施例中,所述图像语义相似子维度包括:图像描述信息相似次级子维度;
第二获取单元,用于通过图像理解模型对所述待搜索图像进行分析,以生成所述待搜索图像的图像描述信息;
第二搜索子单元,用于:
获取所述候选图像基于所述图像理解模型生成的图像描述信息;
从所述候选图像中,搜索图像描述信息与所述待搜索图像的图像描述信息相似的相似图像。
在一实施例中,所述图像操作行为相似维度包括:单用户图像操作行为相似子维度;
第二获取单元,用于获取所述待搜索图像在第一历史图像标识号文本中的词向量,其中,所述第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,所述第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且所述第一用户历史操作图像集合包括所述待搜索图像;
第三搜索子单元,用于:
获取候选图像在第二历史图像标识号文本中的词向量,其中,所述第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,所述第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且所述第二用户历史操作图像集合包括所述候选图像;
从所述候选图像中,搜索词向量与所述待搜索图像的词向量相似的相似图像。
在一实施例中,所述图像操作行为相似维度包括多用户图像操作行为相似子维度;
第二获取单元,用于获取待搜索图像的识别信息;
第三搜索子单元,用于:
基于所述待搜索图像的识别信息,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,其中,所述目标二部图的一边顶点表示用户,另一边顶点表示所述候选图像中所述用户的历史操作图像,所述图像相似度矩阵包括所述历史操作图像之间的图像相似度;
在所述图像相似度矩阵中,搜索与所述待搜索图像的图像相似度不低于预设相似度阈值的相似图像。
在一实施例中,排序单元,包括:
加权子单元,用于根据所述相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算所述相似图像集合中相似图像的综合相似度;
排序子单元,用于根据所述相似图像的综合相似度,对所述相似图像集合中的相似图像进行排序。
在一实施例中,排序单元,还用于:
在用户历史操作行为数据的累积量满足预设条件时,不执行所述根据所述相似图像集合中相似图像对应的图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合的步骤;其中,所述用户历史操作行为数据包括:基于所述待搜索图像进行图像搜索的用户,在历史时间段内进行图像搜索产生的行为数据;
根据所述用户历史操作行为数据,分析用户对所述相似图像集合中相似图像的用户偏好,基于所述用户偏好对所述相似图像进行排序,得到排序后集合。
本发明实施例还提供一种存储介质,其上存储有计算机程序,当计算机程序在计算机上运行时,使得所述计算机执行如本发明实施例所述的图像搜索方法。
本发明实施例公开了一种图像搜索方法、装置和存储介质,通过获取待搜索图像;获取待搜索图像在多个图像相似维度上的特征信息;可以基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;再根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;从排序后集合中选择预设数量的目标相似图像;输出目标相似图像,通过上述方案,可以对待搜索图像在多个图像相似维度上进行相似图像的搜索,提升搜索结果的多样性,提升图像搜索能力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的图像搜索系统的结构示意图;
图1b是本发明实施例提供的图像搜索方法的流程图;
图2a是本发明实施例提供的一种特征提取模型的示意图;
图2b是图2a中的局部特征提取块改进后的结构示意图;
图2c是本发明实施例提供的一种人脸特征识别的流程图;
图3是本发明实施例提供的一种标签分类模型的示意图;
图4a是本发明实施例提供的一种图像搜索方法的流程图;
图4b是本发明实施例提供的一种图像搜索页面的显示示意图;
图4c是本发明实施例提供的目标相似图像的显示示意图;
图4d是本发明实施例提供的图像搜索的框架图;
图5是本发明实施例提供的图像搜索装置的结构示意图;
图6是本发明实施例提供的计算机设备的结构示意图;
图7是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图;
图8是本发明实施例提供的区块结构的一个可选的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种图像搜索方法、装置、计算机设备和存储介质。具体地,本发明实施例提供适用于第一计算机设备的图像搜索装置(为了区分可以称为第一图像搜索装置)中,以及适用于第二计算机设备的图像搜索装置(为了区分可以称为第二图像搜索装置)。其中,第一计算机设备可以为终端等设备,该终端可以为手机、平板电脑、笔记本电脑等设备。其中,第二计算机设备可以为服务器等网络侧设备。
比如,第一图像搜索装置可以集成在终端中,第二图像搜索装置可以集成在服务器,该服务器可以是单台服务器,也可以是由多个服务器组成的服务器集群。
本发明实施例将以第一计算机设备为终端,第二计算机设备为服务器为例,来介绍图像搜索方法。
参考图1a,本发明实施例提供了图像搜索系统包括终端10和服务器20等;终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等,其中,图像搜索装置集成在终端中,比如,以客户端的形式集成在终端中。
其中,终端10,可以用于显示应用程序客户端的图像搜索页面,图像搜索页面为供用户以图像搜索图像的搜索页面,其中,图像搜索页面包括:待搜索图像选择控件;当检测到用户针对待搜索图像选择控件的触发操作时,显示待搜索图像的选择页面;基于用户针对选择页面的待搜索图像确定操作,显示搜索结果列表,搜索结果列表包括搜索到的与待搜索图像相似的目标相似图像。
其中,终端10触发搜索相似图像的方式有多种,比如,终端10可以触发服务器20在多个图像相似维度上搜索与待搜索图像相似的目标相似图像。具体地,终端10可以向服务器20发送待搜索图像,以触发服务器对相似图像的搜索;服务器20可以具体用于:
获取待搜索图像;获取待搜索图像在多个图像相似维度上的特征信息;基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;从排序后集合中选择预设数量的目标相似图像;输出目标相似图像。
其中,服务器输出目标图像具体可以为服务器向终端10发送目标相似图像。
本发明中,可选的,在服务器上执行的对目标相似图像的具体搜索过程,也可以由终端执行。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
本发明实施例将从图像搜索装置的角度进行描述,该图像搜索装置具体可以集成在终端或服务器中。
本发明实施例提供的一种图像搜索方法,该方法可以由终端的处理器执行,如图1b所示,该图像搜索方法的具体流程可以如下:
101、获取待搜索图像;
对于服务器侧而言,该待搜索图像可以是终端发送的,具体的,步骤“获取待搜索图像”可以包括:接收终端发送的待搜索图像。
对于终端侧而言,可以基于用户针对选择页面的待搜索图像确定操作,从本地存储的图像(包括但不限于通过网络下载的图像以及终端拍摄的图像)中获取待搜索图像,或者实时拍摄照片作为待搜索图像。
可选的,本实施例中,提供图像搜索功能的应用程序客户端包括但不限于即时通讯客户端和图像搜索引擎,待搜索图像可以包括应用在即时通讯客户端中的互动图像。
其中,待搜索图像的图像类型可以有多种,例如可以是静态图像或动态图像,可以是纯图案的图像,也可以是包含文字和图案的图像。譬如,待搜索图像可以包括静态表情、动态表情等聊天互动表情。
102、获取待搜索图像在多个图像相似维度上的特征信息;
本实施例中,特征信息可以表示待搜索图像的特征,其信息类型不限,可以是特征向量、或文本信息等等。
本实施例中,不同图像相似维度上,待搜索图像的特征信息可能不同,为了提取特征信息,可以基于各图像相似维度的特征信息提取需要,对待搜素图像进行预处理。
可选的,步骤“获取待搜索图像在多个图像相似维度上的特征信息”,可以包括:
基于待搜索图像在多个图像相似维度上的特征提取需要,对待搜索图像进行预处理;
对预处理之后待搜索图像,提取在多个图像相似维度上的特征信息。
其中,对待搜索图像的预处理包括但不限于:对于动态图像,以动态图像中的预设帧图像代替帧数不固定的动态图像;对待搜索图像进行格式转换,将待搜索图像的格式转换为目标格式;根据不同的特征提取算法的需要,对待搜索图像进行等比例缩放、裁剪、以及生成灰度图等操作。
其中,预设帧可以根据需要选择,例如可以是第一帧、或中间帧、或最后一帧等等,本实施例对此没有限定。
其中,目标格式可以根据实际需要选择,例如目标格式为PNG格式、或JPEG格式等等。
本实施例的图像相似维度的数量为多个,比如,图像相似维度,可以包括图像承载对象相似维度、图像语义相似维度以及图像操作行为相似维度。
其中,在图像承载对象相似维度上相似,可以理解为图像的承载对象相似,图像的承载对象包括可以是图像中的所有对象,包括主体对象和非主体对象。待搜索图像在图像承载对象相似维度上的特征信息,可以为待搜索图像的承载对象的特征信息。在一个实施例中,待搜索图像的承载对象可以是,待搜索图像上的主体对象。
其中,在图像语义相似维度上相似,可以理解为图像的语义信息相似,或者图像的语义信息对应的对话关系相似。待搜索图像在图像语义相似维度上的特征信息,可以为待搜索图像的语义信息。在一个实施例中,待搜索图像的语义信息可以是直接或间接从待搜索图像得到的信息,例如,待搜索图像的语义信息,可以为待搜索图像上的字符信息,可以为待搜索图像的标签,可以为对待搜索图像进行“看图说话”,得到的待搜索图像的图像描述信息等。
其中,在图像操作行为相似维度上相似,可以理解为用户针对图像的操作行为相似,其中,用户针对图像的操作行为包括但不限于用户对图像的搜索行为,用户从搜索到的图像中选择图像的选择行为,以及用户将图像添加至图像收藏集合中的收藏行为等等。待搜索图像在图像操作行为相似维度上的特征信息,可以为待搜索图像对应的可以体现用户搜索意向的信息。
103、基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;
其中,候选图像的图像类型也可以有多种,例如可以是静态图像或动态图像,可以是纯图案的图像,也可以是包含文字和图案的图像。譬如,候选图像可以包括静态表情、动态表情等聊天互动表情。
本实施例中,候选图像的可以包括多种来源,例如,候选图像来自服务器(和/或终端)的图像数据库、候选图像来自于与自服务器(和/或终端)连接的其他装置中的图像数据库。对于聊天互动表情而言,该图像数据库可以为存储全量表情的表情库。
在一个示例中,对于各候选图像,可以分别对应存储有相似图像信息集合,该相似图像信息集合包括:与候选图像相似的候选图像的识别信息,以及对应的图像相似维度。
例如,可以通过对各候选图像,在多个图像相似维度上,与其他所有候选图像进行相似度分析,确定与各候选图像分别相似的候选图像,以及对应的图像相似维度,从而得到各候选图像的相似图像信息集合。
例如,还可以在每一次图像搜索过程结束后,将待搜索图像添加进候选图像的集合中(若候选图像中存在待搜索图像,则不必添加),基于该次图像搜索过程中待搜素图像对应的搜索结果,确定待搜索图像的相似图像信息集合。
对于存在相似图像信息集合的情况,待搜索图像在多个图像相似维度上的特征信息可以是待搜索图像的识别信息。其中,步骤“基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合”,可以包括:
基于待搜索图像的识别信息,确定待搜索图像的相似图像信息集合;
基于相似图像信息集合中的信息,确定候选图像中在多个图像相似维度上分别与待搜索图像相似的相似图像,得到相似图像集合。
104、根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;
在一个实施例中,在步骤103,候选图像中在多个图像相似维度上搜索相似图像时,可以确定各个相似图像在对应的相似图像维度下,与待搜索图像的相似度。
本实施例可以为不同的相似图像维度设置对应的相似度权重,以相似度权重和相似度综合评价各个相似图像与待搜索图像的综合相似度。例如,步骤“根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序”,可以包括:
根据相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算相似图像集合中相似图像的综合相似度;
根据相似图像的综合相似度,对相似图像集合中的相似图像进行排序。
例如,假设多个图像相似维度为图像相似维度1-3,相似度权重分别为a-c,假设相似图像X对应的图像相似维度为图像相似维度1和2,相似图像X在图像相似维度1和2下,与待搜索图像的相似度分别为A和B,则相似图像X的综合相似度为A*a+B*b。
其中,对相似图像集合中的相似图像进行排序,可以是对相似图像集合中的相似图像按照综合相似度进行降序排列。
105、从排序后集合中选择预设数量的目标相似图像;
其中,预设数量可以根据实际的需要设置,例如可以设置为300等数值。从排序后集合中选择预设数量的目标相似图像,可以是从排序后集合中选择排列在前的预设数量的目标相似图像。
106、输出目标相似图像。
其中,对于服务器而言,输出目标相似图像,可以包括:向终端发送目标西相似图像。终端接收目标相似图像后,可以按照目标相似图像的排列顺序进行显示。
本实施例中,可以从图像的承载对象、图像语义、以及图像操作行为三个角度进行相似图像的分析。
本实施例中,可以在步骤103之前,对候选图像进行预处理,该预处理包括但不限于:对于动态图像,以动态图像中的预设帧图像代替帧数不固定的动态图像;对候选图像进行格式转换,将候选图像的格式转换为目标格式;根据不同的特征提取算法的需要,对候选图像进行等比例缩放、裁剪、以及生成灰度图等操作。其中,预设帧可以根据需要选择,例如可以是第一帧、或中间帧、或最后一帧等等,本实施例对此没有限定。本实施例的目标格式可以根据实际需要选择,例如目标格式为PNG格式、或JPEG格式等等。可选的,待搜索图像的目标格式和候选图像的目标格式可以相同。
其中,对于待搜索图像的相似图像,可以包括以下三种搜索方案:
(1)在图像承载对象相似维度上进行搜索
其中,步骤“基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像”,可以包括:
基于待搜索图像在图像承载对象相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像承载对象相似维度上相似的相似图像。具体的,可以于区块链的共享账本中存储的候选图像中,搜索与待搜索图像在图像承载对象相似维度上相似的相似图像。
该方案中,待搜索图像在图像承载对象相似维度上的特征信息,可以是待搜索图像中的承载对象的图像特征,如图像向量特征。
在一个实施例中,图像向量特征可以通过特征提取模型提取。可选的,获取待搜索图像在图像承载对象相似维度上的特征信息,可以包括:基于特征提取模型提取待搜索图像的图像特征。
其中,该特征提取模型可以为神经网络模型,该神经网络模型的类型可以有多种,包括但不限于残差神经网络(Residual Neural Network,ResNet)模型,VGG(VisualGeometry Group)神经网络模型,以及Inception深度模型等等。
进一步的,该实施例中可以在特征提取模型的基础上,结合注意力机制,提升图像特征的有效性。可选的,步骤“获取待搜索图像在图像承载对象相似维度上的特征信息”,可以包括:
通过特征提取模型的局部特征提取块,提取待搜索图像的局部特征;
通过对应于局部特征提取块设置的注意力模块,学习局部特征提取块提取的局部特征的特征权重;
基于特征权重对局部特征提取块提取的局部特征进行处理,得到注意力局部特征,基于注意力局部特征得到待搜索图像的图像特征。
对应地,基于图像承载对象相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像承载对象相似维度上相似的相似图像,包括:
获取候选图像基于特征提取模型提取的图像特征;
从候选图像中,搜索图像特征与待搜索图像的图像特征相似的相似图像。
具体的,从候选图像中,搜索图像特征与待搜索图像的图像特征相似的相似图像,可以包括:基于候选图像的图像特征和待搜索图像的图像特征,计算待搜索图像与各候选图像的相似度,获取相似度不低于第一相似度阈值的候选图像为相似图像。其中,第一相似度阈值可以根据实际需要设置,例如设置为0.5。
本实施例中,对于待搜索图像和候选图像的图像特征,都可以通过上述结合了注意力机制的特征提取模型进行提取的。下面以特征提取模型为ResNet残差神经网络模型,图像特征为ResNet向量为例,结合图2a和图2b对图像特征的提取过程进行示例说明。
参考图2a,图2a示出了未结合注意力机制的特征提取模型,对图像特征(ResNet向量)进行提取的示意图。ResNet向量提取是指,采用ResNet模型将输入的图像转化为向量特征表示。
如图2a所示,ResNet模型中包含多个相同的ResNet Block(残差块,可以理解为上述描述的局部特征提取块)。参考图2a中右侧的ResNet Block的细节图可知,这种Block采用卷积层(Convolution layers)进行局部特征抽取,然后再采用恒等映射(identifymapping)的方式来进行残差学习,有很强的特征捕捉能力。
但是,这种Block对图像的所有局部区域进行了无差别的特征抽取,没有考虑到图像中主体的特征比背景更重要。针对这个不足,本申请改进了ResNet的Block结构,参考图2b,本实施例在原始ResNet Block的基础上,加入了注意力层(Attention layers,即上述实施例中描述的注意力模块),本实施例的每个ResNet Block均对应设置有注意力层,注意力层可以学习其对应的ResNet Block提取的不同局部特征的特征权重:提高图像的主体内容所对应的特征权重,降低图像的背景等区域的特征权重;并利用自身所学到的特征权重对卷积层所捕捉的局部特征进行加权,使得从特征提取模型输出的向量特征更有效。
可以理解的是,本实施例中,从特征提取模型输出的向量特征的维度可以根据实际需要设置,不仅限于图2a中所示的128维。
在实际的图像搜索中,用户可能会搜索很多与影视明星、游戏角色、以及知名形象等相似的相似图像或相似表情。这类表情的重要共同特征之一就是有人脸图像。而一般的特征提取模型,如ResNet,其实并不擅长获取人脸特征。
相比于ResNet等模型,使用专业的人脸特征提取模型如FaceNet模型,获取的人脸特征的精度更高。
在另一个实施例中,图像承载对象相似维度包括:人脸相似子维度;对应的特征信息包括:人脸特征。该人脸特征也可以是向量特征,通过人脸特征提取模型进行提取。
可选的,获取待搜索图像在图像承载对象相似维度上的特征信息,可以包括:
检测待搜索图像中是否存在人脸;
若检测到待搜索图像中存在人脸,则通过人脸特征提取模型对待搜索图像进行人脸特征的提取。
对应地,步骤“基于图像承载对象相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像承载对象相似维度上相似的相似图像”,可以包括:
获取候选图像基于人脸特征提取模型提取的人脸特征;
从候选图像中,搜索人脸特征与待搜索图像的人脸特征相似的相似图像。
具体的,步骤“从候选图像中,搜索人脸特征与待搜索图像的人脸特征相似的相似图像”,可以包括:基于候选图像的人脸特征和待搜索图像的人脸特征,计算待搜索图像与各候选图像的相似度,获取相似度不低于第二相似度阈值的候选图像为相似图像。其中,第二相似度阈值可以根据实际需要设置,本实施例对此没有限制。
其中,候选图像的人脸特征可以实时提取,也可以预先提取并存储为离线特征。获取候选图像基于人脸特征提取模型提取的人脸特征,可以包括:基于人脸特征提取模型对候选图像提取人脸特征,或者,从存储的离线特征中获取候选图像基于人脸特征提取模型提取的人脸特征。
可选的,本实施例中人脸特征提取模型可以有多种,包括但不限于FaceNet模型。下面以人脸特征提取模型为FaceNet模型,人脸特征为FaceNet向量为例,结合图2c,对表情的FaceNet向量提取进行示例说明。
参考图2c,对输入的表情进行人脸检测,判断表情中是否存在人脸,若表情上存在人脸,则采用的FaceNet模型对表情进行人脸特征的提取,若表情上不存在人脸,则结束人脸特征提取过程。
(2)在图像语义相似维度上进行搜索
方案(1)中是从图像的承载对象角度来搜索相似图像,但是无法准确捕捉图像如表情的文本语义。例如,当用户搜索“早安”的问候表情时,可根据ResNet向量检索到相似风格的“早安”、“午安”、“晚安”等问候表情,但不能通过ResNet向量的相似度来衡量哪个表情与待搜索表情的语义更相近。鉴于此,本实施例还提出,使用语义信息来衡量图像如表情的语义相似度。
本方案中,步骤“基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像”,可以包括:
基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像。具体的,可以于区块链的共享账本中存储的候选图像中,搜索与待搜索图像在图像语义相似维度上相似的相似图像。
可选的,在一个实施例中,图像语义相似维度包括图像语义相似子维度;对应的特征信息包括图像的语义信息。可选的,语义信息包括但不限于图像上的字符信息,图像的标签携带的信息,通过对图像的理解得到的图像的描述信息。
该实施例中,获取待搜索图像在图像语义相似维度上的特征信息,包括:识别待搜索图像的语义信息。
对应地,步骤“基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像”,可以包括:
获取候选图像的语义信息,从候选图像中,搜索语义信息与待搜索图像的语义信息相似的相似图像。
在该实施例的一个示例中,图像语义相似子维度包括:图像字符相似次级子维度;对应地,语义信息包括待搜索图像上记载的文字信息。
其中,步骤“识别待搜索图像的语义信息”,可以包括:
通过图像文字识别技术,识别待搜索图像上记载的文字信息。
对应地,步骤“获取候选图像的语义信息,从候选图像中,搜索语义信息与待搜索图像的语义信息相似的相似图像”,可以包括:
获取候选图像上记载的文字信息,从候选图像中,搜索文字信息与待搜索图像的文字信息相似的相似图像。
具体的,步骤“获取候选图像上记载的文字信息,从候选图像中,搜索文字信息与待搜索图像的文字信息相似的相似图像”,可以包括:
获取候选图像上记载的文字信息;
计算待搜索图像的文字信息与各候选图像的文字信息的相似度;
将相似度不低于第三相似度阈值的候选图像,确定为待搜索图像的相似图像。
本实施例中,图像文字识别技术包括但不限于OCR(Optical CharacterRecognition,光学字符识别)技术。对于两个图像的文字信息的相似度,可以通过如下的公式计算:
在该公式中,OCR1和OCR2分别表示两个图像(如待搜索图像和候选图像)上通过OCR技术识别出的文字信息,Edict_Distance函数用于计算两个OCR之间的编辑距离;len函数用于统计OCR的长度;const表示常数,避免出现分母为零的情况。
虽然图像中的文字可以用来衡量图像的相似度,但存在大量的图像没有文字,因此无法根据上述方法获取到语义相似度。由于图像生产方如表情生产方会为大部分表情提供标签即Tag,该Tag中会记载一些图像的相关信息,所以本示例中将图像的Tag也作为图像的语义信息的一种,用于进行相似图像的搜索。
在该实施例的另一个示例中,图像语义相似子维度包括:图像标签相似次级子维度;对应地,语义信息包括待搜索图像的标签。
其中,步骤“识别待搜索图像的语义信息”,可以包括:
若待搜索图像存在标签,则识别待搜索图像的标签;
若待搜索图像不存在标签,则通过标签分类模型对待搜索图像的标签进行预测,根据预测结果获取待搜索图像对应的标签。
对应地,步骤“获取候选图像的语义信息,从候选图像中,搜索语义信息与待搜索图像的语义信息相似的相似图像”,可以包括:
获取候选图像的标签;
从候选图像中,搜索标签与待搜索图像的标签相似的相似图像。
其中,本实施例中的标签分类模型的种类不限,可以是任意可用的分类模型,参考图3,图3中示出了基于ResNet的标签分类模型的结构示意图。该标签分类模型在使用前,可以基于训练数据进行训练,训练数据为标注了Tag的预设数量的图像。其中,每个图像的Tag的数量不限,可以是一个或多个。
本实施例可以通过图3的标签分类模型为待搜索图像或候选图像预测标签。
本实施例中,候选图像的标签可以是在本次的相似图像搜索过程中,通过标签分类模型实时预测得到的,也可以是在本次的相似图像搜索过程前,已经通过标签分类模型预测并进行存储的。
本实施例的待搜索图像和候选图像可以有多个Tag,可以理解的是,这些Tag可能会比较相似(例如,“宋XX的呆萌表情”与“宋XX的搞笑表情”是两个相似的Tag),本实施中,从候选图像中,搜索标签与待搜索图像的标签相似的相似图像,可以计算候选图像的标签和待搜索图像的标签的相似度,将相似度不低于第四相似度阈值的候选图像,确定为待搜索图像。其中,标签的相似度的计算方式不限,可以基于标签中的相同/相似字符的数量等确定。
可选的,本实施例设计了一种两阶段计算Tag相似度的方法:
先定义两个Tag之间的相似度计算公式。假定,待搜索图像的一个Tag表示为TA={w1,...,wi,...,wm},候选图像的一个Tag表示为TB={w1,...,wi,...,wn}。其中,wi表示Tag中的第i个字符。则两个Tag的相似度计算如下:
然后,定义两个图像的所有Tag之间的相似度公式。假定待搜索图像X的Tag表示为[(A,weightA),(B,weightB)],候选图像Y的Tag表示为[(C,weightC),(D,weightD)],其中,A、B、C、D分别表示Tag,weight表示Tag的权重。然后,确定待搜索图像的标签,与候选图像的标签中相似的标签。
(假定通过计算,标签B和C相似,其他任意Tag之间不相似),则可将待搜索图像X的所有Tag表示为向量TagX:
TagX=[weightA,(SimB,C*weightB*weightC),0]
将候选图像Y的所有Tag表示为向量TagY:
TagY=[0,(SimB,C*weightB*weightC),weightD]
最后,计算TagX和TagY的余弦相似度,作为待搜索图像X和候选图像Y的Tag相似度。
在一个实施例中,图像语义相似子维度包括:图像描述信息相似次级子维度;对应的语义信息包括待搜索图像的描述信息。
步骤“识别待搜索图像的语义信息”,可以包括:
通过图像理解模型对待搜索图像进行分析,以生成待搜索图像的图像描述信息。
对应地,步骤“获取候选图像的语义信息,从候选图像中,搜索语义信息与待搜索图像的语义信息相似的相似图像”,可以包括:
获取候选图像基于图像理解模型生成的图像描述信息;
从候选图像中,搜索图像描述信息与待搜索图像的图像描述信息相似的相似图像。
本实施例中,图像理解模型起到了“看图说话”的作用,该图像理解模型的种类有很多,例如可以为Image Caption模型。
可选的,步骤“从候选图像中,搜索图像描述信息与待搜索图像的图像描述信息相似的相似图像”,可以包括:
对待搜索图像的图像描述信息,与候选图像的图像描述信息,进行余弦相似度的计算,将余弦相似度不低于第五相似度阈值的候选图像,确定为相似图像。
其中,候选图像的图像描述信息可以是通过图像理解模型实时获取的,也可以是预先获取之后,存储在候选图像的信息集合中的。
在实际中,用户搜索图像如表情时,会有对话场景的需求。例如当用户搜索“谢谢”的表情,很可能希望搜索到的是“不用谢”的表情。本实施例的语义相关,还可以是语义所属的对话关系相关。
在本实施例中,图像语义相似维度包括图像对话关系相似子维度;对应的,图像在图像语义相似维度上的特征信息包括:意义信息。
可选的,获取待搜索图像在图像语义相似维度上的特征信息,包括:识别待搜索图像的语义信息。
对应地,“基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像”,可以包括:
确定与待搜索图像的语义信息在对话关系上相似的目标语义信息;
获取候选图像的语义信息;
从候选图像中,搜索语义信息与目标语义信息相似的相似图像。
其中,候选图像的语义信息包括但不限于:待搜索图像上的文字信息,待搜索图像的标签,以及待搜索图像的描述信息。获取这些语义信息的具体方案可以参考前述内容中的相关描述,在此不进行赘述。
在一个示例中,与待搜索图像的语义信息在对话关系上相似的目标语义信息,可以理解为与待搜索图像的语义信息符合对话场景的目标语义信息,进一步的,本实施例中,可以通过对话识别模型,确定与语义信息符合对话场景的目标语义信息。
其中,对话识别模型包括但不限于Bert对话表情挖掘模型。
本实施例中,可以先获取Bert预训练模型,以及外部公开的对话数据集;该对话数据集中可以各种场景中的对话,例如包含日常生活中常见的对话场景中的对话,比如谢谢和不用谢,对不起和没关系等等;然后利用对话数据集对Bert预训练模型进行微调训练得到上述使用的Bert对话表情挖掘模型。
本实施例中,可以在使用外部的对话数据集之前,先对对话数据集进行预处理,该预处理包括:去除无效数据(例如非用户数据)、重复数据、噪音数据、异常数据,以及有针对性地去除低频数据(针对OCR识别的方案,例如引用次数较低的数据)等数据清洗操作。
在一个示例中,步骤“基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像”,可以包括:
通过对话识别模型,确定与待搜索图像记载的文字信息符合对话场景的目标文字信息;
获取候选图像上记载的文字信息;
从候选图像中,搜索文字信息与目标文字信息相似的相似图像。
在一个示例中,步骤“基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像”,可以包括:
确定与待搜索图像的标签上的标签信息符合对话场景的目标标签信息;
获取候选图像上的标签信息;
从候选图像中,搜索标签信息与目标标签信息相似的相似图像。
在一个示例中,步骤“基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像”,可以包括:
确定与待搜索图像的描述信息符合对话场景的目标描述信息;
获取候选图像的描述信息;
从候选图像中,搜索描述信息与目标描述信息相似的相似图像。
(3)在图像操作行为相似维度上进行搜索
其中,步骤“基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像”,可以包括:
基于图像操作行为相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像操作行为相似维度上相似的相似图像。可选的,可以于区块链的共享账本存储的候选图像中,搜索与待搜索图像在图像操作行为相似维度上相似的相似图像。
用户在应用程序中使用图像搜索功能时,应用程序如即时通讯客户端的后台日志系统能够记录用户在每个session中搜索和点击的图像。其中,对于Session:是指在一段指定时间内,用户在某个系统或平台上发生的一系列行为。以搜索图像为例,在指定时间段内,用户连续搜索的多个表情属于同一个Session。
同个session中的表情通常体现了用户在短时间内的搜索意向,因此很容易产生相似表情。鉴于此,本申请可以利用日志数据,基于session进行相似图像的搜索。
在一个实施例中,图像操作行为相似维度包括:单用户图像操作行为相似子维度;
获取待搜索图像在图像操作行为相似维度上的特征信息,包括:
获取待搜索图像在第一历史图像标识号文本中的词向量,其中,第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第一用户历史操作图像集合包括待搜索图像。
对应地,步骤“基于图像操作行为相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像操作行为相似维度上相似的相似图像”,可以包括:
获取候选图像在第二历史图像标识号文本中的词向量,其中,第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第二用户历史操作图像集合包括候选图像;
从候选图像中,搜索词向量与待搜索图像的词向量相似的相似图像。
其中,第一历史操作图像集合可以从第二历史操作图像集合中确定,具体的,可以在本实施例之前,将每一个候选图像看作待搜索图像,从所有的第二历史操作图像集合中确定包含该候选图像的第一历史操作图像集合,并针对各个第一历史操作图像集合,确定每一个候选图像的词向量。
其中,获取待搜索图像在第一历史图像标识号文本中的词向量,可以包括:
确定候选图像中是否存在待搜索图像,若存在,则从候选图像的词向量中获取待搜索图像的词向量。
本实施例中的历史时间段为泛指,表示的是以历史的一段时间段,对于该时间段的起点和终点并没有限制。第一历史操作图像集合和第二历史操作图像集合的历史时间段可以相同或不同。
其中,对于第一历史操作图像集合,可以基于发送待搜索图像的用户的日志数据得到。
本实施例中,图像的标识号可以是图像ID,获取待搜索图像在第一历史图像标识号文本中的词向量,具体可以包括:
获取包含待搜索图像的若干第一历史操作图像集合,其中,对于同一个第一历史操作图像集合而言,对图像进行操作的用户是相同的,对于不同的第一历史操作图像集合而言,对应的用户可以不同;
将第一历史操作图像集合中的图像映射成独特的ID,将第一历史操作图像集合中的图像转换为一行ID文本;其中,同一图像对应的ID是相同的,不同图像对应的ID是不同的;
将每一行ID文本作为一个语句,输入到预设语言模型中进行训练,得到第一历史操作图像集合中每个图像ID的词向量表示;
从得到的词向量中,获取待搜索图像的词向量。
对于候选图像的词向量,其获取过程与待搜索图像的词向量的获取过程类似,在此不再赘述。
步骤“从候选图像中,搜索词向量与待搜索图像的词向量相似的相似图像”,可以包括:
计算候选图像的词向量与待搜索图像的词向量的相似度;
将相似度不低于第六相似度阈值的候选图像,确定为待搜索图像的相似图像。
其中,该相似度可以为余弦相似度,预设语言模型可以为任意可用的语言模型,包括但不限于Word2vec语言模型。
上述方案中,从单个用户的图像操作行为角度进行了分析,本实施例还可以从多个用户的图像操作行为角度进行分析。SimRank的基本思想是,如果两个用户相似,那么与这两个用户相关联的表情也相似;如果两个表情相似,那么与这两个表情相关联的用户也相似。本实施例还可以基于SimRank的基本思想,提出多用户图像操作行为角度的相似图像搜索。
可选的,图像操作行为相似维度包括:多用户图像操作行为相似子维度;
获取待搜索图像在图像操作行为相似维度上的特征信息,包括:获取待搜索图像的识别信息。其中,该识别信息可以是图像的ID。
对应地,步骤“基于图像操作行为相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像操作行为相似维度上相似的相似图像”,可以包括:
基于待搜索图像的识别信息,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,其中,目标二部图的一边顶点表示用户(该用户为泛指,不限于发送待搜索图像的用户,可以包括使用本实施例的图像搜索方法进行图像搜索的用户),另一边顶点表示候选图像中用户的历史操作图像,图像相似度矩阵包括历史操作图像之间的图像相似度;
在图像相似度矩阵中,搜索与待搜索图像的图像相似度不低于预设相似度阈值的相似图像。
对于二部图,设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集A和B,则称图G为一个二部图。
本实施例中的二部图基于用户和用户操作过的图像构建,二部图其中一边的顶点是用户ID,另一边的顶点是图像ID;本实施例中,若某个用户对某个图像产生操作行为包括搜索、点击、以及收藏等行为,则该用户ID与该图像ID存在一条边。目标二部图是包含待搜索图像的二部图。
可选的,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,可以是实时计算目标二部图的图像相似度矩阵,也可以是从存储的图像相似度矩阵中获取目标二部图对应的图像相似度矩阵。
本实施例中,二部图的每条边有不同的权重,图像被用户操作过的次数越多,权重越大;不同操作行为的权重也不同,例如点击行为的权重大于搜索行为,收藏行为的权重大于点击行为,本实施例中的图像相似度矩阵基于每条边的权重计算得到。
本实施例中,计算二部图对应的图像相似度矩阵,可以通过SimRank算法对二部图结构进行计算,得到二部图的表情相似度矩阵。
根据上述描述可知,本实施例中有多个图像相似维度,每个图像相似维度下还存在多个子维度,有些子维度下还存在次级子维度,为了进一步提升排序的准确性,本实施例中,对于各个子维度和次级子维度,设置有对应的相似度权重。
步骤“根据相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算相似图像集合中相似图像的综合相似度”,可以包括:
根据相似图像在各个图像相似子维度和图像相似次级子维度下的相似度,以及各图像相似子维度和图像相似次级子维度对应的相似度权重,计算相似图像集合中相似图像的综合相似度。
本实施例中,在用户使用图像搜索一段时间后,会累积一定的用户历史操作行为数据,在用户历史操作行为数据的累积量满足预设条件时,不执行根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合的步骤;而是根据用户历史操作行为数据,分析用户对相似图像集合中相似图像的用户偏好,基于用户偏好对相似图像进行排序,得到排序后集合。
其中,可以基于用户历史操作行为数据,采用LambdaRank算法对相似图像进行排序。用户历史操作行为数据的累积量满足预设条件包括但不限于:用户历史操作行为数据的累积时长不低于预设时长阈值,或者用户历史操作行为数据的数据量不低于预设数据量阈值。
其中,用户历史操作行为数据包括:基于待搜索图像进行图像搜索的用户,在历史时间段内进行图像搜索产生的行为数据,该行为数据包括但不限于:图像被搜索出来的搜索次数,图像被搜索后显示的时间长度,图像被搜索并显示出来后用户的点击次数,图像的曝光次数等等,以及通过这些数据衍生的衍生数据,例如点击次数与搜索次数的比例等等。其中,该历史时间段为泛指,表示历史的一段时间段,时间段的起点和起点没有限制。
本实施例中,从图像、语义、图像操作行为等多个角度充分考虑了图像之间的相似性,极大地提高了相似表情的多样性,能够更好地满足用户多样化的需求。基于卷积神经网络的深度相似匹配模型是前沿的相似表情匹配方案,而本方案在此基础上提出了改进:采用注意力模块辅助卷积神经网络捕捉更重要的特征,提高了本实施例的相似匹配能力。
根据上面实施例所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该第一图像搜索装置具体集成终端、第二图像搜索装置具体集成在服务器为例进行说明。
如图4a所示,一种图像搜索方法,具体流程包括:
401、显示应用程序客户端的图像搜索页面,图像搜索页面为供用户以图像搜索图像的搜索页面,其中,图像搜索页面包括:待搜索图像选择控件;
其中,应用程序客户端可以是即时通讯客户端,或者搜索引擎等应用程序的客户端,本实施例对此没有限制。
其中,步骤“显示应用程序的图像搜索页面”,可以包括:
显示应用程序客户端的功能页面,其中,功能页面包括:搜索功能控件;
当检测到用户针对搜索功能控件的触发操作时,显示内容搜索页面,其中,内容搜索页面包括:图像搜索控件;
当检测到用户针对图像搜索控件的触发操作时,显示图像搜索页面。
例如,参考图4b,图4b中,应用程序客户端的功能页面如“发现”页面上,包含有多个功能控件,如扫码功能控件“扫一扫”、内容发布控件“朋友圈”、小程序功能控件“小程序”、图像搜索控件“搜一搜”等功能控件;当用户对图像搜索控件“搜一搜”进行触发操作如点击、滑动等操作时,终端会显示内容搜索页面,内容搜索页面中包含若干用于搜索不同对象的搜索控件,包括但不限于图像搜索控件“表情”,文章搜索控件“文章”,公众号搜索控件“公众号”,小程序搜索控件“小程序”等等。当用户对内容搜索页面中的图像搜索控件,如“表情”控件进行操作如点击、滑动等操作时,触发终端显示如图4b所示的表情搜索页面,该表情搜索页面上显示有图标“+”表示的待搜索图像选择控件。
402、当检测到用户针对待搜索图像选择控件的触发操作时,显示待搜索图像的选择页面;
如图4c所示,当检测到用户针对选择页面的“+”控件的触发操作,如点击等操作时,显示待搜索图像的选择页面,该选择页面上显示有多个待选图像,如表情1、表情2以及表情3······等等。
403、基于用户针对选择页面的待搜索图像确定操作,向服务器发送用户在选择页面上选择的候选图像,该被选择的候选图像为待搜索图像;
如图4c所示,当检测到用户针对选择页面上的某个待选图像如表情1的选定操作,则将用户选定的待选图像如表情1作为待搜索图像,向服务器发送该待搜索图像。
404、服务器接收待搜索图像;
405、服务器获取待搜索图像在多个图像相似维度上的特征信息;
参考图4d,图4d中是本实施例的图像搜索的一个可选的框架图,本实施例从图像、语义、用户的图像操作行为等三个角度进行特征提取,是图4d所示的相似图像搜索框架的核心内容。
本实施例中的相似图像搜索框架,包括以下四个阶段:数据预处理阶段,特征提取阶段,召回阶段,排序阶段。
本实施例的数据预处理阶段,包括对候选图像和待搜索图像的图像预处理,对搜索日志数据和外部的对话数据集的预处理(如数据清洗),这些预处理的描述可以参考上述实施例中的相关描述,在此不进行赘述。
本实施例的特征提取阶段,包括对候选图像的特征提取和对待搜索图像的特征提取。本实施例中,在步骤401之前,服务器对候选图像可以通过以下的方式获取多个图像相似维度上的7种特征信息,并保存为离线的特征信息以便后续使用:
对候选图像进行图像特征如ResNet向量的提取;
对候选图像进行人脸检测,若候选图像上存在人脸,则对候选图像进行人脸特征如FaceNet向量的提取;
对候选图像进行OCR识别,确定候选图像上记载的文字信息;
对候选图像进行Tag识别,确定候选图像的Tag,其中,若候选图像上不存在Tag,则通过标签分类模型对候选图像的Tag进行预测;
对候选图像进行OCR识别,确定候选图像上记载的文字信息,对候选图像进行对话表情挖掘,确定候选图像的文字信息的对话场景;
对候选图像基于单用户的图像操作行为,确定候选图像的词向量;
对候选图像进行Simrank相似挖掘多用户的图像操作行为,确定候选图像对应的二部图,基于候选图像的二部图,确定候选图像对应的图像相似度矩阵。
本实施例中,服务器获取待搜索图像在多个图像相似维度上的特征信息包括:
对待搜索图像提取图像特征如ResNet向量;
对待搜索图像进行人脸检测,若待搜索图像上存在人脸,则对待搜索图像进行人脸特征如FaceNet向量的提取;
对待搜索图像进行OCR识别,以确定待搜索图像上记载的文字信息;
确定候选图像中是否存在待搜索图像,若存在,从候选图像的词向量中获取待搜索图像的词向量;
确定候选图像的识别信息。
406、服务器基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;
本实施例的搜索框架中的召回阶段,包括两个方面:构建检索系统和检索相似图像。其中,构建检索系统可以预先完成。参考图4d,相似图像搜索框架可以为图像特征向量、人脸特征向量、基于对单用户的图像操作行为的挖掘得到的词向量构建向量检索系统,为光学字符识别得到的特征和标签特征构建文本检索系统、为Bert对话表情挖掘的结果以及Simrank相似挖掘的结果构建KV(Key-value)键值对检索系统。
其中,在KV检索系统中,可以基于Bert对话表情挖掘的结果以及Simrank相似挖掘的结果,存储每个候选图像和对应的挖掘结果的对应关系,例如存储每个候选图像和其相似图像的对应关系。
在进行相似图像的搜索时,当候选图像中存在待搜索图像时,可以根据KV检索系统中存储的候选图像与挖掘结果的对应关系,确定待搜素图像的相似图像。
在步骤406中,可以基于待搜索图像的特征信息以及候选图像的离线的特征信息,进行相似图像的搜索,具体的搜索过程可以参考上述实施例中的描述,在此不进行赘述。
407、服务器根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;
步骤407中,进行排序时,对于每一个相似图像,可以根据各图像相似维度对应的不同权重,对各个图像相似维度下的相似图像与待搜索图像的相似度进行加权求和,得到各个相似图像的综合相似度;基于综合相似度对相似图像进行降序排列,得到排序后集合。
本实施例中,在应用程序客户端的冷启动阶段,可以采用类似步骤407的方案进行排序,在(终端的当前用户的)用户历史操作行为数据(图4d中的用户行为数据)的累积量满足预设条件后,可以基于该用户历史操作行为数据,采用LambdaRank算法对相似图像进行排序,得到排序后集合。
408、服务器从排序后集合中选择预设数量的目标相似图像;
其中,预设数量可以根据实际需要设置,例如,预设数量可以为300张,400张等等。
409、服务器向终端发送目标相似图像。
可以理解的是,为了便于终端按照综合相似度从高到低的顺序显示目标相似图像,服务器向终端发送目标相似图像时,还可以将目标相似图像的顺序信息一同发给终端,以便于终端按照综合相似度的高低顺序显示目标相似图像。
410、终端接收目标相似图像,显示搜索结果列表,搜索结果列表包括搜索到的与待搜索图像相似的目标相似图像。
为了更好地实施以上方法,相应的,本发明实施例还提供一种图像搜索装置,其中,该图像搜索装置可以集成在终端或服务器中。
参考图5,该图像搜索装置包括:
第一获取单元501,用于获取待搜索图像;
第二获取单元502,用于获取待搜索图像在多个图像相似维度上的特征信息;
搜索单元503,用于基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;
排序单元504,用于根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;
选择单元505,用于从排序后集合中选择预设数量的目标相似图像;
输出单元506,用于输出目标相似图像。
在一个实施例中,图像相似维度包括:图像承载对象相似维度、图像语义相似维度以及图像操作行为相似维度;
搜索单元包括:
第一搜索子单元,用于基于图像承载对象相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像承载对象相似维度上相似的相似图像;
第二搜索子单元,用于基于图像语义相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像语义相似维度上相似的相似图像;
第三搜索子单元,用于基于图像操作行为相似维度上的特征信息,于候选图像中搜索与待搜索图像在图像操作行为相似维度上相似的相似图像。
在一个实施例中,图像承载对象相似维度包括:图像特征相似子维度;
第二获取单元,包括:
图像特征提取子单元,用于通过特征提取模型的局部特征提取块,提取所述待搜索图像的局部特征;
学习子单元,用于通过对应于所述局部特征提取块设置的注意力模块,学习所述局部特征提取块提取的局部特征的特征权重;
处理子单元,用于基于所述特征权重对所述局部特征提取块提取的局部特征进行处理,得到注意力局部特征,基于所述注意力局部特征得到所述待搜索图像的图像特征;
第一搜索子单元,用于:
获取候选图像基于特征提取模型提取的图像特征;
从候选图像中,搜索图像特征与待搜索图像的图像特征相似的相似图像。
在一个实施例中,图像承载对象相似维度包括:人脸相似子维度;
第二获取单元,包括:
人脸检测子单元,用于检测待搜索图像中是否存在人脸;
人脸特征提取子单元,用于若检测到待搜索图像中存在人脸,则通过人脸特征提取模型对待搜索图像进行人脸特征的提取;
第一搜索子单元,用于:
获取候选图像基于人脸特征提取模型提取的人脸特征;
从候选图像中,搜索人脸特征与待搜索图像的人脸特征相似的相似图像。
在一实施例中,图像语义相似维度包括图像语义相似子维度;
第二获取单元,用于识别待搜索图像的语义信息;
第二搜索子单元,用于获取候选图像的语义信息,从候选图像中,搜索语义信息与待搜索图像的语义信息相似的相似图像。
在一实施例中,图像语义相似维度包括图像对话关系相似子维度;
第二获取单元,用于识别待搜索图像的语义信息;
第二搜索子单元,用于:
确定与待搜索图像的语义信息在对话关系上相似的目标语义信息;
获取候选图像的语义信息;
从候选图像中,搜索语义信息与目标语义信息相似的相似图像。
在一实施例中,图像语义相似子维度包括:图像字符相似次级子维度;
第二获取单元,用于通过图像文字识别技术,识别待搜索图像上记载的文字信息;
第二搜索子单元,用于获取候选图像上记载的文字信息,从候选图像中,搜索文字信息与待搜索图像的文字信息相似的相似图像。
在一实施例中,图像语义相似子维度包括:图像标签相似次级子维度;
第二获取单元,用于若待搜索图像存在标签,则识别待搜索图像的标签;若待搜索图像不存在标签,则通过标签分类模型对待搜索图像的标签进行预测,根据预测结果获取待搜索图像对应的标签;
第二搜索子单元,用于:
获取候选图像的标签;
从候选图像中,搜索标签与待搜索图像的标签相似的相似图像。
在一实施例中,图像语义相似子维度包括:图像描述信息相似次级子维度;
第二获取单元,用于通过图像理解模型对待搜索图像进行分析,以生成待搜索图像的图像描述信息;
第二搜索子单元,用于:
获取候选图像基于图像理解模型生成的图像描述信息;
从候选图像中,搜索图像描述信息与待搜索图像的图像描述信息相似的相似图像。
在一实施例中,图像操作行为相似维度包括:单用户图像操作行为相似子维度;
第二获取单元,用于获取待搜索图像在第一历史图像标识号文本中的词向量,其中,第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第一用户历史操作图像集合包括待搜索图像;
第三搜索子单元,用于:
获取候选图像在第二历史图像标识号文本中的词向量,其中,第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第二用户历史操作图像集合包括候选图像;
从候选图像中,搜索词向量与待搜索图像的词向量相似的相似图像。
在一实施例中,图像操作行为相似维度包括多用户图像操作行为相似子维度;
第二获取单元,用于获取待搜索图像的识别信息;
第三搜索子单元,用于:
基于待搜索图像的识别信息,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,其中,目标二部图的一边顶点表示用户,另一边顶点表示候选图像中用户的历史操作图像,图像相似度矩阵包括历史操作图像之间的图像相似度;
在图像相似度矩阵中,搜索与待搜索图像的图像相似度不低于预设相似度阈值的相似图像。
在一实施例中,排序单元,包括:
加权子单元,用于根据相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算相似图像集合中相似图像的综合相似度;
排序子单元,用于根据相似图像的综合相似度,对相似图像集合中的相似图像进行排序。
在一实施例中,排序单元,还用于:
在用户历史操作行为数据的累积量满足预设条件时,不执行根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合的步骤;其中,用户历史操作行为数据包括:基于待搜索图像进行图像搜索的用户,在历史时间段内进行图像搜索产生的行为数据;而是根据用户历史操作行为数据,分析用户对相似图像集合中相似图像的用户偏好,基于用户偏好对相似图像进行排序,得到排序后集合。
此外,本发明实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器,如图6所示,其示出了本发明实施例所涉及的计算机设备的结构示意图,具体来讲:
该计算机设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601是该计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行计算机设备的各种功能和处理数据,从而对计算机设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
计算机设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该计算机设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,计算机设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,计算机设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
获取待搜索图像;
获取待搜索图像在多个图像相似维度上的特征信息;
基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;
根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;
从排序后集合中选择预设数量的目标相似图像;
输出目标相似图像。
本发明实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算机设备,如服务器、终端)通过网络通信的形式连接形成的分布式系统。
以分布式系统为区块链系统为例,参见图7,图7是本发明实施例提供的分布式系统100应用于区块链系统的一个可选的结构示意图,由多个节点200(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端300形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission ControlProtocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。本实施例中,候选图像(以及候选图像的各种特征信息,如图像特征、人脸特征、文字信息、描述信息以及标签等),可以通过节点被存储在区域链系统的共享账本中,计算机设备(例如终端或服务器)可以基于共享账本存储的记录数据获取候选图像,以及其特征信息。
参见图7示出的区块链系统中各节点的功能,涉及的功能包括:
1)路由,节点具有的基本功能,用于支持节点之间的通信。
节点除具有路由功能外,还可以具有以下功能:
2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。
例如,应用实现的业务包括:
2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;
2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。
2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。
3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
参见图8,图8是本发明实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的图像搜索方法中的步骤。例如,该指令可以执行如下步骤:
获取待搜索图像;
获取待搜索图像在多个图像相似维度上的特征信息;
基于多个图像相似维度上的特征信息,于候选图像中在多个图像相似维度上搜索相似图像,得到相似图像集合,相似图像集合中的相似图像与待搜索图像在至少一个图像相似维度上相似;
根据相似图像集合中相似图像对应的图像相似维度,对相似图像集合中的相似图像进行排序,得到排序后集合;
从排序后集合中选择预设数量的目标相似图像;
输出目标相似图像。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种图像搜索方法中的步骤,因此,可以实现本发明实施例所提供的任一种图像搜索方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的图像搜索方法、装置、计算机设备和存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种图像搜索方法,其特征在于,包括:
获取待搜索图像;
获取所述待搜索图像在多个图像相似维度上的特征信息,其中,所述图像相似维度包括图像操作行为相似维度,所述图像操作行为相似维度包括单用户图像操作行为相似子维度;
基于所述多个图像相似维度上的特征信息,于候选图像中分别在各图像相似维度上搜索相似图像,得到相似图像集合,所述相似图像集合中的相似图像与所述待搜索图像在至少一个图像相似维度上相似;
根据所述相似图像集合中各相似图像对应的至少一个图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合;
从所述排序后集合中选择预设数量的目标相似图像;
输出目标相似图像;
其中,对于单用户图像操作行为相似子维度,获取待搜索图像在图像操作行为相似维度上的特征信息的方案包括:
获取所述待搜索图像在第一历史图像标识号文本中的词向量,其中,所述第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,所述第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第一用户历史操作图像集合包括所述待搜索图像;
于候选图像中搜索与待搜索图像在单用户图像操作行为相似子维度上相似的相似图像的方案包括:
获取候选图像在第二历史图像标识号文本中的词向量,其中,所述第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,所述第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第二用户历史操作图像集合包括所述候选图像;
从所述候选图像中,搜索词向量与所述待搜索图像的词向量相似的相似图像。
2.根据权利要求1所述的图像搜索方法,其特征在于,所述图像相似维度还包括:图像承载对象相似维度和图像语义相似维度;
所述基于所述多个图像相似维度上的特征信息,于候选图像中分别在各图像相似维度上搜索相似图像包括:
基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像;
基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像;
基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像。
3.根据权利要求2所述的图像搜索方法,其特征在于,图像承载对象相似维度包括:图像特征相似子维度;
获取待搜索图像在图像承载对象相似维度上的特征信息,包括:
通过特征提取模型的局部特征提取块,提取所述待搜索图像的局部特征;
通过对应于所述局部特征提取块设置的注意力模块,学习所述局部特征提取块提取的局部特征的特征权重;
基于所述特征权重对所述局部特征提取块提取的局部特征进行处理,得到注意力局部特征,基于所述注意力局部特征得到所述待搜索图像的图像特征;
所述基于图像承载对象相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像承载对象相似维度上相似的相似图像,包括:
获取候选图像基于所述特征提取模型提取的图像特征;
从所述候选图像中,搜索图像特征与所述待搜索图像的图像特征相似的相似图像。
4.根据权利要求2所述的图像搜索方法,其特征在于,所述图像语义相似维度包括:图像语义相似子维度;
获取待搜索图像在图像语义相似维度上的特征信息,包括:
识别所述待搜索图像的语义信息;
所述基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像包括:
获取候选图像的语义信息,从所述候选图像中,搜索语义信息与所述待搜索图像的语义信息相似的相似图像。
5.根据权利要求2所述的图像搜索方法,其特征在于,所述图像语义相似维度包括:图像对话关系相似子维度;
获取待搜索图像在图像语义相似维度上的特征信息,包括:
识别所述待搜索图像的语义信息;
所述基于图像语义相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像语义相似维度上相似的相似图像包括:
确定与所述待搜索图像的语义信息在对话关系上相似的目标语义信息;
获取候选图像的语义信息;
从所述候选图像中,搜索语义信息与所述目标语义信息相似的相似图像。
6.根据权利要求2所述的图像搜索方法,其特征在于,所述图像操作行为相似维度还包括多用户图像操作行为相似子维度;
获取待搜索图像在图像操作行为相似维度上的特征信息,包括:
获取待搜索图像的识别信息;
所述基于图像操作行为相似维度上的特征信息,于候选图像中搜索与所述待搜索图像在图像操作行为相似维度上相似的相似图像,包括:
基于所述待搜索图像的识别信息,获取包含待搜索图像的目标二部图对应的图像相似度矩阵,其中,所述目标二部图的一边顶点表示用户,另一边顶点表示所述候选图像中所述用户的历史操作图像,所述图像相似度矩阵包括所述历史操作图像之间的图像相似度;
在所述图像相似度矩阵中,搜索与所述待搜索图像的图像相似度不低于预设相似度阈值的相似图像。
7.根据权利要求1-6任一项所述的图像搜索方法,其特征在于,所述根据所述相似图像集合中各相似图像对应的至少一个图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合,包括:
根据所述相似图像在对应的图像相似维度下的相似度,以及各图像相似维度对应的相似度权重,计算所述相似图像集合中相似图像的综合相似度;
根据所述相似图像的综合相似度,对所述相似图像集合中的相似图像进行排序。
8.一种图像搜索装置,其特征在于,包括:
第一获取单元,用于获取待搜索图像;
第二获取单元,用于获取所述待搜索图像在多个图像相似维度上的特征信息,其中,所述图像相似维度包括图像操作行为相似维度,所述图像操作行为相似维度包括单用户图像操作行为相似子维度;
搜索单元,用于基于所述多个图像相似维度上的特征信息,于候选图像中分别在各图像相似维度上搜索相似图像,得到相似图像集合,所述相似图像集合中的相似图像与所述待搜索图像在至少一个图像相似维度上相似;
排序单元,用于根据所述相似图像集合中各相似图像对应的至少一个图像相似维度,对所述相似图像集合中的相似图像进行排序,得到排序后集合;
选择单元,用于从所述排序后集合中选择预设数量的目标相似图像;
输出单元,用于输出目标相似图像;
其中,针对单用户图像操作行为相似子维度,第二获取单元,用于获取所述待搜索图像在第一历史图像标识号文本中的词向量,其中,所述第一历史图像标识号文本为第一历史操作图像集合中的图像的标识号组成的文本,所述第一历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第一用户历史操作图像集合包括所述待搜索图像;
搜索单元,用于获取候选图像在第二历史图像标识号文本中的词向量,其中,所述第二历史图像标识号文本为第二历史操作图像集合中的图像的标识号组成的文本,所述第二历史操作图像集合中的图像为同一用户在历史时间段内进行了操作的图像,且第二用户历史操作图像集合包括所述候选图像;从所述候选图像中,搜索词向量与所述待搜索图像的词向量相似的相似图像。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当计算机程序在计算机上运行时,使得所述计算机执行如权利要求1至7中任一项所述的图像搜索方法。
10.一种计算机设备,其特征在于,包括处理器以及存储应用程序的存储器,所述应用程序被所述处理器运行以实现如权利要求1至7中任一项所述的图像搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900623.7A CN110598037B (zh) | 2019-09-23 | 2019-09-23 | 一种图像搜索方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900623.7A CN110598037B (zh) | 2019-09-23 | 2019-09-23 | 一种图像搜索方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598037A CN110598037A (zh) | 2019-12-20 |
CN110598037B true CN110598037B (zh) | 2022-01-04 |
Family
ID=68862620
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910900623.7A Active CN110598037B (zh) | 2019-09-23 | 2019-09-23 | 一种图像搜索方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110598037B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694978B (zh) * | 2020-05-20 | 2023-04-28 | Oppo(重庆)智能科技有限公司 | 图像相似度检测方法、装置、存储介质与电子设备 |
CN111639970A (zh) * | 2020-05-28 | 2020-09-08 | 深圳壹账通智能科技有限公司 | 基于图像识别的物品价格确定方法及相关设备 |
CN112464006A (zh) * | 2020-06-14 | 2021-03-09 | 黄雨勤 | 基于人工智能和互联网的数据分析方法及系统 |
CN112308016B (zh) * | 2020-11-19 | 2024-02-27 | 网易(杭州)网络有限公司 | 表情图像获取方法、装置、电子设备及存储介质 |
CN112905817B (zh) * | 2021-05-08 | 2021-07-06 | 深圳市安软科技股份有限公司 | 基于排序算法的图像检索方法、装置及相关设备 |
CN113282781B (zh) * | 2021-05-18 | 2022-06-28 | 稿定(厦门)科技有限公司 | 图像检索方法及装置 |
CN113505120B (zh) * | 2021-09-10 | 2021-12-21 | 西南交通大学 | 一种大规模人脸数据集的双阶段噪声清洗方法 |
CN116010638A (zh) * | 2021-10-22 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 一种互动图像的显示方法、装置、计算机设备和存储介质 |
CN113806582B (zh) * | 2021-11-17 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 图像检索方法、装置、电子设备和存储介质 |
CN115033731B (zh) * | 2022-07-04 | 2023-07-18 | 小米汽车科技有限公司 | 图像检索方法、装置、电子设备及存储介质 |
CN117076702B (zh) * | 2023-09-14 | 2023-12-15 | 荣耀终端有限公司 | 图像查找方法及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853295A (zh) * | 2010-05-28 | 2010-10-06 | 天津大学 | 一种图像检索方法 |
CN106919326A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种图片搜索方法及装置 |
CN107515895A (zh) * | 2017-07-14 | 2017-12-26 | 中国科学院计算技术研究所 | 一种基于目标检测的视觉目标检索方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6922700B1 (en) * | 2000-05-16 | 2005-07-26 | International Business Machines Corporation | System and method for similarity indexing and searching in high dimensional space |
JP4989308B2 (ja) * | 2007-05-16 | 2012-08-01 | キヤノン株式会社 | 画像処理装置及び画像検索方法 |
US9471681B1 (en) * | 2011-01-06 | 2016-10-18 | A9.Com, Inc. | Techniques for search optimization |
CN108875797B (zh) * | 2018-05-29 | 2023-04-18 | 腾讯科技(深圳)有限公司 | 一种确定图像相似度的方法、相册管理方法及相关设备 |
-
2019
- 2019-09-23 CN CN201910900623.7A patent/CN110598037B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853295A (zh) * | 2010-05-28 | 2010-10-06 | 天津大学 | 一种图像检索方法 |
CN106919326A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 一种图片搜索方法及装置 |
CN107515895A (zh) * | 2017-07-14 | 2017-12-26 | 中国科学院计算技术研究所 | 一种基于目标检测的视觉目标检索方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110598037A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598037B (zh) | 一种图像搜索方法、装置和存储介质 | |
CN109583904B (zh) | 异常操作检测模型的训练方法、异常操作检测方法及装置 | |
CN110503531B (zh) | 时序感知的动态社交场景推荐方法 | |
CN110472090B (zh) | 基于语义标签的图像检索方法以及相关装置、存储介质 | |
CN111324774B (zh) | 一种视频去重方法和装置 | |
CN109492772B (zh) | 生成信息的方法和装置 | |
CN109033408B (zh) | 信息推送方法及装置、计算机可读存储介质、电子设备 | |
CN111079015B (zh) | 一种推荐方法、装置、计算机设备和存储介质 | |
CN108427708A (zh) | 数据处理方法、装置、存储介质和电子装置 | |
CN110598019B (zh) | 重复图像识别方法及装置 | |
CN114238573B (zh) | 基于文本对抗样例的信息推送方法及装置 | |
CN111970400B (zh) | 骚扰电话识别方法及装置 | |
CN114663198A (zh) | 基于用户画像的产品推荐方法、装置、设备及存储介质 | |
CN111324773A (zh) | 一种背景音乐构建方法、装置、电子设备和存储介质 | |
CN112328833A (zh) | 标签处理方法、装置及计算机可读存储介质 | |
CN114238764A (zh) | 基于循环神经网络的课程推荐方法、装置及设备 | |
CN114491255A (zh) | 推荐方法、系统、电子设备和介质 | |
CN114328800A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN109493186A (zh) | 确定推送信息的方法和装置 | |
JPH11250106A (ja) | 内容基盤の映像情報を利用した登録商標の自動検索方法 | |
CN116522131A (zh) | 对象表示方法、装置、电子设备及计算机可读存储介质 | |
CN116484105A (zh) | 业务处理方法、装置及计算机设备、存储介质、程序产品 | |
Moctezuma et al. | Appearance model update based on online learning and soft‐biometrics traits for people re‐identification in multi‐camera environments | |
CN112084408B (zh) | 名单数据筛选方法、装置、计算机设备及存储介质 | |
CN112052402B (zh) | 信息推荐方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |