CN117076726B - 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备 - Google Patents

基于光线追踪相交的近似近邻搜索方法、系统、介质及设备 Download PDF

Info

Publication number
CN117076726B
CN117076726B CN202311190856.5A CN202311190856A CN117076726B CN 117076726 B CN117076726 B CN 117076726B CN 202311190856 A CN202311190856 A CN 202311190856A CN 117076726 B CN117076726 B CN 117076726B
Authority
CN
China
Prior art keywords
distance
subspace
intersection
ray
sphere
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
Application number
CN202311190856.5A
Other languages
English (en)
Other versions
CN117076726A (zh
Inventor
冷静文
刘子汉
卢淑文
于昌明
李超
过敏意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Zhizhi Research Institute
Shanghai Jiaotong University
Original Assignee
Shanghai Zhizhi Research Institute
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Zhizhi Research Institute, Shanghai Jiaotong University filed Critical Shanghai Zhizhi Research Institute
Priority to CN202311190856.5A priority Critical patent/CN117076726B/zh
Publication of CN117076726A publication Critical patent/CN117076726A/zh
Application granted granted Critical
Publication of CN117076726B publication Critical patent/CN117076726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种基于光线追踪相交的近似近邻搜索方法、系统、介质及设备,所述方法包括过滤搜索点以获取编码本条目与子空间级反向索引;基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表;基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。本申请通过使用光线追踪相交测试取代子空间距离查询表构建中的距离计算操作,将不同表项子空间中的相交值作为距离进行选择性距离计算,进而提高基于IVFPQ的ANNS的搜索效率。

Description

基于光线追踪相交的近似近邻搜索方法、系统、介质及设备
技术领域
本申请涉及近似近邻搜索领域,特别是涉及一种基于光线追踪相交的近似近邻搜索方法、系统、介质及设备。
背景技术
目前,包括生成式模型在内的各种智能应用广泛使用嵌入向量(embeddingvector)表示现实生活中的各种概念。其定义是基于原始数据通过某些变换或训练而成的嵌入在高维空间中的向量。因此,近邻搜索(Nearest Neighbor Search,NNS)是对嵌入向量进行的最重要的操作之一,基于近邻搜索可以对图像、语音、文字等在某种相似的概念上进行搜索,如搜索画风相近的图片、内容相近的语音信息等。嵌入向量往往都存在于高维空间中,其维度往往在102~103数量级。随着维度的升高,在大量的嵌入向量上进行穷尽的、精确的近邻搜索成本快速升高。而在实际工业生产场景中,往往允许对搜索质量进行一定程度的妥协,因此,近似近邻搜索(Approximate Nearest Neighbor Search,ANNS)的应用日益广泛。ANNS以牺牲一定搜索质量为代价换取更高的搜索吞吐、更快的搜索响应。
目前,基于反向索引的乘积量化(inverted file index product quantization,IVFPQ)在ANNS中被广泛应用。但是,对于IVFPQ而言,其过程引入了大量不必要的距离计算和子空间距离查询表的查询操作,增加计算资源,这都会影响搜索响应速度。
发明内容
本申请的目的在于提供一种基于光线追踪相交的近似近邻搜索方法、系统、介质及设备,用于解决如何提高基于IVFPQ的ANNS的搜索效率的技术问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于光线追踪相交的近似近邻搜索方法,包括:过滤搜索点以获取编码本条目与子空间级反向索引;基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表;基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
于所述第一方面的一实施例中,过滤搜索点以获取编码本条目包括:基于原始空间进行第一次聚类以获取参考搜索点;基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。
于所述第一方面的一实施例中,基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表包括:在所述参考搜索点处放置球体;基于所述查询点投影投射的射线与所述球体的相交情况筛选必要编码本条目;计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
于所述第一方面的一实施例中,所述查询点投影处投射射线与所述球体相交以筛选必要编码本条目包括:基于所述参考搜索点密度确定距离阈值;基于所述距离阈值计算所述射线与所述球体的最大相交时间;基于所述最大相交时间筛选所述必要编码本条目。
于所述第一方面的一实施例中,计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表包括:在所述球体内放置子球体;根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
于所述第一方面的一实施例中,根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离包括:当所述射线与所述球体、所述子球体均相交时,增加相交数;当所述射线与所述球体、所述子球体均不相交时,减少相交数;将相交数作为所述必要编码本条目与所述查询点投影的距离。
于所述第一方面的一实施例中,基于所述子空间距离查询表和所述子空间级反向索引计算距离以获取近似近邻搜索结果包括:基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点;基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离;基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
本申请的第二方面提供一种基于光线追踪相交的近似近邻搜索系统,包括:编码模块,用于过滤搜索点以获取编码本条目与子空间级反向索引;构建模块,用于基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表;计算模块,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请第一方面所述的基于光线追踪相交的近似近邻搜索方法。
本申请的第四方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本申请第一方面所述的基于光线追踪相交的近似近邻搜索方法。
如上所述,本申请实施例提供的基于光线追踪相交的近似近邻搜索方法、系统、介质及设备,具有以下有益效果:本申请通过光线追踪单元筛选必要编码本条目,使用光线追踪相交测试取代子空间距离查询表构建中的距离计算操作,将不同表项子空间中的相交值作为距离进行选择性距离计算,从而以很小的搜索质量下降为代价大大加速搜索速度,进而提高基于IVFPQ的ANNS的搜索效率。
附图说明
图1显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图2显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图3显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图4显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图5显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图6显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图7显示为本申请实施例中DEEP1M数据集的编码本条目使用情况的示意图。
图8显示为本申请实施例中IVFPQ流程中三个步骤的花费时间的对比示意图。
图9显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图10显示为本申请实施例中基于光线追踪相交的近似近邻搜索方法的流程示意图。
图11显示为本申请实施例中IVFPQ流程中三个步骤的花费时间的对比示意图。
图12显示为本申请实施例中编码本条目与查询点投影的相交总数与两者之间距离的负相关关系示意图。
图13显示为本申请实施例中基于光线追踪相交的近似近邻搜索系统的结构示意图。
图14显示为本申请实施例中电子设备的结构示意图。
元件标号说明
20 编码模块
30 构建模块
40 计算模块
90 电子设备
901 存储器
902 处理器
903 显示器
S1~S3 步骤
S11~S12 步骤
S111~S112 步骤
S21~S23 步骤
S221~S223 步骤
S2211~S2212 步骤
S231~S232 步骤
S31~S33 步骤
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,遂图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本申请提供一种基于光线追踪相交的近似近邻搜索方法、系统、介质及设备,通过光线追踪单元筛选必要编码本条目,使用光线追踪相交测试取代子空间距离查询表构建中的距离计算操作,将不同表项子空间中的相交值作为距离进行选择性距离计算,进而提高基于IVFPQ的ANNS的搜索效率。
接下来将通过具体实施例结合附图的方式对本申请提供的基于光线追踪相交的近似近邻搜索方法、系统、介质及设备进行描述。
如图1所示,于一实施例中,本申请的基于光线追踪相交的近似近邻搜索方法包括步骤S1~S3:
S1:过滤搜索点以获取编码本条目与子空间级反向索引。
具体的,如图2所示,步骤S1包括步骤S11~S12:
S11:过滤搜索点以获取编码本条目。
具体的,如图3所示,步骤S11包括步骤S111~S112:
S111:基于原始空间进行第一次聚类以获取参考搜索点。
具体的,在原始空间中将搜索向量组织为多个聚类(Inverted file index,IVF),在搜索时通过选择与查询向量最接近的若干个聚类来快速过滤成为最近邻居可能性较低的搜索点。
S112:基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。
具体的,将原始空间划分为多个子空间,在子空间上对过滤后的搜索点投影进行第二次聚类,获取到的子空间上的聚类中心则被组织为一张编码本(Productquantization,PQ),其与每一子空间对应。步骤S112并使用这些聚类中心编码原始搜索点的投影以获取编码本条目。
例如,若原始搜索点向量为128维的float数据格式,步骤S112将原始空间划分为8个16维的子空间,每个子空间上划分为256个聚类,则每个搜索点向量的存储开销从128×sizeof(float)×8位降低为8×log2(256)位。
具体的,步骤S112在每个子空间上将获取的编码本条目以若干包围盒依欧几里得距离(L2 Distance)分成不同的区域,并将这些包围盒组织成层次化的树状结构。一个包围盒包含若干编码本条目或若干小包围盒,树的根节点代表的包围盒包含所有编码本条目。
S12:获取所述子空间级反向索引。
具体的,在每个子空间构建键(Key)为编码本条目,值(Value)为在该子空间上被该键编码的参考搜索点的列表,并将这些键值对组织为子空间级的反向索引。
S2:基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表。
具体的,采取了光线追踪单元(RT Core)来筛选必要编码本条目以工件子空间距离查询表。
具体的,如图4所示,步骤S2包括步骤S21~S23:
S21:在所述参考搜索点处放置球体。
S22:基于所述查询点投影投射的射线与所述球体的相交情况筛选必要编码本条目。
具体的,如图5所示,步骤S22包括步骤S221~S223。
S221:基于所述参考搜索点密度确定距离阈值。
具体的,基于过滤后的搜索点投影(即参考搜索点)在每个子空间上所在区域的密度动态调整距离阈值,以选择合理的距离来过滤非必要的编码本条目。
具体的,如图6所示,步骤S21包括步骤S2211~S2212:
S2211:选定若干所述过滤后的搜索点以训练多项式回归模型。
具体的,将划分的每个子空间再划分为100x100的网格,以每个网格中搜索点投影的个数作为该网格的密度。之后,随机选取若干搜索点投影,并计算选取的若干搜索点为了包含它们真正的100个最近邻居所需要的距离阈值,进而以这些搜索点投影所在的密度和计算所得的距离阈值训练一个多项式回归模型。
S2212:获取查询点以基于所述查询点所在子空间的所述参考搜索点密度和所述多项式回归模型动态确认所述距离阈值。
具体的,选定一查询点,将查询点投影向量分为相同数目相同维度的子空间,获取该查询点在每个子空间上的投影所在区域的参考搜索点密度。并基于该密度和所述多项式回归模型动态确认所述距离阈值。
S222:基于所述距离阈值计算所述射线与所述球体的最大相交时间。
具体的,根据距离阈值计算所述射线需要行进的最大持续时间(最大相交时间),即tmax。由于根据步骤S221确定的距离阈值基本包括了离查询点投影100个最近邻居,因此,根据距离阈值确定的最大相交时间,能够直接通过查询点投影投射的射线来筛选必要编码本条目。
S223:基于所述最大相交时间筛选所述必要编码本条目。
具体的,即在射线最大持续行进时间范围内的编码本条目即为筛选出的必要编码本条目。
具体的,将N个参考搜索点组织成位于xOy平面上的N个圆,每个圆具有一个边界半径r(距离阈值)。之后,获取一查询点,将查询点投影向量分为相同数目相同维度的子空间,在每一子空间从查询点投影处向Z轴投射射线(射线的最大行进时间根据步骤S221~S222确定),被射线交叉的任何球体表示查询点(以射线表示)与搜索点(由圆表示)之间的距离小于距离阈值,即为必要编码本条目。
在一实施例中,给定一查询点及其100个最近邻居,编码本条目的稀疏性如图7所示。深色代表被此条目编码的最近邻居多,白色代表该条目未被任何100个最近邻居使用,可见其被着色的点分布稀疏。因此,筛选必要编码本条目能够减少后续不必要的距离计算和子空间距离查询表的查询操作。
S23:计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
具体的,如图8所示,步骤S23包括步骤S231~S232。
S231:在所述球体内放置子球体。
具体的,为了进一步节省计算资源,步骤S231在S21的基础上,在每个参考搜索点的球体内放置另一子球体。
S232:根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
具体的,在查询点投影处放置光线追踪单元,根据光线追踪单元的输出射线与球体、子球体的相交情况进行距离计算。
具体的,如图9所示,包括:
1)当所述射线与所述球体、所述子球体均相交时(相交2次),相交数增加1。
2)当所述射线与所述球体、所述子球体均不相交时(相交0次),相交数减少1。
3)当所述射线仅与所述球体、所述子球体之一相交时(相交1次),相交数不变。
最终,将必要编码本条目与查询点投射的射线的相交数作为必要编码本条目与查询点投影在该子空间的距离,以此构建子空间距离查询表。
可以看出,步骤S232简化了光线追踪单元中所需要的相交时间计算(距离计算),将其替换为简单的相交测试,通过相交数的计算直接获取了查询点与必要编码本条目之间的距离,以此构建子空间距离查询表,成功通过以很小的搜索质量下降为代价大大加速了搜索响应速度。
S3:基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
具体的,如图10所示,步骤S3包括步骤S31~S33:
S31:基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点。
具体的,步骤S12获取了子空间级反向索引,其将编码本条目与搜索点组织为键值对。因此,步骤S31在步骤S22筛选必要编码本条目的基础上,即可获取与其对应的必要搜索点。
S32:基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离。
具体的,根据步骤S23计算获取的子空间距离查询表,查询必要搜索点与查询点投影的距离,并进行累加以获取近似距离。
具体的,直接通过累加每个必要编码本条目与查询点投影在各个子空间的相交总数,并将其作为近似距离,进行排序。
S33:基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
具体的,按照近似距离排序并根据用户提供所需的邻居数目返回距离最小的若干邻居,最终获取到近似近邻搜索结果。
以下将基于DEEP1M数据集的实施例附图进一步说明本申请的优化原理及效果。
如图11所示,在现有的IVFPQ流程中,给定一个查询点后,过滤(Filtering)所花费的时间可以忽略不计,而子空间距离查询表构建(L2-LUT construction)与距离计算(Distance calculation)分别花费的时间则占据了大量的运行时间。
如图12所示,编码本条目在各个子空间与查询点投影的相交总数与其与查询向量间的距离有显著的负相关关系。因此,本申请充分利用这种关系,提出了基于奖惩机制的相交计数算法,使上述负相关关系更加明显,简化了距离计算。虽然,直接将相交数作为距离进行排序会产生一些假阳性和假阴性错误,但本申请能够以很小的搜索质量下降为代价大大加速了搜索响应速度,从而可以给用户提供一个可调节的参数来权衡吞吐量优化和搜索质量下降。
本申请实施例所述的基于光线追踪相交的近似近邻搜索方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本申请的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本申请的保护范围内。
本申请实施例还提供一种基于光线追踪相交的近似近邻搜索系统,所述基于光线追踪相交的近似近邻搜索系统可以实现本申请所述的基于光线追踪相交的近似近邻搜索方法,但本申请所述的基于光线追踪相交的近似近邻搜索方法的实现装置包括但不限于本实施例列举的基于光线追踪相交的近似近邻搜索系统的结构,凡是根据本申请的原理所做的现有技术的结构变形和替换,都包括在本申请的保护范围内。
如图13所示,本申请还提供了一种基于光线追踪相交的近似近邻搜索系统,包括编码模块20和构建模块30和计算模块40。
其中,编码模块20,用于过滤搜索点以获取编码本条目与子空间级反向索引。
其中,构建模块30,用于基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表。
其中,计算模块40,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果。
具体的,在一实施例中,编码模块20基于原始空间进行第一次聚类以获取参考搜索点,并基于所述原始空间和所述参考搜索点进行第二次聚类以获取编码本条目。编码模块20在每个子空间上将获取的编码本条目以若干包围盒依欧几里得距离分成不同的区域,并将这些包围盒组织成层次化的树状结构。一个包围盒包含若干编码本条目或若干小包围盒,树的根节点代表的包围盒包含所有编码本条目。此外,编码模块在在每个子空间构建键(Key)为编码本条目,值(Value)为在该子空间上被该键编码的参考搜索点的列表,将这些键值对组织为子空间级的反向索引。之后,构建模块30将动态确定距离阈值,并以此计算最大相交时间,根据查询点投射的射线与编码本条目的相交情况筛选必要编码本条目,并直接将相交数作为距离计算,组织成选择性的子空间距离查询表。最后,计算模块40根据子空间级的反向索引,获取与必要编码本条目对应的必要搜索点。在进行距离查询操作时,仅累加必要搜索点与查询点投影的距离,从而省去大量的子空间距离查询表查询操作。计算模块40再将累加的距离排序并依照用户提供所需的邻居数目返回距离最小的若干邻居。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置或方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块/单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或单元可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块/单元可以是或者也可以不是物理上分开的,作为模块/单元显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块/单元来实现本申请实施例的目的。例如,在本申请各个实施例中的各功能模块/单元可以集成在一个处理模块中,也可以是各个模块/单元单独物理存在,也可以两个或两个以上模块/单元集成在一个模块/单元中。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
如图14所示,本申请还提供一种电子设备,包括存储器901和处理器902。
存储器901用于存储计算机程序;优选地,存储器901包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
具体地,存储器901可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。电子设备90可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器901可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
处理器902与存储器901相连,用于执行存储器901存储的计算机程序,以使电子设备90执行本申请实施例中提供的基于光线追踪相交的近似近邻搜索方法。
优选地,处理器902可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
优选地,本实施例中电子设备90还可以包括显示器903。显示器903与存储器901和处理器902通信相连,用于显示基于光线追踪相交的近似近邻搜索方法的相关GUI交互界面。
本申请实施例还提供了一种计算机可读存储介质。本领域普通技术人员可以理解实现上述实施例的方法中的全部或部分步骤是可以通过程序来指令处理器完成,所述的程序可以存储于计算机可读存储介质中,所述存储介质是非短暂性(non-transitory)介质,例如随机存取存储器,只读存储器,快闪存储器,硬盘,固态硬盘,磁带(magnetic tape),软盘(floppy disk),光盘(optical disc)及其任意组合。上述存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例还可以提供一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。
所述计算机程序产品被计算机执行时,所述计算机执行前述方法实施例所述的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述方法的情况下,可以下载该计算机程序产品并在计算机上执行该计算机程序产品。
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (6)

1.一种基于光线追踪相交的近似近邻搜索方法,其特征在于,包括:
过滤搜索点以获取编码本条目与子空间级反向索引;
基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表;
基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果;
其中,所述过滤搜索点以获取编码本条目与子空间级反向索引包括:
基于原始空间进行第一次聚类以获取参考搜索点;
将所述原始空间划分为多个子空间,以在多个所述子空间上对所述参考搜索点进行第二次聚类,并将多个所述子空间的第二次聚类中心组织为编码本,以编码所述参考搜索点以获取编码本条目;以及
将所述参考搜索点作为值;
将所述编码本条目作为键;
将键值对构建为所述子空间级反向索引;
其中,基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表包括:
在所述参考搜索点处放置球体;
基于所述查询点投影投射的射线与所述球体的相交情况筛选必要编码本条目;
计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表;其中,基于所述查询点投影处投射射线与所述球体相交以筛选必要编码本条目包括:
基于所述参考搜索点密度确定距离阈值;
基于所述距离阈值计算所述射线与所述球体的最大相交时间;
基于所述最大相交时间筛选所述必要编码本条目;
其中,计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表包括:
在所述球体内放置子球体;
根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
2.根据权利要求1所述的基于光线追踪相交的近似近邻搜索方法,其特征在于,根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离包括:
当所述射线与所述球体、所述子球体均相交时,增加相交数;
当所述射线与所述球体、所述子球体均不相交时,减少相交数;
将相交数作为所述必要编码本条目与所述查询点投影的距离。
3.根据权利要求2所述的基于光线追踪相交的近似近邻搜索方法,其特征在于,基于所述子空间距离查询表和所述子空间级反向索引计算距离以获取近似近邻搜索结果包括:
基于所述子空间级反向索引获取所述必要编码本条目对应的必要搜索点;
基于所述子空间距离查询表查询所述必要搜索点与所述查询点投影的距离以累加获取近似距离;
基于所述近似距离对所述必要搜索点排序以获取所述近似近邻搜索结果。
4.一种基于光线追踪相交的近似近邻搜索系统,其特征在于,包括:
编码模块,用于过滤搜索点以获取编码本条目与子空间级反向索引;
构建模块,用于基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表;
计算模块,用于基于所述子空间距离查询表与所述子空间级反向索引查询距离以获取近似近邻搜索结果;
其中,所述过滤搜索点以获取编码本条目与子空间级反向索引包括:
基于原始空间进行第一次聚类以获取参考搜索点;
将所述原始空间划分为多个子空间,以在多个所述子空间上对所述参考搜索点进行第二次聚类,并将多个所述子空间的第二次聚类中心组织为编码本,以编码所述参考搜索点以获取编码本条目;以及
将所述参考搜索点作为值;
将所述编码本条目作为键;
将键值对构建为所述子空间级反向索引;
其中,基于光线追踪相交情况筛选所述编码本条目以构建子空间距离查询表包括:
在所述参考搜索点处放置球体;
基于所述查询点投影投射的射线与所述球体的相交情况筛选必要编码本条目;
计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表;
其中,基于所述查询点投影处投射射线与所述球体相交以筛选必要编码本条目包括:
基于所述参考搜索点密度确定距离阈值;
基于所述距离阈值计算所述射线与所述球体的最大相交时间;
基于所述最大相交时间筛选所述必要编码本条目;
其中,计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表包括:
在所述球体内放置子球体;
根据所述射线与所述球体、所述子球体的相交情况计算所述必要编码本条目与所述查询点投影的距离以构建所述子空间距离查询表。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时实现权利要求1至3中任一项所述的基于光线追踪相交的近似近邻搜索方法。
6.一种电子设备,其特征在于,所述设备包括:
存储器,存储有一计算机程序;
处理器,与所述存储器通信相连,调用所述计算机程序时执行权利要求1至3中任一项所述的基于光线追踪相交的近似近邻搜索方法。
CN202311190856.5A 2023-09-14 2023-09-14 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备 Active CN117076726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311190856.5A CN117076726B (zh) 2023-09-14 2023-09-14 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311190856.5A CN117076726B (zh) 2023-09-14 2023-09-14 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备

Publications (2)

Publication Number Publication Date
CN117076726A CN117076726A (zh) 2023-11-17
CN117076726B true CN117076726B (zh) 2024-06-07

Family

ID=88715346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311190856.5A Active CN117076726B (zh) 2023-09-14 2023-09-14 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备

Country Status (1)

Country Link
CN (1) CN117076726B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778196A (zh) * 2014-01-07 2014-05-07 浙江大学 一种基于双色反最近邻查询的最优选址方法
CN107145526A (zh) * 2017-04-14 2017-09-08 浙江大学 一种路网下地理社交关键字反最近邻查询处理方法
EP3293696A1 (en) * 2016-09-07 2018-03-14 Facebook, Inc. Similarity search using polysemous codes
CN110147377A (zh) * 2019-05-29 2019-08-20 大连大学 大规模空间数据环境下基于二级索引的通用查询算法
CN110941754A (zh) * 2018-09-21 2020-03-31 微软技术许可有限责任公司 基于增强学习生成向量最近邻搜索策略
CN113806466A (zh) * 2020-12-28 2021-12-17 京东城市(北京)数字科技有限公司 路径时间查询方法、装置、电子设备和可读存储介质
WO2023019933A1 (zh) * 2021-08-16 2023-02-23 百度在线网络技术(北京)有限公司 构建检索数据库的方法、装置、设备以及存储介质
CN117033718A (zh) * 2023-09-14 2023-11-10 上海交通大学 基于光线追踪的近似近邻搜索方法、系统、介质及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077570A1 (en) * 2004-10-25 2008-03-27 Infovell, Inc. Full Text Query and Search Systems and Method of Use
US20090083214A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Keyword search over heavy-tailed data and multi-keyword queries
US9442929B2 (en) * 2013-02-12 2016-09-13 Microsoft Technology Licensing, Llc Determining documents that match a query
US9740963B2 (en) * 2014-08-05 2017-08-22 Sri International Multi-dimensional realization of visual content of an image collection
US11593412B2 (en) * 2019-07-22 2023-02-28 International Business Machines Corporation Providing approximate top-k nearest neighbours using an inverted list

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778196A (zh) * 2014-01-07 2014-05-07 浙江大学 一种基于双色反最近邻查询的最优选址方法
EP3293696A1 (en) * 2016-09-07 2018-03-14 Facebook, Inc. Similarity search using polysemous codes
CN107145526A (zh) * 2017-04-14 2017-09-08 浙江大学 一种路网下地理社交关键字反最近邻查询处理方法
CN110941754A (zh) * 2018-09-21 2020-03-31 微软技术许可有限责任公司 基于增强学习生成向量最近邻搜索策略
CN110147377A (zh) * 2019-05-29 2019-08-20 大连大学 大规模空间数据环境下基于二级索引的通用查询算法
CN113806466A (zh) * 2020-12-28 2021-12-17 京东城市(北京)数字科技有限公司 路径时间查询方法、装置、电子设备和可读存储介质
WO2023019933A1 (zh) * 2021-08-16 2023-02-23 百度在线网络技术(北京)有限公司 构建检索数据库的方法、装置、设备以及存储介质
CN117033718A (zh) * 2023-09-14 2023-11-10 上海交通大学 基于光线追踪的近似近邻搜索方法、系统、介质及设备

Also Published As

Publication number Publication date
CN117076726A (zh) 2023-11-17

Similar Documents

Publication Publication Date Title
CN113918753B (zh) 基于人工智能的图像检索方法及相关设备
CN117033718B (zh) 基于光线追踪的近似近邻搜索方法、系统、介质及设备
CN115129949A (zh) 向量范围检索的方法、装置、设备、介质及程序产品
KR101646926B1 (ko) 멀티 모달리티 데이터 복원을 위한 심층 개념망 구축 방법 및 그 시스템
CN117076726B (zh) 基于光线追踪相交的近似近邻搜索方法、系统、介质及设备
CN117194737B (zh) 基于距离阈值的近似近邻搜索方法、系统、介质及设备
CN115984671B (zh) 模型在线更新方法、装置、电子设备及可读存储介质
CN116932935A (zh) 地址匹配方法、装置、设备、介质和程序产品
CN116883740A (zh) 相似图片识别方法、装置、电子设备和存储介质
CN111417132B (zh) 小区的划分方法、装置及设备
CN116561173A (zh) 用关系图注意力神经网络选择查询执行计划的方法及系统
CN115204318B (zh) 事件自动层级分类方法及电子设备
WO2023078009A1 (zh) 一种模型权重获取方法以及相关系统
Zwick et al. Set-theoretic reconstructability of elementary cellular automata
CN110765393A (zh) 基于向量化和逻辑回归识别有害url的方法及装置
EP4307663A1 (en) Decoding method/encoding method based on point cloud attribute prediction, decoder, and encoder
CN111242195B (zh) 模型、保险风控模型训练方法、装置及电子设备
CN113326688A (zh) 一种基于思想政治词语查重处理方法和装置
CN112540960A (zh) 一种数据存储管理方法及系统
CN115687617B (zh) 一种数据处理方法和数据处理装置
CN116010602B (zh) 一种基于大数据的数据调优方法及系统
CN117391150B (zh) 一种基于分层池化图哈希的图数据检索模型训练方法
CN112800227B (zh) 文本分类模型的训练方法及其设备、存储介质
CN116071599A (zh) 一种山区点云分类方法、装置、存储介质及设备
CN114826921B (zh) 基于抽样子图的网络资源动态分配方法、系统及介质

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