用于分布式图片搜索的索引构建方法和服务器的制作方法

文档序号:6353525阅读:267来源:国知局
专利名称:用于分布式图片搜索的索引构建方法和服务器的制作方法
技术领域
本发明涉及图片的搜索领域,尤其涉及一种用于分布式图片搜索的索引构建方 法、服务器、图片搜索方法和图片搜索系统。
背景技术
近年来国内外涌现出大量有关视觉检索方法即直接采用图片进行搜索的研究成 果,并且视觉搜索成为智能手机、电子商务等工业领域的热点应用。然而,针对视觉特征在海量图片数据库中的检索需要花费较长的时间,主要是由 于互联网应用带来的海量图片数据库的大量出现,造成整个图像数据库的倒排索引文件的 远远超出了单台服务器的内存容量;进一步地,倒排索引完全存入单台服务器的内存,在巨 大的单一倒排索引中查找结果图片将花费很长的搜索时间,难以满足用户对搜索速度的要 求,更无法满足用户实时响应的检索需求。

发明内容
本发明提供一种用于分布式图片搜索的索引构建方法,该索引构建方法通过有效 视觉单词词典的均衡分配以建立图片数据库的分布式索引,进而可有效提高目标图片的检 索速度,同时提高了服务器的检索效率,满足了用户在检索中实时响应的需求。本发明提供一种服务器。该服务器中的每一检索服务器能够均衡分配服务器的检 索请求,进而可使服务器内的检索任务均衡分配,以有效提高服务器的检索效率。本发明提供一种图片搜索方法和图片搜索系统,该图片搜索方法和图片搜索系统 能够依据目标图片的检索需求均衡分配至服务器中的各检索服务器上,使得图片搜索系统 中搜索目标图片的效率和精确度提高,进而满足用户在搜索图片时实时响应的需求。本发明中的用于分布式图片搜索的索引构建方法,其步骤包括提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视 觉单词集合,得到原始视觉单词词典及对应的总索引表;依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词 词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务 器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单 词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。另外,本发明还提供一种服务器,该服务器包括一个以上的检索服务器,还包括提取模块,用于提取服务器的图片数据库中所有图片的一个以上的特征,并将该 些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表文件;有效视觉单词词典生成模块,用于依据有效视觉单词词典的筛选规则,获取代表 原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有 各自相对应的倒排记录表文件;
分配模块,用于采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分 配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典;索引建立模块,用于根据该子视觉单词词典中的每一视觉单词的倒排记录表文件 组成该子视觉单词词典的索引表文件。根据本发明的另一方面,本发明还提供一种图片搜索方法,该图片搜索方法是采 用如上任意所述的服务器进行检索,所述图片搜索方法包括所述服务器接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合, 或者,所述服务器接收针对待查询的目标图片的目标视觉单词集合;获取所述服务器内的包含有所述目标视觉单词集合中的目标视觉单词的各检索 服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词 典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全 部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似 性分数和对应的图片排序结果发送给所述服务器;所述服务器接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果, 进而将符合所述目标图片的结果图片全部或部分输出。本发明还提供一种图片搜索系统,其包括目标视觉单词集合获取模块,所述服务器接收一待查询的目标图片,并获取该目 标图片的目标视觉单词集合,或者,所述服务器接收针对待查询的目标图片的目标视觉单 词集合;查找分配模块,用于查找服务器内的包含有所述目标视觉单词集合中的目标视觉 单词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服 务器;检索模块,用于所述检索服务器依据分配的目标视觉单词的检索请求,在其内部 的子视觉单词词典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数 据库中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序 结果,进而将相似性分数和对应的图片排序结果发送给所述服务器;汇总输出模块,用于所述服务器接收并汇总各检索服务器传送的相似性分数和对 应的图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。本发明的用于分布式图片搜索的索引构建方法,主要是将有效视觉单词词典的采 用共生频数之和的方式均衡分配至各检索服务器,以建立图片数据库的分布式索引,使得 各检索服务器内的子视觉单词词典建立相对应的索引表,实现了采用分布式索引的方法来 并行处理图片数据库中图片的检索。该方法不仅有效地避免了服务器内各检索服务器的负 载不均衡的问题,以便提高图片数据库中的视觉搜索效率,缩短用户的等待时间。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术 描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一 些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明中的用于分布式图片搜索的索引构建方法实施例的步骤流程图;图2为本发明中的用于分布式图片搜索的索引构建方法实施例中筛选有效视觉 词典的具体步骤流程图;图3为本发明中的用于分布式图片搜索的索引构建方法实施例中分配有效视觉 单词词典的具体步骤流程图;图4为本发明中的服务器实施例的结构示意图;图5为本发明中的图片搜索方法实施例的流程示意图;图6为本发明中的图片搜索系统实施例的结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附 图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明 一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有 作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。视觉单词对视觉特征空间的进行离散划分,每个单词为一个划分,采用图片特征 来描述图片内容,为最基本的数据特征;视觉单词词典图片数据库中所有或挑选的部分图片的视觉单词构成的集合。参考图1所示,图1示出了本发明中的用于分布式图片搜索的索引构建方法实施 例的步骤流程图;具体地,索引构建方法的步骤包括步骤101 提取服务器内图片数据库中所有图片的一个以上的特征,并将该些特 征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表。上述图片数据库包括专利图片、地标图片、书本封页的图片、商品的外观照片、博 物馆场馆指示标志的全局照片、部分包含条形码或电子标签的图片、或者为风景照片等等, 本发明中对其图片数据库中图片的类型和图片内容不进行限定。优选地,服务器内图片数据库中的图片可采用聚类方式建立原始视觉单词词典。 (该处的聚类方法的具体方式可以是K均值聚类、分层聚类、谱聚类等,其中谱聚类可以 参考文献"Ng A. , Jordan Μ. , and Weiss Y. On SpectralClustering :Analysis and an algorithm. NIPS,849-856,2001” 中的方法。)具体地, 本实施例中的服务器可通过提取所述图片数据库中每一图片的颜色直方图、纹理 图、尺度不变描述子、梯度位置朝向直方图或方向梯度直方图作为特征;接着,根据上述特征与所述视觉单词的映射规则,将所述图片的颜色直方图、纹理 图、尺度不变描述子(SIFT)、梯度位置朝向直方图(GLOH)或方向梯度直方图(HOG)转换成 视觉单词,该些视觉单词的集合即为原始视觉单词词典。该些原始视觉单词词典与其相对 应的总索引表对应(该索引表优选采用倒排索引表),该些总索引表是在建立视觉单词的 过程中同时建立的,其总索引表建立方式可依据现有技术中的任一方式,本实施例不对其 进行限定。步骤102 依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有 效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;当然,所述有效视觉单词词典内部的每一视觉单词的倒排记录表汇总之后即为原 始视觉单词词典中的总索引表。优选地,该处的有效视觉单词词典的筛选规则可为子步骤1021 从图片数据库中选择某一数量的图片作为样本图片,以及将样本图 片的特征转换为原始视觉单词词典中的视觉单词。子步骤1022 依据样本图片的视觉单词在所述原始视觉单词词典的总索引表中 查询,获得原始查询结果;即根据样本图片的视觉单词,在所述原始视觉单词词典的总索引 表中查询,获得原始查询结果。子步骤1023 将属于原始视觉单词词典的任意视觉单词进行组合,以构成一个 筛选视觉单词词典(即从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词 典),基于筛选视觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的 第一视觉单词,并采用第一视觉单词在所述原始视觉单词词典的总索引表中查询,获得与 筛选视觉单词词典对应的第一查询结果。子步骤10 比较所有样本图片的原始查询结果与所述第一查询结果,以选取一 符合筛选标准的筛选视觉单词词典作为有效视觉单词词典。也就是说,将原始视觉单词词 典的子集作为筛选的视觉单词词典,根据筛选的视觉单词词典,将样本图片的特征转换为 视觉单词,利用该视觉单词在总索引表中查询相似图片,获得与筛选的视觉单词词典对应 查询结果,通过比较原始查询结果与筛选的视觉单词词典对应查询结果,从原始视觉单词 词典的子集中筛选出一个最优子集(本实施方式不限定最优,可以是次优子集等,只要能 够满足查询要求即可,该处的最优子集为业内人士的通俗说法)。进一步地,在筛选有效视觉单词词典的过程中还需要说明的是比较样本图片的查询结果和原始查询结果,若样本图片的查询结果与原始查询结 果相符(满足正常的误差范围,即业内人士认可的误差范围),则采用当前的筛选视觉单词 词典作为有效视觉单词词典;否则从所述原始视觉单词词典中选择一个视觉单词增加到当 前的筛选视觉单词词典中,返回到获取所述第一视觉单词的子步骤1023。重复上述过程,直 到查询结果与原始查询结果的偏差满足正常的误差范围的筛选视觉单词词典即有效视觉 单词词典停止。需要注意的是,本实施例中优选使用叠加循环的方式获取的有效视觉单词 词典即为所述原始视觉单词词典的子集。步骤103 采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至 各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及 该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。也就是说,该些子视觉单词词典的索引表合并之后与所述有效视觉单词词典内部 的每一视觉单词的倒排记录表合并之后的结果相同,也为原始视觉单词词典中的总索引 表。应了解的是,该些合并或汇总方式可以为现有技术中的简单累加,本实施例不对其限 定。在本实施例中,上述的第一预设规则可为子步骤1031 选择所述有效视觉单词词典内的任意一个待分配到各检索服务器 的视觉单词,
子步骤1032分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频 数之和,选取所述共生频数之和最小的检索服务器;子步骤1033 将该视觉单词以及与该视觉单词的倒排记录表分配给所选取的检 索服务器。参照图2所示,图2示出了本发明中的用于分布式图片搜索的索引构建方法实施 例中筛选有效视觉词典的具体步骤流程图;即,上述用于分布式图片搜索的索引构建方法 实施例中筛选有效视觉词典的具体计算步骤包括第一步201 从整个图片数据库中挑选出Nsample张样本图片,将这些样本图片作 为查询图片在视觉单词索引表中查询,检索前R个查询图片结果。对于第i张图片,其查 询结果
权利要求
1.一种用于分布式图片搜索的索引构建方法,其特征在于,步骤包括提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单 词集合,得到原始视觉单词词典及对应的总索引表;依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词 典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器 内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单词 词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。
2.根据权利要求1所述的用于分布式图片搜索的索引构建方法,其特征在于,所述第 一预设规则为选择所述有效视觉单词词典内的任意一个待分配到各检索服务器的视觉单词, 分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取共生 频数之和最小的检索服务器;将该视觉单词以及与该视觉单词的倒排记录表分配给所选取的检索服务器。
3.根据权利要求1所述的用于分布式图片搜索的索引构建方法,其特征在于,所述有 效视觉单词词典的筛选规则为从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原 始视觉单词词典中的视觉单词;依据样本图片的视觉单词在所述原始视觉单词词典的总索引表中查询,获得原始查询 结果;从原始视觉单词词典中选取一定数量的视觉单词构成筛选视觉单词词典,基于筛选视 觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词, 并采用第一视觉单词在所述原始视觉单词词典的总索引表中查询,获得与筛选视觉单词词 典对应的第一查询结果;比较所有样本图片的原始查询结果与所述第一查询结果,以选取一符合筛选标准的筛 选视觉单词词典作为有效视觉单词词典。
4.根据权利要求3所述的用于分布式图片搜索的索引构建方法,其特征在于,所述选 取一符合筛选标准的筛选视觉单词词典作为有效视觉单词词典进一步包括从所述原始视觉单词词典中选择一定数量的视觉单词作为筛选视觉单词词典; 根据所述筛选视觉单词词典,获取所述第一视觉单词;利用该第一视觉单词在所述原始视觉单词词典的总索引表中查询相似图片,获得查询结果;比较样本图片的查询结果和原始查询结果,若样本图片的查询结果与原始查询结果相 符,则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则从所述原始视觉单词词 典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到获取所述第一视觉单词 的步骤。
5.一种服务器,该服务器包括一个以上的检索服务器,其特征在于,还包括提取模块,用于提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特 征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表文件;有效视觉单词词典生成模块,用于依据有效视觉单词词典的筛选规则,获取代表原始 视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自 相对应的倒排记录表文件;分配模块,用于采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至 各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典;索引建立模块,用于根据该子视觉单词词典中的每一视觉单词的倒排记录表文件组成 该子视觉单词词典的索引表文件。
6.根据权利要求5所述的服务器,其特征在于,所述第一预设规则为选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词; 分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取共生 频数之和最小的检索服务器;将该视觉单词以及与该视觉单词的倒排记录表文件分配给所选取的检索服务器。
7.根据权利要求5所述的服务器,其特征在于,所述有效视觉单词词典的筛选规则为 从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原始视觉单词词典中的视觉单词;依据样本图片的视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得原始 查询结果;从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词典,基于筛选视觉单 词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词,并采 用第一视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得与筛选视觉单词词 典对应的第一查询结果;比较所有样本图片的原始查询结果与所述第一查询结果,若所有样本图片的第一查询 结果与原始查询结果相符,则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则 从所述原始视觉单词词典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到 获取所述第一视觉单词的步骤。
8.根据权利要求5所述的服务器,其特征在于,所述服务器还包括汇总模块,用于将各检索服务器传送的检索结果汇总; 以及,所述服务器还包括输出模块,用于将汇总的检索结果全部或部分输出; 进一步地,所述服务器为集群服务器。
9.一种图片搜索方法,其特征在于,该图片搜索方法是采用如上权利要求5至8任一项 所述的服务器进行检索,所述图片搜索方法包括所述服务器接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合,或者, 所述服务器接收针对待查询的目标图片的目标视觉单词集合;获取所述服务器内的包含有所述目标视觉单词集合中的目标视觉单词的各检索服务 器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典及 其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全部图 片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似性分 数和对应的图片排序结果发送给所述服务器;所述服务器接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果,进而 将符合所述目标图片的结果图片全部或部分输出。
10. 一种图片搜索系统,其特征在于,包括目标视觉单词集合获取模块,所述服务器接收一待查询的目标图片,并获取该目标图 片的目标视觉单词集合,或者,所述服务器接收针对待查询的目标图片的目标视觉单词集 合;查找分配模块,用于查找服务器内的包含有所述目标视觉单词集合中的目标视觉单 词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务 器;检索模块,用于所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子 视觉单词词典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库 中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果, 进而将相似性分数和对应的图片排序结果发送给所述服务器;汇总输出模块,用于所述服务器接收并汇总各检索服务器传送的相似性分数和对应的 图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。
全文摘要
本发明公开了一种用于分布式图片搜索的索引构建方法和服务器,其索引构建方法的步骤包括提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表;另获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。上述方法能够提高服务器的检索效率,满足了用户在检索中实时响应的需求。
文档编号G06F17/30GK102081666SQ20111002414
公开日2011年6月1日 申请日期2011年1月21日 优先权日2011年1月21日
发明者姚鸿勋, 李冰, 段凌宇, 纪荣嵘, 陈杰, 高文, 黄铁军 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1