CN115761119A - 邻域体素存储方法、装置、计算机设备和存储介质 - Google Patents
邻域体素存储方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115761119A CN115761119A CN202211400532.5A CN202211400532A CN115761119A CN 115761119 A CN115761119 A CN 115761119A CN 202211400532 A CN202211400532 A CN 202211400532A CN 115761119 A CN115761119 A CN 115761119A
- Authority
- CN
- China
- Prior art keywords
- voxel
- current
- neighborhood
- storage space
- point
- 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.)
- Pending
Links
Images
Landscapes
- Image Generation (AREA)
Abstract
本申请涉及一种邻域体素存储方法、装置、计算机设备和存储介质。所述方法包括:获取当前帧的当前体素;为所述当前体素分配对应的体素存储空间;确定当前体素对应的目标邻域体素;获取所述目标邻域体素对应的存储空间地址,将所述目标邻域体素对应的存储空间地址存入所述当前体素的体素存储空间;基于所述当前体素的体素存储空间所对应的空间地址,更新所述目标邻域体素的体素存储空间。采用本方法能够减少获得邻域体素的耗时。
Description
技术领域
本申请涉及计算机技术领域,尤其是一种邻域体素存储方法、装置、计算机设备和存储介质。
背景技术
三维扫描主要用于对物体空间外形和结构进行扫描,以获得物体表面的空间坐标。它的重要意义在于能够将实物的立体信息转换成计算机能够直接处理的数字信号。邻域信息对于三维扫描所得的图像的后续处理具有重要意义。传统的获取邻域体素信息的方法是给当前的体素或者点云建树,如OCTree(八叉树)、kd-tree等,以存储邻域体素,然而这些方式在处理过程中耗时较长。
发明内容
基于此,有必要针对上述技术问题,提供一种邻域体素存储方法、装置、计算机设备和存储介质,能够减少获得邻域体素的耗时。
一种邻域体素存储方法,所述方法包括:
获取当前帧的当前体素;
为所述当前体素分配对应的体素存储空间;
确定所述当前体素对应的目标邻域体素;
获取所述目标邻域体素对应的存储空间地址,将所述目标邻域体素对应的存储空间地址存入所述当前体素的体素存储空间;
基于所述当前体素的体素存储空间所对应的空间地址,更新所述目标邻域体素的体素存储空间。
一种邻域体素存储装置,所述装置包括:
当前体素获取模块,用于获取当前帧的当前体素;
分配模块,用于为所述当前体素分配对应的体素存储空间;
目标邻域体素确定模块,用于确定所述当前体素对应的目标邻域体素;
第一存储模块,用于获取所述目标邻域体素对应的存储空间地址,将所述目标邻域体素对应的存储空间地址存入所述当前体素的体素存储空间;
第二存储模块,用于基于所述当前体素的体素存储空间所对应的空间地址,更新所述目标邻域体素的体素存储空间。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例所述的方法的步骤。
上述邻域体素存储方法、装置、计算机设备和存储介质,为当前体素分配对应的体素存储空间,确定对应的目标邻域体素,并将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间,那么在为体素分配空间时主动更新一次邻域体素;当前体素和邻域体素相邻,因此在为当前体素分配对应的体素存储空间后,二者需要双向更新;因此基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间,那么对于已存在的邻域体素而言,在后续新的邻域体素出现时进行被动更新。相较于传统的对所有点云统一处理的方式,能够实时处理体素信息,提高处理速度,减少获得邻域体素的耗时以及邻域体素占用空间。
附图说明
图1为一个实施例中邻域体素存储方法的应用环境图;
图2为一个实施例中邻域体素存储方法的流程示意图;
图3为另一个实施例中邻域体素存储步骤的流程示意图;
图4为一个实施例中邻域体素存储装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变,所述的连接可以是直接连接,也可以是间接连接。
可以理解,以下实施例中的“连接”,如果被连接的电路、模块、单元等相互之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在一个实施例中,如图1所示,为一个实施例中邻域体素存储方法的应用环境示意图。图1中包括物体110、三维扫描仪120和计算机设备130。三维扫描仪120与计算机设备130相连。计算机设备130可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。三维扫描仪120对物体进行扫描,生成点云,计算机设备130获得当前帧。计算机设备130基于扫描得到的当前帧进行处理。
在一个实施例中,如图2所示,为一个实施例中邻域体素存储方法的流程示意图,以该方法应用于计算机设备上为例进行说明,包括:
步骤202,获取当前帧的当前体素。
其中,当前帧是采用扫描设备扫描得到的图像帧。扫描设备例如可以是三维扫描仪、激光雷达等。
体素是体积元素(Volume Pixel)的简称。包含体素的立体可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来。体素的概念类似于二维空间的最小单位——像素。当前体素即当前扫描到的待处理点所处的体素。体素可采用索引或者坐标等形式在计算机设备中呈现。
具体地,在扫描设备扫描过程中,计算机设备实时获取当前帧的当前体素。
步骤204,为当前体素分配对应的体素存储空间。
其中,当前体素的体素存储空间用于存储邻域体素的存储空间地址、待处理点、当前体素和邻域体素。体素存储空间可以是内存中的存储空间。
具体地,当当前体素为当前帧中首次扫描得到的体素时,为当前体素分配对应的体素存储空间,即得到当前体素的体素存储空间。
步骤206,确定当前体素对应的目标邻域体素。
其中,当前体素对应的邻域体素是指与当前体素相邻的体素。如,一个3×3×3个体素的立方体,当前体素为该立方体中心的体素,即第14号体素,周围的26个立方体均为当前体素的邻域体素。目标邻域体素是已存在对应的体素存储空间的邻域体素。
具体地,计算机设备基于当前体素确定对应的邻域体素,并进行搜索,当存在已有对应体素存储空间的邻域体素时,该邻域体素为目标邻域体素。
可选地,基于当前体素确定对应的邻域体素,可以以当前体素为中心,先确定邻域体素关于当前体素的相对位置,再得到绝对位置。如当前体素坐标(x0,y0,z0),那么邻域体素的相对位置(-1,0,0),那么邻域体素的绝对位置为(x0-1,y0,z0)。
步骤208,获取目标邻域体素对应的存储空间地址,将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间。
其中,存储空间地址是指体素存储空间的地址。存储空间地址可以通过指针的形式呈现。
具体地,计算机设备获取目标邻域体素对应的存储空间地址,将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间。
步骤210,基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间。
同样地,邻域体素对应的体素存储空间存储有该邻域体素、该邻域体素的邻域体素、以及该邻域体素的邻域体素的存储空间地址。
具体地,在邻域体素所对应的体素存储空间中,计算机设备更新当前体素的体素存储空间所对应的存储空间地址。例如,计算机设备扫描到一个新的体素A,为体素A分配体素存储空间,搜索体素A的邻域体素,如果搜索到邻域体素B存在,邻域体素B则为目标邻域体素,那么将邻域体素B的空间地址写入体素A的体素存储空间。此时邻域B的体素存储空间中未含有体素A的存储空间地址,那么需要基于体素A的存储空间地址,更新邻域体素B的体素存储空间,即将体素A的存储空间地址写入邻域体素B的体素存储空间中。
本实施例中,计算机设备可基于各体素的体素存储空间进行体素处理,获得处理结果。体素处理方式例如可以是滤波、采样、去杂点、平滑等。
本实施例中,为当前体素分配对应的体素存储空间,确定对应的目标邻域体素,并将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间,那么在为体素分配空间时主动更新一次邻域体素;当前体素和邻域体素相邻,因此在为当前体素分配对应的体素存储空间后,二者需要双向更新;因此基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间,那么对于已存在的邻域体素而言,在后续新的邻域体素出现时进行被动更新。相较于传统的对所有点云统一处理的方式,能够实时处理体素信息,提高处理速度,减少获得邻域体素的耗时以及邻域体素占用空间。
在一个实施例中,获取当前帧的当前体素,包括:获取当前帧的点云;对于点云中各待处理点,确定待处理点所对应的当前体素。
其中,该待处理点在当前帧中可以坐标形式呈现。体素中可包含多个待处理点。
具体地,在扫描过程中,计算机设备获取当前帧中的点云,对于点云中各待处理点,可以取待处理点的各坐标值与体素大小的差值的整数,以确定待处理点所对应的当前体素。
本实施例中,一个体素中包含多个待处理点,采用体素的方式对待处理点进行存储,能够在保留点云特征的同时兼顾提高数据处理效率。
在一个实施例中,对于点云中各待处理点,确定待处理点所对应的当前体素,包括:对于点云中各待处理点,获取待处理点的坐标;基于待处理点的坐标和体素分辨率,确定待处理点所对应的当前体素。
其中,当体素分辨率大时,体素处理后所获得的模型的分辨率高;当体素分辨率小时,经过体素处理后所获得的模型的分辨率低。
具体地,对于当前帧输入的点云S1{Pi=(xi,yi,zi)|i=1,2,..N},对待处理点集中的每个待处理点Pi,计算对应的当前体素Vi;Vi=(Vx,Vy,Vz);Vx=[xi/r],Vy=[yi/r],Vz=[zi/r]。其中r为体素尺寸。那么,各坐标值除以体素分辨率后取整,即可确定该待处理点所对应的当前体素。
本实施例中,对于点云中各待处理点,获取待处理点的坐标,基于待处理点的坐标和体素分辨率,确定待处理点所对应的当前体素,能够根据需要的体素分辨率调节模型的精确度。
在一个实施例中,为当前体素分配对应的体素存储空间,包括:确定当前体素对应的哈希值;基于哈希值在哈希表中进行搜索,当哈希表中不存在该哈希值时,为当前体素分配对应的体素存储空间。
其中,哈希表用于存储已分配体素存储空间的体素。或者,哈希表用于存储已分配体素存储空间的体素和对应的体素存储空间。
具体地,计算机设备通过哈希算法确定当前体素对应的哈希值。计算机设备基于哈希值在哈希表中进行搜索,当哈希表中不存在该哈希值时,即哈希表中也不存在当前体素,说明当前体素是一个新的体素,因此为当前体素分配对应的体素存储空间。
本实施例中,确定当前体素对应的哈希值,基于哈希值在哈希表中进行搜索,当哈希表中不存在该哈希值时,为当前体素分配对应的体素存储空间,说明当前体素是一个新的体素,并进行后续的主动更新邻域体素,邻域体素的体素存储空间更新,不需要重复遍历,降低邻域体素信息的获得和存储耗时。
在一个实施例中,该邻域体素存储方法还包括:当哈希表中存在该哈希值时,将当前帧中的待处理点存入当前体素对应的体素存储空间中。
具体地,当哈希表中存在该哈希值时,说明当前体素已有对应的体素存储空间,不需要再次分配,因此将当前帧中的待处理点存入当前体素对应的体素存储空间中,可基于体素中的各待处理点统一进行后续的处理。
在一个实施例中,确定当前体素对应的目标邻域体素,包括:基于当前体素搜索邻域体素,当存在一邻域体素时,将存在的邻域体素作为目标邻域体素。
具体地,基于当前体素搜索邻域体素,当存在一邻域体素时,将该存在的邻域体素作为目标邻域体素。而不存在的邻域体素暂时置为空。
本实施例中,基于当前体素搜索邻域体素,当存在一邻域体素时,将存在的邻域体素作为目标邻域体素,主动更新当前体素对应的邻域体素,减少体素查找耗时。
在一个实施例中,如图3所示,为另一个实施例中邻域体素存储方法的流程示意图。图3中以当前体素的表现形式为索引、存储空间地址通过空间指针实现进行说明。开始后,判断是否继续扫描。当未继续扫描,则结束。当继续扫描时,三维扫描仪采集当前图像帧(即当前帧),计算机设备计算3D点获得点云。判断当前帧的点云是否处理完成。当当前帧的点云处理完成时,判断是否继续扫描。
当当前帧的点云未处理完成时,获取点云中的待处理点。计算机设备确定待处理点所对应的当前体素。首先指定体素分辨率r。对于当前帧输入的点云S1{Pi=(xi,yi,zi)|i=1,2,..N},对点云中的每个点Pi进行以下操作:
1)计算对应的当前体素:根据体素分辨率,计算当前体素索引Vi;Vi=(Vx,Vy,Vz);Vx=[xi/r],Vy=[yi/r],Vz=[zi/r]。r为体素尺寸。
2)判断当前体素是否存在:通过索引Vi计算当前体素对应的Hash值Hi;Hi=Hash(Vi)。通过哈希值Hi在哈希表中搜索当前哈希值对应的链表中是否存在索引为Vi的体素。
Vx,Vy,Vz为体素的索引;在哈希表中查找体素时,给出目标体素索引Tx,Ty,Tz就是通过体素索引判断当前体素是否为所查找的体素,即判断(Tx==Vx&&Ty==Vy&&Tz==Vz)。
3)当当前体素存在时,将待处理点更新至当前体素对应的体素存储空间。
4)当当前体素不存在时,为当前体素分配对应的体素存储空间,并用特定的体素结构进行存储。
StructVoxel{
IntVx; //体素索引
IntVy;
IntVz;
Voxel*Neighbor[27]; //存储邻域体素的存储空间指针(此处包含当前体素的存储空间指针)
Void*data; //点云数据
}
5)遍历查找当前体素的邻域体素是否存在:通过当前体素索引计算邻域体素索引,并基于邻域体素索引进行搜索。若邻域体素索引m(m=0,1,..,26)存在,则更新邻域体素的空间指针Neighbor[m]。同时通过反向的查找表,用当前体素的空间指针更新邻域体素m的体素存储空间。此步操作为双向更新的过程。
6)当遍历查找当前体素的邻域体素不存在时,将不存在的邻域体素的空间指针置为空。
7)点云体素处理:例如滤波、采样、平滑、去杂点等。
第二帧输入的点云S2同第一帧一样处理。后续的每一帧数据都重复第一帧的体素处理操作。所有的体素只有在分配体素存储空间时主动更新邻域体素指针一次,后续邻域体素指针的更新都是在邻域体素出现时被动更新,避免重复,提高了查找效率。
本实施例在三维扫描仪实时扫描过程中使用,能够实时获取邻域体素信息,对点云实时法向计算,及其他需要邻域体素才能进行的操作。
在一个实施例中,一种邻域体素存储方法,包括:
步骤(a1),获取当前帧的点云。
步骤(a2),对于点云中各待处理点,获取各待处理点的坐标。
步骤(a3),基于各待处理点的坐标和体素分辨率,确定待处理点所对应的当前体素。
步骤(a4),确定当前体素对应的哈希值。
步骤(a5),基于哈希值在哈希表中进行搜索。
步骤(a6),当哈希表中不存在当前体素时,为当前体素分配对应的体素存储空间。
步骤(a7),当哈希表中存在当前体素时,将当前帧中的待处理点存入当前体素对应的体素存储空间中。
步骤(a8),基于当前体素搜索邻域体素,当存在一邻域体素时,将存在的邻域体素作为目标邻域体素。
步骤(a9),获取目标邻域体素对应的存储空间地址,将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间。
步骤(a10),基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间。
本实施例中,为当前体素分配对应的体素存储空间,确定对应的目标邻域体素,并将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间,那么在为体素分配空间时主动更新一次邻域体素;当前体素和邻域体素相邻,因此在为当前体素分配对应的体素存储空间后,二者需要双向更新;因此基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间,那么对于已存在的邻域体素而言,在后续新的邻域体素出现时进行被动更新。相较于传统的对所有点云统一处理的方式,能够实时处理体素信息,提高处理速度,减少获得邻域体素的耗时以及邻域体素占用空间。
应该理解的是,虽然上述图2的流程图中各个步骤按照箭头的指示依次显示,步骤(a1)至步骤(a10)中的各个步骤按照标号指示依次显示,但是这些步骤并不是必然按照箭头或者数字指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,为一个实施例中邻域体素存储装置的结构框图。图4提供了一种邻域体素存储装置,该装置可以采用软件模块或者硬件模块,或者二者的结合成为计算机设备的一部分,该装置具体包括:当前体素获取模块402、分配模块404、目标邻域体素确定模块406、第一存储模块408和第二存储模块410,其中:
当前体素获取模块402,用于获取当前帧的当前体素;
分配模块404,用于为当前体素分配对应的体素存储空间;
目标邻域体素确定模块406,用于确定当前体素对应的目标邻域体素;
第一存储模块408,用于获取目标邻域体素对应的存储空间地址,将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间;
第二存储模块410,用于基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间。
本实施例中,为当前体素分配对应的体素存储空间,确定对应的目标邻域体素,并将目标邻域体素对应的存储空间地址存入当前体素的体素存储空间,那么在为体素分配空间时主动更新一次邻域体素;当前体素和邻域体素相邻,因此在为当前体素分配对应的体素存储空间后,二者需要双向更新;因此基于当前体素的体素存储空间所对应的空间地址,更新目标邻域体素的体素存储空间,那么对于已存在的邻域体素而言,在后续新的邻域体素出现时进行被动更新。相较于传统的对所有点云统一处理的方式,能够实时处理体素信息,提高处理速度,减少获得邻域体素的耗时以及邻域体素占用空间。
在一个实施例中,当前体素获取模块402用于:获取当前帧的点云;对于所述点云中各待处理点,确定所述待处理点所对应的当前体素。
本实施例中,一个体素中包含多个待处理点,采用体素的方式对待处理点进行存储,能够在保留点云特征的同时兼顾提高数据处理效率。
在一个实施例中,当前体素获取模块402用于:对于点云中各待处理点,获取待处理点的坐标;基于待处理点的坐标和体素分辨率,确定待处理点所对应的当前体素。
本实施例中,对于点云中各待处理点,获取待处理点的坐标,基于待处理点的坐标和体素分辨率,确定待处理点所对应的当前体素,能够根据需要的体素分辨率调节图像的精确度。
在一个实施例中,分配模块404,用于确定当前体素对应的哈希值;基于哈希值在哈希表中进行搜索,当哈希表中不存在该哈希值时,为当前体素分配对应的体素存储空间。
本实施例中,确定当前体素对应的哈希值,基于哈希值在哈希表中进行搜索,当哈希表中不存在该哈希值时,为当前体素分配对应的体素存储空间,说明当前体素是一个新的体素,并进行后续的主动更新邻域体素,邻域体素的体素存储空间更新,不需要重复遍历,降低邻域体素信息的获得和存储耗时。
在一个实施例中,第一存储模块408还用于:当哈希表中存在该哈希值时,将当前帧中的待处理点存入当前体素对应的体素存储空间中。
本实施例中,当哈希表中存在当前体素时,说明当前体素已有对应的体素存储空间,不需要再次分配,因此将当前帧中的待处理点存入当前体素对应的体素存储空间中,可基于体素中的各待处理点统一进行后续的处理。
在一个实施例中,目标邻域体素确定模块406,用于基于当前体素搜索邻域体素,当存在一邻域体素时,将存在的邻域体素作为目标邻域体素。
本实施例中,基于当前体素搜索邻域体素,当存在一邻域体素时,将存在的邻域体素作为目标邻域体素,主动更新当前体素对应的邻域体素,减少查找耗时。
关于邻域体素存储装置的具体限定可以参见上文中对于邻域体素存储方法的限定,在此不再赘述。上述邻域体素存储装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端设备,其内部结构图可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种邻域体素存储方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例中流程。其中,本申请所提供的各实施例中所使用地对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种邻域体素存储方法,其特征在于,所述方法包括:
获取当前帧的当前体素;
为所述当前体素分配对应的体素存储空间;
确定所述当前体素对应的目标邻域体素;
获取所述目标邻域体素对应的存储空间地址,将所述目标邻域体素对应的存储空间地址存入所述当前体素的体素存储空间;
基于所述当前体素的体素存储空间所对应的空间地址,更新所述目标邻域体素的体素存储空间。
2.根据权利要求1所述的方法,其特征在于,所述获取当前帧的当前体素,包括:
获取当前帧的点云;
对于所述点云中各待处理点,确定所述待处理点所对应的当前体素。
3.根据权利要求2所述的方法,其特征在于,所述对于所述点云中各待处理点,确定所述待处理点所对应的当前体素,包括:
对于所述点云中各待处理点,获取所述待处理点的坐标;
基于所述待处理点的坐标和所述体素分辨率,确定所述待处理点所对应的当前体素。
4.根据权利要求1所述的方法,其特征在于,所述为所述当前体素分配对应的体素存储空间,包括:
确定所述当前体素对应的哈希值;
基于所述哈希值在哈希表中进行搜索,当所述哈希表中不存在所述哈希值时,为所述当前体素分配对应的体素存储空间。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述哈希表中存在所述哈希值时,将所述当前帧中的待处理点存入所述当前体素对应的体素存储空间中。
6.根据权利要求1所述的方法,其特征在于,所述确定所述当前体素对应的目标邻域体素,包括:
基于所述当前体素搜索邻域体素,当存在一邻域体素时,将存在的所述邻域体素作为目标邻域体素。
7.一种邻域体素存储装置,其特征在于,所述装置包括:
当前体素获取模块,用于获取当前帧的当前体素;
分配模块,用于为所述当前体素分配对应的体素存储空间;
目标邻域体素确定模块,用于确定所述当前体素对应的目标邻域体素;
第一存储模块,用于获取所述目标邻域体素对应的存储空间地址,将所述目标邻域体素对应的存储空间地址存入所述当前体素的体素存储空间;
第二存储模块,用于基于所述当前体素的体素存储空间所对应的空间地址,更新所述目标邻域体素的体素存储空间。
8.根据权利要求7所述的装置,其特征在于,所述当前体素获取模块用于:
获取当前帧的点云;
对于所述点云中各待处理点,确定所述待处理点所对应的当前体素。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211400532.5A CN115761119A (zh) | 2022-11-09 | 2022-11-09 | 邻域体素存储方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211400532.5A CN115761119A (zh) | 2022-11-09 | 2022-11-09 | 邻域体素存储方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115761119A true CN115761119A (zh) | 2023-03-07 |
Family
ID=85368789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211400532.5A Pending CN115761119A (zh) | 2022-11-09 | 2022-11-09 | 邻域体素存储方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115761119A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117291789A (zh) * | 2023-11-27 | 2023-12-26 | 北京超星未来科技有限公司 | 点云数据存储方法、装置、设备及可读存储介质 |
-
2022
- 2022-11-09 CN CN202211400532.5A patent/CN115761119A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117291789A (zh) * | 2023-11-27 | 2023-12-26 | 北京超星未来科技有限公司 | 点云数据存储方法、装置、设备及可读存储介质 |
CN117291789B (zh) * | 2023-11-27 | 2024-02-27 | 北京超星未来科技有限公司 | 点云数据存储方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3506212B1 (en) | Method and apparatus for generating raster map | |
US20230053462A1 (en) | Image rendering method and apparatus, device, medium, and computer program product | |
EP3570253B1 (en) | Method and device for reconstructing three-dimensional point cloud | |
US11887563B1 (en) | Method and computer program product for performing queries and displaying visual representations of their results using graphics processing units | |
CN110276820B (zh) | 基于lod组织与调度方法的gis模型优化方法及系统 | |
CN104616345A (zh) | 一种基于八叉树森林压缩的三维体素存取方法 | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
JP2009163156A (ja) | 移動ロボットシステム及びその制御方法 | |
CN116109765A (zh) | 标注对象的三维渲染方法、装置、计算机设备、存储介质 | |
CN115761119A (zh) | 邻域体素存储方法、装置、计算机设备和存储介质 | |
CN114565722A (zh) | 一种三维模型单体化实现方法 | |
CN111881985A (zh) | 立体匹配方法、装置、终端和存储介质 | |
CN110378948B (zh) | 3d模型重建方法、装置及电子设备 | |
CN113706543B (zh) | 一种三维位姿的构建方法、设备及存储介质 | |
CN115496835A (zh) | 一种基于cpu和gpu异构并行架构的点云数据赋色方法和系统 | |
CN112669196B (zh) | 一种硬件加速引擎中因子图优化数据的方法和设备 | |
CN110363860B (zh) | 3d模型重建方法、装置及电子设备 | |
CN111870953A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN114020390A (zh) | Bim模型显示方法、装置、计算机设备和存储介质 | |
US20040181373A1 (en) | Visual simulation of dynamic moving bodies | |
CN112988609A (zh) | 数据处理方法、装置、存储介质和客户端 | |
CN111870954A (zh) | 一种高度图生成方法、装置、设备及存储介质 | |
CN116894933B (zh) | 一种三维模型比较方法、装置、设备和存储介质 | |
CN113051491B (zh) | 地图数据处理的方法、设备、存储介质及程序产品 | |
CN113436325B (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 |