一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种三维点云构建方法、装置、电子设备及存储介质与流程

2022-11-28 14:30:10 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,具体涉及一种三维点云构建方法、装置、电子设备及存储介质。


背景技术:

2.三维点云构建是采集并存储高精度三维数据的常规操作,三维点云数据在原型设计、深度学习模型训练、三维动画制作等领域具有广泛应用。
3.现有技术中,通常通过对目标对象进行三维数据采集,然后对采集的三维数据进行三维点云构建,得到目标对象的三维点云数据。然而,在对三维数据进行三维点云构建的过程中,受限于计算机性能和内存,三维点云构建的效率和精度还有待提高。
4.因此,如何高效地构建高精度的三维点云数据成为本领域技术人员亟需解决的技术问题。


技术实现要素:

5.本技术提供一种三维点云构建方法、装置、电子设备及存储介质,以获得高数量、高精度的点云数据。
6.根据本技术实施例的第一方面,提供了一种三维点云构建方法,包括:获取目标对象的第一三维点云,所述第一三维点云的分辨率为第一分辨率;对所述第一三维点云进行点云区域划分处理,确定所述第一三维点云的各个点云区域;对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,所述第二分辨率大于所述第一分辨率。
7.在本技术的一种可选实施方式中,所述获取目标对象的第一三维点云,包括:基于通过相机阵列采集的目标对象的图像数据,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。
8.在本技术的一种可选实施方式中,所述基于通过相机阵列采集的目标对象的图像数据,进行第一分辨率的三维点云构建处理,得到所述第一三维点云,包括:获得由相机阵列拍摄的所述目标对象的图像数据,以及确定所述相机阵列中各个相机的位姿信息;根据所述目标对象的图像数据和所述各个相机的位姿信息,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。
9.在本技术的一种可选实施方式中,所述对所述第一三维点云进行点云区域划分,确定所述第一三维点云的各个点云区域,包括:将所述第一三维点云进行几何区域划分,确定所述第一三维点云的各个几何区域。
10.在本技术的一种可选实施方式中,所述将所述第一三维点云进行几何区域划分,
确定所述第一三维点云的各个几何区域,包括:创建所述第一三维点云的最小外包围几何体,并确定所述最小外包围几何体的几何中心点;基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点,确定所述第一三维点云的各个几何区域。
11.在本技术的一种可选实施方式中,所述最小外包围几何体为最小外包围四面体。
12.在本技术的一种可选实施方式中,所述基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点,确定所述第一三维点云的各个点云几何区域,包括:基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点之间的连接线,将所述最小外包围几何体划分为多个子空间;对于任一子空间,判断所述子空间包含的点云数量是否大于预设的数量阈值;如果所述点云数量大于预设的数量阈值,则对所述子空间进行空间划分,直至所述最小外包围几何体的任一子空间包含的点云的数量不大于所述预设的数量阈值。
13.在本技术的一种可选实施方式中,还包括:对各个几何区域的点云点进行聚类,得到各个点云簇并确定各个点云簇的中心点云点;以每个点云簇的中心点云点为基准,进行区域重建,并将重建得到的各个区域作为所述第一三维点云的各个点云区域。
14.在本技术的一种可选实施方式中,所述以每个点云簇的中心点云点为基准,进行区域重建,并将重建得到的各个区域作为所述第一三维点云的各个点云区域,包括:以每个点云簇的中心点云点为球心,创建与各个几何区域对应的、沿各个半径方向等量延伸的球空间;对任意球空间,判断所述球空间是否与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触;如果所述球空间与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触,则控制接触点所在的半径方向不再延伸;确定沿各个半径方向均不再延伸的各球空间对应的区域为重建得到的各个区域。
15.在本技术的一种可选实施方式中,所述对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,包括:确定与各个点云区域对应的相机序列,以及确定与各个点云区域对应的相机序列的相机位姿信息;基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到所述第二三维点云。
16.在本技术的一种可选实施方式中,所述基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到所述第二三维点云,包括:基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到各个点云区
域对应的重建三维点云;对各个点云区域对应的重建三维点云进行组合,得到所述第二三维点云。
17.在本技术的一种可选实施方式中,基于点云区域对应的三维点云坐标,以及点云区域对应的相机序列的相机位姿信息,对点云区域进行第二分辨率的三维点云重建处理,得到点云区域对应的重建三维点云,包括:根据三维点云的各个点云点坐标和三维点云的各个点云点对应的相机的位姿信息,确定与三维点云的各个点云点对应的patchmatch算法;通过所述三维点云的各个点云点对应的patchmatch算法,对所述点云区域进行第二分辨率的三维点云重建处理,得到所述点云区域对应的重建三维点云。
18.在本技术的一种可选实施方式中,所述根据三维点云的各个点云点坐标和三维点云的各个点云点对应的相机的位姿信息,确定与三维点云的各个点云点对应的patchmatch算法,包括:对于三维点云的任一点云点,确定该点云点到与该点云点对应的相机的最近距离和最远距离;根据所述最近距离和所述最远距离,以及该点云点的坐标,对patchmatch算法中的距离参数和深度信息参数进行初始化,将初始化后的patchmatch算法作为与该点云点对应的patchmatch算法。
19.根据本技术实施例的第二方面,提供了一种三维点云构建装置,包括:第一单元,用于获取目标对象的第一三维点云,所述第一三维点云的分辨率为第一分辨率;第二单元,用于对所述第一三维点云进行点云区域划分处理,确定所述第一三维点云的各个点云区域;第三单元,用于对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,所述第二分辨率大于所述第一分辨率。
20.根据本技术实施例的第三方面,提供了一种电子设备,包括:处理器;存储器,用于存储方法的程序,所述程序在被处理器读取运行时,执行上述三维点云构建方法。
21.根据本技术实施例的第四方面,提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述程序在被执行时执行上述三维点云构建方法。
22.与现有技术相比,本技术具有以下优点:本技术提供的一种三维点云构建方法、装置、电子设备及存储介质,所述三维点云构建方法在获得目标对象的第一分辨率的第一三维点云后,通过对第一三维点云进行点云区域的划分,确定多个互相独立的点云区域,并对多个相互独立的点云区域进行第二分辨率的三维点云重建,其中,所述第二分辨率大于所述第一分辨率。
23.所述三维点云构建方法,通过对第一分辨率的三维点云进行点云区域划分,并在划分得到的点云区域的基础上,分别对各区域的点云进行第二分辨率的三维点云重建,上述的处理过程将高精度三维点云构建过程分为低精度三维点云构建,以及对低精度三维点云进行分区域的并行高精度点云重建,有效的避免了大规模点云在重建过程中对计算机的
内存和性能造成的压力,同时通过并行对多个点云区域的三维点云重建,有效的提高了三维点云的重建效率,并且能够构建得到高精度的三维点云。
附图说明
24.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
25.图1为本技术一实施例提供的三维点云构建方法应用场景示意图;图2为本技术另一实施例提供的三维点云构建方法流程图;图3为本技术另一实施例提供的四面体空间区域划分示意图;图4为本技术另一实施例提供的三维点云重建流程图;图5为本技术另一实施例提供的三维点云构建装置结构示意图;图6为本技术另一实施例提供的电子设备结构示意图。
具体实施方式
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.三维点云构建是采集并存储高精度三维数据的常规操作,三维点云数据在原型设计、深度学习模型训练、三维动画制作等领域具有广泛应用。
28.现有技术中,通常通过对目标对象进行三维数据采集,然后对采集的三维数据进行三维点云构建,得到目标对象的三维点云数据。然而,在对三维数据进行三维点云构建的过程中,受限于计算机性能和内存,三维点云构建的效率和精度还有待提高。
29.因此,如何高效地构建高精度的三维点云数据成为本领域技术人员亟需解决的技术问题。
30.为了解决上述技术问题,本技术提供一种三维点云构建方法、装置、电子设备及存储介质,在以下的实施例中逐一进行详细说明。
31.示例性实施环境首先,为了便于理解本技术提供的三维点云构建方法的具体应用场景,以下结合所述三维点云构建方法的具体应用场景对该方法进行介绍。
32.请参考图1,图1为本技术一实施例提供的三维点云构建方法应用场景示意图。
33.图1中包括:人物图像101、计算机102、人物三维点云103,其中,计算机102中包括:低分辨率点云重建模块102-1、点云聚类模块102-2、相机划分模块102-3、稠密点云重建模块102-4、点云组合模块102-5。
34.人物图像101可以理解为通过相机阵列对目标人物进行拍摄,得到的人物图像,本技术的目的在于构建人物图像101中所示目标人物的、高分辨率的人物三维点云103。
35.待获得人物图像101后,将人物图像101和相机阵列拍摄该人物图像时,各个相机
的位姿信息输入计算机102。
36.在实际应用的过程中,考虑到绝大部分的阵列相机都具有4k以上的分辨率,如果直接对阵列相机拍摄的人物图像101进行点云重建,受限于计算机的内存会影响三维点云重建的效率和重建后的三维点云精度。因此,在计算机102得到人物图像101后,将人物图像101输入低分辨率点云重建模块102-1以使低分辨率点云重建模块102-1对人物图像101进行降采样,以降低人物图像101的分辨率;同时低分辨率点云重建模块102-1对低分辨率的人物图像进行点云重建,获得第一三维点云,并将所述第一三维点云输入点云聚类模块102-2。
37.点云聚类模块102-2接收到第一三维点云后,对第一三维点云进行点云区域划分处理,以确保各个点云区域的三维点云数量在预设的数量范围之内。
38.通过点云聚类模块102-2完成点云区域的划分,并确定各个点云区域的三维点云后,通过相机划分模块102-3确定各个点云区域对应的所述相机阵列中的相机,即,对于任一点云区域的任一三维点云,确定能够观测到该三维点云的相机为与该三维点云对应的相机,遍历该点云区域的全部三维点云,直至确定该点云区域内与各个三维点云对应相机,将该点云区域内各个三维点云对应的相机作为与该点云区域对应的相机序列。
39.在确定与各个点云区域对应的相机序列后,记录各相机的拍摄人物图像时的相机位姿信息,并将所述相机位姿发送至稠密点云重建模块102-4,以通过稠密点云重建模块102-4分别对各个点云区域的三维点云进行重建,获得与各个点云区域对应的高分辨率的三维点云;最后,通过点云组合模块102-5将各点云区域对应的高分辨率的三维点云进行组合,获得人物三维点云103。
40.可以理解的,以上对本技术场景实施例的介绍只是为了便于更好的理解本技术提供的所述三维点云构建方法,而非用于对所述三维点云构建方法的应用场景进行限定,所述三维点云构建方法还可以应用于其他场景,比如说,构建动物、植物等其他事物的三维点云。
41.示例性方法在本技术的一示例性实施例中,提供一种三维点云构建方法,其核心在于:通过对第一分辨率的三维点云进行点云区域划分,并在划分得到的点云区域的基础上,分别对各区域的点云进行第二分辨率的三维点云重建,上述的处理过程将高精度三维点云构建过程分为低精度三维点云构建,以及对低精度三维点云进行分区域的并行高精度点云重建,有效的避免了大规模点云在重建过程中对计算机的内存和性能造成的压力,同时通过并行对多个点云区域的三维点云重建,有效的提高了三维点云的重建效率,并且能够构建得到高精度的三维点云。
42.在本技术的一种可选实施方式中,所述三维点云构建方法的实施主体可以是笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,游戏主机)等各种类型的用户终端或者是这些数据处理设备中的任一两个或多个的组合,也可以是服务器。
43.请参考图2,图2为本技术另一实施例提供的三维点云构建方法流程图。
44.如图2所示,所述三维点云构建方法包括以下步骤s201至步骤s203:步骤s201,获取目标对象的第一三维点云,所述第一三维点云的分辨率为第一分
辨率。
45.所述第一三维点云可以理解为对目标对象进行数据采集获得的数据集,基于该数据集可以得到所述目标对象表面特性的海量点集合,其中每个点都包括x、y、z几何坐标、强度值,分类值等信息,将这些点组合在一起就会形成所述三维点云。在实际应用的过程中,三维点云可以更真实的还原目标对象的三维立体效果,实现目标对象的可视化。
46.所述目标对象可以理解为待进行三维点云构建的对象,在本技术的一种可选实施方式中,所述目标对象可以为人、物、动物等,对此本技术不做限制。
47.所述第一三维点云基于通过相机阵列采集的目标对象的图像数据得到,即,基于通过相机阵列采集的目标对象的图像,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。具体的,可以基于所述相机阵列中各个相机之间的位姿信息以及所述目标对象的图像,对所述目标对象进行点云重建,获取所述第一三维点云。
48.在实际应用的过程中,考虑到大多数相机阵列中的相机分辨率都在4k以上,但基于此种相机阵列拍摄得到的图像,获得的点云数据的数据量会十分庞大,受限于计算机内存和计算效率,在对所述目标对象的图像进行点云重建之前,还需要针对所述图像数据进行低分辨率处理,以降低所述图像数据的数据量。
49.因此,在本技术的一种可选实施方式中,所述基于通过相机阵列采集的目标对象的图像,进行第一分辨率的三维点云构建处理,得到所述第一三维点云,包括以下步骤s1和步骤s2:步骤s1,获得由相机阵列拍摄的所述目标对象的图像数据,以及确定所述相机阵列中各个相机的位姿信息;步骤s2,根据所述目标对象的图像数据和所述各个相机的位姿信息,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。
50.在本技术的另一种可选实施方式中,所述目标对象的第一三维点云也可以预先构建并存储于相应的存储器,待需要对所述目标对象的第一三维点云进行点云重建时,再从所述存储器内提取所述第一三维点云数据。
51.步骤s202,对所述第一三维点云进行点云区域划分处理,确定所述第一三维点云的各个点云区域。
52.所述对所述第一三维点云进行点云区域划分处理,可以理解为将所述第一三维点云划分为多个不同区域的三维点云,考虑到计算机在构建点云的过程中,往往不能同时处理大量的点云数据。因此,本技术通过步骤s202将所述第一三维点云进行了点云区域划分处理,以确定所述第一三维点云的各个点云区域。
53.在本技术的一种可选实施方式中,对第一三维点云进行点云区域划分处理,具体为对所述第一三维点云进行几何区域划分,具体的,步骤s202可以通过以下步骤s202-1和步骤s202-2实现:步骤s202-1,创建所述第一三维点云的最小外包围几何体,并确定所述最小外包围几何体的几何中心点。
54.在本技术的一种可选实施方式中,所述最小外包围几何体可以为最小外包围四面体。
55.可以理解的,上述将所述最小外包围四面体作为所述最小外包围几何体只是本申
请的一种可选实施方式,在其他实施方式中,所述最小外包围几何体也可以是六面体或者是其他多面体,对此,本技术不做限制。
56.步骤s202-2,基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点,确定所述第一三维点云的各个几何区域。
57.在本技术实施例中,对所述第一三维点云进行几何区域划分是指,利用所述最小外包围的几何中心,以及所述最小外包围几何体的各顶点之间的连接线,划分所述最小外包围几何体,从而得到多个几何区域。
58.进一步的,考虑到所述第一三维点云的点云分布存在分布不均匀的问题,仅使用几何中心点与各顶点之间的连线作为各几何区域的边界线时,某些几何区域内仍然会存在大量的三维点云,此时,即使对该几何区域单独进行点云重建,仍然影响点云的重建效率和精度。为解决该问题,上述步骤s202-2还包括以下步骤s3至步骤s5:步骤s3,基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点之间的连接线,将所述最小外包围几何体划分为多个子空间;步骤s4,对于任一子空间,判断所述子空间包含的点云数量是否大于预设的数量阈值;步骤s5,如果所述点云数量大于预设的数量阈值,则对所述子空间进行空间划分,直至所述最小外包围几何体的任一子空间包含的点云的数量不大于所述预设的数量阈值。
59.为了便于理解上述步骤s3至步骤s5的过程,以下结合图3对该过程进行详细介绍。
60.请参考图3,图3为本技术另一实施例提供的四面体空间区域划分示意图。
61.如图3所示,图3中包括所述第一三维点云的最小外包围四面体abcd,四面体abcd的几何中心点e。
62.如图3所示,通过连接中心点e与四面体abcd的各个顶点,使各顶点与中心点e之间的连接线将四面体abcd划分为4个子空间,分别为四面体abce包含的子空间、四面体acde包含的子空间、四面体abde包含的子空间、四面体bcde包含的子空间。
63.进一步的,对于任一子空间,通过判断该子空间内的点云数量是否大于预设的数量阈值,从而确定对该子空间的三维点云进行点云重建是否影响重建效率和重建精度。
64.在本技术实施例中,所述预设的数量阈值可以通过以下方式设置:首先,确定对第一三维点云进行点云重建后,每个子空间的期望点云数量,以及重建后的期望点云总数;其次,根据所述每个子空间的期望点云数量和所述期望点云总数,获得期望子空间的个数;最后,基于所述期望子空间的个数和所述第一三维点云的点云数量,确定所述预设的数量阈值。
65.比如说,假设所述每个子空间的期望点云数量为n_l
max
,所述重建后的期望点云总数为n
max
,则所述期望子空间的个数为num=n
max
/n_l
max
;进一步的,假设所述第一三维点云的点云数量为n
sparse
,则所述预设的数量阈值为n
sparse
/num。
66.进一步的,如果任一子空间的点云数量大于所述预设的数量阈值,则对该子空间做进一步分割。
67.假设如图3所示的四面体acde包含的子空间内的三维点云数量大于预设的数量阈
值,则进一步确定四面体acde的几何中心点f,并基于几何中心点f与四面体acde的顶点之间的连接线,将四面体acde做进一步划分,获得新的子空间,直至四面体abcd内的任一子空间包含的三维点云数量不大于所述预设的数量阈值。
68.在本技术的一种可选实施方式中,在通过上述方式确定所述第一三维点云的各个几何区域后,即可执行步骤s203以对所述第一三维点云进行第二分辨率的三维点云重建。
69.但受限于第一三维点云的点云分布,通过上述最小外包围几何体的几何中心和所述最小外包围几何体的各顶点之间的连接线,得到的第一三维点云的多个点云几何区域,还会存在几何区域划分不均匀的问题。
70.为了解决上述问题,在对第一三维点云进行几何区域划分后,还包括以下步骤s202-3和步骤s202-4:步骤s202-3,各个几何区域的点云点进行聚类,得到各个点云簇并确定各个点云簇的中心点云点。
71.步骤s202-4,每个点云簇的中心点云点为基准,进行区域重建,并将重建得到的各个区域作为所述第一三维点云的各个点云区域。
72.所述点云点可以理解为几个区域内各个点云对应的点,所述点云簇可以理解为各几何区域内的三维点云对应的点集合。
73.具体的,所述对各个几何区域进行点云点聚类,包括:首先,对于任一几何区域,在该几何区域中随机选取一个点云点作为中心点云点p
seed
,并计算该中心点云点p
seed
与该几何区域的其他点云点之间的距离。
74.在本技术的一种可选实施方式中,该中心点云点p
seed
与该几何区域的任一其他点云点p之间的距离通过以下公式(1)获得:(1);其中,p(x)、p(y)、p(z)代表该几何区域中任一其他点云点p的坐标,p
seed
(x)、p
seed
(y)、p
seed
(z)表示该中心点云点p
seed
的坐标,dis表示中心点云点p
seed
与点云点p之间的距离。
75.基于上述公式(1)计算该中心点云点p
seed
与该几何区域内各个其他点云点之间的距离,并根据以下公式(2)确定所述距离之和:(2);其中,dis_n表示第n个点云点p与中心点云点p
seed
之间的距离,dis
total
表示中心点云点p
seed
与该几何区域的各个点云点之间的距离之和。
76.之后,将所有的点云点依次作为中心点云点,并基于上述公式(2)确定所述距离之和最小的中心点云点为所述点云簇的中心点云点。
77.待确定各个点云簇的中心点云点之后,可以基于以下方式对各个几何区域进行重建:首先,以每个点云簇的中心点为球心,创建与各个几何区域对应的、沿各个半径方向等量延伸的球空间;
其次,对于任一球空间,判断所述球空间是否与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触;如果所述球空间与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触,则控制接触点所在的半径方向不再延伸;最后,确定沿各个半径方向均不再延伸的各球空间对应的区域为重建得到的各个区域。
78.步骤s203,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,所述第二分辨率大于所述第一分辨率。
79.在得到第一三维点云的各个点云区域后,由于各个点云区域不相关联,因此,可以针对每个点云区域分别进行第二分辨率的三维点云重建。具体的,上述步骤s203包括以下步骤s203-1和步骤s203-2:步骤s203-1,确定与各个点云区域对应的相机序列,以及确定与各个点云区域对应到的相机序列的相机位姿信息。
80.所述与各个点云区域对应的相机序列,可以理解为所述相机阵列中哪些相机能够观测到所述点云区域中的点云。
81.在本技术的一种可选实施方式中,为了确定各个点云区域对应的相机序列,首先要确定各点云区域中的各个三维点云在所述相机阵列的像素坐标下的像素坐标,之后根据所述相机阵列中各个相机能够观测到的像素范围,确定与该三维点云对应的所述相机阵列中的相机,最后,统计所述点云区域内各个三维点云对应的相机,进而确定与各个点云区域对应的相机序列。
82.具体的,所述各个点云的像素坐标可以通过以下公式(3)获得:(3);其中,u、v表示该点云的像素坐标,k表示相机阵列中各个相机的内参,r表示旋转矩阵,t表示平移矩阵,x、y、z表示所述点云的空间坐标。
83.在确定各个点云的像素坐标后,对于任一点云区域中的任一三维点云和所述相机阵列中的各个相机,依次判断该三维点云的像素坐标与各个相机的观测范围之间的对应关系,进而确定该三维点云对象的相机;之后,遍历该点云区域中的所有三维点云与相机阵列中各个相机的对应关系,得到与所述点云区域对应的相机。
84.比如说,对于所述相机阵列中的任一相机,假设该相机的观测范围为(0≤u≤width,0≤v≤length;其中,width表示该相机的观测宽度,length表示该相机的观测长度),对于所述点云区域中的任一三维点云,如果该三维点云的像素坐标处于该相机的观测范围,则认为该相机与该三维点云对应。
85.步骤s203-2,基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到所述第二三维点云。
86.请参考图4,图4为本技术另一实施例提供的三维点云重建流程图。
87.图4中包括:待重建数据401、重建三维点云402、第二三维点云403。
88.其中,待重建数据401中包括点云区域1至点云区域n的待重建数据,对于任一点云区域,所述待重建数据包括:该点云区域对应的三维点云坐标,以及该点云区域对应相机序列的各个相机的位姿信息。
89.在分别获得点云区域1至点云区域n的待重建数据后,即可分别对各个点云区域的待重建数据进行重建,获得重建三维点云402,其中,重建三维点云402中包括:点云区域1至点云区域n中重建点云数据。
90.获得重建三维点云402后,将点云区域1至点云区域n中的重建点云数据进行组合,即可获得所述第二三维点云403。
91.另外,在对各个点云区域进行第二分辨率的点云重建过程中,为了进一步提高重建后的三维点云的精度,待重建数据401中任一点云区域的待重建数据中还包括:该点云区域的边界信息,在获得该点云区域的重建数据后,对不在该点云区域的重建数据进行剔除。
92.在本技术的一种可选实施方式中,对各个点云区域进行点云重建可以基于patchmatch算法实现,具体的,上述步骤s203-2,包括以下步骤s8和步骤s9:步骤s8,根据三维点云的各个点云点坐标和三维点云的各个点云点对应的相机的位姿信息,确定与三维点云的各个点云点对应的patchmatch算法;步骤s9,通过所述三维点云的各个点云点对应的patchmatch算法,对所述点云区域进行第二分辨率的三维点云重建处理,得到所述点云区域对应的重建三维点云。
93.进一步的,为了提高各点云区域对应的重建三维点云的质量,在利用上述patchmatch算法进行重建之前,还包括:对于三维点云的任一点云点,确定该点云点到与该点云点对应的相机的最近距离和最远距离;根据所述最近距离和所述最远距离,以及该点云点的坐标,对patchmatch算法中的距离参数和深度信息参数进行初始化,将初始化后的patchmatch算法作为与该点云点对应的patchmatch算法。
94.综上所述,所述三维点云构建方法,通过对第一分辨率的三维点云进行点云区域划分,并在划分得到的点云区域的基础上,分别对各区域的点云进行第二分辨率的三维点云重建,上述的处理过程将高精度三维点云构建过程分为低精度三维点云构建,以及对低精度三维点云进行分区域的并行高精度点云重建,有效的避免了大规模点云在重建过程中对计算机的内存和性能造成的压力,同时通过并行对多个点云区域的三维点云重建,有效的提高了三维点云的重建效率,并且能够构建得到高精度的三维点云。
95.示例性装置与上述方法实施例类似的,本技术实施例还提供了一种三维点云构建装置,请参考图5,图5为本技术另一实施例提供的三维点云构建装置结构示意图。
96.如图5所示,所述三维点云构建装置,包括:第一单元501,用于获取目标对象的第一三维点云,所述第一三维点云的分辨率为第一分辨率;第二单元502,用于对所述第一三维点云进行点云区域划分处理,确定所述第一三维点云的各个点云区域;第三单元503,用于对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,所述第二分辨率大于所述第一分辨率。
97.在本技术的一种可选实施方式中,所述获取目标对象的第一三维点云,包括:基于通过相机阵列采集的目标对象的图像数据,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。
98.在本技术的一种可选实施方式中,所述基于通过相机阵列采集的目标对象的图像数据,进行第一分辨率的三维点云构建处理,得到所述第一三维点云,包括:获得由相机阵列拍摄的所述目标对象的图像数据,以及确定所述相机阵列中各个相机的位姿信息;根据所述目标对象的图像数据和所述各个相机的位姿信息,进行第一分辨率的三维点云构建处理,得到所述第一三维点云。
99.在本技术的一种可选实施方式中,所述对所述第一三维点云进行点云区域划分,确定所述第一三维点云的各个点云区域,包括:将所述第一三维点云进行几何区域划分,确定所述第一三维点云的各个几何区域。
100.在本技术的一种可选实施方式中,所述将所述第一三维点云进行几何区域划分,确定所述第一三维点云的各个几何区域,包括:创建所述第一三维点云的最小外包围几何体,并确定所述最小外包围几何体的几何中心点;基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点,确定所述第一三维点云的各个几何区域。
101.在本技术的一种可选实施方式中,所述最小外包围几何体为最小外包围四面体。
102.在本技术的一种可选实施方式中,所述基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点,确定所述第一三维点云的各个点云几何区域,包括:基于所述最小外包围几何体的几何中心点和所述最小外包围几何体的各顶点之间的连接线,将所述最小外包围几何体划分为多个子空间;对于任一子空间,判断所述子空间包含的点云数量是否大于预设的数量阈值;如果所述点云数量大于预设的数量阈值,则对所述子空间进行空间划分,直至所述最小外包围几何体的任一子空间包含的点云的数量不大于所述预设的数量阈值。
103.在本技术的一种可选实施方式中,所述装置还用于:对各个几何区域的点云点进行聚类,得到各个点云簇并确定各个点云簇的中心点云点;以每个点云簇的中心点云点为基准,进行区域重建,并将重建得到的各个区域作为所述第一三维点云的各个点云区域。
104.在本技术的一种可选实施方式中,所述以每个点云簇的中心点云点为基准,进行区域重建,并将重建得到的各个区域作为所述第一三维点云的各个点云区域,包括:以每个点云簇的中心点云点为球心,创建与各个几何区域对应的、沿各个半径方向等量延伸的球空间;对任意球空间,判断所述球空间是否与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触;如果所述球空间与其他几何区域的球空间的边界相接触,或者与所述第一三维点云的最小外包围几何体的边界相接触,
则控制接触点所在的半径方向不再延伸;确定沿各个半径方向均不再延伸的各球空间对应的区域为重建得到的各个区域。
105.在本技术的一种可选实施方式中,所述对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,包括:确定与各个点云区域对应的相机序列,以及确定与各个点云区域对应的相机序列的相机位姿信息;基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到所述第二三维点云。
106.在本技术的一种可选实施方式中,所述基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到所述第二三维点云,包括:基于各个点云区域对应的三维点云坐标,以及各个点云区域对应的相机序列的相机位姿信息,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到各个点云区域对应的重建三维点云;对各个点云区域对应的重建三维点云进行组合,得到所述第二三维点云。
107.在本技术的一种可选实施方式中,基于点云区域对应的三维点云坐标,以及点云区域对应的相机序列的相机位姿信息,对点云区域进行第二分辨率的三维点云重建处理,得到点云区域对应的重建三维点云,包括:根据三维点云的各个点云点坐标和三维点云的各个点云点对应的相机的位姿信息,确定与三维点云的各个点云点对应的patchmatch算法;通过所述三维点云的各个点云点对应的patchmatch算法,对所述点云区域进行第二分辨率的三维点云重建处理,得到所述点云区域对应的重建三维点云。
108.在本技术的一种可选实施方式中,所述根据三维点云的各个点云点坐标和三维点云的各个点云点对应的相机的位姿信息,确定与三维点云的各个点云点对应的patchmatch算法,包括:对于三维点云的任一点云点,确定该点云点到与该点云点对应的相机的最近距离和最远距离;根据所述最近距离和所述最远距离,以及该点云点的坐标,对patchmatch算法中的距离参数和深度信息参数进行初始化,将初始化后的patchmatch算法作为与该点云点对应的patchmatch算法。
109.本实施例提供的三维点云构建装置,与本技术上述实施例所提供的三维点云构建方法属于同一申请构思,可执行本技术上述任意实施例所提供的三维点云构建方法,具备执行三维点云构建方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术上述实施例提供的三维点云构建方法的具体处理内容,此处不再加以赘述。
110.示例性电子设备本技术另一实施例还提出一种电子设备,请参考图6,图6为本技术另一实施例提供的电子设备结构示意图。
111.如图6所示,该设备包括:
存储器200和处理器210;其中,所述存储器200与所述处理器210连接,用于存储程序;所述处理器210,用于通过运行所述存储器200中存储的程序,实现上述任一实施例公开的三维点云构建方法。
112.具体的,上述电子设备还可以包括:总线、通信接口220、输入设备230和输出设备240。
113.处理器210、存储器200、通信接口220、输入设备230和输出设备240通过总线相互连接。其中:总线可包括一通路,在计算机系统各个部件之间传送信息。
114.处理器210可以是通用处理器,例如通用中央处理器(cpu)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
115.处理器210可包括主处理器,还可包括基带芯片、调制解调器等。
116.存储器200中保存有执行本发明技术方案的程序,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器200可以包括只读存储器(read-only memory,rom)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,ram)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
117.输入设备230可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
118.输出设备240可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
119.通信接口220可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(ran),无线局域网(wlan)等。
120.处理器210执行存储器200中所存放的程序,以及调用其他设备,可用于实现本技术上述实施例所提供的任意一种三维点云构建方法的各个步骤。
121.示例性计算机程序产品和存储介质除了上述方法和设备以外,本技术的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的三维点云构建方法中的步骤。
122.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本技术实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
123.此外,本技术的实施例还可以是存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上述“示例性方法”部分中描述的根据本技术各种实施例的三维点云
构建方法中的步骤,具体可以实现以下步骤:步骤s201,获取目标对象的第一三维点云,所述第一三维点云的分辨率为第一分辨率;步骤s202,对所述第一三维点云进行点云区域划分处理,确定所述第一三维点云的各个点云区域;步骤s203,对各个点云区域分别进行第二分辨率的三维点云重建处理,得到第二三维点云,所述第二分辨率大于所述第一分辨率。
124.对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术所必须的。
125.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
126.本技术各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,各实施例中记载的技术特征可以进行替换或者组合。
127.本技术各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。
128.本技术所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
129.作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。
130.另外,在本技术各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。
131.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
132.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
133.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
134.对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献