本技术涉及三维扫描领域,特别是涉及扫描数据处理方法、装置、三维扫描系统和存储介质。
背景技术:
1、在对工件进行三维扫描的过程中,不可避免地会采集到工件外的点云数据,从而导致采集到的数据中包含多余点云数据。为了降低后续点云重建的数据量,提高计算效率和重建的准确度,需要将采集到的工件外的多余点云数据过滤掉。
2、目前,往往是利用划定扫描区域的方式,对区域外的点云进行过滤。其中,划定扫描区域的方式包括使用轴对称包围盒、方向包围盒或者球形包围盒。该种方式下,依然存在较多工件外的空间被包围盒所包含,从而导致部分多余点云数据无法准确过滤。
3、针对相关技术中存在工件外的多余点云数据无法准确过滤的问题,目前还没有提出有效的解决方案。
技术实现思路
1、在本实施例中提供了一种扫描数据处理方法、装置、三维扫描系统和存储介质,以解决相关技术中存在工件外的多余点云数据无法准确过滤的问题。
2、第一个方面,在本实施例中提供了一种扫描数据处理方法,包括:
3、获取目标工件预设的工件模型数据,以及基于所述工件模型数据预先构建的目标包围盒;所述目标包围盒包括预设包围盒、第一树形数据结构以及第二树形数据结构;其中,所述第一树形数据结构为用于立体空间递归划分的树形数据结构;所述第二树形数据结构为用于最近邻搜索的树形数据结构;
4、实时获取所述目标工件的当前帧扫描数据;
5、根据所述预设包围盒,对所述当前帧扫描数据进行过滤,得到当前帧的第一点云数据;
6、根据所述第一树形数据结构和所述第二树形数据结构对所述当前帧的第一点云数据进行过滤,得到当前帧的第二点云数据;
7、获取下一帧扫描数据,并将所述下一帧扫描数据作为新的当前帧扫描数据。
8、在其中的一些实施例中,在获取基于所述工件模型数据预先构建的目标包围盒之前,所述方法还包括:
9、提取所述工件模型数据的模型点云数据;
10、根据所述模型点云数据,计算所述工件模型数据对应的预设包围盒;
11、根据预设配置信息,和所述模型点云数据,分别构建所述第一树形数据结构和所述第二树形数据结构;所述预设配置信息包括分辨率配置信息。
12、在其中的一些实施例中,获取目标工件预设的工件模型数据,以及基于所述工件模型数据预先构建的目标包围盒,包括:
13、读取所述目标工件的初始模型数据;
14、对所述初始模型数据进行点云化处理,得到特征点云数据;
15、对所述目标工件进行预扫描,得到预扫描模型;
16、将所述特征点云数据和所述预扫描模型进行特征对齐,根据对齐结果将所述初始模型数据转换到预先建立的统一坐标系下,得到工件模型数据;
17、根据所述工件模型数据,构建所述目标工件的所述目标包围盒。
18、在其中的一些实施例中,根据所述第一树形数据结构和所述第二树形数据结构对所述当前帧的第一点云数据进行过滤,得到当前帧的第二点云数据,包括:
19、依次将所述第一点云数据中的每一个坐标点作为第一目标坐标点,对所述第一树形数据结构中与所述第一目标坐标点对应的第一目标层级结构进行递归遍历,根据遍历结果判断所述目标点是否处于所述第一树形数据结构中;所述第一目标层级结构的深度为预设第一深度;
20、将处于所述第一树形数据结构中的所述坐标点识别为保留坐标点,将处于所述第一树形数据结构外的所述坐标点识别为待检测坐标点;
21、分别针对每个所述待检测坐标点,对所述第二树形数据结构中与所述待检测坐标点对应的第二目标层级结构进行递归遍历,以对各个所述待检测坐标点进行过滤,将过滤后的坐标点识别为保留坐标点;所述第二目标层级结构的深度为预设第二深度;
22、将所有的所述保留坐标点,组成的点云数据识别为所述当前帧的第二点云数据。
23、在其中的一些实施例中,分别针对每个所述待检测坐标点,对所述第二树形数据结构中与所述待检测坐标点对应的第二目标层级结构进行递归遍历,以对各个所述待检测坐标点进行过滤,将过滤后的坐标点识别为保留坐标点,包括:
24、分别针对每个所述待检测坐标点,对所述第二树形数据结构中与所述待检测坐标点对应的第二目标层级结构进行递归遍历,以搜索与所述待检测坐标点对应的最近点;
25、分别计算每个待检测坐标点与对应的所述最近点之间的距离,得到所述待检测坐标点对应的目标距离;
26、将所述目标距离小于预设距离阈值的待检测坐标点,识别为保留坐标点。
27、在其中的一些实施例中,在得到所有帧的所述第二点云数据之后,所述方法还包括:
28、对所有帧的所述第二点云数据进行点云拼接,并对拼接结果进行点云融合,得到所述目标工件的三维重建模型。
29、第二个方面,在本实施例中提供了一种扫描数据处理装置,包括:第一获取模块、第二获取模块、第一过滤模块、第二过滤模块以及更新获取模块;其中:
30、所述第一获取模块,用于获取目标工件预设的工件模型数据,以及基于所述工件模型数据预先构建的目标包围盒;所述目标包围盒包括预设包围盒、第一树形数据结构以及第二树形数据结构;其中,所述第一树形数据结构为用于立体空间递归划分的树形数据结构;所述第二树形数据结构为用于最近邻搜索的树形数据结构;
31、所述第二获取模块,用于实时获取所述目标工件的当前帧扫描数据;
32、所述第一过滤模块,用于根据所述预设包围盒,对所述当前帧扫描数据进行过滤,得到当前帧的第一点云数据;
33、所述第二过滤模块,用于根据所述第一树形数据结构和所述第二树形数据结构对所述当前帧的第一点云数据进行过滤,得到当前帧的第二点云数据;
34、所述更新获取模块,用于在存在下一帧扫描数据的情况下,获取下一帧扫描数据,并将所述下一帧扫描数据作为新的当前帧扫描数据。
35、第三个方面,在本实施例中提供了一种三维扫描系统,包括:扫描设备和处理器;其中,所述扫描设备与所述处理器通信连接;
36、所述扫描设备用于对目标工件进行三维扫描;
37、所述处理器用于执行上述第一个方面所述的扫描数据处理方法。
38、第四个方面,在本实施例中提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一个方面所述的扫描数据处理方法。
39、第五个方面,在本实施例中提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一个方面所述的扫描数据处理方法。
40、与相关技术相比,在本实施例中提供了扫描数据处理方法、装置、三维扫描系统和存储介质。其中的扫描数据处理方法,获取目标工件预设的工件模型数据,以及基于工件模型数据预先构建的目标包围盒;目标包围盒包括预设包围盒、第一树形数据结构以及第二树形数据结构;其中,第一树形数据结构为用于立体空间递归划分的树形数据结构;第二树形数据结构为用于最近邻搜索的树形数据结构;实时获取目标工件的当前帧扫描数据;根据预设包围盒,对当前帧扫描数据进行过滤,得到当前帧的第一点云数据;根据第一树形数据结构和第二树形数据结构对当前帧的第一点云数据进行过滤,得到当前帧的第二点云数据;获取下一帧扫描数据,并将下一帧扫描数据作为新的当前帧扫描数据。其能够基于立体包围盒、第一树形数据结构和第二树形数据结构的过滤处理,实现了过滤范围与工件形状的贴合,从而提高对工件外多余点云数据过滤的准确度。
41、本技术的一个或多个实施例的细节在以下附图和描述中提出,以使本技术的其他特征、目的和优点更加简明易懂。
1.一种扫描数据处理方法,其特征在于,包括:
2.根据权利要求1所述的扫描数据处理方法,其特征在于,在获取基于所述工件模型数据预先构建的目标包围盒之前,所述方法还包括:
3.根据权利要求1所述的扫描数据处理方法,其特征在于,获取目标工件预设的工件模型数据,以及基于所述工件模型数据预先构建的目标包围盒,包括:
4.根据权利要求1所述的扫描数据处理方法,其特征在于,根据所述第一树形数据结构和所述第二树形数据结构对所述当前帧的第一点云数据进行过滤,得到当前帧的第二点云数据,包括:
5.根据权利要求4所述的扫描数据处理方法,其特征在于,分别针对每个所述待检测坐标点,对所述第二树形数据结构中与所述待检测坐标点对应的第二目标层级结构进行递归遍历,以对各个所述待检测坐标点进行过滤,将过滤后的坐标点识别为保留坐标点,包括:
6.根据权利要求1至权利要求5中任一项所述的扫描数据处理方法,其特征在于,在得到所有帧的所述第二点云数据之后,所述方法还包括:
7.一种扫描数据处理装置,其特征在于,包括:第一获取模块、第二获取模块、第一过滤模块、第二过滤模块以及更新获取模块;其中:
8.一种三维扫描系统,其特征在于,包括:扫描设备和处理器;其中,所述扫描设备与所述处理器通信连接;
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至权利要求6中任一项所述的扫描数据处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至权利要求6中任一项所述的扫描数据处理方法的步骤。