CN117911471A - 点云融合方法、系统、电子设备及存储介质 - Google Patents
点云融合方法、系统、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117911471A CN117911471A CN202410050636.0A CN202410050636A CN117911471A CN 117911471 A CN117911471 A CN 117911471A CN 202410050636 A CN202410050636 A CN 202410050636A CN 117911471 A CN117911471 A CN 117911471A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- data
- grid
- unit
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 36
- 238000007500 overflow downdraw method Methods 0.000 title claims abstract description 29
- 230000004927 fusion Effects 0.000 claims abstract description 36
- 238000000034 method Methods 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 29
- 238000012216 screening Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000007 visual effect Effects 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 description 33
- 238000004422 calculation algorithm Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000002829 reductive effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000009466 transformation Effects 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 238000005457 optimization Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012897 Levenberg–Marquardt algorithm Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请实施例提供了一种点云融合方法、系统、电子设备及存储介质。方法包括:获取待测物的第一点云和第二点云;针对第二点云执行向第一点云的配准操作,得到配准后的第二点云,作为第三点云;根据各个第一点的坐标和各个第三点的坐标,确定第一点云和第三点云的初始网格化数据,其中初始网格化数据是关于多个二维的单位网格的数据每个单位网格的数据中包括对应的点的相关数据,相关数据至少包括点的坐标数据;根据多个二维的单位网格各自对应的点的相关数据和数量,对初始网格化数据进行更新,以使每个单元位网格的数据中仅包括对应的唯一的点的相关数据;根据更新后的网格化数据,确定待测物的点云的存储数据。可显著提高点云融合的效率和精度。
Description
技术领域
本申请涉及点云处理技术领域,具体地,涉及一种点云融合方法、一一种点云融合系统、一种电子设备及一种存储介质。
背景技术
点云融合在智能城市、自动驾驶、工业制造、文化遗产保护、医学等多个领域起到重要作用,能够整合多个点云数据源的信息,提供精确的三维模型和环境感知,为各种应用带来更高的效率和精度。
例如,在工业检测领域,通常会使用三维相机直接拍摄待测物,通常情况下三维相机输出的数据就是点云数据,然后基于输出的待测物的点云数据进行后续的检测任务。但是,在一些使用场景中,由于相机视野限制以及待检测目标尺寸较大等原因,因此单一相机无法满足使用要求。需要利用2个以上的相机采集待测物表面的不同区域的点云数据,并将这些点云数据进行融合。这样,后续可以基于融合后的点云数据完成检测任务。
现有技术中的点云融合方法,通常是先对多组点云分别在不同的坐标系下进行网格化处理,得到多组稀疏的网格化数据。然后,对多组网格化数据进行配准和融合。由于其网格化处理通常是将三维的点云数据转化为三维的网格数据表示,因此,其后续的配准需要消耗的算力资源较多,并且配准融合的精度也较差,存储的数据量也较大。
发明内容
为了至少部分地解决现有技术中存在的问题,根据本申请的第一个方面,提供了一种点云融合方法,包括:
获取待测物的第一点云和第二点云;
针对第二点云执行向第一点云的配准操作,以得到配准后的第二点云,作为第三点云;
根据各个第一点的坐标和各个第三点的坐标,确定第一点云和第三点云的初始网格化数据,其中初始网格化数据是关于多个二维的单位网格的数据,多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系,每个单位网格的数据中包括对应的点的相关数据,相关数据至少包括点的坐标数据,第一点是第一点云中的任意点,第三点是第三点云中的任意点;
根据多个二维的单位网格各自对应的点的相关数据和数量,对初始网格化数据进行更新,以使每个单元位网格的数据中仅包括对应的唯一的点的相关数据;以及
根据更新后的网格化数据,确定待测物的点云的存储数据。
示例性地,确定第一点云和第三点云的初始网格化数据,包括:
在第一点云所在的第一坐标系中,将第一平面中的第一区域划分为多个单位网格;其中第一平面垂直于第一坐标系的第三维度,第三维度对应采集第一点云的相机的视轴方向,第一区域包括第一点云和第三点云在第一平面上的投影区域;
根据第一点云和第三点云中的各个点的坐标和每个单位网格的位置,确定多个单位网格与各个第一点、各个第三点之间的对应关系,其中,对于任意的第一点或第三点,如果该点在第一平面的投影落在任一单位网格中,则确定该点与该单位网格具有对应关系;以及
在每个单位网格中存储对应的点在第三维度方向上的坐标值。
示例性地,确定待测物的点云的存储数据,包括:
根据更新后的网格化数据,生成并存储第一图像,其中第一图像中的各个像素与多个单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点在第三维度方向上的坐标值。
示例性地,每个单位网格的数据中还包括对应的点的亮度数据,确定待测物的点云的存储数据,还包括:
根据更新后的网格化数据,生成并存储第二图像,其中第二图像中的各个像素与多个单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点的亮度值。
示例性地,对初始网格化数据进行更新,包括:
根据每个单位网格对应的点的数量,确定多个二维的单位网格中的第一网格,其中第一网格是对应多个点的单位网格;
对于每个第一网格,
从该第一网格所对应的多个点中筛选出唯一的点;
删除所述多个点中的除该唯一的点之外的其他点的相关数据。
示例性地,第一点云和第二点云分别是第一相机和第二相机采集到的,第一相机和第二相机的参数相同,针对第二点云执行向第一点云的配准操作,包括:
获取第一相机和第二相机之间的位姿关系;以及
根据位姿关系,对第二点云执行向第一点云的配准操作。
示例性地,确定第一点云和第三点云的初始网格化数据,包括:
对第一点云进行网格化处理,以得到第一网格化数据,其中第一网格化数据是关于第一数目的单位网格的数据;
沿预设方向拓展第一数目的单位网格的边界,以对第一网格化数据进行更新,以使更新后的第一网格化数据中包括第二数目的单位网格,其中,预设方向是根据第三点云与第一点云的相对位置关系确定的,第二数目大于第一数目;
确定各个第三点与第二数目的单位网格的对应关系;以及
将第三点云中的各个点的相关数据映射至对应的单位网格中,得到初始网格化数据。
示例性地,对初始网格化数据进行更新,包括:
确定多个二维的单位网格中的第二网格,其中第二网格是位于感兴趣区域中的单位网格;以及
删除第二网格之外的其他单位网格。
根据本申请另一方面,还提供一种点云融合系统,包括:
获取模块,用于获取待测物的第一点云和第二点云,其中,第一点云对应待测物的第一区域,第二点云对应待测物的第二区域,并且第一区域与第二区域具有重叠区域;
配准模块,用于针对第二点云执行向第一点云的配准操作,以得到配准后的第二点云,作为第三点云;
确定模块,用于根据第一点云中的各个点的坐标、第三点云中的各个点的坐标,确定第一点云和第三点云的初始网格化数据,其中初始网格化数据是关于多个二维的单位网格的数据,多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系,每个单位网格的数据中包括对应的点的相关数据,相关数据至少包括点的坐标数据,第一点是第一点云中的任意点,第三点是第三点云中的任意点;
更新模块,用于根据多个二维的单位网格各自对应的点的相关数据和数量,对初始网格化数据进行更新,以使每个单元网格的数据中仅包括对应的唯一的点的相关数据;以及
存储模块,用于根据更新后的网格化数据,确定待测物的点云的存储数据。
根据本申请另一方面,还提供一种电子设备,包括处理器和存储器,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述点云融合方法。
根据本申请另一方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述点云融合方法。
如前所述,现有技术中的点云融合方法,通常是先对多组点云分别在不同的坐标系下进行网格化处理,得到多组稀疏的网格化数据。然后,对多组网格化数据进行配准和融合。由于其网格化处理通常是将三维的点云数据转化为三维的网格数据表示,因此,其后续的配准需要消耗的算力资源较多,并且配准融合的精度也较差,存储的数据量也较大。而根据本申请实施例的上述方案,在将两个相机分别采集的待测物的第一点云和第二点云进行配准的基础上,对位于同一坐标系下的两组点云进行二维网格化处理,可以准确且快速地得到包含对应第一点云和第二点云的各个点的多个二维的单位网格的初始网格化数据。之后,通过更新初始化网格数据,使得每个单位网格的数据中仅包括唯一的点的相关数据,从而也快速实现了点云的融合。进而,根据更新后的网格化数据,确定待测物的点云的存储数据。上述点云融合方案在点云配准的基础上进行二维网格化处理,不仅可以保证网格化数据的准确性。并且,使得位置相近的待融合点天然位于同一单位网格中,因此可以有效降低后续融合等处理操作的复杂度,可以显著提高点云融合的效率和精度。
在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本申请内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
以下结合附图,详细说明本申请的优点和特征。
附图说明
本申请的下列附图在此作为本申请的一部分用于理解本申请。附图中示出了本申请的实施方式及其描述,用来解释本申请的原理。在附图中,
图1示出根据本申请一个实施例的点云融合方法的示意性流程图;
图2示出根据本申请一个实施例的初始网格化数据的示意图;
图3示出根据本申请一个实施例的第一点云和第三点云的局部的示意图;
图4示出根据本申请另一个实施例的点云融合方法的流程图;
图5示出根据本申请的一个实施例的点云融合系统的示意性框图;
图6示出根据本申请一个实施例的电子设备的示意性框图。
具体实施方式
在下文的描述中,提供了大量的细节以便能够彻底地理解本申请。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本申请的优选实施例,本申请可以无需一个或多个这样的细节而得以实施。此外,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行详细描述。
为了至少部分地解决上述技术问题,根据本申请的一个方面,提供了一种点云融合方法。
图1示出根据本申请一个实施例的点云融合方法100的示意性流程图。如图1所示,该方法100包括步骤S110、步骤S120、步骤S130、步骤S140和步骤S150。
步骤S110,获取待测物的第一点云和第二点云。根据本申请实施例,第一点云可以对应待测物的第一区域,第二点云可以对应待测物的第二区域,并且第一区域与第二区域具有重叠区域。
待测物体可以是各种场景下的任何合适的待测量的实体物体,本申请不对其进行限制。可选地,待测物体可以是具有三维形态特征的物体,例如机器人或机器人零部件、人体或人体局部、设备或设备部件、家具、电器、日用品等。
容易理解,点云是表示待测物表面特性的点的集合。获取点云的方法有多种。在本申请实施例中,第一点云和第二点云可以是使用任意合适的点云采集装置采集到的待测物表面的点云。点云采集装置包括但不限于三维激光扫描仪或三维相机等。示例性地,第一点云和第二点云均可以是稠密点云。
示例性地,待测物可以是尺寸较大的物体,例如待测物的尺寸大于或等于尺寸阈值。尺寸阈值可以等于一个三维相机的视野能看清楚的最大尺寸。可以理解,对于尺寸较大的物体,如果想要准确获取其表面的完整点云或者较大区域的局部点云,则可能需要利用多个三维相机分别从不同的位置和/或角度分别拍摄待测物表面的不同区域,并得到多组点云。
在一个示例中,第一点云和第二点云可以是利用两个三维相机(例如,第一相机和第二相机)分别从不同位置和/或不同角度拍摄待测物表面的不同区域所得到的点云。待测物的表面区域中落在第一相机的视野范围内的区域可以称作第一区域。同样地,待测物的表面区域中落在第二相机的视野范围内的区域可以称作第二区域。第一区域和第二区域之间具有重叠区域。换言之,第一相机和第二相机具有拍摄待测物的共视区域。
示例性地,以待测物是正方体为例。第一相机可以位于正方体的左上方,第二相机可以位于正方体的右上方。第一相机的视野范围可以包括正方体的左侧区域和上侧区域,第一相机采集到的正方体的第一点云可以对应正方体的第一区域。第二相机的视野范围可以包括正方体的右侧区域和上侧区域,因此第二相机采集到的正方体的第二点云可以对应正方体的第二区域。可以理解,在这种示例中,第一区域和第二区域均包括正方体的上侧区域。
在一些特殊的示例中,第一点云和第二点云也可以是利用同一个三维相机采集到的待测物表面的不同区域的点云。这两组点云可以是该三维相机依次从待测物的不同位置或者角度拍摄得到的。例如,待测物例如某种静物可以被置于点云采集区的中心的旋转平台上,三维相机可以架设在点云采集区外的固定位置并对准待测物。首先,可以通过控制旋转平台带动待测物旋转使三维相机对准待测物的第一区域,在三维相机对准待测物的第一区域时利用三维相机拍摄该第一区域,得到第一点云。然后,可以继续控制旋转平台带动待测物旋转预定角度,以使三维相机对准待测物的第二区域,并控制三维相机拍摄该第二区域,得到第二点云。在这种情况下,可以通过一个三维相机依次从两个不同角度拍摄待测物体表面的具有重叠区域的两个区域,得到第一点云和第二点云。
第一点云和第二点云所包含的信息中至少可以包括每个点所在的位置信息,例如每个点在三维空间中的三维坐标。其次,还可以包括每个点所携带的诸如光照强度、类别标签、法向量、亮度值之类的附加信息。第一点云和第二点云的数据格式可以包括*.pts、*.asc、*.dat、*.stl、
*.imw、*.xyz等多种格式之一。
步骤S120,针对第二点云执行向第一点云的配准操作,以得到配准后的第二点云,作为第三点云。
此步骤中的点云的配准操作是指将第一点云和第二点云进行坐标系对齐的过程。可以理解,当从不同视角采集的点云数据集合并在一起时,由于视角变化造成的不一致性,点云之间可能存在重叠不足、位置偏移等问题。点云配准的目标就是通过寻找不同点云坐标系之间的变换关系,并利用这些变换关系对点云进行坐标转换,使得他们在同一坐标系下尽可能地对齐。
可以采用多种合适的点云配准方法实现此步骤。例如,对于上述利用第一相机和第二相机拍摄待测物得到第一点云和第二点云的情况,可以预先通过多相机之间的位姿标定来确定这两个相机之间的相对几何关系,即两个相机坐标系之间的转换关系,该转换关系可以用旋转矩阵和平移矩阵表示。例如,在利用第一相机和第二相机采集待测物的第一点云和第二点云之前,可以在采集区放置立体靶标,并利用第一相机和第二相机采集立体靶标的标定点云。然后,针对每个相机采集的标定点云进行特征点提取,得到每个标定点云中的各个特征点的坐标。并可以根据标定点云中各个特征点的坐标和这些立体靶标上的各个特征点在世界坐标系中的坐标,确定每个相机的坐标系至世界坐标系之间的转换关系。例如,可以分别得到第一相机的坐标系至世界坐标系之间的第一转换关系和第二相机的坐标系至世界坐标系之间的第二转换关系。进而,可以根据第一转换关系和第二转换关系可以得到第一相机和第二相机之间的相对位姿关系。从而,可以根据相对位姿关系,将第一相机采集到的点云和第二相机采集到的点云转换到同一个坐标系下。在本申请实施例中,可以得到第二相机的坐标系向第一相机的坐标系之间的转换关系。并可以根据该转换关系将第二相机采集到的第二点云进行坐标转换,得到第三点云。可选地,可以直接将转换后的第二点云作为第三点云。替代地,也可以利用诸如迭代最近点算法(Iterative ClosestPoint,简称ICP)、全局配准算法、基于特征的配准算法等点云配准算法进一步将转换后的第二点云向第一点云进行优化配准,得到第三点云。可以理解,在配准之后,第三点云和第一点云处于同一坐标系下的对齐状态。
步骤S130,根据第一点云中的各个点的坐标、第三点云中的各个点的坐标,确定第一点云和第三点云的初始网格化数据。其中,初始网格化数据是关于多个二维的单位网格的数据。多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系。每个单位网格的数据中包括对应的点的相关数据。相关数据至少包括点的坐标数据。第一点是第一点云中的任意点,第三点是第三点云中的任意点。
根据本申请实施例,多个二维的单位网格可以是多个形状规则的单位网格。该单位网格可以是二维网格,也可以是三维网格。单位网格的形状可以是任意的。对于单位网格是二维网格的情况,单位网格可以是三角形网格、长方形网格、正方形网格等二维网格中的任意一种。对于单位网格是三维网格的情况,单位网格可以是正方体网格或长方体网格等。
此步骤可以视作是对第一点云和第三点云的网格化处理步骤。可以理解,点云网格化处理的过程是将点云中的点的相关数据映射至对应的单位网格中的过程。初始网格化数据可以包括每个单位网格的几何信息。该几何信息可以包括网格的位置信息,还包括对应的点的相关数据。该相关数据可以是各个点所携带的原始数据中的全部或部分。如前所述,点云中每个点所携带的信息至少包括点的三维坐标。因此,每个单位网格中存储的对应的点的相关数据可以包括对应的点的三维坐标或者部分维度的坐标。例如,每个单位网格可以仅包括对应的点的z坐标(对应待测物的深度方向的坐标)。对于第一点云和第三点云中每个点所携带的信息还包括诸如亮度值之类的附加信息的情况,每个单位网格中存储的对应的点的相关数据还可以包括这些附加信息中的一种或多种。
此步骤中,可以采用多种合适的方法对第一点云和第三点云进行网格化处理,得到初始网格化数据。可选地,可以先对第一点云和第三点云进行合并,得到合并点云。然后,可以对合并点云进行网格化处理,得到初始网格化数据。替代地,也可以先对第一点云进行网格化处理,得到针对第一点云的第一网格化数据。然后,可以根据第一点云和第三点云的相对位置关系,对第一网格化数据进行网格空间的拓展,得到拓展后的网格。之后,可以将第三点云中的各个点的相关数据映射至拓展后的网格中,得到初始网格化数据。可以理解,无论是哪种方案,初始网格化数据中均可以包括第一点云中各个第一点和第三点云中各个第三点的相关数据。
图2示出根据本申请一个实施例的初始网格化数据的示意图。如图2所示,可以将第一点云和第三点云中的各个点的相关数据映射至多个二维的单位网格中,得到初始网格化数据。多个二维的单位网格中的至少部分单位网格与第一点云中的点(图中红色点所示)和/或第三点云中的点(图中灰色点所示)存在对应关系。换言之,在多个二维的单位网格中,存在仅包含第一点云中的点的单位网格,也存在仅包含第三点云中的点的单位网格,还存在既包含第一点云中的点也包含第三点云中的点的单位网格。在一些示例中,多个二维的单位网格中还可以存在不包含第一点云和第三点云中的点的单位网格。例如,在图2中示出的多个二维的单位网格中,位于左侧的11*4个单位网格(图中左侧的绿色单位网格和中间的橙色单位网格所示)与第一点云中的点存在对应关系。位于右侧的11*4个单位网格(图中位于中间的橙色单位网格和位于右侧的绿色单位网格所示)与第三点云中的点存在对应关系。换言之,位于左侧的11*4个单位网格对应待测物的第一区域中的点,而位于右侧的11*4个单位网格对应待测物的第二区域中的点。位于中间的5*4个单位网格(图中的橙色单位网格所示)中既包含第一点(第一点云的点)也包含第三点(第三点云的点),因此这些单位网格对应第一区域和第二区域的重叠区域中的点。
根据本申请实施例,对于每个与第一点和/或第三点存在对应关系的单位网格,该单位网格对应的点的数目可以是一个也可以是多个。对于对应多个点的单位网格,其对应的多个点可以仅包括第一点,也可以仅包括第三点,或者,其对应的多个点包括第一点和第三点。
步骤S140,根据多个二维的单位网格各自对应的点的相关数据和数量,对初始网格化数据进行更新,以使每个单位网格的数据中仅包括对应的唯一的点的相关数据。
如前所述,在初始网格化点云中的多个二维的单位网格中,至少存在对应多个点(第一点和/或第三点)的单位网格。对于每个对应多个点的单位网格,可以采用多种合适的融合更新方法对该单位网格所对应的多个点的相关数据进行融合更新,以使每个单位网格只包含唯一点的相关数据。可选地,可以对多个点的相关数据中的每一项分别求平均,得到平均后的相关数据,作为该唯一点的相关数据。替代地,也可以统计多个点的相关数据中的每一项的中位数,作为该唯一点的相关数据。在初始网格化点云中的多个二维的单位网格中,可以存在对应唯一点(第一点或第三点)的单位网格。对于这类单位网格,可以直接保留该唯一点的相关数据。在初始网格化点云中的多个二维的单位网格中还可能存在未对应任何第一点或第三点的单位网格,可以直接删除这类单位网格。由此,使得更新后的网格化数据中的每个单位网格中仅包括对应唯一的点的相关数据。
步骤S150,根据更新后的网格化数据,确定待测物的点云的存储数据。
根据本申请实施例,可以将更新后的网格化数据以多种合适的形式进行存储,得到待测物的点云的存储数据。在一个示例中,可以分别存储更新后的网格化数据中的各个单位网格的位置信息、每个单位网格中的唯一点的相关数据以及单位网格与点的相关数据的对应关系。换言之,可以直接存储更新后的网格化数据。这三类信息均可以用矩阵或数组的形式进行存储。以单位网格与点的相关数据的对应关系为例,可以使用索引来建立点和单位网格之间的对应关系。索引可以存储在一个矩阵或数组中,其中每一行或每一个元素表示每个点与单位网格空间的对应关系。在另一示例中,也可以基于更新后的网格化数据生成二维图像或三维图像进行存储。换言之,可以将更新后的网格化数据转换成一个或多个图像进行存储。例如,更新后的网格化数据中的各个单位网格为位置连续的二维网格,每个二维网格为正方形。并可以根据这些二维网格的位置和拓扑关系生成图像,图像中的每个像素点表示一个二维网格。例如,点云中的每个点所携带的信息包括x坐标、y坐标、z坐标和亮度值。如图2所示,二维网格所在的平面可以是x轴和y轴所形成的平面中。在此步骤中,可以根据图2中的17*4个二维网格的位置和边界生成尺寸为17pix*4pix的2个单通道图像或者一个二通道的图像。示例性地,图像的宽度可以等于这些网格的整体宽度(沿x方向的整体长度),图像的高度可以等于这些网格的整体高度(沿y方向的整体长度)。每个像素的像素值可以根据每个二维网格对应的唯一点的相关数据确定。例如,可以生成尺寸为17pix*4pix的深度图和亮度图。深度图中每个像素的像素值等于二维网格对应的唯一点的z坐标。而亮度图中的每个像素的像素值等于二维网格对应的唯一点所携带的亮度值。
如前所述,现有技术中的点云融合方法,通常是先对多组点云分别在不同的坐标系下进行网格化处理,得到多组稀疏的网格化数据。然后,对多组网格化数据进行配准和融合。由于其网格化处理通常是将三维的点云数据转化为三维的网格数据表示,因此,其后续的配准需要消耗的算力资源较多,并且配准融合的精度也较差,存储的数据量也较大。而根据本申请实施例的上述方案,在将两个相机分别采集的待测物的第一点云和第二点云进行配准的基础上,对位于同一坐标系下的两组点云进行二维网格化处理,可以准确且快速地得到包含对应第一点云和第二点云的各个点的多个二维的单位网格的初始网格化数据。之后,通过更新初始化网格数据,使得每个单位网格的数据中仅包括唯一的点的相关数据,从而也快速实现了点云的融合。进而,根据更新后的网格化数据,确定待测物的点云的存储数据。上述点云融合方案在点云配准的基础上进行二维网格化处理,不仅可以保证网格化数据的准确性。并且,使得位置相近的待融合点天然位于同一单位网格中,因此可以有效降低后续融合等处理操作的复杂度,可以显著提高点云融合的效率和精度。
在一些实施例中,第一点云和第二点云分别是第一相机和第二相机采集到的。第一相机和第二相机的参数相同。步骤S120针对第二点云执行向第一点云的配准操作,包括步骤S121和步骤S122。步骤S121,获取第一相机和第二相机之间的位姿关系。步骤S122,根据位姿关系,对第二点云执行向第一点云的配准操作。
第一相机和第二相机的参数可以是相机的焦距、畸变等参数。可以理解,在第一相机和第二相机的参数相同的情况下得到的第一点云和第二点云可以具有相同的尺度和畸变情况,为点云配准提供了共同的参考框架并且避免了噪声的干扰,可以降低点云配准的难度并可以提高配准的精度。
位姿关系是指在三维空间中描述一个物体(例如第一相机)相对于另一个参考物体(例如第二相机)的位置和方向关系。换言之,第一相机和第二相机的位姿关系可以是第一相机的坐标系和第二相机的坐标系之间的转换关系。在步骤S121之前,还可以包括位姿标定步骤。即可以预先采用多种合适的方式确定第一相机和第二相机的位姿关系。
示例性地,可以利用第一相机和第二相机分别拍摄立体靶标,得到两个标定点云。然后,可以提取两个标定点云中的特征点,并分别生成特征点序列。这些特征点可以是立体靶标上的角点、棋盘格交叉点等等。例如,可以生成对应每个相机的特征点序列pi。可以预先建立立体靶标的实际特征点序列qi。实际特征点序列中每个特征点的坐标表示立体靶标的该特征位置在世界坐标系下的坐标。pi与qi为两个坐标系下对同一个量的观测值,例如pi和qi对应立体靶标的同一特征位置。然后,可以根据这两个相机的特征点序列和立体靶标的实际特征点序列,确定第一相机和第二相机的位姿关系。
示例性而非限制性地,可以采用以下两步根据这两个相机的特征点序列和立体靶标的实际特征点序列确定第一相机和第二相机的位姿关系。第一步,可以根据这两个相机的特征点序列和立体靶标的实际特征点序列求解第一相机和第二相机的初始位姿。具体地,首先可以根据这两个相机的特征点序列和立体靶标的实际特征点序列求解第一相机的坐标系和第二相机的坐标系分别与世界坐标系的转换关系。然后,可以根据第一相机的坐标系和第二相机的坐标系分别与世界坐标系的转换关系,确定从第二相机的坐标系至第一相机的坐标系之间的位姿转换关系。例如,可以先后采用直接线性变换的方法和非线性优化算法,根据这两个相机的特征点序列pi和立体靶标的实际特征点序列qi求解每个相机的坐标系与世界坐标系之间的转换关系。具体地,可以首先在直接线性变换算法模型中输入特征点序列pi与特征点序列qi,并输出相机坐标系与世界坐标系的初始转换关系。然后,可以在直接线性变换求解的初始转换关系的基础上,对初始转换关系进行优化,得到每个相机的坐标系分别与世界坐标系之间的转换关系。示例性地,可以在所得到的每个相机坐标系与世界坐标系的初始转换关系的基础上,进一步采用非线性优化,求解每个相机坐标系与世界坐标系的最终转换关系。例如,可以将初始转换关系(例如初始旋转矩阵和平移法向量)作为诸如Levenberg-Marquardt算法的非线性优化模型的初始值,并输入特征点序列pi与特征点序列qi,由模型输出优化后的旋转矩阵R和平移向量法t。之后,可以根据求解出的第一相机的坐标系和第二相机的坐标系分别与世界坐标系之间的转换关系,初步计算从第二相机的坐标系至第一相机的坐标系的位姿转换关系。第二步,可以先根据初步计算的位姿转换关系将两个相机采集的标定点云进行初步配准;然后,针对初步配准后的两组标定点云的合并点云进行网格化处理,并根据网格化处理结果确定两个相机的标定点云的共视区域;进而,根据两个标定点云中落在共视区域内的点的坐标,对初步确定的位姿转换关系进行距离误差迭代优化,得到优化后的位姿转换关系。例如,根据初步确定的位姿转换关系,将第二相机采集的标定点云(例如,称作第二标定点云)进行坐标转换,转换之后的第二标定点云(例如,称作第三标定点云)可以与第一标定点云位于同一坐标系下。然后,可以将第一标定点云和第三标定点云的合并点云进行网格化处理。当同一个网格有两个标定点云的点时,则可以将该网格数据即为第一相机和第二相机共视区域内的数据。之后,可以采用基于点到点的迭代最近点匹配(iterated closed points,简称ICP)算法,对共视区域内的点进行距离误差迭代优化,直到满足收敛条件。具体地,可以将共视区域中属于第一标定点云的标定点序列P1j和属于第二标定点云的标定点序列P2k以及第一步确定的位姿转换关系作为ICP算法的输入参数,计算得到迭代优化后的位姿转换关系。其中,j∈(1,n),k∈(1,
m),并且第一步确定的位姿转换关系作为算法的初始值。
在步骤S122可以直接根据迭代优化后的位姿转换关系,将第二点云进行坐标转换,得到第三点云。
上述根据相机位姿关系对点云进行配准的方法,可以使配准操作的结果更加准确,有效地提升点云融合的准确性。
在一些实施例中,多个二维的单位网格为二维网格。步骤S130确定第一点云和第三点云的初始网格化数据,包括步骤S131a、步骤S131b和步骤S131c。
步骤S131a,在第一点云所在的第一坐标系中,将第一平面中的第一区域划分为多个二维的单位网格。其中,第一平面垂直于第一坐标系的第三维度。第三维度对应采集第一点云的相机的视轴方向。第一区域包括第一点云和第三点云在第一平面上的投影区域。
下面以第一维度、第二维度和第三维度分别对应待测物的长度方向、宽度方向和深度方向为例。例如,可以利用相机沿待测物的深度方向进行拍摄,得到第一点云。第一点云中每个点的x坐标、y坐标、z坐标分别表示待测物的长度方向、宽度方向和深度方向的位置。第一平面可以垂直于z轴,而平行于x轴和y轴所在平面。示例性地,第一平面可以是XOY平面。然后,可以根据第一点云和第三点云的各个点在第一平面的投影位置,确定第一区域。第一区域需至少覆盖第一点云和第三点云的所有投影区域,以使点云中的每个点均有相对应的单位网格。单位网格可以是正方形网格或长方形网格,当然也可以是三角形网格。单位网格的尺寸可以根据实际需求进行任意设置。例如,单位网格为正方形网格,可以根据相机的采样间距和系统的存储能力和融合精度要求等多种因素确定。示例性地,假设相机的采样间距为0.5mm,即待测物的同一面上相邻两个点之间的间距为0.5毫米,则可以确定每个单位网格的边长大于或等于0.5mm。例如,每个单位网格是1mm*1mm的二维网格。
步骤S131b,根据第一点云和第三点云中的各个点的坐标和每个单位网格的位置,确定多个二维的单位网格与各个第一点、各个第三点之间的对应关系。其中,对于任意的第一点或第三点,如果该点在第一平面的投影落在任一单位网格中,则确定该点与该单位网格具有对应关系。
可以根据每个单位网格的4个顶点的x坐标和y坐标、各个第一点和各个第三点的x坐标和y坐标,确定单位网格与第一点和第三点的对应关系。可以理解,在上述每个单位网格是1mm*1mm的二维网格的示例中,一个单位网格中至多包括4个第一点和/或4个第三点。
步骤S131c,在每个单位网格中存储对应的点在第三维度方向上的坐标值。
可以理解,由于二维网格平行于x轴和y轴,因此二维网格本身的位置信息即可较准确地表示所对应的点的位置信息。因此,无需额外存储二维网格对应的点的x坐标和y坐标。仅需存储对应的点的z坐标。在一些示例中,如果点云中的点还携带其他附加信息的情况,还可以在单位网格中存储对应的点的其他附加信息。例如,还可以存储对应的点所携带的亮度值。
在上述实施例中,通过将第一点云和第三点云进行二维网格化处理,确定点云中的点和二维网格的对应关系。并在网格中存储对应的点在第三维度方向上的坐标值。这种方案可以在保证网格化处理的准确度的基础上,显著减少计算量和初始网格化数据的存储空间,进而可以提高点云融合的精度和效率。
在一些实施例中,步骤S130确定第一点云和第三点云的初始网格化数据,包括步骤S132a、步骤S132b、步骤S132c和步骤S132d。
步骤S132a,对第一点云进行网格化处理,以得到第一网格化数据。其中,第一网格化数据是关于第一数目的单位网格的数据。示例性地,此步骤中的网格化处理方法与步骤S131a至步骤S131c的网格化处理方法类似,为了简洁,在此不再赘述。区别在于此步骤仅针对第一点云执行,换言之,第一数目的单位网格是根据各个第一点在第一平面的投影所形成的区域确定的。
步骤S132b,沿预设方向拓展第一数目的单位网格的边界,以对第一网格化数据进行更新,以使更新后的第一网格化数据中包括第二数目的单位网格。其中,预设方向是根据第三点云与第一点云的相对位置关系确定的,第二数目大于第一数目。预设方向可以表示为第三点云相对于第一点云的位置方向。示例性地,假设第三点云位于第一点云的上侧时,则第一网格化数据将向上侧第三点云的位置方向拓展。假设第三点云位于第一点云的右侧(例如y轴正方向)时,则第一网格化数据将向右侧第三点云的位置方向拓展。例如,可以根据相机的视野以及分辨率所确定拓展空间的大概尺寸。例如扩充空间的长度=视野/分辨率,此处主要是为了初始时开辟一个较大的内存空间。例如,拓展前的单位网格的第一数目是100,拓展前的单位网格的第二数目是180。即可以在100个二维网格的基础上向y轴方向再开辟80个网格空间。
步骤S132c,确定各个第三点与第二数目的单位网格的对应关系。步骤S132d,将第三点云中的各个点的相关数据映射至对应的单位网格中,得到初始网格化数据。可以采用与前述步骤S132b相同的方法确定每个第三点与180个单位网格的对应关系。然后,可以将第三点云中的各个点的z坐标、携带的附加信息映射至对应的单位网格中。由此得到的初始网格化数据为180个单位网格的数据,并且至少部分单位网格中存储有对应的点的相关数据。
在上述点云网格化处理方法更准确,可以避免遗漏。有效地提升了初始网格化数据的完整性、准确性和可靠性。
在一些实施例中,步骤S140对初始网格化数据进行更新,包括步骤S141、步骤S142和步骤S143。步骤S141,根据每个单位网格对应的点的数量,确定多个二维的单位网格中的第一网格。其中,第一网格是对应多个点的单位网格。步骤S142,对于每个第一网格,从该第一网格所对应的多个点中筛选出唯一的点。步骤S143,删除多个点中的除该唯一的点之外的其他点的相关数据。
此步骤可以视作单位网格中的点的“融合过程”。但此步骤的“融合”并非数据的融合,而是通过筛点的方法实现数据的合并。具体地,首先可以根据各个单位网格所对应的点的数量,从中选出对应多个点的单位网格,作为第一网格。示例性地,可以对第一网格内的多个点的相关数据进行分析,并根据分析结果筛选出唯一的点。并删除已存储的冗余点的存储数据,使得每个第一网格中仅包括唯一的点的数据。上述筛选出唯一的点可以是对应中值位置的点或其他具有特定属性或高质量属性的点。以第一点云和第二点云中的各个点所携带的信息包括三维坐标和亮度值为例。如果一个单位网格对应3个点,则可以分别计算这3个点的z坐标的均值和亮度值的均值,并可以从这3个点中筛选出z坐标和亮度值最接近均值的点,作为该唯一的点。或者,也可以直接将这3个点根据z坐标大小进行排序,然后,将位于中间的一个点作为该唯一的点。将已存储至该单位网格中的其他点(该唯一的点之外的点)的相关数据删除,从而仅保留该唯一点的相关数据作为该单位网格的有效数据。
图3示出根据本申请一个实施例的第一点云和第三点云的局部的示意图。如图所示,其红色曲线表示待测物的表面(沿XOZ平面的剖面图),黑色的点表示第一点,绿色点表示第三点。可以理解,在得到图2中示出的初始网格化数据之后,图中沿x轴方向的第5个第一点和第1个第三点可能被映射至同一单位网格中,即这两个点对应同一个第一网格。这两个点的z坐标不同,携带的诸如亮度值等附加信息也可能不同。由于两个相机是对待测物的离散采样,因此这两个点很可能并非待测物的同一个位置的点,如果采用现有技术中的数据融合的方法,例如加权融合等融合方法,很可能导致融合后误差的引入,同时边缘信息也会模糊。例如,这两个点所对应的两个位置的不同亮度值求平均之后并非是该位置的实际亮度值。由此,造成融合后的点云数据精度较差。而在上述方案中,根据筛选点的选取准则,在对应多个点的单位网格中仅存储保留一个有效数据点,不仅可以在保证存储数据的准确性的基础上显著降低存储的数据量大小,从而降低后续处理的复杂度,提高处理效率。可以在去除冗余信息的同时,保留点云的主要形状和结构特征,使得点云更加紧凑和易于处理。并且,上述筛选点的方法可以避免数据融合造成的精度损失,从而还可以提高点云融合的精度。
在一些实施例中,步骤S140对初始网格化数据进行更新,包括步骤S144和步骤S145。步骤S144,确定多个二维的单位网格中的第二网格。其中,第二网格是位于感兴趣区域中的单位网格。步骤S145,删除第二网格之外的其他单位网格。
步骤S145可以视作网格裁剪步骤。根据本申请实施例,感兴趣区域可以根据实际需求进行任意设置。以第一点云和第二点云均为芯片的点云为例。在对第一点云和第三点云进行配准并采用上述筛选点的方法进行“融合”之后得到的网格化数据中,还可能存在未对应任何点的冗余网格。或者,第一点云或第三点云中还存在由外部环境干扰而造成的噪点,在网格化数据中还存在对应这些噪点的单位网格,这类单位网格中存储的点的相关数据为无效数据。在此步骤中,可以通过预设的感兴趣区域,将这些单位网格删除。例如,感兴趣区域是位置连续的多个有效单位网格组成的区域。该有效单位网格可以是预设邻域(例如3*3邻域)内的单位网格的数量大于预设数量(例如3)并且对应至少一个点的单位网格。进一步地,感兴趣区域是位置连续的m*n个有效单位网格组成的区域。例如,先确定对应至少一个点的各个单位网格的中心网格,然后,将以该中心网格为中心且位置连续的m*n个有效单位网格所在的区域确定为感兴趣区域,然后可以将位于感兴趣区域之外的其他单位网格均裁剪掉,得到裁剪后的网格化数据。
在一些示例中,步骤S144和步骤S145还可以在步骤S141之前执行。换言之,网格裁剪步骤可以在筛选点步骤之前执行,这样可以减少筛选点步骤所消耗的计算量。
上述方案可以避免无效的单位网格占用存储空间,并可以避免这类无效数据对后续处理的不利影响,提高所存储的网格化数据的精度。
在一些实施例中,步骤S150确定待测物的点云的存储数据,包括步骤S151。
步骤S151,根据更新后的网格化数据,生成并存储第一图像。其中,第一图像中的各个像素与多个二维的单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点在第三维度方向上的坐标值。
可以理解,在相机视轴方向对应待测物的深度方向的情况下,相机所采集到的点云中的每个点的z坐标可以表示该点对应的待测物位置到相机的距离信息或深度信息。以上述感兴趣区域为m*n个单位网格所在区域为例,在此步骤中可以生成尺寸为m*n的深度图像。该深度图像中的每个像素对应一个单位网格。并且该像素的像素值为该单位网格所对应的唯一点的z坐标。这样,可以将第一点云和第三点云的网格化数据转换为二维的深度图像的格式进行存储。在该深度图像中只需存储一个浮点型的深度值即可。而无需额外存储每个点的x坐标和y坐标。示例性地,还可以记录位于图像边缘的像素所对应的单位网格的位置信息,或者存储各个像素与点云中的点的对应关系。例如,建立位置索引等。
上述将点云网格化数据存储为深度图像的方法不仅存储量可以大大降低,并且成像也更直观方便用户直观地获取待测物的三维形态。并且还方便用户利用深度图像执行后续的检测处理操作,降低后续处理的计算量和处理难度。例如,可以方便后续利用各种成熟的图像处理算法对待测物进行检测。
在一些实施例中,每个单位网格的数据中还包括对应的点的亮度数据。步骤S150确定待测物的点云的存储数据,还包括步骤S152。
步骤S152,根据更新后的网格化数据,生成并存储第二图像。其中,第二图像中的各个像素与多个二维的单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点的亮度值。
步骤S152的实现原理与上述步骤S151类似,为了简洁,在此不再赘述。与步骤S151不同的是,第二图像中的每个像素的像素值为对应的单位网格对应的唯一点所携带的亮度值。第二图像可以是灰度图像。第二图像可以表示为灰度图像。不仅可以降低存储空间,而且可以方便用户直观地获取待测物表面不同位置的亮度信息。灰度图可以更加清楚地表示待测物的形状、纹理或边缘等特征,并且显著地降低后续数据处理的复杂性这样,可以方便后续对点云存储数据的进一步处理。例如,方便后续通过图像分割确定待测物的不同区域,进而实现对待测物的高效且精准地检测。
在上述实施例中,将带有亮度信息的两组四维点云数据(x,y,z,gray)进行融合后得到的有序化点云数据结构存储为携带有深度信息的深度图像和携带有亮度信息的灰度图像。可以有效降低后续处理的复杂性。并且计算量小,存储数据的精度也较高,还可以更直观地表示待测物的表面形态。用户体验也更好。
图4示出根据本申请另一个实施例的点云融合方法的流程图。如图所示,可以首先利用第一相机和第二相机分别拍摄立体靶标的不同区域,得到两组标定点云。然后,可以提取两个标定点云中的特征点,并分别生成对应每个相机的特征点序列。然后,可以采用前述位姿标定步骤所列举的方法,根据两组标定点云、对应每个相机的特征点序列以及预先建立的立体靶标的实际特征点序列,确定这两个相机之间的位姿关系。然后,可以将待测物置于这两个相机的采集区域中,利用第一相机和第二相机分别以不同的位姿沿待测物的深度方向进行拍摄,得到待测物的第一点云和第二点云。示例性地,第一点云和第二点云中的每个点均携带有点的三维坐标和亮度信息。并可以根据所确定的两个相机之间的位姿关系,将第二点云进行坐标转换,以实现第一点云和第二点云的配准,得到第三点云。可以理解,第三点云与第一点云位于同一坐标系下。并且,第一点云和第三点云中每个点的z坐标对应相机的视轴方向(近似待测物的深度方向)。然后,可以对第一点云进行网格化处理,得到包含多个二维网格(单位网格的数目例如是第一数目)的第一网格化数据。具体地,可以将第一点云中各个点在XOY平面的投影区域划分多个二维的单位网格。并可以根据每个第一点在XOY平面上的投影位置,确定第一点与这些单位网格的对应关系,并将存在对应关系的各个第一点的z坐标和亮度值存储至对应的单位网格中。然后,可以在第一网格化数据中的基础上,基于第一相机和第二相机的相对位置关系(例如,第二相机位于第一相机的右侧),对第一网格化数据的网格划分方式扩充适当距离的右边区域,得到拓展后的单位网格(单位网格的数目例如是第二数目)。然后,可以确定第三点云中的第三点与这些单位网格的对应关系,并将每个第三点云中的点所携带的z坐标和亮度值映射至对应的单位网格中,得到初始网格化数据。接着,对于每个对应多个点的第一网格,可以根据筛选点的选取准则,从对应的多个点中筛选出唯一的点,并将该唯一的点作为有效数据点,并将其他点的作为无效数据点。并可以删除每个第一网格中的无效数据点。最后,可以将位于预设的感兴趣区域内且对应唯一的点的单位网格作为第二网格,并可以删除第二网格之外的其他单位网格,将剩余的单位网格作为更新后的网格化数据。然后,可以根据更新后的网格化数据分别生成可以直观表示待测物的各个位置的深度信息的深度图像和各个位置的亮度值的灰度图。
根据本申请的另一方面,还提供了一种点云融合系统。图5示出了根据本申请的一个实施例的点云融合系统500的示意性框图。如图5所示,点云融合系统500包括获取模块510、配准模块520、确定模块530、更新模块540和存储模块550。
获取模块510用于获取待测物的第一点云和第二点云。根据本申请实施例,第一点云可以对应待测物的第一区域,第二点云对应待测物的第二区域,并且第一区域与第二区域具有重叠区域。
配准模块520用于针对第二点云执行向第一点云的配准操作,以得到配准后的第二点云,作为第三点云。
确定模块530用于根据第一点云中的各个点的坐标、第三点云中的各个点的坐标,确定第一点云和第三点云的初始网格化数据。其中,初始网格化数据是关于多个二维的单位网格的数据,多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系,每个单位网格的数据中包括对应的点的相关数据,相关数据至少包括点的坐标数据,第一点是第一点云中的任意点,第三点是第三点云中的任意点。
更新模块540用于根据多个二维的单位网格各自对应的点的相关数据和数量,对初始网格化数据进行更新,以使每个单元网格的数据中仅包括对应的唯一的点的相关数据。
存储模块550用于根据更新后的网格化数据,确定待测物的点云的存储数据。
根据本申请另一方面,还提供了一种电子设备。图6示出了根据本申请一个实施例的电子设备600的示意性框图。如图6所示,电子设备600包括处理器610和存储器620。其中,存储器620中存储有计算机程序指令,计算机程序指令被处理器610运行时用于执行上述点云融合方法100。
此外,根据本申请又一方面,还提供了一种存储介质。在存储介质上存储了程序指令。在程序指令被计算机或处理器运行时使得计算机或处理器执行本申请实施例的上述点云融合方法100的相应步骤,并且用于实现根据本申请实施例的上述点云融合方法100的相应模块或上述电子设备中的相应模块。存储介质例如可以包括平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上述有关点云融合方法100的相关描述,可以理解上述点云融合系统400、电子设备500和存储介质的具体实现方案和有益效果,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的点云融合系统中的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。
Claims (11)
1.一种点云融合方法,其特征在于,包括:
获取待测物的第一点云和第二点云;
针对所述第二点云执行向所述第一点云的配准操作,以得到配准后的第二点云,作为第三点云;
根据各个第一点的坐标和各个第三点的坐标,确定所述第一点云和所述第三点云的初始网格化数据,其中所述初始网格化数据是关于多个二维的单位网格的数据,所述多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系,每个单位网格的数据中包括对应的点的相关数据,所述相关数据至少包括点的坐标数据,所述第一点是所述第一点云中的任意点,所述第三点是所述第三点云中的任意点;
根据所述多个二维的单位网格各自对应的点的相关数据和数量,对所述初始网格化数据进行更新,以使每个单位网格的数据中仅包括对应的唯一的点的相关数据;以及
根据更新后的网格化数据,确定所述待测物的点云的存储数据。
2.如权利要求1所述的点云融合方法,其特征在于,所述确定所述第一点云和所述第三点云的初始网格化数据,包括:
在所述第一点云所在的第一坐标系中,将第一平面中的第一区域划分为多个单位网格;其中所述第一平面垂直于所述第一坐标系的第三维度,所述第三维度对应采集所述第一点云的相机的视轴方向,所述第一区域包括所述第一点云和所述第三点云在所述第一平面上的投影区域;
根据所述第一点云和所述第三点云中的各个点的坐标和每个单位网格的位置,确定所述多个单位网格与各个第一点、各个第三点之间的对应关系,其中,对于任意的第一点或第三点,如果该点在所述第一平面的投影落在任一单位网格中,则确定该点与该单位网格具有对应关系;以及
在每个单位网格中存储对应的点在所述第三维度方向上的坐标值。
3.如权利要求2所述的点云融合方法,其特征在于,所述确定所述待测物的点云的存储数据,包括:
根据所述更新后的网格化数据,生成并存储第一图像,其中所述第一图像中的各个像素与所述多个单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点在所述第三维度方向上的坐标值。
4.如权利要求3所述的点云融合方法,其特征在于,每个单位网格的数据中还包括对应的点的亮度数据,所述确定所述待测物的点云的存储数据,还包括:
根据所述更新后的网格化数据,生成并存储第二图像,其中所述第二图像中的各个像素与所述多个单位网格一一对应,并且每个像素的像素值等于对应的单位网格中所存储的唯一的点的亮度值。
5.如权利要求1至4任一项所述的点云融合方法,其特征在于,所述对所述初始网格化数据进行更新,包括:
根据每个单位网格对应的点的数量,确定所述多个二维的单位网格中的第一网格,其中所述第一网格是对应多个点的单位网格;
对于每个第一网格,
从该第一网格所对应的多个点中筛选出唯一的点;
删除多个点中的除该唯一的点之外的其他点的相关数据。
6.如权利要求1至4任一项所述的点云融合方法,其特征在于,所述第一点云和所述第二点云分别是第一相机和第二相机采集到的,所述第一相机和所述第二相机的参数相同,所述针对所述第二点云执行向所述第一点云的配准操作,包括:
获取所述第一相机和所述第二相机之间的位姿关系;以及
根据所述位姿关系,对所述第二点云执行向所述第一点云的配准操作。
7.如权利要求1至4任一项所述的点云融合方法,其特征在于,所述确定所述第一点云和所述第三点云的初始网格化数据,包括:
对所述第一点云进行网格化处理,以得到第一网格化数据,其中所述第一网格化数据是关于第一数目的单位网格的数据;
沿预设方向拓展所述第一数目的单位网格的边界,以对所述第一网格化数据进行更新,以使更新后的第一网格化数据中包括第二数目的单位网格,其中,所述预设方向是根据所述第三点云与所述第一点云的相对位置关系确定的,所述第二数目大于所述第一数目;
确定各个第三点与所述第二数目的单位网格的对应关系;以及
将所述第三点云中的各个点的相关数据映射至对应的单位网格中,得到所述初始网格化数据。
8.如权利要求7所述的点云融合方法,其特征在于,所述对所述初始网格化数据进行更新,包括:
确定所述多个二维的单位网格中的第二网格,其中所述第二网格是位于感兴趣区域中的单位网格;以及
删除所述第二网格之外的其他单位网格。
9.一种点云融合系统,其特征在于,包括:
获取模块,用于获取待测物的第一点云和第二点云;
配准模块,用于针对所述第二点云执行向所述第一点云的配准操作,以得到配准后的第二点云,作为第三点云;
确定模块,用于根据各个第一点的坐标和各个第三点的坐标,确定所述第一点云和所述第三点云的初始网格化数据,其中所述初始网格化数据是关于多个二维的单位网格的数据,所述多个二维的单位网格中的至少部分单位网格与至少一个第一点和/或至少一个第三点存在对应关系,每个单位网格的数据中包括对应的点的相关数据,所述相关数据至少包括点的坐标数据,所述第一点是所述第一点云中的任意点,所述第三点是所述第三点云中的任意点;
更新模块,用于根据所述多个二维的单位网格各自对应的点的相关数据和数量,对所述初始网格化数据进行更新,以使每个单元网格的数据中仅包括对应的唯一的点的相关数据;以及
存储模块,用于根据更新后的网格化数据,确定所述待测物的点云的存储数据。
10.一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至8任一项所述的点云融合方法。
11.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至8任一项所述的点云融合方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410050636.0A CN117911471A (zh) | 2024-01-12 | 2024-01-12 | 点云融合方法、系统、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410050636.0A CN117911471A (zh) | 2024-01-12 | 2024-01-12 | 点云融合方法、系统、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117911471A true CN117911471A (zh) | 2024-04-19 |
Family
ID=90691709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410050636.0A Pending CN117911471A (zh) | 2024-01-12 | 2024-01-12 | 点云融合方法、系统、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117911471A (zh) |
-
2024
- 2024-01-12 CN CN202410050636.0A patent/CN117911471A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chauve et al. | Robust piecewise-planar 3D reconstruction and completion from large-scale unstructured point data | |
KR101532864B1 (ko) | 모바일 디바이스들에 대한 평면 맵핑 및 트래킹 | |
Santos et al. | 3D plant modeling: localization, mapping and segmentation for plant phenotyping using a single hand-held camera | |
KR20110127202A (ko) | 장면 해석과 등록 수행 평가를 위한 2차원 전기광학 이미지와 3차원 포인트 클라우드 데이터의 융합 | |
CN108921895A (zh) | 一种传感器相对位姿估计方法 | |
CN110533774B (zh) | 一种基于智能手机的三维模型重建方法 | |
Mordohai et al. | Real-time video-based reconstruction of urban environments | |
CN117315146B (zh) | 基于跨尺度多源数据的三维模型的重建方法及存储方法 | |
Özdemir et al. | A multi-purpose benchmark for photogrammetric urban 3D reconstruction in a controlled environment | |
CN115035235A (zh) | 三维重建方法及装置 | |
Zhang et al. | Lidar-guided stereo matching with a spatial consistency constraint | |
CN112630469A (zh) | 一种基于结构光和多光场相机的三维检测方法 | |
CN113345072A (zh) | 一种多视角遥感地形影像点云重建方法及系统 | |
CN116935013A (zh) | 基于三维重建的电路板点云大范围拼接方法及系统 | |
CN116843860A (zh) | 激光雷达点云与影像密集匹配点云融合建模方法及装置 | |
Budianti et al. | Background blurring and removal for 3d modelling of cultural heritage objects | |
CN117911471A (zh) | 点云融合方法、系统、电子设备及存储介质 | |
CN113240755B (zh) | 基于街景图像与车载激光融合的城市场景构图方法及系统 | |
CN109118576A (zh) | 基于bds位置服务的大型场景三维重建系统及重建方法 | |
Wan et al. | A performance comparison of feature detectors for planetary rover mapping and localization | |
CN108921908B (zh) | 表面光场的采集方法、装置及电子设备 | |
Wang et al. | Multi-surface hydraulic valve block technique hole plug inspection from monocular image | |
Balzer et al. | Volumetric reconstruction applied to perceptual studies of size and weight | |
CN108151712B (zh) | 一种人体三维建模及测量方法和系统 | |
Han et al. | 3D reconstruction of dense model based on the sparse frames using RGBD camera |
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 |