一种以图搜图的方法、装置及应用系统与流程

文档序号:17951118发布日期:2019-06-19 00:02阅读:310来源:国知局
一种以图搜图的方法、装置及应用系统与流程

本发明涉及图像处理技术领域,尤其涉及一种以图搜图的方法、装置及应用系统。



背景技术:

随着互联网中图像的数据信息日渐庞大,用户对图像搜索的要求也在不断提高,以图搜图的搜索方式应运而生。

现有技术中,以图搜图的方式是通过输入图片来检索相同或相似的图片的一种搜索技术,存在搜索速度慢,搜索结果误差较大的问题。



技术实现要素:

本发明的实施例提供一种以图搜图的方法、装置及应用系统,可以提高搜索效率。

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

一方面,本发明的实施例提供了一种以图搜图的方法,包括:接收搜索图片;提取所述搜索图片的特征点;在图片分类索引表中,找到所述搜索图片的每个特征点对应的类,图片分类索引表中的图片为图库中的图片;并在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,相同特征点为与所述搜索图片的特征点相同的特征点。

可选地,在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,包括:在所有特征点对应的类中,获取具有相同特征点的匹配图片,并按照具有相同特征点的个数由大到小或由小到大的顺序,对匹配图片进行排序;获取具有相同特征点数量最多的目标图片。

可选地,获取具有相同特征点的匹配图片之后,按照相同特征点由大到小或由小到大的顺序,对匹配图片进行排序之前,所述以图搜图的方法还包括:将相同特征点个数小于等于阈值的匹配图片删除。

可选地,以图搜图的方法还包括:对图库中每张图片提取特征点,并对每个特征点进行分类;根据每类下的特征点,建立类与具有该特征点的图库中图片的索引表,得到图片分类索引表。

可选地,在图片分类索引表中,找到所述搜索图片的每个特征点对应的类,包括:对所述搜索图片的每个特征点进行分类;根据所述搜索图片的每个特征点对应的类,在图片分类索引表中,找到所述搜索图片的每个特征点对应的类。

可选地,提取所述搜索图片的特征点,包括:通过sift算法,提取所述搜索图片的特征点。

再一方面,本发明的实施例还提供另一种以图搜图的方法,包括:接收搜索图片;获取所述搜索图片的标签;根据所述搜索图片,记录每个标签出现的次数;获取与累计出现次数最多的标签对应的目标图片。

可选地,获取搜索图片的标签,包括:利用哈希模型获取搜索图片的标签。

可选地,以图搜图的方法还包括:获取与用户设定的喜好标签对应的目标图片。

另一方面,本发明的实施例还提供一种以图搜图的装置,包括:接收模块,配置为接收搜索图片;提取模块,配置为提取所述搜索图片的特征点;获取模块,配置为在图片分类索引表中,找到所述搜索图片的每个特征点对应的类,图片分类索引表中的图片为图库中的图片;并在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,相同特征点为与所述搜索图片的特征点相同的特征点。

可选地,获取模块在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,包括:所述获取模块在所有特征点对应的类中,获取具有相同特征点的匹配图片,并按照具有相同特征点的个数由大到小或由小到大的顺序,对匹配图片进行排序;获取具有相同特征点数量最多的目标图片。

可选地,以图搜图的装置还包括索引表建立模块,配置为对图库中每张图片提取特征点,并对每个特征点进行分类;根据每类下的特征点,建立类与具有该特征点的图库中图片的索引表,得到图片分类索引表。

可选地,获取模块在图片分类索引表中,找到所述搜索图片的每个特征点对应的类,包括:所述获取模块对所述搜索图片的每个特征点进行分类;根据所述搜索图片的每个特征点对应的类,在图片分类索引表中,找到所述搜索图片的每个特征点对应的类。

又一方面,本发明的实施例还提供另一种以图搜图的装置,包括:接收模块,配置为接收搜索图片;提取模块,配置为获取所述搜索图片的标签;记录模块,配置为根据所述搜索图片,记录每个标签出现的次数;获取模块,配置为获取与累计出现次数最多的标签对应的目标图片。

可选地,提取模块获取搜索图片的标签,包括:提取模块利用哈希模型获取搜索图片的标签。

可选地,获取模块,还配置为根据用户设定的喜好标签,获取目标图片。

本发明的实施例提供一种以图搜图的应用系统,包括:终端、服务器、画屏;上述任一种以图搜图的装置,集成于服务器中;终端配置为向服务器发送搜索图片,并接收服务器发送的目标图片;画屏配置为接收并显示终端发送的目标图片。

本发明的实施例提供一种以图搜图的方法,通过服务器端接收搜索图片,提取搜索图片的特征点,根据图片分类索引表,在所有特征点对应的类中进行检索,获取相同特征点最多的目标图片。由此可见,本发明的实施例能够根据图片分类索引表中类与具有相应特征点的图库中图片的关系,在检索时快速定位到特征点对应的类下再进行检索,相对于现有技术中每次查询都需要遍历查找,在保证匹配精度的基础上,提高了搜索效率。

附图说明

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

图1为本发明实施例提供的一种以图搜图的流程图;

图2为本发明实施例提供的再一种以图搜图的流程图;

图3为本发明实施例提供的又一种以图搜图的流程图;

图4为本发明实施例提供的又一种以图搜图的流程图;

图5为本发明实施例提供的又一种以图搜图的的流程图;

图6为本发明实施例提供的一种以图搜图的装置模块示意图;

图7为本发明实施例提供的又一种以图搜图的流程图;

图8为本发明实施例提供的一种以图搜图的装置模块示意图;

图9为本发明实施例提供的一种以图搜图的应用系统示意图。

附图标记:

1-终端;2-服务器;3-画屏;10-接收模块;20-提取模块;30-获取模块;40-索引表建立模块;50-记录模块。

具体实施方式

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

本发明的实施例提供一种以图搜图的方法,如图1所示,包括:

s11、服务器端接收搜索图片。

以图搜图的整个系统包括终端、服务器端等。用户使用终端拍摄照片上传服务器或者将终端相册中的照片上传服务器。

终端可以为手机、平板电脑、pc(personalcomputer,个人电脑)、笔记本等设备,本申请对此并不进行限定。

s12、根据上述的搜索图片,服务器端提取搜索图片的特征点。

特征点为采用固定灰度差阈值从搜索图片上提取的局部特征,服务器端提取搜索图片的特征点,利用特征点为后续搜索方法提供便利。

s13、在图片分类索引表中,服务器端找到所述搜索图片的每个特征点对应的类,图片分类索引表中的图片为图库中的图片;并在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,相同特征点为与所述搜索图片的特征点相同的特征点。

图片分类索引表存储于服务器端的数据库中。图库中的图片基于特征点进行分类,即,根据从图库中每张图片提取的特征点,得到特征点与类的关系,进一步的得到类与具有相应特征点的图库中图片的关系。

服务器端根据搜索图片的特征点所属的类,可以在上述的图片分类索引表中定位类的位置,从而在该类下,获取具有相同特征点数量最多的目标图片。

目标图片为从图库中搜索到的与搜索图片最相似或者完全相同的图片。

本发明的实施例提供一种以图搜图的方法,通过服务器端接收搜索图片,提取搜索图片的特征点,根据图片分类索引表,在所有特征点对应的类中进行检索,获取相同特征点最多的目标图片。由此可见,本发明的实施例能够根据图片分类索引表中类与具有相应特征点的图库中图片的关系,在检索时快速定位到特征点对应的类下再进行检索,相对于现有技术中每次查询都需要遍历查找,在保证匹配精度的基础上,提高了搜索效率。

可选地,上述s12服务器端提取搜索图片的特征点,包括:服务器端通过sift算法,提取搜索图片的特征点。

sift(scale-invariantfeaturetransform,尺度不变特征转换)算法为一种相对性能较好的局部特征算法,具有良好的尺度、旋转、光照等不变特性,甚至对视角变化、几何畸变和成像噪声也有较高的容忍性。

sift算法采用固定灰度差阈值来提取特征点,灰度差阈值决定了能够得到的特征点数量。灰度差阈值越大,检测到的极值点就越多,作为特征点的数量就越多;灰度差阈值越小,检测到的极值点就越少,作为特征点的数量就越少。基于此,可以根据需要选用合适的灰度差阈值,本申请对此并不进行限定。

可选地,s13中在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,如图2所示,包括:

s131、在所有特征点对应的类中,服务器端获取具有相同特征点的匹配图片。

服务器端在图片分类索引表中定位到特征点对应的类的位置后,在该类下检索,获取具有相同特征点的匹配图片,可能获取到0张(即没有图片具有相同特征点),也可能获取到一张或者多张匹配图片。

服务器端对搜索图片的所有特征点一一定位到对应的类下进行搜索,获取出所有具有相同特征点的匹配图片。

可以理解的是,服务器端获取出的匹配图片中可能会有重复出现的图片,重复出现的匹配图片说明具有多个相同特征点,每检索一个特征点都会被检索出一次,检索出现的次数就是具有相同特征点的个数。

s132、按照具有相同特征点的个数由大到小或由小到大的顺序,对匹配图片进行排序。

服务器端通过计算匹配图片出现的次数,可知每个匹配图片中所具有的相同特征点的数量。匹配图片具有的相同特征点的数量越多说明匹配图片与搜索图片越相似,数量越少说明越不同。

s133、获取相同特征点数量最多的目标图片。

相同特征点数量最多的匹配图片与搜索图片最相似或者完全相同。

可选地,如图2所示,s131获取具有相同特征点的匹配图片之后,s132按照相同特征点由大到小或由小到大的顺序,对匹配图片进行排序之前,以图搜图的方法还包括:

s134、将相同特征点个数小于等于阈值的匹配图片删除。

其中,阈值的大小可以根据需要进行设定,本申请对其不做任何限定。

先删除相同特征点小于等于阈值的匹配图片,即先删除掉一大部分相似度较低的匹配图片,降低了后续排序的工作量,提高了搜索效率。

可选地,以图搜图的方法还包括:建立图片分类索引表。

如图3所示,建立图片分类索引表,包括:

s10、服务器端对图库中每张图片提取特征点,并对每个特征点进行分类。

图库存储于服务器端的数据库中。服务器端将图库中图片进行分类并建立图片分类索引表之前,需先建立hikm(hierarchicalversionofintegerk-means,聚类)模型。

hikm模型中聚类的数量可以根据需要进行指定,本申请对此并不进行限定,示例的,可以指定为125000类。

建立hikm模型的具体过程包括:

首先,服务器端利用sift算法对模型建立所用的图片提取特征点。

需要说明的是,此处,模型建立所用的图片指的是在建立hikm模型过程中所使用的图片,模型建立所用的图片可以选取通过艺术创作、设计软件等任何方式获得的图片。

其次,任意选择k个特征点作为初始聚类中心,而对于其余特征点,则根据其余特征点其与这些上述的聚类中心的距离,按照最邻近原则,分别分配给距离最近的聚类。

最后,重新计算每个所获新聚类的聚类中心(聚类中所有特征点的均值),不断重复这个过程,直到聚类中心的变化极少为止,则hikm模型建立。

其中,计算特征点与聚类中心距离的方法可以采用欧几里得距离算法、曼哈顿算法等,本申请对此并不进行限定。

将每张图片的特征点根据已建立的hikm模型进行分类,得到每个特征点所对应的类。

s20、根据每类下的特征点,建立类与具有该特征点的图库中图片的索引表,得到图片分类索引表。

图片分类索引表具有多个类,图片分类索引表的类的数量与hikm模型的数量相同,且每个类对应hikm模型中的每个聚类。示例的,hikm模型包括125000聚类,则图片分类索引表包括125000类,且hikm模型的一个聚类对应图片分类索引表中的一类。

可选地,如图4所示,s13服务器端在图片分类索引表中,找到搜索图片的每个特征点对应的类,包括:

s30、对所述搜索图片的每个特征点进行分类。

其中,可以根据sift算法提取搜索图片的特征点。将提取的搜索图片的特征点,根据已建立的hikm模型进行分类,得到搜索图片中每个特征点所属的类。

s40、根据所述搜索图片的每个特征点对应的类,在图片分类索引表中,找到所述搜索图片的每个特征点对应的类。

由于hikm模型的类与图片分析索引表的类数量相同且对应,因此,根据搜索图片中每个特征点所属的类可知其在图片分析索引表中对应的类。

基于上述描述,以下提供的一种以图搜图的方法,以清楚描述其实现过程。

如图5所示,可以分为三个阶段:

第一阶段为hikm模型的建立阶段。首先,服务器利用sift算法对模型建立所用而选取的例如70000图片提取特征点,共提取出了例如60000000个特征点。其次,任意选择例如125000个特征点作为初始聚类中心,而对于其余特征点,则根据这些特征点与这125000个初始聚类中心的距离,按照最邻近原则,分别分配给距离最近的聚类。然后,采用欧几里得距离算法,重新计算每个新聚类的聚类中心,不断重复这个过程,直到聚类中心的变化极少为止,则hikm模型建立,且该hikm模型共有125000个类。

第二阶段为图片分类索引表的建立阶段。首先,服务器对图库中的例如10000张图片利用sift算法提取特征点,共提取出了例如10000000个特征点。其次,利用已建立的hikm模型进行分类,将这10000000个特征点分入到hikm模型的125000个类中。以100个特征点被分入hikm模型中的第1个类中为例,根据第1个类下的100个特征点(图库中例如有90张图片,每张图片具有这100个特征点中的至少一个特征点),建立第1个类与具有该特征点的图库中图片(该90张图片)的索引表,依次类推,得到图片分类索引表。

第三阶段中为搜索阶段。首先,服务器端根据sift算法提取搜索图片的特征点,例如提取了50个特征点,根据已建立的hikm模型进行分类,得到上述50个特征点所属的类。其次,根据该50个特征点在hikm模型对应的例如8个类,在图片分类索引表中,找到上述8个类。然后,分别在该8个类下检索,例如获取出5张具有相同特征点的匹配图片。其中,检索50个特征点对应的8个类时,例如最多有10个特征点都检索到是同一张图片,说明这张匹配图片具有10个相同特征点。

基于上述,具有10个相同特征点的匹配图片为目标图片,与搜索图片最相似。

本发明的实施例还提供一种以图搜图的装置,如图6所示,包括:接收模块10,配置为接收搜索图片;提取模块20,配置为提取所述搜索图片的特征点;获取模块30,配置为在图片分类索引表中,找到所述搜索图片的每个特征点对应的类,图片分类索引表中的图片为图库中的图片;并在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,相同特征点为与所述搜索图片的特征点相同的特征点。

例如,以图搜图的装置集成于服务器中。在本发明的实施例提供的一种以图搜图的装置中,通过接收模块10接收搜索图片,提取模块20提取搜索图片的特征点,获取模块30根据图片分类索引表,在所有特征点对应的类中进行检索,获取相同特征点最多的目标图片。由此可见,本发明的实施例能够根据图片分类索引表中包括有特征点的图库中图片与类的关系,在检索时快速定位到特征点对应的类下再进行检索,相对于现有技术中每次查询都需要遍历查找,在保证匹配精度的基础上,提高了搜索效率。

可选地,获取模块30在所有特征点对应的类中,获取具有相同特征点数量最多的目标图片,包括:

获取模块30在所有特征点对应的类中,获取具有相同特征点的匹配图片,并按照具有相同特征点的个数由大到小或由小到大的顺序,对匹配图片进行排序;获取具有相同特征点数量最多的目标图片。

获取模块30对搜索图片的所有特征点一一定位对应的类下获取出所有具有相同特征点的匹配图片,并通过计算匹配图片出现的次数,可知每个匹配图片具有的相同特征点的个数,依此排序,获取处相同特征点数量最多的匹配图片与搜索图片最相似或者完全相同。

在此基础上,可选地,获取模块30在获取具有相同特征点的匹配图片之后,按照相同特征点由大到小或由小到大的顺序,对匹配图片进行排序之前,获取模块30还配置为将相同特征点个数小于等于阈值的匹配图片删除。

获取模块30先删除相同特征点小于等于阈值的匹配图片,即先删除掉一大部分相似度较低的匹配图片,降低了后续排序的工作量,提高了搜索效率。

可选地,如图6所示,以图搜图的装置还包括索引表建立模块40。该索引表建立模块40配置为对图库中每张图片提取特征点,并对每个特征点进行分类;根据每类下的特征点,建立类与具有该特征点的图库中图片的索引表,得到图片分类索引表。

在此基础上,可选地,获取模块30在图片分类索引表中,找到搜索图片的每个特征点对应的类,包括:

获取模块30对搜索图片的每个特征点进行分类;根据搜索图片的每个特征点对应的类,在图片分类索引表中,找到搜索图片的每个特征点对应的类。

获取模块30根据已建立的hikm模型对搜索图片的每个特征点进行分类,得到特征点与类的关系,进一步得到类与具有相应特征点的图片的关系,从而在图片分类索引表中定位类的位置。

本发明的实施例还提供一种以图搜图的方法,如图7所示,包括:

s100、服务器端接收搜索图片。

以图搜图的整个系统包括终端、服务器端等。用户使用终端拍摄照片上传服务器或者将终端相册中的照片上传服务器。

终端可以为手机、平板电脑、pc、笔记本、画屏等设备,本申请对此并不进行限定。

s200、服务器端获取所述搜索图片的标签。

可选地,s200中服务器端获取搜索图片的标签,包括:利用哈希(hashing)模型获取搜索图片的标签。

将搜索图片输入已训练哈希模型中的深度卷积神经网络(convolutionalneuralnetwork,cnn),服务器端基于深度卷积神经网络,获取搜索图片的标签。

哈希模型的训练过程包括:每次将两张已知标签的图片输入深度卷积神经网络,基于深度卷积神经网络,判断两张图片是否具有相同的标签,如果具有一个相同标签,深度卷积神经网络输出判断结果为0,如果不相同,输出判断结果为1。

如果哈希模型在训练过程中,深度卷积神经网络输出的判断结果介于0到1之间,则需要计算实际结果与期望结果的误差,对深度卷积神经网络的参数进行反向调整,弥补误差,使其输出结果准确。同时可以提高哈希模型在使用过程中提取标签的准确度。

s300、服务器端根据所述搜索图片,记录每个标签出现的次数。

示例的,用户进行了一次搜索,上传的搜索图片的标签为“素描”,则“素描”标签的次数加一。

s400、服务器端获取与累计出现次数最多的标签对应的目标图片。

通过对用户搜索图片的标签的记录与分析,可以确定用户的搜索习惯和偏好。

示例的,用户使用了以图搜图功能多次后,获取用户搜索时带有“素描”标签的次数最多,则认为用户偏好“素描”风格的图片,因此,为用户优先推荐“素描”风格的相关图片。或者,示例的,用户使用了以图搜图功能多次后,获取用户搜索时,“素描”和“狗”两个标签出现的次数最多,则认为用户偏好素描的狗的图片,因此,为用户优先推荐带有“素描”和“狗”标签的图片。本发明的实施例提供一种以图搜图的方法,通过利用哈希模型获取搜索图片的标签,记录标签出现的次数,累计出现的次数最多的标签,将标签次数最多的目标图片推荐给用户,从而可以根据用户的兴趣点进行推荐,提升推荐的准确度。

可选地,以图搜图的方法还包括:获取与用户设定的喜好标签对应的目标图片。

示例的,用户可预先设定喜好标签为“油画”,则在用户使用时,可优先推荐“油画”相关的图片,提高推荐的准确度。

本发明的实施例还提供一种以图搜图的装置,如图8所示,包括:接收模块10,配置为接收搜索图片;提取模块20,配置为获取所述搜索图片的标签;记录模块50,配置为根据所述搜索图片,记录每个标签出现的次数;获取模块30,配置为获取与累计出现次数最多的标签对应的目标图片。

在本发明的实施例提供的一种以图搜图的装置中,通过提取模块20获取搜索图片的标签,记录模块50记录标签出现的次数,获取模块30获取累计标签出现次数最多的目标图片,推荐目标图片给用户,从而可以根据用户的兴趣点进行推荐,提升推荐的准确度。

可选地,提取模块20获取搜索图片的标签,包括:提取模块20利用哈希模型获取搜索图片的标签。

可选地,获取模块30,还配置为获取与用户设定的喜好标签对应的目标图片。

本发明的实施例还提供一种以图搜图的应用系统,如图9所示,包括:终端1、服务器2、画屏3;上述的以图搜图的装置集成于服务器2中。

终端1配置为向服务器2发送搜索图片,并接收服务器2发送的目标图片;

画屏3配置为接收并显示终端1发送的目标图片。

用户使用终端1上的app拍摄照片上传服务器2或者将终端1相册中的照片作为搜索图片上传服务器2。终端1可以为手机、平板电脑、pc、笔记本等设备,本申请对此并不进行限定。

服务器2通过以图搜图的装置,实现以图搜图的方法,获取目标图片发送至终端1。此外,当用户打开终端1上的具有以图搜图功能的应用时,目标图片可以直接显示在终端1的界面上为用户进行推荐。

示例的,如图9所示,以图搜图的应用系统工作时,用户可以使用手机app对感兴趣的画作拍照,并通过上传照片搜索这张感兴趣的画作的原图或相似图(上传的照片为搜索图片),服务器2接收终端发送的搜索图片,检索出目标图片(即,该画作的原图或相似图)后发送至手机app。手机app接收目标图片后发送至画屏3,画屏3接收并放大显示目标图片。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

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