CN102081666B - 用于分布式图片搜索的索引构建方法和装置 - Google Patents
用于分布式图片搜索的索引构建方法和装置 Download PDFInfo
- Publication number
- CN102081666B CN102081666B CN 201110024141 CN201110024141A CN102081666B CN 102081666 B CN102081666 B CN 102081666B CN 201110024141 CN201110024141 CN 201110024141 CN 201110024141 A CN201110024141 A CN 201110024141A CN 102081666 B CN102081666 B CN 102081666B
- Authority
- CN
- China
- Prior art keywords
- vision word
- vision
- word
- lexicon
- word lexicon
- 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.)
- Expired - Fee Related
Links
- 238000010276 construction Methods 0.000 title abstract 3
- 238000000034 method Methods 0.000 claims abstract description 62
- 230000035807 sensation Effects 0.000 claims description 62
- 238000012216 screening Methods 0.000 claims description 50
- 230000000007 visual effect Effects 0.000 claims description 38
- 230000031068 symbiosis, encompassing mutualism through parasitism Effects 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 15
- 238000005259 measurement Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 3
- 230000000052 comparative effect Effects 0.000 claims description 2
- 230000004044 response Effects 0.000 abstract description 6
- 238000012360 testing method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 230000003595 spectral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- PICXIOQBANWBIZ-UHFFFAOYSA-N zinc;1-oxidopyridine-2-thione Chemical class [Zn+2].[O-]N1C=CC=CC1=S.[O-]N1C=CC=CC1=S PICXIOQBANWBIZ-UHFFFAOYSA-N 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种用于分布式图片搜索的索引构建方法和装置,其索引构建方法的步骤包括:提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表;另获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。上述方法能够提高服务器的检索效率,满足了用户在检索中实时响应的需求。
Description
技术领域
本发明涉及图片的搜索领域,尤其涉及一种用于分布式图片搜索的索引构建方法、服务器、图片搜索方法和图片搜索系统。
背景技术
近年来国内外涌现出大量有关视觉检索方法即直接采用图片进行搜索的研究成果,并且视觉搜索成为智能手机、电子商务等工业领域的热点应用。
然而,针对视觉特征在海量图片数据库中的检索需要花费较长的时间,主要是由于互联网应用带来的海量图片数据库的大量出现,造成整个图像数据库的倒排索引文件的远远超出了单台服务器的内存容量;进一步地,倒排索引完全存入单台服务器的内存,在巨大的单一倒排索引中查找结果图片将花费很长的搜索时间,难以满足用户对搜索速度的要求,更无法满足用户实时响应的检索需求。
发明内容
本发明提供一种用于分布式图片搜索的索引构建方法,该索引构建方法通过有效视觉单词词典的均衡分配以建立图片数据库的分布式索引,进而可有效提高目标图片的检索速度,同时提高了服务器的检索效率,满足了用户在检索中实时响应的需求。
本发明提供一种服务器。该服务器中的每一检索服务器能够均衡分配服务器的检索请求,进而可使服务器内的检索任务均衡分配,以有效提高服务器的检索效率。
本发明提供一种图片搜索方法和图片搜索系统,该图片搜索方法和图片 搜索系统能够依据目标图片的检索需求均衡分配至服务器中的各检索服务器上,使得图片搜索系统中搜索目标图片的效率和精确度提高,进而满足用户在搜索图片时实时响应的需求。
本发明中的用于分布式图片搜索的索引构建方法,其步骤包括:
提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表;
依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;
采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表;
其中,所述第一预设规则为:
选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词;
分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取所述共生频数之和最小的检索服务器;
将该视觉单词以及与该视觉单词的倒排记录表文件分配给所选取的检索服务器。
另外,本发明还提供一种用于分布式图片搜索的索引构建装置,,还包括:
提取模块,用于提取索引构建装置的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表文件;
有效视觉单词词典生成模块,用于依据有效视觉单词词典的筛选规则, 获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表文件;
分配模块,用于采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典;
索引建立模块,用于根据该子视觉单词词典中的每一视觉单词的倒排记录表文件组成该子视觉单词词典的索引表文件。
其中,所述第一预设规则为:
选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词;
分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取所述共生频数之和最小的检索服务器;
将该视觉单词以及与该视觉单词的倒排记录表文件分配给所选取的检索服务器。
根据本发明的另一方面,本发明还提供一种图片搜索方法,该图片搜索方法是采用如上任意所述的索引构建装置进行检索,所述图片搜索方法包括:
所述索引构建装置接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合,或者,所述索引构建装置接收针对待查询的目标图片的目标视觉单词集合;
获取所述索引构建装置内的包含有所述目标视觉单词集合中的目标视觉单词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;
附图说明
所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似性分数和对应的图片排序结果发送给 所述索引构建装置;
所述索引构建装置接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。。
本发明的用于分布式图片搜索的索引构建方法,主要是将有效视觉单词词典的采用共生频数之和的方式均衡分配至各检索服务器,以建立图片数据库的分布式索引,使得各检索服务器内的子视觉单词词典建立相对应的索引表,实现了采用分布式索引的方法来并行处理图片数据库中图片的检索。该方法不仅有效地避免了服务器内各检索服务器的负载不均衡的问题,以便提高图片数据库中的视觉搜索效率,缩短用户的等待时间。
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的用于分布式图片搜索的索引构建方法实施例的步骤流程图;
图2为本发明中的用于分布式图片搜索的索引构建方法实施例中筛选有效视觉词典的具体步骤流程图;
图3为本发明中的用于分布式图片搜索的索引构建方法实施例中分配有效视觉单词词典的具体步骤流程图
图4为本发明中的服务器实施例的结构示意图;
图5为本发明中的图片搜索方法实施例的流程示意图;
图6为本发明中的图片搜索系统实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
视觉单词:对视觉特征空间的进行离散划分,每个单词为一个划分,采用图片特征来描述图片内容,为最基本的数据特征;
视觉单词词典:图片数据库中所有或挑选的部分图片的视觉单词构成的集合。
参考图1所示,图1示出了本发明中的用于分布式图片搜索的索引构建方法实施例的步骤流程图;具体地,索引构建方法的步骤包括:
步骤101:提取服务器内图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表。
上述图片数据库包括专利图片、地标图片、书本封页的图片、商品的外观照片、博物馆场馆指示标志的全局照片、部分包含条形码或电子标签的图片、或者为风景照片等等,本发明中对其图片数据库中图片的类型和图片内容不进行限定。
优选地,服务器内图片数据库中的图片可采用聚类方式建立原始视觉单词词典。(该处的聚类方法的具体方式可以是K均值聚类、分层聚类、谱聚类等,其中谱聚类可以参考文献“Ng A.,Jordan M.,and Weiss Y.On SpectralClustering:Analysis and an algorithm.NIPS,849-856,2001”中的方法。)具体地,
本实施例中的服务器可通过提取所述图片数据库中每一图片的颜色直方图、纹理图、尺度不变描述子、梯度位置朝向直方图或方向梯度直方图作为特征;
接着,根据上述特征与所述视觉单词的映射规则,将所述图片的颜色直 方图、纹理图、尺度不变描述子(SIFT)、梯度位置朝向直方图(GLOH)或方向梯度直方图(HOG)转换成视觉单词,该些视觉单词的集合即为原始视觉单词词典。该些原始视觉单词词典与其相对应的总索引表对应(该索引表优选采用倒排索引表),该些总索引表是在建立视觉单词的过程中同时建立的,其总索引表建立方式可依据现有技术中的任一方式,本实施例不对其进行限定。
步骤102:依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;
当然,所述有效视觉单词词典内部的每一视觉单词的倒排记录表汇总之后即为原始视觉单词词典中的总索引表。
优选地,该处的有效视觉单词词典的筛选规则可为:
子步骤1021:从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原始视觉单词词典中的视觉单词。
子步骤1022:依据样本图片的视觉单词在所述原始视觉单词词典的总索引表中查询,获得原始查询结果;即根据样本图片的视觉单词,在所述原始视觉单词词典的总索引表中查询,获得原始查询结果。
子步骤1023:将属于原始视觉单词词典的任意视觉单词进行组合,以构成一个筛选视觉单词词典(即从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词典),基于筛选视觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词,并采用第一视觉单词在所述原始视觉单词词典的总索引表中查询,获得与筛选视觉单词词典对应的第一查询结果。
子步骤1024:比较所有样本图片的原始查询结果与所述第一查询结果,以选取一符合筛选标准的筛选视觉单词词典作为有效视觉单词词典。也就是说,将原始视觉单词词典的子集作为筛选的视觉单词词典,根据筛选的视觉 单词词典,将样本图片的特征转换为视觉单词,利用该视觉单词在总索引表中查询相似图片,获得与筛选的视觉单词词典对应查询结果,通过比较原始查询结果与筛选的视觉单词词典对应查询结果,从原始视觉单词词典的子集中筛选出一个最优子集(本实施方式不限定最优,可以是次优子集等,只要能够满足查询要求即可,该处的最优子集为业内人士的通俗说法)。
进一步地,在筛选有效视觉单词词典的过程中还需要说明的是:
比较样本图片的查询结果和原始查询结果,若样本图片的查询结果与原始查询结果相符(满足正常的误差范围,即业内人士认可的误差范围),则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则从所述原始视觉单词词典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到获取所述第一视觉单词的子步骤1023。重复上述过程,直到查询结果与原始查询结果的偏差满足正常的误差范围的筛选视觉单词词典即有效视觉单词词典停止。需要注意的是,本实施例中优选使用叠加循环的方式获取的有效视觉单词词典即为所述原始视觉单词词典的子集。
步骤103:采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,以及该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表。
也就是说,该些子视觉单词词典的索引表合并之后与所述有效视觉单词词典内部的每一视觉单词的倒排记录表合并之后的结果相同,也为原始视觉单词词典中的总索引表。应了解的是,该些合并或汇总方式可以为现有技术中的简单累加,本实施例不对其限定。
在本实施例中,上述的第一预设规则可为:
子步骤1031:选择所述有效视觉单词词典内的任意一个待分配到各检索服务器的视觉单词,
子步骤1032分析该视觉单词与每一检索服务器内已有的所有视觉单词 的共生频数之和,选取所述共生频数之和最小的检索服务器;
子步骤1033:将该视觉单词以及与该视觉单词的倒排记录表分配给所选取的检索服务器。
参照图2所示,图2示出了本发明中的用于分布式图片搜索的索引构建方法实施例中筛选有效视觉词典的具体步骤流程图;即,上述用于分布式图片搜索的索引构建方法实施例中筛选有效视觉词典的具体计算步骤包括:
第一步201:从整个图片数据库中挑选出Nsample张样本图片,将这些样本图片作为查询图片在视觉单词索引表中查询,检索前R个查询图片结果。对于第i张图片,其查询结果 为查询结果中排在第j位的图片, 的视觉单词向量为
第二步202:计算每个结果图片的term frequency-inverse documentfrequency(TF-IDF), 的TF-IDF为 从原始视觉单词词典的子集中筛选出有效视觉单词词典。
第三步203:设置迭代次数为d=1,有效视觉单词词典min_Vj为空,候选视觉单词集合cadi_Vj=V(V为原始视觉单词词典),其元素的个数为Ncv,Nsample张图片的权重集合 wi为图片i的权重为0,测试子集train_V为空;
第四步204:若迭代次数d>α或lostRank<β则结束;
M3,计算用测试子集train_Vk描述查询图片i导致的错误率Lost(Ii)k
M4,计算用测试子集train_Vk描述查询图片的总错误率
第八步208:选择使总错误率lostRank最小的测试子集,更新有效视觉单词词典和候选视觉单词集合,其具体方法为:若该测试子集为train_VMIN,则有效视觉单词词典为min_V=train_VMIN,cadi_V=cadi_V-{wdMIN};
第九步209:更新每个查询图片的权重,查询图片i的权重更新的计算方法为:
第十步210:更新迭代次数d=d+1,并返回步骤第四步204。
另外,本实施例中还给出上述用于分布式图片搜索的索引构建方法实施 例中分配有效视觉单词词典的具体计算步骤;即将有效视觉单词词典中的视觉单词分配给每一检索服务器,同时将预分配的视觉单词对应的倒排记录表分配给每一检索服务器,则每一检索服务器的所有视觉单词构成子视觉单词词典的计算步骤。应说明的是,在分配过程中,是将有效视觉单词词典划分成与检索服务器数量相同的子视觉单词词典,并将划分后的子视觉单词词典与每个子视觉单词词典中视觉单词对应的倒排记录表分配至每一检索服务器。参照图3所示,图3示出了本发明中的用于分布式图片搜索的索引构建方法实施例中分配有效视觉单词词典的具体步骤流程图,其分配有效视觉单词词典具体计算步骤包括:
其具体计算过程为,
第一步3011,初始状态下,共生矩阵的中所有元素值为0,即cm11=0,...,cmDD=0k=1
第二步3012,统计分析第k张图片视觉单词集合中两两视觉单词共生情况,更新共生矩阵的元素值,若其视觉单词集合中同时存在包含视觉单词wi和视觉单词wj,则cmij=cmij+1
第三步3013:若k>N则停止,否则返回第二步3012。
步骤302:根据视觉单词的共生矩阵,将视觉单词词典分配到每一检索服务器,其具体步骤包括:对于M台服务器,第p台服务器的视觉单词集合为sub_Vp,
第二步3022:对于第i个视觉单词wi,计算视觉单词wi与各个检索服务器的子视觉单词词典中单词的共生频数Cost(wi,S),视觉单词wi与第p台检索服务器Sp的视觉单词集合共生频数Cost(wi,Sp)计算方法为:
第三步3023:选择使共生频数Cost(wi,S)最小的检索服务器,将该视觉单词wi增加到该检索服务器的子视觉单词词典中。其具体方法为若使共生性Cost(wi,S)最小的检索服务器为第u台检索服务器,则第u台检索服务器的子视觉单词词典sub_Vu=sub_Vu∪{wi};
第四步3024:i=i+1,若i>D则停止,否则返回到第二步3022。
上述实施例中的用于分布式图片搜索的索引构建方法,主要是将有效视觉单词词典的采用视觉单词分布式策略如共生频数之和的方式均衡分配至各检索服务器,以建立图片数据库的分布式索引,使得各检索服务器内的子视觉单词词典建立相对应的索引表,实现了采用分布式索引的方法来并行处理图片数据库中图片的检索。该方法不仅有效地避免了服务器内各检索服务器的负载不均衡的问题,以便提高图片数据库中的视觉搜索效率,缩短用户的等待时间。
参考图4所示,图4示出了本发明中的服务器实施例的结构示意图;其中,所述服务器包括一个以上的检索服务器,其中,还包括:
提取模块401,用于提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表文件;
有效视觉单词词典生成模块402,用于依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表文件;
分配模块403,用于采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典;
索引建立模块404,用于根据该子视觉单词词典中的每一视觉单词的倒排记录表文件组成该子视觉单词词典的索引表文件。
当然,需要说明的是,分配模块403中使用的第一预设规则可为:
选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词;
分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取所述共生频数之和最小的检索服务器;
将该视觉单词以及与该视觉单词的倒排记录表文件分配给所选取的检索服务器。
优选地,在本实施例中,有效视觉单词词典生成模块402中筛选有效视觉单词词典的规则可为:
从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原始视觉单词词典中的视觉单词;
依据样本图片的视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得原始查询结果;
从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词典,基于筛选视觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词,并采用第一视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得与筛选视觉单词词典对应的第一查询结果;
比较所有样本图片的原始查询结果与所述第一查询结果,若所有样本图片的查询结果与原始查询结果相符,则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则从所述原始视觉单词词典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到获取所述第一视觉单词的步骤。
优选地,所述服务器还包括汇总模块,用于将各检索服务器传送的检索结果汇总;以及,所述服务器还包括输出模块,用于将汇总的检索结果全部或部分输出。在实际的操作过程中,通常可选用的服务器为集群服务器。
该服务器中的每一检索服务器能够均衡分配服务器的检索请求,进而可使服务器内的检索任务均衡分配,以有效提高服务器的检索效率。上述实施例中的服务器主要是利用倒排索引拆分方式使图像数据库建立分布式索引,将原始倒排索引表拆分成多个倒排索引分表,并将这些倒排索引分表分别存放于服务器的检索服务器中,从而建立分布式索引,实现了利用大规模集群来并行处理海量图片的检索。该方法不仅有效地避免了服务器内各检索服务器的负载不均衡的问题,以便提高图片数据库中的视觉搜索效率,缩短用户的等待时间。
根据本发明的另一方面,本发明还提供一种图片搜索方法,该图片搜索方法是采用如上任意实施例中所述的服务器进行检索。
参照图5所示,图5示出了本发明中的图片搜索方法实施例的流程示意图;该图片搜索方法包括:
步骤501:所述服务器接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合,或者,所述服务器接收针对待查询的目标图片的目标视觉单词集合;
步骤502:获取服务器内的包含有所述目标视觉单词集合中的目标视觉单词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;
步骤503:所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典及其索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似性分数和对应的图片排序结果发送给所述服务器;
优选地,可根据相似性分数从高到低对图片进行排序,将排序后的部分或全部的相似性分数以及与相似性分数对应的图片编号发送给服务器。(图片数据库中的每一图片均设置有各自的编号,进而图片排序结果即为图片编号的排序)
也就是说,各检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典对应的索引表文件中进行检索,根据相似性度量规则,获取该检索服务器的索引表文件链接的图片的相似性分数(该处的相似性分数即为相似度量值),根据相似性分数从高到低对图片进行排序,获得相似度分数排名为前k位图片的相似性分数,进而输出该些相似性分数以及与相似性分数对应的图片编号至服务器。其中k值为大于0的整数,通常可为检索服务器输出的一个经验值。
上述提及的相似性度量规则可为:若查询图片i的视觉单词向量sub_BOW(Ii)={sub_bow1(Ii),sub_bow2(Ii),...,sub_bowm(Ii)},数据库中每张图片的初始相似性分数score=0。对于视觉单词sub_bowk,在各检索服务器内的各视觉单词词典的索引表文件中查找到与视觉单词sub_bowk对应的倒排记录表文件,对该项倒排索引表中的每张图片的相似性分数进行加分,即scorek=scorek+α。统计每张图片的最终相似性分数,即图片j的最终相似性分数score(Ij)为索引表文件中所有倒排记录表文件相似性分数之和,
步骤504:所述服务器接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。
举例来说,对于接收到的每张图片编号,所述服务器将该图片编号对应的图片依据所有检索服务器上相似性分数(检索服务器接发送的与图片对应的相似性分数)进行加和,从而获得图片的最终相似性分数,接着,按照图 片最终相似性分数从高到底对图片进行排序,以及获取输出前N张图片符合所述目标图片的检索需求的检索结果并输出。本实施例中的N为大于等于零的整数,通常N为业内人士认可的经验值。
该图片搜索方法能够依据目标图片的检索需求均衡分配至服务器中的各检索服务器上,使得图片搜索方法中搜索目标图片的效率和精确度提高,进而满足用户在搜索图片时实时响应的需求。上述方法实现了采用分布式索引的方法来并行处理图片数据库中图片的检索,有效地避免了服务器内各检索服务器的负载不均衡的问题,以便提高图片数据库中的视觉搜索效率,缩短用户的等待时间。
此外,本发明还提供一种相应于图片搜索方法的图片搜索系统,参照图6所示,图6示出了本发明中的图片搜索系统实施例的结构示意图,其图片搜索系统包括:
目标视觉单词集合获取模块601,所述服务器接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合,或者,所述服务器接收针对待查询的目标图片的目标视觉单词集合;
查找分配模块602,用于查找服务器内的包含有所述目标视觉单词集合中的目标视觉单词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;
检索模块603,用于所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似性分数和对应的图片排序结果发送给所述服务器;
也就是说,检索模块603中的各检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典对应的索引表文件中进行检索,根据相似性度量规则,获取该检索服务器的索引表文件链接的图片的相似性分数 (该处的相似性分数即为相似度量值),根据相似性分数从高到低对图片进行排序,获得相似度分数排名为前k位图片的相似性分数以及与相似性分数对应的图片编号至服务器,进而输出该些相似性分数以及与相似性分数对应的图片编号至服务器。其中k值为大于0的整数,通常可为检索服务器输出的一个经验值。
上述提及的相似性度量规则可为:若查询图片i的视觉单词向量sub_BOW(Ii)={sub_bow1(Ii),sub_bow2(Ii),...,sub_bowm(Ii)},数据库中每张图片的初始相似性分数score=0。对于视觉单词sub_bowk,在各检索服务器内的各视觉单词词典的索引表文件中查找到与视觉单词sub_bowk对应的倒排记录表文件,对该项倒排索引表文件中的每张图片的相似性分数进行加分,即scorek=scorek+α。统计每张图片的最终相似性分数,即图片j的最终相似性分数score(Ij)为索引表文件中所有倒排记录表文件相似性分数之和,
汇总输出模块604,用于所述服务器接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。即,所述服务器将所述图片排序结果以及对应的相似性分数进行汇总,进而可获取输出前N张图片符合所述目标图片的检索需求的结果图片并输出。N为大于零的整数,通常服务器输出的结果图片是依据服务器内部的经验值输出。
上述图片搜索系统能够依据目标图片的检索需求均衡分配至服务器中的各检索服务器上,使得图片搜索系统中搜索目标图片的效率和精确度提高,有效地避免了服务器内各检索服务器的负载不均衡的问题,且缩短用户的等待时间,进而满足用户在搜索图片时实时响应的需求。
上述图4和图6中显示的各模块只是示意性的显示其内部的结构关系, 可能在某一个系统、和服务器中多次使用同一模块进行检索或实现其它功能,上述实施例只是示意性的说明,其不局限图4和图6的结构排布关系和连接关系。另外还可能出现在服务器和图片搜索系统中增加一些能够实现本发明中的图片搜索方法中的某些步骤的其他模块均属于本发明的内容。进一步,步骤流程中中没有限制个步骤的顺序,附图只是示意性的描述。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种用于分布式图片搜索的索引构建方法,其特征在于,步骤包括:
提取服务器的图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表;
依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表;
采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典,该子视觉单词词典中的每一视觉单词的倒排记录表组成该子视觉单词词典的索引表;
其中,所述第一预设规则为:
选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词,
分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取所述共生频数之和最小的检索服务器;
将该视觉单词与该视觉单词的倒排记录表分配给所选取的检索服务器。
2.根据权利要求1所述的用于分布式图片搜索的索引构建方法,其特征在于,所述有效视觉单词词典的筛选规则为:
从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原始视觉单词词典中的视觉单词;
依据样本图片的视觉单词在所述原始视觉单词词典的总索引表中查询,获得原始查询结果;
从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词典,基于筛选视觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词,并采用第一视觉单词在所述原始视觉单词词典的总索引表中查询,获得与筛选视觉单词词典对应的第一查询结果;
比较所有样本图片的原始查询结果与所述第一查询结果,以选取一符合筛选标准的筛选视觉单词词典作为有效视觉单词词典。
3.根据权利要求2所述的用于分布式图片搜索的索引构建方法,其特征在于,所述选取一符合筛选标准的筛选视觉单词词典作为有效视觉单词词典进一步包括:
比较样本图片的原始查询结果和第一查询结果,若样本图片的第一查询结果与原始查询结果相符,则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则从所述原始视觉单词词典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到获取所述第一视觉单词的步骤。
4.一种用于分布式图片搜索的索引构建装置,其特征在于,还包括:
提取模块,用于提取图片数据库中所有图片的一个以上的特征,并将该些特征转换为视觉单词集合,得到原始视觉单词词典及对应的总索引表文件;
有效视觉单词词典生成模块,用于依据有效视觉单词词典的筛选规则,获取代表原始视觉单词词典的有效视觉单词词典,该有效视觉单词词典中的每一视觉单词均建立有各自相对应的倒排记录表文件;
分配模块,用于采用第一预设规则,将有效视觉单词词典中的各视觉单词均衡分配至各检索服务器内,使每一检索服务器得到其内部的视觉单词组成的子视觉单词词典;
索引建立模块,用于根据该子视觉单词词典中的每一视觉单词的倒排记录表文件组成该子视觉单词词典的索引表文件;
其中,所述第一预设规则为:
选择所述有效视觉单词词典内的任意一个待分配到所述各检索服务器的视觉单词;
分析该视觉单词与每一检索服务器内已有的所有视觉单词的共生频数之和,选取所述共生频数之和最小的检索服务器;
将该视觉单词与该视觉单词的倒排记录表文件分配给所选取的检索服务器。
5.根据权利要求4所述的索引构建装置,其特征在于,所述有效视觉单词词典的筛选规则为:
从图片数据库中选择某一数量的图片作为样本图片,以及将样本图片的特征转换为原始视觉单词词典中的视觉单词;
依据样本图片的视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得原始查询结果;
从原始视觉单词词典中选取一定数量的单词构成筛选视觉单词词典,基于筛选视觉单词词典,将所述样本图片的特征转换为对应该筛选视觉单词词典内的第一视觉单词,并采用第一视觉单词在所述原始视觉单词词典的总索引表文件中查询,获得与筛选视觉单词词典对应的第一查询结果;
比较所有样本图片的原始查询结果与所述第一查询结果,若所有样本图片的第一查询结果与原始查询结果相符,则采用当前的筛选视觉单词词典作为有效视觉单词词典;否则从所述原始视觉单词词典中选择一个视觉单词增加到当前的筛选视觉单词词典中,返回到获取所述第一视觉单词的步骤。
6.根据权利要求4所述的索引构建装置,其特征在于,
所述索引构建装置还包括汇总模块,用于将各检索服务器传送的检索结果汇总;
以及,所述索引构建装置还包括输出模块,用于将汇总的检索结果全部或部分输出;
进一步地,所述索引构建装置为集群服务器。
7.一种图片搜索方法,其特征在于,该图片搜索方法是采用如上权利要求4至6任一项所述的索引构建装置进行检索,所述图片搜索方法包括:
所述索引构建装置接收一待查询的目标图片,并获取该目标图片的目标视觉单词集合,或者,所述索引构建装置接收针对待查询的目标图片的目标视觉单词集合;
获取所述索引构建装置内的包含有所述目标视觉单词集合中的目标视觉单词的各检索服务器,并将该目标视觉单词分配到相对应的包含该目标视觉单词的检索服务器;
所述检索服务器依据分配的目标视觉单词的检索请求,在其内部的子视觉单词词典及其对应的索引表文件中进行检索,依据相似性度量规则,获取图片数据库中部分或全部图片的相似性分数,根据相似性分数对各图片进行排序,得到图片排序结果,进而将相似性分数和对应的图片排序结果发送给所述索引构建装置;
所述索引构建装置接收并汇总各检索服务器传送的相似性分数和对应的图片排序结果,进而将符合所述目标图片的结果图片全部或部分输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110024141 CN102081666B (zh) | 2011-01-21 | 2011-01-21 | 用于分布式图片搜索的索引构建方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110024141 CN102081666B (zh) | 2011-01-21 | 2011-01-21 | 用于分布式图片搜索的索引构建方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102081666A CN102081666A (zh) | 2011-06-01 |
CN102081666B true CN102081666B (zh) | 2013-05-29 |
Family
ID=44087627
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110024141 Expired - Fee Related CN102081666B (zh) | 2011-01-21 | 2011-01-21 | 用于分布式图片搜索的索引构建方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102081666B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932605B (zh) * | 2012-11-26 | 2014-12-24 | 南京大学 | 一种视觉感知网络中摄像机的组合选择方法 |
CN104424226B (zh) * | 2013-08-26 | 2018-08-24 | 阿里巴巴集团控股有限公司 | 一种获得视觉词词典、图像检索的方法及装置 |
CN104714962B (zh) * | 2013-12-13 | 2018-11-06 | 阿里巴巴集团控股有限公司 | 一种图像搜索引擎的生成方法及系统 |
CN105989001B (zh) * | 2015-01-27 | 2019-09-06 | 北京大学 | 图像搜索方法及装置、图像搜索系统 |
CN110019870B (zh) * | 2017-12-29 | 2021-05-28 | 浙江宇视科技有限公司 | 基于内存图像集群的图像检索方法及系统 |
CN109871463B (zh) * | 2019-03-06 | 2024-04-09 | 腾讯音乐娱乐科技(深圳)有限公司 | 音频处理方法、装置、电子设备及存储介质 |
CN110110125A (zh) * | 2019-04-28 | 2019-08-09 | 重庆学析优科技有限公司 | 一种快速精确的图片搜索匹配方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231662A (zh) * | 2008-01-25 | 2008-07-30 | 华中科技大学 | 基于网格平台的分布式医学图像检索系统 |
CN101777064A (zh) * | 2009-01-12 | 2010-07-14 | 鸿富锦精密工业(深圳)有限公司 | 图片搜索系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8738647B2 (en) * | 2009-02-18 | 2014-05-27 | A9.Com, Inc. | Method and system for image matching |
-
2011
- 2011-01-21 CN CN 201110024141 patent/CN102081666B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231662A (zh) * | 2008-01-25 | 2008-07-30 | 华中科技大学 | 基于网格平台的分布式医学图像检索系统 |
CN101777064A (zh) * | 2009-01-12 | 2010-07-14 | 鸿富锦精密工业(深圳)有限公司 | 图片搜索系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102081666A (zh) | 2011-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102081666B (zh) | 用于分布式图片搜索的索引构建方法和装置 | |
CN110059198B (zh) | 一种基于相似性保持的跨模态数据的离散哈希检索方法 | |
Ji et al. | Learning to distribute vocabulary indexing for scalable visual search | |
CN102147815B (zh) | 图片搜索方法和图片搜索系统 | |
CN110059807A (zh) | 图像处理方法、装置和存储介质 | |
CN103593425B (zh) | 基于偏好的智能检索方法及系统 | |
CN106462568A (zh) | 全局视觉词汇、系统和方法 | |
JP6691280B1 (ja) | 管理システム及び管理方法 | |
CN104834693A (zh) | 基于深度搜索的视觉图像检索方法及系统 | |
CN104199833B (zh) | 一种网络搜索词的聚类方法和聚类装置 | |
CN105279264B (zh) | 一种文档的语义相关度计算方法 | |
US20150016729A1 (en) | Image search device, image search method, program, and computer-readable storage medium | |
CN102043863B (zh) | 一种Web服务聚类的方法 | |
CN103309869B (zh) | 数据对象的展示关键词推荐方法及系统 | |
CN106407349A (zh) | 一种产品推荐方法及装置 | |
CN103186538A (zh) | 一种图像分类方法和装置、图像检索方法和装置 | |
JP2018509664A (ja) | モデル生成方法、単語重み付け方法、装置、デバイス及びコンピュータ記憶媒体 | |
CN106599291B (zh) | 数据分组方法及装置 | |
CN117312688B (zh) | 基于时空资产目录的跨源数据检索方法、介质及设备 | |
CN106776910A (zh) | 一种搜索结果的显示方法及装置 | |
CN103049570B (zh) | 基于相关保持映射和一分类器的图像视频搜索排序方法 | |
CN110909193B (zh) | 图像排序展示方法、系统、设备和存储介质 | |
CN116955586A (zh) | 一种动态调整回答偏好的咨询系统及其实现方法 | |
CN108009847A (zh) | 外卖场景下店铺embedding特征提取的方法 | |
CN104111947B (zh) | 一种遥感图像的检索方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130529 |