CN108229358B - 索引建立方法和装置、电子设备、计算机存储介质 - Google Patents
索引建立方法和装置、电子设备、计算机存储介质 Download PDFInfo
- Publication number
- CN108229358B CN108229358B CN201711417549.0A CN201711417549A CN108229358B CN 108229358 B CN108229358 B CN 108229358B CN 201711417549 A CN201711417549 A CN 201711417549A CN 108229358 B CN108229358 B CN 108229358B
- Authority
- CN
- China
- Prior art keywords
- index
- features
- library
- feature
- retrieved
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Library & Information Science (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种索引建立方法和装置、电子设备、计算机存储介质、程序,其中方法包括:将特征库划分为至少一个特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库;基于第一索引库中对第二索引模型进行;利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库。本发明上述实施例通过划分将大量特征分解处理,方便后续检索时按需查找;通过第一索引库训练第二索引模型,基于训练得到的第二索引模型实现了对特征子库的索引重建,通过索引重建所建立的第二索引库进行特征搜索时,能够在保证搜索精度的同时加快搜索速度。
Description
技术领域
本发明涉及特征搜索技术,尤其是一种索引建立方法和装置、电子设备、计算机存储介质。
背景技术
人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。人脸识别的过程主要包括人脸检测跟踪,人脸特征提取和人脸特征搜索比对。
人脸特征的搜索比对是将待识别的人脸特征与已有的大量特征数据库进行搜索匹配,按照相似度输出最相似的多个结果。人脸特征一般是128或256维等高维特征,在大规模的特征数据库中,如:亿级以上的特征库中进行搜索对比时,如果采用暴力搜索,逐一进行距离计算后排序,将非常耗时,无法满足应用程序实时响应的需求。
发明内容
本发明实施例提供的一种索引建立技术。
根据本发明实施例的一个方面,提供的一种索引建立方法,包括:
利用第一索引模型,为所述特征子库中的各特征分别建立索引,得到所述特征子库对应的第一索引库;
基于所述第一索引库对第二索引模型进行训练;
利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库。
在基于本发明上述方法的另一个实施例中,将特征库划分为至少一个特征子库,包括:
基于所述特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库;所述业务信息包括获取所述特征的时间信息和/或空间信息,每个所述特征子库包括设定数量的特征。
在基于本发明上述方法的另一个实施例中,所述第一索引模型包括经过训练的乘积量化模型;
所述利用第一索引模型,为所述特征子库中的各特征分别建立索引,包括:
利用第一索引模型对所述特征子库中的各特征分别执行分块降维操作,得到对应所述特征的代码作为所述特征的第一索引。
在基于本发明上述方法的另一个实施例中,基于所述第一索引库对第二索引模型进行训练,包括:
将所述第一索引库中的特征和/或对应所述特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
基于所述目标索引训练所述第二索引模型;
得到训练后的第二索引模型。
在基于本发明上述方法的另一个实施例中,基于所述目标索引训练所述第二索引模型,包括:
基于所述目标索引获得所述第一索引库的类中心点;
分别计算所述第一索引库中所有特征与所述类中心点之间的距离,得到对应所有所述特征的距离总和;
迭代执行,基于所述距离总和调整所述类中心点,分别计算所述第一索引库中所有特征与所述调整后的类中心点之间的距离,得到对应所有所述特征的距离总和,直到满足预设停止条件。
在基于本发明上述方法的另一个实施例中,基于所述第一索引库对第二索引模型进行训练之前,还包括:
基于倒排序索引结构结合乘积量化建立第二索引模型。
在基于本发明上述方法的另一个实施例中,所述基于倒排序索引结构结合乘积量化建立第二索引模型,包括:
利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个所述子类中包括至少一个特征;
利用乘积量化为每个所述子类建立对应的索引,得到第二索引模型。
在基于本发明上述方法的另一个实施例中,所述利用乘积量化为每个所述子类建立对应的索引,包括:
基于所述子类中的所有特征获得所述子类的中心特征;
计算所述子类中所有特征与所述中心特征的余量;
利用乘积量化,对所述子类中的所有余量执行分块降维操作,得到对应所述子类的代码作为所述子类的索引。
在基于本发明上述方法的另一个实施例中,所述利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库,包括:
将所述第一索引库中的所有特征输入所述训练得到的第二索引模型,输出对应所有所述特征的至少一个第二索引;每个所述第二索引对应至少一个所述特征;
基于所述第二索引和所述第二索引对应的特征得到第二索引库。
在基于本发明上述方法的另一个实施例中,还包括:
接收待检索特征;
将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述方法的另一个实施例中,所述接收待检索特征之后,还包括:
基于所述待检索特征获得所述待检索特征对应的业务信息;所述业务信息包括获取所述待检索特征的时间信息和/或空间信息;
基于所述业务信息获得对应的至少一个所述第二索引库。
在基于本发明上述方法的另一个实施例中,将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征,包括:
将所述待检索特征输入所述对应的至少一个所述第二索引库中;
基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征;所述第二预设数量大于所述第一预设数量;
对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述方法的另一个实施例中,基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征,包括:
将所述待检索特征与所述第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的所述第二索引;
基于所述得到的第二索引得到对应所述第二索引的特征;将所述得到的特征作为疑似特征。
在基于本发明上述方法的另一个实施例中,所述对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征,包括:
计算所有所述疑似特征与所述待检索特征之间的距离;
基于所述距离得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述方法的另一个实施例中,基于所述距离得到对应所述待检索特征的第一预设数量的相似特征,包括:
按照所述距离从小到大或从大到小对所述疑似特征进行排序;
按序获得与所述待检索特征之间的距离小于设定值的第一预设数量的相似特征。
根据本发明实施例的另一个方面,提供的一种索引建立装置,包括:
库划分单元,用于将特征库划分为至少一个特征子库;所述特征库中包括一个以上特征,每个所述特征子库中包括一个以上特征;
第一索引单元,用于利用第一索引模型,为所述特征子库中的各特征分别建立索引,得到所述特征子库对应的第一索引库;
训练单元,用于基于所述第一索引库对第二索引模型进行训练;
第二索引单元,用于利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库。
在基于本发明上述装置的另一个实施例中,所述库划分单元,具体用于基于所述特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库;所述业务信息包括获取所述特征的时间信息和/或空间信息,每个所述特征子库包括设定数量的特征。
在基于本发明上述装置的另一个实施例中,所述第一索引模型包括经过训练的乘积量化模型;
所述第一索引单元,具体用于利用第一索引模型对所述特征子库中的各特征分别执行分块降维操作,得到对应所述特征的代码作为所述特征的第一索引。
在基于本发明上述装置的另一个实施例中,所述训练单元,包括:
目标索引模块,用于将所述第一索引库中的特征和/或对应所述特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
模型训练模块,用于基于所述目标索引训练所述第二索引模型,得到训练后的第二索引模型。
在基于本发明上述装置的另一个实施例中,所述模型训练模块,具体用于基于所述目标索引获得所述第一索引库的类中心点;
分别计算所述第一索引库中所有特征与所述类中心点之间的距离,得到对应所有所述特征的距离总和;
迭代执行,基于所述距离总和调整所述类中心点,分别计算所述第一索引库中所有特征与所述调整后的类中心点之间的距离,得到对应所有所述特征的距离总和,直到满足预设停止条件。
在基于本发明上述装置的另一个实施例中,还包括:
模型建立单元,用于基于倒排序索引结构结合乘积量化建立第二索引模型。
在基于本发明上述装置的另一个实施例中,所述模型建立单元,包括:
聚类模块,用于利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个所述子类中包括至少一个特征;
量化模块,用于利用乘积量化为每个所述子类建立对应的索引,得到第二索引模型。
在基于本发明上述装置的另一个实施例中,所述量化模块,具体用于基于所述子类中的所有特征获得所述子类的中心特征;
计算所述子类中所有特征与所述中心特征的余量;
利用乘积量化,对所述子类中的所有余量执行分块降维操作,得到对应所述子类的代码作为所述子类的索引。
在基于本发明上述装置的另一个实施例中,所述第二索引单元,具体用于将所述第一索引库中的所有特征输入所述训练得到的第二索引模型,输出对应所有所述特征的至少一个第二索引;每个所述第二索引对应至少一个所述特征;
基于所述第二索引和所述第二索引对应的特征得到第二索引库。
在基于本发明上述装置的另一个实施例中,还包括:
特征接收单元,用于接收待检索特征;
特征检索单元,用于将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述装置的另一个实施例中,还包括:
信息获取单元,用于基于所述待检索特征获得所述待检索特征对应的业务信息;所述业务信息包括获取所述待检索特征的时间信息和/或空间信息;
索引库单元,用于基于所述业务信息获得对应的至少一个所述第二索引库。
在基于本发明上述装置的另一个实施例中,所述特征检索单元,包括:
特征输入模块,用于将所述待检索特征输入所述对应的至少一个所述第二索引库中;
扩大检索模块,用于基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征;所述第二预设数量大于所述第一预设数量;
筛选模块,用于对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述装置的另一个实施例中,所述扩大检索模块,具体用于将所述待检索特征与所述第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的所述第二索引;
基于所述得到的第二索引得到对应所述第二索引的特征;将所述得到的特征作为疑似特征。
在基于本发明上述装置的另一个实施例中,所述筛选模块,包括:
距离计算模块,用于计算所有所述疑似特征与所述待检索特征之间的距离;
特征获取模块,用于基于所述距离得到对应所述待检索特征的第一预设数量的相似特征。
在基于本发明上述装置的另一个实施例中,所述特征获取模块,具体用于按照所述距离从小到大或从大到小对所述疑似特征进行排序;
按序获得与所述待检索特征之间的距离小于设定值的第一预设数量的相似特征。
根据本发明实施例的另一个方面,提供的一种电子设备,包括处理器,所述处理器包括如上所述的索引建立装置。
根据本发明实施例的另一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成如上所述索引建立方法的操作。
根据本发明实施例的另一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,所述指令被执行时执行如上所述索引建立方法的操作。
根据本发明实施例的另一个方面,提供的一种计算机程序,包括计算机可读代码,当所述计算机可读代码在设备上运行时,所述设备中的处理器执行用于实现如上所述索引建立方法的指令。
基于本发明上述实施例提供的一种索引建立方法和装置、电子设备、计算机存储介质、程序,将特征库划分为至少一个特征子库;通过划分将大量特征分解处理,方便后续检索时按需查找特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库,保证了搜索的精度;基于第一索引库中对第二索引模型进行训练,利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库,通过第一索引库训练第二索引模型,基于训练得到的第二索引模型实现了对特征子库的索引重建,通过索引重建所建立的第二索引库进行特征搜索时,能够在保证搜索精度的同时加快搜索速度。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明索引建立方法一个实施例的流程图。
图2为本发明索引建立装置一个实施例的结构示意图。
图3为用来实现本申请实施例的终端设备或服务器的电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于计算机系统/服务器,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
使用Product quantization方法需要遍历整个特征库,为了更快的检索,可以使用一种倒排序索引结构(IVF),其主要思想是先使用k-means算法对数据库特征进行粗量化,即归属到某一类后,再拿特征和类中心的余量使用PQ进行量化,最后将量化后的code代码存储在该索引项对应的列表项中。在搜索时,找到距离搜索特征最近的一类或多类,在该类索引列表项使用PQ的方式进行对比搜索,这样就大大减少了对比的数量,从而加速了搜索过程。
在实现本发明的过程中,发明人发现,现有技术至少存在以下问题:
使用IVF方式虽然能够大大加速搜索过程,但它很受k-means分类准确性的影响,在使用过程中,一般是在一个已存在特征数据集上使用k-means方法进行训练,得到k个类中心的模型,然后应用在实际动态产生的特征上进行索引创建和搜索,虽然模型具有一定的泛化能力,但受限于训练数据集的代表性和实际特征的多样性,使用事先训练好的模型难免在实际特征索引创建中有分类不均的情况,这样在搜索时,查找的距离最近的一类或多类中,可能并不存在真正距离最近的特征,从而导致搜索误差大,当然可以增大搜索的类的个数,让它接近分类总数,但这样加速效果就不明显了。
在应对大规模特征库的情况下(例如:亿级以上),如果直接的串行搜索整个特征库将非常缓慢。
图1为本发明索引建立方法一个实施例的流程图。如图1所示,该实施例方法包括:
步骤101,将特征库划分为至少一个特征子库。
其中,特征库中包括一个以上特征,每个特征子库包括一个以上特征;具体地,可以根据业务上的时间和空间对特征库进行划分,可选地,可以限制每个特征子库的容量(例如:1000万个特征),在检索应用时,采用多线程并行的方式操作这些特征子库,一个线程可以处理一个或多个特征子库。
步骤102,利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库。
其中,第一索引库中每个特征对应一个第一索引;具体地,第一索引模型可采用训练好的乘积量化PQ模型,利用乘积量化可将每个特征量分块降维成一个代码表示,将这个对应特征的代码作为特征的索引,在量化好的特征库上搜索,只需要与第一索引库的中心计算一次距离,计算与特征库中特征间的距离只需要查表即可,能够简化距离计算,从而达到加速作用。
步骤103,基于第一索引库对第二索引模型进行训练。
具体地,上述基于乘积量化得到的第一索引库只保证了特征检索的精度,为了加快检索速度,应用新的第二索引模型为特征建立可快速检索的索引库,为了保证训练得到的目标索引模型可应用于当前特征,采用已知的第一索引库中的特征和/或第一索引进行训练。
步骤104,利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库。
基于本发明上述实施例提供的一种索引建立方法,将特征库划分为至少一个特征子库;通过划分将大量特征分解处理,方便后续检索时按需查找特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库,保证了搜索的精度;基于第一索引库中对第二索引模型进行训练,利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库,通过第一索引库训练第二索引模型,基于训练得到的第二索引模型实现了对特征子库的索引重建,通过索引重建所建立的第二索引库进行特征搜索时,能够在保证搜索精度的同时加快搜索速度。
在本发明索引建立方法上述实施例的一个具体示例中,操作101包括:
基于特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库。
其中,第一索引库中包括设定数量的特征,每个特征子库包括设定数量的特征;业务信息包括获取特征的时间信息和/或空间信息;基于业务信息对特征进行分组,方便特征检索时,基于获取时间和空间查找相应的索引库,一定程度上加快了检索速度。
可选地,还可以包括特征的动态入库,具体地,根据动态入库的特征的业务信息将该特征分配到某一线程的对应的第一索引库处理,对该特征建索引并存入该第一索引库;如果该第一索引库中容量已满,则为该特征创建一个新的第一索引库。
在本发明索引建立方法上述各实施例的一个具体示例中,可选地,第一索引模型包括经过训练的乘积量化模型;
操作102包括:
利用第一索引模型对特征子库中的各特征分别执行分块降维操作,得到对应特征的代码作为特征的第一索引。
具体地,采用乘积量化可以保证搜索的精度,乘积量化(Product quantization)是一种对特征空间进行分块降维的技术,每一个子块只用一个code代码表示,采用极少的code代码就可以表示一个特征向量,在量化好的特征库上搜索,只需要与预先训练好的各子类中心计算一次距离,计算与特征库中特征间的距离只需要查表即可,能够简化距离计算,从而达到加速作用。
本发明索引建立方法的另一个实施例,在上述各实施例的基础上,操作103包括:
将第一索引库中的特征和/或对应特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
可选地,将第一索引库中的特征输入第二索引模型,将得到对应每个特征的目标索引,或将第一索引库中的第一索引作为特征输入第二索引模型,由于每个特征对应一个第一索引,基于第一索引得到的目标索引同样对应每个特征,并且,由于第一索引的结构相对特征来说比较简单,因此,基于第一索引获得每个特征的目标索引速度更快;当然,还可以基于特征和第一索引共同输入第二索引模型,得到对应每个特征的目标索引。
基于目标索引训练第二索引模型;
得到训练后的第二索引模型。
具体地,基于当前已经建立索引的第一索引库中的特征和/或对应特征的第一索引对初始索引模型进行训练,初始索引模型可以是IVF PQ索引模型,IVF为倒排序索引结构,PQ(Product quantization)为乘积量化,具体训练就是的通过已知索引的特征对初始索引模型中的参数进行调整的过程。
在本发明索引建立方法上述各实施例的一个具体示例中,基于目标索引训练第二索引模型,包括:
基于目标索引获得第一索引库的类中心点;
分别计算第一索引库中所有特征与类中心点之间的距离,得到对应所有特征的距离总和;
迭代执行,基于距离总和调整类中心点,分别计算第一索引库中所有特征与类中心点之间的距离,得到对应所有特征的距离总和,直到满足预设停止条件。
具体地,通过类似神经网络的训练方法,通过迭代反向传递误差的方法调整第二索引模型中的参数,直到得到的更新索引模型满足预设停止条件,索引模型用于存储类中心信息和一些参数信息,基于类中心信息可确定索引库中的类中心点;预设停止条件包括但不限于以下一种或几种:距离总和达到最小,距离总和小于预设阈值等。
在本发明索引建立方法上述各实施例的一个具体示例中,还包括:
基于倒排序索引结构结合乘积量化建立第二索引模型。
可选地,利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个子类中包括至少一个特征;
利用乘积量化为每个子类建立对应的索引,得到第二索引模型。
具体地,聚类算法可以采用k-means方法或其他聚类方法,本发明对具体聚类方法不作限制,由于是基于第一索引库中的特征进行分类,因此得到的分类结果比较准确和均匀;分类后,分别对每个子类建立索引,在检索过程中,可将待检索特征与索引匹配,由于每个索引对应一个子类中所有的特征,即,通过索引检索将所得多个子类中的所有特征,具体检索时,在后续再将待检索特征与得到的各子类中的所有特征进行距离计算得到匹配的特征。
在本发明索引建立方法上述各实施例的一个具体示例中,利用乘积量化为每个子类建立对应的索引,包括:
基于子类中的所有特征获得子类的中心特征;
计算子类中所有特征与中心特征的余量;
利用乘积量化,对子类中的所有余量执行分块降维操作,得到对应子类的代码作为子类的索引。
本实施例中,将每个子类当做一个特征,此时为了基于该特征表达子类的中的所有特征,首先获得子类的中心特征,再讲特征与子类的中心特征的余量使用乘积量化进行分块降维操作,得到量化后的代码,基于该代码作为子类的索引。
本发明索引建立方法的又一个实施例,在上述各实施例的基础上,操作104包括:
将第一索引库中的所有特征输入训练得到的第二索引模型,输出对应所有特征的至少一个第二索引;每个第二索引对应至少一个特征;
基于第二索引和第二索引对应的特征得到第二索引库。
本实施例中,训练后的第二索引模型可以基于特征获得对应的第二索引,该每个第二索引对应至少一个特征,对应一个第二索引的特征属于一个子类,通过分类建立索引得到的第二索引库,可以实现精度高且速度快的特征搜索。
本发明索引建立方法的还一个实施例,在上述各实施例的基础上,还包括:
接收待检索特征;
将待检索特征输入第二索引库,得到对应待检索特征的第一预设数量的相似特征。
本实施例中,利用上述索引建立方法获得的第二索引库实现对待检索特征的检索,因为第二索引库中已经重建了第二索引,自训练了多分类(如1024类)的IVFPQ模型,在较少的距离最近的几个分类上搜索,需要在扩大的范围上搜索,并取实际特征精确搜索后输出作为待检索特征的相似特征。
在本发明索引建立方法上述各实施例的一个具体示例中,接收待检索特征之后,还包括:
基于待检索特征获得待检索特征对应的业务信息;业务信息包括获取待检索特征的时间信息和/或空间信息;
基于业务信息获得对应的至少一个第二索引库。
具体地,多个第二索引库是并行运行的,为了提高特征检索的速度,可以基于业务信息获得至少一个第二索引库,在这些第二索引库中同步进行特征检索。
在本发明索引建立方法上述各实施例的一个具体示例中,将待检索特征输入第二索引库,得到对应待检索特征的第一预设数量的相似特征,包括:
将待检索特征输入对应的至少一个第二索引库中;
基于每个第二索引库分别得到对应待检索特征的第二预设数量的疑似特征;第二预设数量大于第一预设数量;
对得到的所有疑似特征进行筛选,得到对应待检索特征的第一预设数量的相似特征。
具体地,由于使用的近似距离(待检索特征与索引之间的距离)代替了实际距离(待检索特征与特征库中特征之间的距离),所以要在扩大的范围内搜索,例如:需要搜索与待检索特征最相似的top10,需要扩大10倍(或其他倍数)来搜索,搜索top100,然后根据索引在特征库中取出实际的特征,进行距离计算后输出实际的top10。
在本发明索引建立方法上述各实施例的一个具体示例中,基于每个第二索引库分别得到对应待检索特征的第二预设数量的疑似特征,包括:
将待检索特征与第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的第二索引;
基于得到的第二索引得到对应第二索引的特征;将得到的特征作为疑似特征。
具体地,计算两个特征之间的相似度是基于距离计算的,该距离可以包括欧式距离、马氏距离等,本发明只需表达两个特征之间的相似度,并不限制采用哪种距离计算方式;可选地,对于得到的第二索引对应的特征还可以进行:计算得到的第二索引得到对应第二索引的特征与待检索特征之间的距离,得到距离小于预设值的所有特征作为疑似特征。
在本发明索引建立方法上述各实施例的一个具体示例中,对得到的所有疑似特征进行筛选,得到对应待检索特征的第一预设数量的相似特征,包括:
计算所有疑似特征与待检索特征之间的距离;
基于距离得到对应待检索特征的第一预设数量的相似特征。
具体地,综合计算最终的相似特征的过程可以包括:按照距离从小到大或从大到小对疑似特征进行排序;按序获得与待检索特征之间的距离小于设定值的第一预设数量的相似特征。
在本实施例中,为了获得与待检索特征最相似的第一预设数量的相似特征,需要将所有得到的疑似特征与待检索特征之间的距离进行比较,仅保留距离最小的第一预设数量的相似特征;还可以保留与待检索特征的相似度达到一定程度的所有特征,此时将无需基于距离对相似特征进行比较和排序。
本发明上述各实施例可以应用于图像特征的检索或其他特征的检索,如果是对人脸特征进行检索,可应用于安防领域的视频监控后端识别系统,还可以应用于门禁、闸机等后端人脸识别系统。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图2为本发明索引建立装置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图2所示,该实施例的装置包括:
库划分单元21,用于将特征库划分为至少一个特征子库。
其中,特征库中包括一个以上特征,每个特征子库中包括一个以上特征。
第一索引单元22,用于利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库。
训练单元23,用于基于第一索引库对第二索引模型进行训练。
第二索引单元24,用于利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库。
基于本发明上述实施例提供的一种索引建立方法,将特征库划分为至少一个特征子库;通过划分将大量特征分解处理,方便后续检索时按需查找特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库,保证了搜索的精度;基于第一索引库中对第二索引模型进行训练,利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库,通过第一索引库训练第二索引模型,基于训练得到的第二索引模型实现了对特征子库的索引重建,通过索引重建所建立的第二索引库进行特征搜索时,能够在保证搜索精度的同时加快搜索速度。
在本发明索引建立装置上述实施例的一个具体示例中,库划分单元21,具体用于基于特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库。
其中,业务信息包括获取特征的时间信息和/或空间信息,每个特征子库包括设定数量的特征。
在本发明索引建立装置上述各实施例的一个具体示例中,第一索引模型包括经过训练的乘积量化模型;
第一索引单元,具体用于利用第一索引模型对特征子库中的各特征分别执行分块降维操作,得到对应特征的代码作为特征的第一索引。
本发明索引建立装置的另一个实施例,在上述各实施例的基础上,训练单元23,包括:
目标索引模块,用于将第一索引库中的特征和/或对应特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
模型训练模块,用于基于目标索引训练第二索引模型,得到训练后的第二索引模型。
可选地,将第一索引库中的特征输入第二索引模型,将得到对应每个特征的目标索引,或将第一索引库中的第一索引作为特征输入第二索引模型,由于每个特征对应一个第一索引,基于第一索引得到的目标索引同样对应每个特征,并且,由于第一索引的结构相对特征来说比较简单,因此,基于第一索引获得每个特征的目标索引速度更快;当然,还可以基于特征和第一索引共同输入第二索引模型,得到对应每个特征的目标索引。
具体地,基于当前已经建立索引的第一索引库中的特征和/或对应特征的第一索引对初始索引模型进行训练,初始索引模型可以是IVF PQ索引模型,IVF为倒排序索引结构,PQ(Product quantization)为乘积量化,具体训练就是的通过已知索引的特征对初始索引模型中的参数进行调整的过程。
在本发明索引建立装置上述各实施例的一个具体示例中,模型训练模块,具体用于基于目标索引获得第一索引库的类中心点;
分别计算第一索引库中所有特征与类中心点之间的距离,得到对应所有特征的距离总和;
迭代执行,基于距离总和调整类中心点,分别计算第一索引库中所有特征与调整后的类中心点之间的距离,得到对应所有特征的距离总和,直到满足预设停止条件。
在本发明索引建立装置上述各实施例的一个具体示例中,还包括:
模型建立单元,用于基于倒排序索引结构结合乘积量化建立第二索引模型。
在本发明索引建立装置上述各实施例的一个具体示例中,模型建立单元,包括:
聚类模块,用于利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个子类中包括至少一个特征;
量化模块,用于利用乘积量化为每个子类建立对应的索引,得到第二索引模型。
在本发明索引建立装置上述各实施例的一个具体示例中,量化模块,具体用于基于子类中的所有特征获得子类的中心特征;
计算子类中所有特征与中心特征的余量;
利用乘积量化,对子类中的所有余量执行分块降维操作,得到对应子类的代码作为子类的索引。
本发明索引建立装置的又一个实施例,在上述各实施例的基础上,第二索引单元,具体用于将第一索引库中的所有特征输入训练得到的第二索引模型,输出对应所有特征的至少一个第二索引;每个第二索引对应至少一个特征;
基于第二索引和第二索引对应的特征得到第二索引库。
本实施例中,训练后的第二索引模型可以基于特征获得对应的第二索引,该每个第二索引对应至少一个特征,对应一个第二索引的特征属于一个子类,通过分类建立索引得到的第二索引库,可以实现精度高且速度快的特征搜索。
本发明索引建立装置的还一个实施例,在上述各实施例的基础上,还包括:
特征接收单元,用于接收待检索特征;
特征检索单元,用于将待检索特征输入第二索引库,得到对应待检索特征的第一预设数量的相似特征。
本实施例中,利用上述索引建立方法获得的第二索引库实现对待检索特征的检索,因为第二索引库中已经重建了第二索引,自训练了多分类(如1024类)的IVFPQ模型,在较少的距离最近的几个分类上搜索,需要在扩大的范围上搜索,并取实际特征精确搜索后输出作为待检索特征的相似特征。
在本发明索引建立装置上述各实施例的一个具体示例中,还包括:
信息获取单元,用于基于待检索特征获得待检索特征对应的业务信息;业务信息包括获取待检索特征的时间信息和/或空间信息;
索引库单元,用于基于业务信息获得对应的至少一个第二索引库。
在本发明索引建立装置上述各实施例的一个具体示例中,特征检索单元,包括:
特征输入模块,用于将待检索特征输入对应的至少一个第二索引库中;
扩大检索模块,用于基于每个第二索引库分别得到对应待检索特征的第二预设数量的疑似特征;第二预设数量大于第一预设数量;
筛选模块,用于对得到的所有疑似特征进行筛选,得到对应待检索特征的第一预设数量的相似特征。
在本发明索引建立装置上述各实施例的一个具体示例中,扩大检索模块,具体用于将待检索特征与第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的第二索引;
基于得到的第二索引得到对应第二索引的特征;将得到的特征作为疑似特征。
在本发明索引建立装置上述各实施例的一个具体示例中,筛选模块,包括:
距离计算模块,用于计算所有疑似特征与待检索特征之间的距离;
特征获取模块,用于基于距离得到对应待检索特征的第一预设数量的相似特征。
在本发明索引建立装置上述各实施例的一个具体示例中,特征获取模块,具体用于按照距离从小到大或从大到小对疑似特征进行排序;
按序获得与待检索特征之间的距离小于设定值的第一预设数量的相似特征。
根据本发明实施例的一个方面,提供的一种电子设备,包括处理器,处理器包括本发明上述任一实施例的索引建立装置。
根据本发明实施例的一个方面,提供的一种电子设备,包括:存储器,用于存储可执行指令;
以及处理器,用于与存储器通信以执行可执行指令从而完成本发明索引建立方法上述任一实施例的操作。
根据本发明实施例的一个方面,提供的一种计算机存储介质,用于存储计算机可读取的指令,指令被执行时执行本发明索引建立方法上述任一实施例的操作。
根据本发明实施例的一个方面,提供的一种计算机程序,包括计算机可读代码,当计算机可读代码在设备上运行时,该设备中的处理器执行用于实现本发明索引建立方法任意一项实施例的指令。
本发明实施例还提供了一种电子设备,例如可以是移动终端、个人计算机(PC)、平板电脑、服务器等。下面参考图3,其示出了适于用来实现本申请实施例的终端设备或服务器的电子设备300的结构示意图:如图3所示,计算机系统300包括一个或多个处理器、通信部等,所述一个或多个处理器例如:一个或多个中央处理单元(CPU)301,和/或一个或多个图像处理器(GPU)313等,处理器可以根据存储在只读存储器(ROM)302中的可执行指令或者从存储部分308加载到随机访问存储器(RAM)303中的可执行指令而执行各种适当的动作和处理。通信部312可包括但不限于网卡,所述网卡可包括但不限于IB(Infiniband)网卡。
处理器可与只读存储器302和/或随机访问存储器330中通信以执行可执行指令,通过总线304与通信部312相连、并经通信部312与其他目标设备通信,从而完成本申请实施例提供的任一项方法对应的操作,例如,将特征库划分为至少一个特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库;基于第一索引库中对第二索引模型进行训练;利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库。
此外,在RAM 303中,还可存储有装置操作所需的各种程序和数据。CPU301、ROM302以及RAM303通过总线304彼此相连。在有RAM303的情况下,ROM302为可选模块。RAM303存储可执行指令,或在运行时向ROM302中写入可执行指令,可执行指令使处理器301执行上述通信方法对应的操作。输入/输出(I/O)接口305也连接至总线304。通信部312可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
需要说明的,如图3所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图3的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本申请实施例提供的方法步骤对应的指令,例如,将特征库划分为至少一个特征子库;利用第一索引模型,为特征子库中的各特征分别建立索引,得到特征子库对应的第一索引库;基于第一索引库中对第二索引模型进行训练;利用训练得到的第二索引模型,为第一索引库中的各特征分别重建索引,得到特征子库对应的第二索引库。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请的方法中限定的上述功能。
可能以许多方式来实现本发明的方法和装置、设备。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置、设备。用于方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。
Claims (31)
1.一种索引建立方法,其特征在于,包括:
将特征库划分为多个特征子库;所述特征库中包括多个特征,每个所述特征子库中包括一个以上特征;
利用第一索引模型,为所述特征子库中的各特征分别建立索引,得到所述特征子库对应的第一索引库;其中,所述第一索引模型包括经过训练的乘积量化模型;每个所述特征子库对应一个所述第一索引库;
基于倒排序索引结构结合乘积量化建立第二索引模型;
基于所述第一索引库对所述第二索引模型进行训练;
利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库。
2.根据权利要求1所述的方法,其特征在于,将特征库划分为至少一个特征子库,包括:
基于所述特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库;所述业务信息包括获取所述特征的时间信息和/或空间信息,每个所述特征子库包括设定数量的特征。
3.根据权利要求1所述的方法,其特征在于,所述利用第一索引模型,为所述特征子库中的各特征分别建立索引,包括:
利用第一索引模型对所述特征子库中的各特征分别执行分块降维操作,得到对应所述特征的代码作为所述特征的第一索引。
4.根据权利要求1所述的方法,其特征在于,基于所述第一索引库对所述第二索引模型进行训练,包括:
将所述第一索引库中的特征和/或对应所述特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
基于所述目标索引训练所述第二索引模型;
得到训练后的第二索引模型。
5.根据权利要求4所述的方法,其特征在于,基于所述目标索引训练所述第二索引模型,包括:
基于所述目标索引获得所述第一索引库的类中心点;
分别计算所述第一索引库中所有特征与所述类中心点之间的距离,得到对应所有所述特征的距离总和;
迭代执行,基于所述距离总和调整所述类中心点,分别计算所述第一索引库中所有特征与所述调整后的类中心点之间的距离,得到对应所有所述特征的距离总和,直到满足预设停止条件。
6.根据权利要求1所述的方法,其特征在于,所述基于倒排序索引结构结合乘积量化建立第二索引模型,包括:
利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个所述子类中包括至少一个特征;
利用乘积量化为每个所述子类建立对应的索引,得到第二索引模型。
7.根据权利要求6所述的方法,其特征在于,所述利用乘积量化为每个所述子类建立对应的索引,包括:
基于所述子类中的所有特征获得所述子类的中心特征;
计算所述子类中所有特征与所述中心特征的余量;
利用乘积量化,对所述子类中的所有余量执行分块降维操作,得到对应所述子类的代码作为所述子类的索引。
8.根据权利要求1-7任一所述的方法,其特征在于,所述利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库,包括:
将所述第一索引库中的所有特征输入所述训练得到的第二索引模型,输出对应所有所述特征的至少一个第二索引;每个所述第二索引对应至少一个所述特征;
基于所述第二索引和所述第二索引对应的特征得到第二索引库。
9.根据权利要求1-7任一所述的方法,其特征在于,还包括:
接收待检索特征;
将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征。
10.根据权利要求9所述的方法,其特征在于,所述接收待检索特征之后,还包括:
基于所述待检索特征获得所述待检索特征对应的业务信息;所述业务信息包括获取所述待检索特征的时间信息和/或空间信息;
基于所述业务信息获得对应的至少一个所述第二索引库。
11.根据权利要求10所述的方法,其特征在于,将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征,包括:
将所述待检索特征输入所述对应的至少一个所述第二索引库中;
基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征;所述第二预设数量大于所述第一预设数量;
对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征。
12.根据权利要求11所述的方法,其特征在于,基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征,包括:
将所述待检索特征与所述第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的所述第二索引;
基于所述得到的第二索引得到对应所述第二索引的特征;将所述得到的特征作为疑似特征。
13.根据权利要求11所述的方法,其特征在于,所述对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征,包括:
计算所有所述疑似特征与所述待检索特征之间的距离;
基于所述距离得到对应所述待检索特征的第一预设数量的相似特征。
14.根据权利要求13所述的方法,其特征在于,基于所述距离得到对应所述待检索特征的第一预设数量的相似特征,包括:
按照所述距离从小到大或从大到小对所述疑似特征进行排序;
按序获得与所述待检索特征之间的距离小于设定值的第一预设数量的相似特征。
15.一种索引建立装置,其特征在于,包括:
库划分单元,用于将特征库划分为多个特征子库;所述特征库中包括多个特征,每个所述特征子库中包括一个以上特征;
第一索引单元,用于利用第一索引模型,为所述特征子库中的各特征分别建立索引,得到所述特征子库对应的第一索引库;其中,所述第一索引模型包括经过训练的乘积量化模型;每个所述特征子库对应一个所述第一索引库;
模型建立单元,用于基于倒排序索引结构结合乘积量化建立第二索引模型;
训练单元,用于基于所述第一索引库对所述第二索引模型进行训练;
第二索引单元,用于利用训练得到的所述第二索引模型,为所述第一索引库中的各特征分别重建索引,得到所述特征子库对应的第二索引库。
16.根据权利要求15所述的装置,其特征在于,所述库划分单元,具体用于基于所述特征对应的业务信息,对特征库中的特征进行分组,得到至少一个特征子库;所述业务信息包括获取所述特征的时间信息和/或空间信息,每个所述特征子库包括设定数量的特征。
17.根据权利要求15所述的装置,其特征在于,所述第一索引单元,具体用于利用第一索引模型对所述特征子库中的各特征分别执行分块降维操作,得到对应所述特征的代码作为所述特征的第一索引。
18.根据权利要求15所述的装置,其特征在于,所述训练单元,包括:
目标索引模块,用于将所述第一索引库中的特征和/或对应所述特征的第一索引输入第二索引模型,得到对应每个特征的目标索引;
模型训练模块,用于基于所述目标索引训练所述第二索引模型,得到训练后的第二索引模型。
19.根据权利要求18所述的装置,其特征在于,所述模型训练模块,具体用于基于所述目标索引获得所述第一索引库的类中心点;
分别计算所述第一索引库中所有特征与所述类中心点之间的距离,得到对应所有所述特征的距离总和;
迭代执行,基于所述距离总和调整所述类中心点,分别计算所述第一索引库中所有特征与所述调整后的类中心点之间的距离,得到对应所有所述特征的距离总和,直到满足预设停止条件。
20.根据权利要求15所述的装置,其特征在于,所述模型建立单元,包括:
聚类模块,用于利用聚类算法将第一索引库中的特征聚类,得到至少一个子类;每个所述子类中包括至少一个特征;
量化模块,用于利用乘积量化为每个所述子类建立对应的索引,得到第二索引模型。
21.根据权利要求20所述的装置,其特征在于,所述量化模块,具体用于基于所述子类中的所有特征获得所述子类的中心特征;
计算所述子类中所有特征与所述中心特征的余量;
利用乘积量化,对所述子类中的所有余量执行分块降维操作,得到对应所述子类的代码作为所述子类的索引。
22.根据权利要求15-21任一所述的装置,其特征在于,所述第二索引单元,具体用于将所述第一索引库中的所有特征输入所述训练得到的第二索引模型,输出对应所有所述特征的至少一个第二索引;每个所述第二索引对应至少一个所述特征;
基于所述第二索引和所述第二索引对应的特征得到第二索引库。
23.根据权利要求15-21任一所述的装置,其特征在于,还包括:
特征接收单元,用于接收待检索特征;
特征检索单元,用于将所述待检索特征输入所述第二索引库,得到对应所述待检索特征的第一预设数量的相似特征。
24.根据权利要求23所述的装置,其特征在于,还包括:
信息获取单元,用于基于所述待检索特征获得所述待检索特征对应的业务信息;所述业务信息包括获取所述待检索特征的时间信息和/或空间信息;
索引库单元,用于基于所述业务信息获得对应的至少一个所述第二索引库。
25.根据权利要求24所述的装置,其特征在于,所述特征检索单元,包括:
特征输入模块,用于将所述待检索特征输入所述对应的至少一个所述第二索引库中;
扩大检索模块,用于基于每个所述第二索引库分别得到对应所述待检索特征的第二预设数量的疑似特征;所述第二预设数量大于所述第一预设数量;
筛选模块,用于对得到的所有所述疑似特征进行筛选,得到对应所述待检索特征的第一预设数量的相似特征。
26.根据权利要求25所述的装置,其特征在于,所述扩大检索模块,具体用于将所述待检索特征与所述第二索引库中的所有第二索引进行距离计算,得到至少一个距离小于预设值的所述第二索引;
基于所述得到的第二索引得到对应所述第二索引的特征;将所述得到的特征作为疑似特征。
27.根据权利要求25所述的装置,其特征在于,所述筛选模块,包括:
距离计算模块,用于计算所有所述疑似特征与所述待检索特征之间的距离;
特征获取模块,用于基于所述距离得到对应所述待检索特征的第一预设数量的相似特征。
28.根据权利要求27所述的装置,其特征在于,所述特征获取模块,具体用于按照所述距离从小到大或从大到小对所述疑似特征进行排序;
按序获得与所述待检索特征之间的距离小于设定值的第一预设数量的相似特征。
29.一种电子设备,其特征在于,包括处理器,所述处理器包括权利要求15至28任意一项所述的索引建立装置。
30.一种电子设备,其特征在于,包括:存储器,用于存储可执行指令;
以及处理器,用于与所述存储器通信以执行所述可执行指令从而完成权利要求1至14任意一项所述索引建立方法的操作。
31.一种计算机存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1至14任意一项所述索引建立方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711417549.0A CN108229358B (zh) | 2017-12-22 | 2017-12-22 | 索引建立方法和装置、电子设备、计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711417549.0A CN108229358B (zh) | 2017-12-22 | 2017-12-22 | 索引建立方法和装置、电子设备、计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108229358A CN108229358A (zh) | 2018-06-29 |
CN108229358B true CN108229358B (zh) | 2020-09-04 |
Family
ID=62647815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711417549.0A Active CN108229358B (zh) | 2017-12-22 | 2017-12-22 | 索引建立方法和装置、电子设备、计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108229358B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165307B (zh) * | 2018-09-19 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种特征检索方法、装置和存储介质 |
CN109145139B (zh) * | 2018-09-25 | 2021-07-27 | 北京市商汤科技开发有限公司 | 一种图像检索方法及装置、设备和存储介质 |
CN109783692B (zh) * | 2019-01-08 | 2021-12-31 | 深圳英飞拓科技股份有限公司 | 一种快数据和慢数据结合的目标特征码比对方法和装置 |
CN113761239A (zh) * | 2021-09-08 | 2021-12-07 | 武汉工程大学 | 基于海量地理位置信息的索引库建立及检索方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1870814B1 (en) * | 2006-06-19 | 2014-08-13 | Texas Instruments France | Method and apparatus for secure demand paging for processor devices |
CN106557521B (zh) * | 2015-09-29 | 2020-07-14 | 佳能株式会社 | 对象索引方法、对象搜索方法及对象索引系统 |
EP3371712A1 (en) * | 2015-11-06 | 2018-09-12 | Thomson Licensing | Method and apparatus for generating codebooks for efficient search |
CN105468758B (zh) * | 2015-11-30 | 2019-08-09 | 北京金山安全软件有限公司 | 数据检索方法及装置 |
CN106599040A (zh) * | 2016-11-07 | 2017-04-26 | 中国科学院软件研究所 | 一种面向云存储的分层索引方法与检索方法 |
CN106951551B (zh) * | 2017-03-28 | 2020-03-31 | 西安理工大学 | 联合gist特征的多重索引图像检索方法 |
-
2017
- 2017-12-22 CN CN201711417549.0A patent/CN108229358B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108229358A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Quantization based fast inner product search | |
Rolet et al. | Fast dictionary learning with a smoothed Wasserstein loss | |
WO2021169111A1 (zh) | 简历筛选方法、装置、计算机设备和存储介质 | |
US11074434B2 (en) | Detection of near-duplicate images in profiles for detection of fake-profile accounts | |
Norouzi et al. | Fast exact search in hamming space with multi-index hashing | |
CN108229358B (zh) | 索引建立方法和装置、电子设备、计算机存储介质 | |
CN112528025A (zh) | 基于密度的文本聚类方法、装置、设备及存储介质 | |
US8515956B2 (en) | Method and system for clustering datasets | |
CN110825894A (zh) | 数据索引建立、数据检索方法、装置、设备和存储介质 | |
US20210182602A1 (en) | Flexible imputation of missing data | |
CN106033426A (zh) | 一种基于潜在语义最小哈希的图像检索方法 | |
CN109871891B (zh) | 一种物体识别方法、装置和存储介质 | |
CN114238329A (zh) | 向量相似度计算方法、装置、设备及存储介质 | |
CN113656373A (zh) | 构建检索数据库的方法、装置、设备以及存储介质 | |
CN113254687B (zh) | 图像检索、图像量化模型训练方法、装置和存储介质 | |
Coviello et al. | Growing a bag of systems tree for fast and accurate classification | |
CN110209895B (zh) | 向量检索方法、装置和设备 | |
JP2018055618A (ja) | 確率モデルに基づく階層的なコードブックを用いて量子化するプログラム、装置及び方法 | |
CN116578700A (zh) | 日志分类方法、日志分类装置、设备及介质 | |
US20200183964A1 (en) | Multiscale Quantization for Fast Similarity Search | |
JP2017215784A (ja) | 物体検出装置、方法、及びプログラム | |
CN112149566A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN112579774A (zh) | 模型训练方法、模型训练装置及终端设备 | |
US20230222290A1 (en) | Active Learning for Matching Heterogeneous Entity Representations with Language Models | |
Wang et al. | Similarity search for image retrieval via local-constrained linear coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |