一种图像检索方法及装置
技术领域
本发明属于计算机视觉技术领域,尤其涉及一种图像检索方法及装置。
背景技术
图像检索是指在图像集合中查找具有指定特征或包含指定内容的图像处理技术。随着多媒体技术、网络技术和数据库技术的不断发展,互联网的不断普及,人们对于图形、图像等多媒体数据的需求越来越强烈,因此图像信息的应用也越来越广泛。数字图像的容量随着人们的需要飞速增长着,每天都会产生数以百万计的图像。因此提供一种快速、准确的图像检索技术将显得十分必要。
现有的图像检索技术主要是基于文本的图像检索,这种技术的实质还是传统意义上的文本检索技术,其过程是将与网络图像相关的文本信息如图像标题、链接文本、内容描述等建立索引来标注图像,最后采用关键字匹配技术来进行检索。然而,由于语义的多义性以及描述的模糊性等问题,使基于文本的图像检索技术的准确度受到比较大的限制,所返回的结果通常不符合用户的预期。
发明内容
本发明实施例在于提供一种图像检索方法及装置,以解决现有基于文本的图像检索技术检索结果不够准确的问题。
本发明实施例的第一方面,提供一种图像检索方法,所述方法包括:
提取图像集中每幅图像的特征点,构成一个特征点库;
对所述特征点库中的特征点进行聚类操作,获得N类,所述N为预先定义的大于0的整数;
提取待检索图像的特征点,基于所述待检索图像的特征点预测所述待检索图像所属类别,该类别为所述N类中的一类;
统计所述待检索图像中N类特征点出现的次数,获取出现次数最高的前M类,所述M为大于0且小于N的整数;
获得所述所属类别对应的图像集,统计该图像集中每幅图像出现所述M类特征点的次数,并对出现的次数进行加和运算得到分值;
输出分值最高的前L幅图像,所述L为大于0的整数。
本发明实施例的第二方面,提供一种图像检索装置,所述装置包括:
特征点提取单元,用于提取图像集中每幅图像的特征点,构成一个特征点库;
聚类单元,用于对所述特征点库中的特征点进行聚类操作,获得N类,所述N为预先定义的大于0的整数;
类别预测单元,用于提取待检索图像的特征点,基于所述待检索图像的特征点预测所述待检索图像所属类别,该类别为所述N类中的一类;
次数统计单元,用于统计所述待检索图像中N类特征点出现的次数,获取出现次数最高的前M类,所述M为大于0且小于N的整数;
分值计算单元,用于获得所述所属类别对应的图像集,统计该图像集中每幅图像出现所述M类特征点的次数,并对出现的次数进行加和运算得到分值;
结果输出单元,用于输出分值最高的前L幅图像,所述L为大于0的整数。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过统计待检索图像中N类特征点出现的次数,获取出现次数最高的前M类特征点,并统计图像集中每幅图像出现所述M类特征点的次数,对出现的次数进行加和运算得到分值,将分值最高的前L幅图像作为检索结果输出。本发明实施例将图像特征点出现的次数作为最重要的信息进行索引检索,可快速、准确的获得图像检索结果。而且本发明实施例实现简单,对硬件要求较低,从而有利于降低产品成本。另外本发明实施例应用灵活,可应用于图像检索、显著性检测以及图像排序等,适用于面广,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的图像检索方法的实现流程图;
图2是本发明第一实施例提供的待检索图片各SIFT特征点出现次数的示例图;
图3是本发明第一实施例提供的待检索图片各SIFT特征点出现次数的另一示例图;
图4是本发明第一实施例提供的M类SIFT特征点出现次数经加和运算得到分值的示意图;
图5是本发明第一实施例提供的图像检索结果的示例图;
图6是本发明第二实施例提供的图像检索装置的组成结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了第一实施例提供的图像检索方法的实现流程,该方法过程详述如下:
在步骤S101中,提取图像集中每幅图像的特征点,构成一个特征点库。
在本实施例中,为了获得较多的特征点数,提高图像检索的准确度,所述特征点优选为尺度不变特征转换(Scale-invariant feature transform,SIFT)特征点。
其中,所述提取图像集中每幅图像的特征点具体包括:
对于图像集中的每幅图像,将其所有SIFT特征点根据最小距离原则各自映射到N类得到N维特征向量V1,将V1中的每个值除以该幅图像的特征点总数得到频率特征向量V2,V2即为该幅图像的SIFT特征点。
在步骤S102中,对所述特征点库中的特征点进行聚类操作,获得N类,所述N为预先定义的大于0的整数。
具体的可以是,对所述特征点库中的特征点采用K均值聚类算法(不局限于此算法)进行聚类操作。
在步骤S103中,提取待检索图像的特征点,基于所述待检索图像的特征点预测所述待检索图像所属类别,该类别为所述N类中的一类。
具体的可以是,基于所述待检索图像的特征点通过预测算法预测所述待检索图像所属类别。其中,所述预测算法包括但不限于支持向量机(Support Vector Machine,SVM)算法。
在步骤S104中,统计所述待检索图像中N类特征点出现的次数,获取出现次数最高的前M类特征点,所述M为大于0且小于N的整数。
在本实施例中,对所述待检索图像的所有特征进行统计,N类中,有一些类在所述待检索图像中从未出现,一些类出现了1次,一些类出现了2次或多次。根据SIFT类出现次数排序,获取出现次数最高的前M类(例如N类的30%)特征点作为索引。如图2、图3所示,图2为聚类20K(从数据集中选取20个点作为初始聚类中心)时所述待检索图像各SIFT出现的次数,图3为聚类50K(从数据集中选取50个点作为初始聚类中心)时所述待检索图像各SIFT出现的次数。其中,纵坐标表示出现的次数,横坐标表示不同的SIFT类。
在步骤S105中,获得所述所属类别对应的图像集,统计该图像集中每幅图像出现所述M类特征点的次数,并对出现的次数进行加和运算得到分值(如图4所示)。
在本实施例中,将所述M类特征点作为索引,对所属类别对应的图像集中每幅图像出现所述M类特征点的次数进行加和运算。按分块的方式,把高分数段(即大于或等于某一预设阈值的分值)放入一个表中,中低分数段(即小于某一预设阈值的分值)放入另一个表中。高分数段的图像即为要搜索的图像。
本实施例还包括为所述M类特征点的每类特征点设置一个权值,对所属类别对应的图像集中每幅图像出现所述M类特征点的次数进行加权运算;
其中,加权运算的公式为:
Q为每幅图像出现所述M类特征点的次数进行加权运算后获得的分值,qn为第n类特征点对应的权值的基本值(每类特征点的基本值可以相同也可以不同),n大于0的整数,kn为每类特征点设置的权值、fn为第n类特征点出现的次数,p表示该幅图像包含P类特征点。
在步骤S106中,输出分值最高的前L幅(例如前40%)图像,所述L为大于0的整数,输出结果如图5所示。
通过本发明实施例可快速、准确的获得图像检索结果。而且本发明实施例实现简单,对硬件要求较低,具有较高的灵活性。
实施例二:
图6示出了本发明第二实施例提供的图像检索装置的组成结构,为了便于说明,仅示出了与本发明实施例相关的部分。
该图像检索装置可应用于各种终端设备,例如口袋计算机(Pocket PersonalComputer,PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal DigitalAssistant,PDA)等,可以是运行于这些终端内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些终端中或者运行于这些终端的应用系统中。
该图像检索装置包括特征点提取单元61、聚类单元62、类别预测单元63、次数统计单元64、分值计算单元65以及结果输出单元66。其中,各单元具体功能如下:
特征点提取单元61,用于提取图像集中每幅图像的特征点,构成一个特征点库;
聚类单元62,用于对所述特征点库中的特征点进行聚类操作,获得N类,所述N为预先定义的大于0的整数;
类别预测单元63,用于提取待检索图像的特征点,基于所述待检索图像的特征点预测所述待检索图像所属类别,该类别为所述N类中的一类;
次数统计单元64,用于统计所述待检索图像中N类特征点出现的次数,获取出现次数最高的前M类,所述M为大于0且小于N的整数;
分值计算单元65,用于获得所述所属类别对应的图像集,统计该图像集中每幅图像出现所述M类特征点的次数,并对出现的次数进行加和运算得到分值;
结果输出单元66,用于输出分值最高的前L幅图像,所述L为大于0的整数。
其中,所述特征点为SIFT特征点。
进一步的,
所述特征点提取单元61,用于对图像集中的每幅图像,将其所有SIFT特征点根据最小距离原则各自映射到N类得到N维特征向量V1,将V1中的每个值除以该幅图像的特征点总数得到频率特征向量V2,V2即为该幅图像的SIFT特征点。
进一步的,
所述聚类单元62,用于对所述特征点库中的特征点采用K均值聚类算法进行聚类操作。
进一步的,
所述类别预测单元63,用于基于所述待检索图像的特征点通过预测算法预测所述待检索图像所属类别,所述预测算法包括SVM算法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述装置中单元、模块的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。
综上所述,本发明实施例通过统计待检索图像中N类特征点出现的次数,获取出现次数最高的前M类特征点,并统计图像集中每幅图像出现所述M类特征点的次数,对出现的次数进行加和运算得到分值,将分值最高的前L幅图像作为检索结果输出。本发明实施例将图像特征点出现的次数作为最重要的信息进行索引检索,可快速、准确的获得图像检索结果。而且本发明实施例实现简单,对硬件要求较低,从而有利于降低产品成本。另外本发明实施例应用灵活,可应用于图像检索、显著性检测以及图像排序等,适用于面广,具有较强的易用性和实用性。
本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明由所提交的权利要求书确定的专利保护范围。