本发明涉及图像检索领域,具体而言,涉及一种图像的检索方法及装置。
背景技术:
随着网络及照相设备的普及尤其是带有照相功能的手机的普及,使人们接触到的图像越来越多,因此如何在大量的图像中快速、准确的找到一副图像的相似图像变得越来越重要。
目前,相关技术中的图像检索技术有基于文本的图像检索技术和基于图像的图像检索技术;其中,基于文本的图像检索技术是早年普遍采用的一种图像检索技术,其沿用了传统的文本检索技术,通过人工给图像库中的每个图片添加标注,用于描述图像的信息,用户检索时也通过文字来检索某一类图片,如目前的百度图片依然支持这种图像检索方法。随着数字图像处理、模式识别以及机器学习等技术的发展,基于图像的图像检索技术应运而生,其大量应用数字图像处理、模式识别以及机器学习领域的原理和知识,通过特定的算法提取图像的特征,通过提取到的特征计算图像之间的相似度,并依据相似度返回图像库中相似的图片,完成整个图像检索流程。
基于文本的图像检索虽然搜索出来的图片大都是符合用户输入的待检索图片的语义,但其图像库中的每张图像都需要人工标注,需要耗费大量的人力,尤其是在互联网图片更新越来越快以及人工成本越来越高的背景下,该方法正变得越来越不实用。相关技术中的基于图像的图像检索系统大都通过计算图像在某一个或某几个特征上的相似度来检索相近的图片,如颜色特征、直方图特征、梯度特征以及几何特征等,但这些特征大都不具有语义性,导致检索处理的图片匹配度不高。
针对相关技术中的上述问题,目前尚未存在有效的解决方案。
技术实现要素:
本发明提供了一种图像的检索方法及装置,以至少解决相关技术中图像的检索方式单一且匹配度不高的问题。
根据本发明的一个方面,提供了一种图像的检索方法,包括:提取待检索图像上用于表征图像特征属性的多个特征描述子;将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图;计算所述待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从所述图像库中检索出相似度大于预设阈值的所有图像。
进一步地,在获取待检索图像上用于表征图像特征属性的多个特征描述子之前,所述方法还包括:采集各种类型的图像,并对所述各种类型的图像进行预处理得到归一化后的各种类型的图像;提取归一化后的所述各种类型的图像的特征描述子,并对所述各种类型的特征描述子进行聚类处理生成用于映射各种不同特征属性的特征描述子的词汇表。
进一步地,在通过聚类生成所述词汇表之后,所述方法还包括:提取归一化后的所有图像的特征描述子;循环处理每个图像,将每个图像上所有的特征描述子映射到词汇表上,并统计出每个图像在词汇表上各词汇的直方图;将所述直方图归一化得到每张图像在所述词汇表上的归一化后的直方图。
进一步地,所述计算所述待检索图像的直方图与预存在图像库中所有图像的直方图的相似度包括:统计所述待检索图像的直方图中每一项代表不同特征属性的特征描述子占所有特征描述子总和的比例;根据直方图中不同特征属性的特征描述子的比例值,计算所述待检索图像的直方图与预存在图像库中各个图像的直方图的相似度。
进一步地,每一直方图中所有不同特征属性的特征描述子的比例值的和为1。
根据本发明的另一个方面,提供了一种图像的检索装置,包括:特征提取模块,用于提取待检索图像上用于表征图像特征属性的多个特征描述子;第一映射模块,用于将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图;相似度计算模块,用于计算所述待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从所述图像库中检索出相似度大于预设阈值的所有图像。
进一步地,所述装置还包括:第一处理模块,用于在获取待检索图像上用于表征图像特征属性的多个特征描述子之前,采集各种类型的图像,并对所述各种类型的图像进行预处理得到归一化后的所述各种类型的图像;第二处理模块,用于提取归一化后的所述各种类型的图像的特征描述子,并对所述各种类型的特征描述子进行聚类处理生成用于映射各种不同特征属性的特征描述子的词汇表。
进一步地,所述装置还包括:提取模块,用于提取归一化后的所述所有图像的特征描述子;第二映射模块,用于循环处理每个图像,将每个图像上所有的特征描述子映射到词汇表上,并统计出每个图像在词汇表上各词汇的直方图;归一化模块,用于将所述直方图归一化得到每张图像在所述词汇表上的归一化后的直方图。
进一步地,所述相似度计算模块包括:统计单元,用于统计所述待检索图像的直方图中每一项代表不同特征属性的特征描述子占所有特征描述子总和的比例;相似度计算单元,用于根据直方图中不同特征属性的特征描述子的比例值,计算所述待检索图像的直方图与预存在图像库中各个图像的直方图的相似度。
进一步地,每一直方图中所有不同特征属性的特征描述子的比例值的和为1。
通过本发明,采用获取待检索图像上用于表征图像特征属性的多个特征描述子,进而将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图,最后通过计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从图像库中检索出相似度大于预设阈值的所有图像的方式,通过本发明,解决了相关技术中图像的检索方式单一且匹配度不高的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的图像的检索方法的流程图;
图2是根据本发明可选实施例的图像的检索装置的结构框图;
图3是根据本发明可选实施例的图像的检索装置的可选结构框图一;
图4是根据本发明可选实施例的图像的检索装置的可选结构框图二;
图5是根据本发明可选实施例的词汇表训练方法的流程图;
图6是是根据本发明可选实施例的图像库建立方法的流程图;
图7是根据本发明可选实施例的图像检索方法的流程图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种图像的检索方法,图1是根据本发明实施例的图像的检索方法的流程图,如图1所示,该流程包括如下步骤:
步骤s102:提取待检索图像上用于表征图像特征属性的多个特征描述子;
步骤s104:将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图;
步骤s106:计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从图像库中检索出相似度大于预设阈值的所有图像。
通过本实施例的上述步骤s102至步骤s106可知,采用获取待检索图像上用于表征 图像特征属性的多个特征描述子,进而将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图,最后通过计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从图像库中检索出相似度大于预设阈值的所有图像,也就是说,通过将图像的特征描述子映射到词汇表中并通过直方图来表示不同类型的特征属性,进而通过比较待检索图像的直方图与预存的直方图,将相似度高于预设阈值的图像检索出来,从而解决了相关技术中图像的检索方式单一且匹配度不高的问题。
在本实施例的可选实施方式中,对于步骤s102中涉及到的在获取待检索图像上用于表征图像特征属性的特征描述子之前,本实施例的方法还可以包括:
步骤s102-1:采集各种类型的图像,并对各种类型的图像进行预处理得到归一化后的各种类型的图像;
步骤s102-2:提取归一化后的各种类型的图像的特征描述子,并对各种类型的特征描述子进行聚类处理生成用于映射各种不同特征属性的特征描述子的词汇表。
也就是说,该步骤s102-1和步骤s102-2在具体应用场景中可以是:搜集训练图像,该图像类别至少包括人物、景物;对搜集到的图片进行预处理,使图像尺寸大小归一化,利用重要信息稠密分布的特点提取各训练图像上对应点的特征描述子,对提取到的特征描述子进行聚类操作后生成用于表征图像特征的词汇表。
此外,在本实施例的另一个可选实施方式中,在将通过聚类生成所述词汇表之后,本实施例的方法还可以包括:
步骤s102-3:提取归一化后的所有图像的特征描述子;
步骤s102-4:循环处理每个图像,将每个图像上所有的特征描述子映射到词汇表上,并统计出该图像在词汇表上各词汇的直方图;
步骤s102-5:将所述直方图归一化得到每张图像在所述词汇表上的归一化后的直方图。
对于上述步骤,在本实施例具体应用场景中可以是:对图像库中的图片进行预处理,使图像尺寸大小归一化;利用重要信息稠密分布的特点提取各图像上对应点的特征描述子;将提取到的特征映射到预先生成的词汇表上,并统计直方图;统计直方图中各项出现次数的总和,然后将直方图中的每一项都除以该总和,确保处理后的直方图各项之和为1;将处理后的直方图数据保存到文件或数据库中。
对于本实施例中涉及到的步骤s106,计算待检索图像的直方图与预存在图像库中所有图像的直方图的相似度包括:
步骤s106-1:统计待检索图像的直方图中每一项代表不同特征属性的特征描述子占 所有特征描述子总和的比例;
步骤s106-2:根据直方图中不同特征属性的特征描述子的比例值,计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度。
需要说明的是,本实施例中的每一直方图中所有不同特征属性的特征描述子的比例值的和为1。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
在本实施例中还提供了一种图像的检索装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图2是根据本发明可选实施例的图像的检索装置的结构框图,如图2所示,该装置包括:特征提取模块22,用于提取待检索图像上用于表征图像特征属性的多个特征描述子;第一映射模块24,与特征提取模块22耦合连接,用于将提取到的特征描述子映射到预先生成的词汇表上,并统计在所述词汇表上的直方图;相似度计算模块26,与第一映射模块24耦合连接,用于计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从图像库中检索出相似度大于预设阈值的所有图像。
图3是根据本发明可选实施例的图像的检索装置的可选结构框图一,如图3所示,该装置还包括:第一处理模块32,用于在获取待检索图像上用于表征图像特征属性的多个特征描述子之前,采集各种类型的图像,并对各种类型的图像进行预处理得到归一化后的各种类型的图像;第二处理模块34,与第一处理模块32耦合连接,用于提取归一化后的各种类型的图像的特征描述子,并对各种类型的特征描述子进行聚类处理生成用于映射各种不同特征属性的特征描述子的词汇表。
图4是根据本发明可选实施例的图像的检索装置的可选结构框图二,如图4所示,该装置还包括:提取模块42,用于提取归一化后的所有图像的特征描述子;第二映射模块44,与提取模块42耦合连接,用于循环处理每个图像,将每个图像上所有的特征描述子映射到词汇表上,并统计出该图像在词汇表上各词汇的直方图;归一化模块46,与第二映射模块44耦合连接,用于将所述直方图归一化得到每张图像在所述词汇表上的归一化后的直方图。
可选地,本实施例图2中的相似度计算模块26还可以包括:统计单元,用于统计待检索图像的直方图中每一项代表不同特征属性的特征描述子占所有特征描述子总和的比例;相似度计算单元,用于根据直方图中不同特征属性的特征描述子的比例值,计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度。
可选地,在本实施例中每一直方图中所有不同特征属性的特征描述子的比例值的和为1。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。
下面结合本发明的可选实施例对本发明进行举例说明;
本发明提出了一种基于重要信息稠密分布特点的词袋模型图像检索方法,本可选实施例通过提取图像的稠密特征,利用聚类生成一定量的具有代表性的特征描述子,组成词汇表;在检索阶段,通过衡量待检索图片与图像库中的每个图片在词汇表上的直方图的相似度来完成图像检索。在本可选实施例中涉及到的词袋模型可以提取一定的语义信息,而利用图像上重要信息的稠密分布特点可以提取到更多的重要信息,忽略掉一定的次要信息。
本可选实施例的检索方法包括三个部分:训练词汇表、构建待检索图像库、图像检索。
(1)训练词汇表的实现步骤包括:
步骤s11,搜集训练图片,要求图像类别尽可能全面,包括人物、景物等;
步骤s12,对搜集到的图片进行预处理,使图像尺寸大小归一化;
步骤s13,利用重要信息稠密分布的特点提取各训练图像上对应点的特征描述子;
步骤s14,对提取到的特征描述子进行k-means聚类,生成训练词汇表。
(2)构建待检索图像库的步骤包括:
步骤s21,对图像库中的图片进行预处理,使图像尺寸大小归一化;
步骤s22,利用重要信息稠密分布的特点提取各图像上对应点的特征描述子;
步骤s23,将提取到的特征映射到预先生成的词汇表上,并统计直方图;
步骤s24,统计直方图中各项出现次数的总和,然后将直方图中的每一项都除以该总和,确保处理后的直方图各项之和为1;
步骤s25,将处理后的直方图数据保存到文件或数据库中。
(3)图像检索的步骤包括:
步骤s31,对待检索图片进行预处理,使图像尺寸大小归一化;
步骤s32,利用重要信息稠密分布的特点提取待检索图像上对应点的特征描述子;
步骤s43,将提取到的特征映射到预先生成的词汇表上,并统计直方图;
步骤s44,统计直方图中各项出现次数的总和,然后将直方图中的每一项都除以该总和,确保处理后的直方图各项之和为1;
步骤s45,计算待检索图像的直方图与图像库中预先计算好的各直方图之间的相似度;
步骤s46,对相似度进行排序,并获取相似度高于某一阈值的所有图像的信息;
步骤s47,按用户要求,返回最相似的k张图片。
由此可知,本可选实施例利用图像上重要信息稠密分布的特点以及词袋模型进行图像检索,所提取到的特征既具有一定的语义性,可以较好的描述图像的内容,又突出了图像中的重点信息,减少了一部分次要信息,提高了检索的准确度。
下面结合本发明可选实施例的具体实施例对本可选实施例;
图5是根据本发明可选实施例的词汇表训练方法的流程图,如图5所示,该方法的步骤包括:
s502,搜集训练图片;
其中,图像类别尽可能全面,包括人物、景物等,图像数目不能太少;
s504,循环处理训练集中的每张图片,得到所有图片上所有特征点的特征描述子;
其中,该s504中的方式可以通过如下步骤来实现:
s504-1:对图片进行预处理,使图像尺寸大小归一化
s504-2:计算图像上所有特征点的位置
其中,该计算图像上所有特征点的位置的方式为:设置一个初始特征点,根据前一特征点距图像中心的距离计算步长,依据上述计算得到的步长计算当前特征点的位置,记录当前特征点的位置,循环上述过程。
s504-3:计算所有特征点的特征描述子。
s506,对提取到的所有特征描述子进行k-means聚类,生成词汇表。
图6是是根据本发明可选实施例的图像库建立方法的流程图,如图6所示,该方法 的步骤主要是循环处理图像库中的每张图片,而该循环处理图像库中的每张图片在具体的实施方式中包括:
s602,对图像进行预处理,使图像尺寸大小归一化;
s604,计算图像上所有特征点的位置;
其中,该方式可以通过如下方式来实现:设置一个初始特征点,根据前一特征点距图像中心的距离计算步长,依据上述中的步长计算当前特征点的位置,记录当前特征点的位置,循环上述的方式直到计算出所有特征点的位置。
s606,计算所有特征点的特征描述子;
s608,将计算的特征点的特征描述子映射到词汇表上,得到直方图;
s610,统计直方图中各词汇出现的次数的总和;
s612,将直方图中各词汇出现的次数除以s610中计算出的总和;
s614,将s612中计算的直方图及图像的相关信息存文件或数据库。
图7是根据本发明可选实施例的图像检索方法的流程图,如图7所示,该方法的步骤包括:
s702,对待检索图像进行预处理,使图像尺寸大小归一化;
s704,计算图像上所有特征点的位置;
其中,计算所有特征点的位置可以是:设置一个初始特征点,根据前一特征点距图像中心的距离计算步长,依据上述中的步长计算当前特征点的位置,记录当前特征点的位置,循环上述过程直到计算出所有特征点的位置;
s706,计算所有特征点的特征描述子;
s708,将计算的特征点的特征描述子映射到词汇表上,得到直方图;
s710,统计直方图中各词汇出现的次数的总和;
s712,将直方图中各词汇出现的次数除以上述计算出的总和;
s714,计算得到的直方图与图像库中的各直方图的相似性;
s716,依据相似性排序,并用一个阈值过滤掉一些不相似的图片;
s718,依据用户的要求,返回检索的结果。
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
s1:提取待检索图像上用于表征图像特征属性的多个特征描述子;
s2:将提取到的特征描述子映射到预先生成的词汇表上,并统计在词汇表上的直方图;
s3:计算待检索图像的直方图与预存在图像库中各个图像的直方图的相似度,并依据计算结果从图像库中检索出相似度大于预设阈值的所有图像。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。