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

一种适用于多种场景的点云降采样方法及装置与流程

2022-06-05 13:27:42 来源:中国专利 TAG:

一种适用于多种场景的点云降采样方法及装置
1.技术邻域
2.本技术涉及计算机视觉技术邻域,尤其涉及一种适用于多种场景的点云降采样方法及装置。


背景技术:

3.目前,三维机器视觉检测技术已经被广泛应用于工业智能制造邻域。在实际检测项目中,三维机器视觉检测技术通常使用高分辨率相机获取3d点云数据。获取到的3d点云数据存在密度高、冗余信息多、整体数量庞大等缺点,若直接对获取到的全部3d点云数据进行存储和处理,需要占用巨大的计算机内存空间,以及耗费大量的时间,导致3d点云数据的处理效率较低。因此,需要通过点云降采样算法对海量、高密度的3d点云数据进行降采样处理,从而实现精简3d点云数据的目的。
4.为了提高3d点云数据的处理效率,现有技术提供了一种基于体素网格的方法对3d点云数据进行降采样处理,即3d点云数据的精简过程。该方法首先将3d点云数据直接包含在一个大体素格中;然后将大体素格划分为多个大小均匀的小体素格;最后通过在小体素格内部按照一定规则求取或选取特征点表征小体素格,完成3d点云数据的消冗、精简过程。
5.但是上述基于体素网格的点云降采样方法中,由于获取到的3d点云数据大小不同,人为设置体素格的方式主观性又较强,难以控制每次设置体素格的具体大小,体素格的大小也难以适应更高精度的3d点云数据精简要求。另外,通过一定规则求取或选取特征点表征体素格的方式无法完全保留3d点云数据的特征点,尤其是对于数据分布不均匀的3d点云数据,特征点的丢失情况更严重。


技术实现要素:

6.本技术提供了一种适用于多种场景的点云降采样方法及装置,以解决现有技术中存在的直接采用基于体素网格的点云降采样方法无法适应更高精度的3d点云数据精简要求,也无法完全保留3d点云数据的特征点问题。
7.第一方面,本技术提供一种适用于多种场景的点云降采样方法,包括:
8.获取3d原始点云,所述3d原始点云包括至少一个边界点和至少一个非边界点;
9.根据所述3d原始点云的场景,采用相对应的算法提取所述3d原始点云的边界区域、特征区域和非特征区域,所述边界区域包括至少一个所述边界点,所述特征区域包含至少一个特征点,所述非特征区域包含至少一个非特征点;其中,所述边界区域通过对应的边界点检测算法提取,所述特征区域和非特征区域通过对应的特征点提取算法获取,且所述特征区域和非特征区域在非边界区域中进行提取,所述非边界区域包括至少一个所述非边界点;
10.对所述特征区域内的至少一个特征点进行点云降采样处理,得到特征结果点云;
11.对所述非特征区域内的至少一个非特征点进行点云降采样处理,得到非特征结果点云;
12.将所述边界区域与所述特征结果点云以及所述非特征结果点云组合后作为3d精简点云输出。
13.在本技术的较佳实施例中,所述边界点检测算法包括最大投影角度识别法、统计学法和向量累加法,其中,采用最大投影角度识别法提取边界区域的步骤包括:
14.获取所述3d原始点云中任意一个目标点的局部拟合平面,所述目标点包括边界点和非边界点;
15.将所述目标点投影至局部拟合平面,得到目标投影点;
16.计算并比较每个邻域投影点与目标投影点连线在所述局部拟合平面上的最大相邻向量夹角,所述邻域投影点为对应的邻域点在局部拟合平面上的投影,所述邻域点根据所述目标点的邻域得到;
17.比较所述最大相邻向量夹角和夹角阈值,判断所述目标点是否为边界点;
18.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
19.在本技术的较佳实施例中,采用统计学法提取边界区域的步骤包括:
20.获取所述3d原始点云中任意一个目标点的邻域点距平均值,所述目标点包括边界点和非边界点;
21.根据3d原始点云的整体邻域点距平均值和整体邻域点距标准差设置邻域点距阈值;
22.比较所述邻域点距平均值和邻域点距阈值,判断所述目标点是否为边界点;
23.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
24.在本技术的较佳实施例中,采用向量累加法提取边界区域的步骤包括:
25.获取所述3d原始点云中任意一个目标点的邻域点与目标点连线归一化之后的向量,所述目标点包括边界点和非边界点;
26.计算所述3d原始点云整体邻域点连线的向量累加和均值和向量累加和标准差;
27.比较所述向量累加和均值和均值阈值,以及比较所述向量累加和标准差和标准差阈值,判断所述目标点是否为边界点;
28.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
29.在本技术的较佳实施例中,通过特征点提取算法提取特征区域的步骤包括:
30.获取所述3d原始点云中每个非边界点的至少一个特征属性信息;
31.根据至少一个特征阈值判断所述非边界点是否属于特征点,所述特征阈值与所述特征属性信息相对应;
32.将所述3d原始点云中判定为特征点的所有非边界点组合输出为特征区域。
33.在本技术的较佳实施例中,对所述特征区域内的至少一个特征点进行点云降采样处理,得到特征结果点云,包括采用基于体素采样的点云降采样方法进行点云精简,步骤如下:
34.将所述特征区域划分为至少一个体素网格;
35.获取每个体素网格内至少一个特征点的中心最近点或重心点;
36.以所述中心最近点或重心点表征该体素网格内的所有特征点;
37.将所述特征区域内的所有中心最近点或重心点组合输出为特征结果点云。
38.在本技术的较佳实施例中,所述点云降采样处理还包括基于均匀采样的点云降采
样方法、基于空间点距采样的点云降采样方法、基于聚类相关算子的点云降采样方法;
39.若3d原始点云分布均匀,则采用基于体素采样或均匀采样的点云降采样方法进行点云精简;
40.若3d原始点云分布不均匀,则采用基于空间点距采样的点云降采样方法或基于聚类相关算子的点云降采样方法进行点云精简。
41.第二方面,本技术提供一种适用于多种场景的点云降采样装置,包括相互连接的获取单元、提取单元、点云降采样单元和输出单元;
42.其中,所述获取单元被配置为:
43.获取3d原始点云,所述3d原始点云包括至少一个边界点和至少一个非边界点;
44.所述提取单元被配置为:
45.根据所述3d原始点云的场景,采用相对应的算法提取所述3d原始点云的边界区域、特征区域和非特征区域,所述边界区域包括至少一个所述边界点,所述特征区域包含至少一个特征点,所述非特征区域包含至少一个非特征点;其中,所述边界区域通过对应的边界点检测算法提取,所述特征区域和非特征区域通过对应的特征点提取算法获取,且所述特征区域和非特征区域在非边界区域中进行提取,所述非边界区域包括至少一个所述非边界点;
46.所述点云降采样单元被配置为:
47.对所述特征区域内的至少一个特征点进行点云降采样处理,得到特征结果点云;
48.对所述非特征区域内的至少一个非特征点进行点云降采样处理,得到非特征结果点云;
49.所述输出单元被配置为:
50.将所述边界区域与所述特征结果点云以及所述非特征结果点云组合后作为3d精简点云输出。
51.第三方面,本技术提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现一种适用于多种场景的点云降采样方法的步骤。
52.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现一种适用于多种场景的点云降采样方法的步骤。
53.本技术提供的一种适用于多种场景的点云降采样方法及装置,相较于现有技术而言,具有以下有益效果:
54.本技术通过多种边界点检测算法快速获取3d原始点云的边界区域,可以很大程度保留3d原始点云的精细边界特征,采样精度较高;然后,通过多种特征点提取算法进一步提取非边界点中的特征区域和非特征区域,以便保留大部分特征区域,还可避免由于非特征区域内的非边界点过于稀疏出现的空洞等现象;最后,对特征区域和非特征区域进一步采用多种点云降采样方法进行点云精简处理,可以满足不同场景要求的采样精度和效率,提高了点云降采样的灵活性和通用性。
附图说明
55.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本邻域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
56.图1是本技术实施例1的一种适用于多种场景的点云降采样方法流程图;
57.图2a是本技术应用例中第一3d原始点云示意图;
58.图2b是本技术应用例中第一3d精简点云示意图;
59.图2c是本技术应用例中第二3d精简点云示意图;
60.图3a是本技术应用例中第二3d原始点云示意图;
61.图3b是本技术应用例中第三3d精简点云示意图;
62.图3c是本技术应用例中第四3d精简点云示意图。
具体实施方式
63.为使本技术的目的、实施方式和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。
64.因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本邻域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
65.基于本技术描述的示例性实施例,本邻域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术所附权利要求保护的范围。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
66.需要说明的是,本技术中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本技术的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
67.为便于对申请的技术方案进行,以下首先在对本技术所涉及到的一些概念进行说明。
68.在本技术中,诸如“第一”、“第二”、“第三”和“第四”等术语仅仅是用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或顺序。另外,术语“包括”、“还包括”或者任何其他变体意在涵盖非排他性的包含,从而使得其不仅包括明确列出的要素,还包括没有明确列出的其他要素。因此,不会造成本技术的方案不清楚。
69.点云是在同一空间参考系下表达目标空间分布和目标表面特性的海量点的集合。
70.现有技术中也提供了一种基于聚类的点云降采样方法,该方法通过聚类算法将3d点云数据中的相似同名点聚集为同一类别,并根据一定规则进行融合,从而实现3d点云数据的消冗。但是此方法存在初始参数调整难、融合结果点分布不均匀等缺点。
71.现有技术中还提供了一种基于三角网格的点云降采样方法,该方法首先将获得的
3d点云数据进行三角网格化,即建立三角网格拓扑关系,其次计算三角网格的法向量,然后根据法向量的加权算法,对生成的三角网格进行判断,并删除冗余网格,以达到3d点云数据精简的要求。但是此方法存在对3d点云数据进行三角网格化的过程耗费时间长、三角网格算法复杂度高、占用资源大等缺点。
72.实施例1
73.如图1所示,本实施例1提供了一种适用于多种场景的点云降采样方法,所述方法包括:
74.s101,获取3d原始点云,所述3d原始点云包括至少一个边界点和至少一个非边界点;
75.s102,根据所述3d原始点云的场景,采用相对应的算法提取所述3d原始点云的边界区域、特征区域和非特征区域,所述边界区域包括至少一个所述边界点,所述特征区域包含至少一个特征点,所述非特征区域包含至少一个非特征点;其中,所述边界区域通过对应的边界点检测算法提取,所述特征区域和非特征区域通过对应的特征点提取算法获取,且所述特征区域和非特征区域在非边界区域中进行提取,所述非边界区域包括至少一个所述非边界点;
76.s103,对所述特征区域内的至少一个特征点进行点云降采样处理,得到特征结果点云;
77.s104,对所述非特征区域内的至少一个非特征点进行点云降采样处理,得到非特征结果点云;
78.s105,将所述边界区域与所述特征结果点云以及所述非特征结果点云组合后作为3d精简点云输出。
79.需要特别说明的是,在本实施例1的步骤s102中,边界区域、特征区域和非特征区域是通过不同的算法进行获取的,先提取边界点,然后在非边界点中继续提取特征点和非特征点,其提取过程并不冲突。进一步地,步骤s103和步骤s104中对特征区域和非特征区域进行点云降采样的处理是同步进行的,将两者拆分为两个步骤是为了更清楚地说明本技术的技术方案,实际上步骤s103和步骤s104在程序运行上并无先后顺序,不应该认为是对本技术保护范围的限制,也不会造成本技术技术方案不清楚。
80.进一步地,在本实施例1的一种具体实施方式中,步骤s102中的边界点检测算法包括最大投影角度识别法、统计学法和向量累加法,所述最大投影角度识别法适用于所述3d原始点云分布不均匀或所述3d原始点云折叠边界较多的场景,以便准确识别所述3d原始点云的边界点;所述统计学法和向量累加法适用于所述3d原始点云分布均匀的场景,采用统计学法的边界点检测算法的检测效率较高,采用向量累加法的边界点检测算法的检测精度较高。本技术所列出的每种边界点检测算法所适用的场景情况均为根据本领域技术人员的经验得出的最佳适用场景,但是在实际应用中具体采用哪种边界点检测算法可通过输入的3d原始点云的场景由计算机程序自动判断更适合的边界点检测算法,从而达到更好的边界点检测效果,本技术对其不做具体限制。
81.更进一步地,在本实施例1中,采用最大投影角度识别法提取边界区域包括:
82.获取所述3d原始点云中任意一个目标点的局部拟合平面,所述目标点包括边界点和非边界点;
83.将所述目标点投影至局部拟合平面,得到目标投影点;
84.计算并比较每一个邻域投影点与目标投影点连线在所述局部拟合平面上的最大相邻向量夹角,每一个所述邻域投影点为对应的邻域点在局部拟合平面上的投影,每一个所述邻域点根据所述目标点的邻域得到;
85.比较所述最大相邻向量夹角和预先设置的夹角阈值,判断所述目标点是否为边界点;
86.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
87.具体地,在本实施例1中,采用最大投影角度识别法提取边界区域的具体步骤如下:
88.通过kd-tree/oc-tree/四叉树等常见搜索树构建3d原始点云的拓扑关系;
89.根据所述拓扑关系,设置邻域搜索半径;
90.根据所述邻域搜索半径搜索3d原始点云中每个目标点对应的球邻域;
91.对所述球邻域中的至少一个邻域点进行平面拟合,获取所述目标点的局部拟合平面;
92.将所述目标点和至少一个所述邻域点分别投影至所述局部拟合平面,得到目标投影点和邻域投影点;
93.计算并比较每个所述邻域投影点与目标投影点连线的夹角,得到最大相邻向量夹角;
94.比较所述最大相邻向量夹角和预先设置的夹角阈值,判断所述目标点是否为边界点;
95.遍历所述3d原始点云中的每个目标点,并重复上述步骤判断目标点是否为边界点;
96.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
97.更进一步地,在本实施例1的一种具体实施方式中,采用统计学法提取边界区域包括:
98.获取所述3d原始点云中任意一个目标点半径邻域内的邻域点距平均值,所述目标点包括边界点和非边界点;
99.根据3d原始点云的整体邻域点距平均值和整体邻域点距标准差设置邻域点距阈值;
100.比较所述邻域点距平均值和邻域点距阈值,判断所述目标点是否为边界点;
101.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
102.具体地,在本实施例1中,采用统计学法提取边界区域的具体步骤如下:
103.通过kd-tree/oc-tree/四叉树等常见搜索树构建3d原始点云的拓扑关系;
104.根据所述拓扑关系,设置邻域搜索半径或邻域搜索点数;
105.根据所述邻域搜索半径或邻域搜索点数搜索3d原始点云中每个目标点对应的邻域;
106.计算邻域点距平均值,所述邻域点距平均值根据所述目标点与所述邻域中各个邻域点之间的距离进行计算;
107.根据所述邻域点距平均值计算3d原始点云的整体邻域点距平均值和整体邻域点
距标准差;
108.根据所述整体邻域点距平均值和整体邻域点距标准差,设置邻域点距阈值;
109.比较所述邻域点距平均值和邻域点距阈值,判断所述目标点是否为边界点;
110.遍历所述3d原始点云中的每个目标点,并重复上述步骤判断目标点是否为边界点;
111.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
112.更进一步地,在本实施例1的一种具体实施方式中,采用向量累加法提取边界区域包括:
113.获取所述3d原始点云中任意一个目标点的邻域点与目标点连线归一化之后的向量,所述目标点包括边界点和非边界点;
114.计算所述3d原始点云整体邻域点连线的向量累加和均值和向量累加和标准差;
115.比较所述向量累加和均值和预先设置的均值阈值,以及比较所述向量累加和标准差和标准差阈值,判断所述目标点是否为边界点;
116.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
117.具体地,在本实施例1中,采用向量累加法提取边界区域的具体步骤如下:
118.通过kd-tree/oc-tree/四叉树等常见搜索树构建3d原始点云的拓扑关系;
119.根据所述拓扑关系,设置邻域搜索半径或邻域搜索点数;
120.根据所述邻域搜索半径或邻域搜索点数搜索3d原始点云中每个目标点对应的邻域;
121.计算所述邻域中每个邻域点与目标点连线的向量累加和;
122.若所述向量累加和趋近于零向量,则所述目标点为边界点;
123.遍历所述3d原始点云中的每个目标点,并重复上述步骤判断目标点是否为边界点;
124.将所述3d原始点云中判定为边界点的所有目标点组合输出为边界区域。
125.更进一步地,在本实施例1的一种具体实施方式中,步骤s102中的特征点提取算法提取特征区域的步骤包括:
126.获取所述3d原始点云中每个非边界点的至少一个特征属性信息;
127.根据至少一个特征阈值判断所述非边界点是否属于特征点,所述特征阈值与所述特征属性信息相对应;
128.将所述3d原始点云中判定为特征点的所有非边界点组合输出为特征区域。
129.具体地,在本实施例1中,步骤s102中的特征点提取算法提取特征区域和非特征区域的具体过程如下:
130.通过kd-tree/oc-tree/四叉树等常见搜索树构建3d原始点云的拓扑关系;
131.根据所述拓扑关系,设置邻域搜索半径或近邻数k;
132.根据所述邻域搜索半径或近邻数k搜索3d原始点云中每个非边界点对应的邻域;
133.根据领域信息计算所述3d原始点云中每个非边界点的至少一个特征属性信息;
134.根据至少一个特征属性信息和对应的特征阈值,即每一个特征属性信息均有一个与其相对应的特征阈值,判断所述非边界点是否为特征点;
135.将所述3d原始点云中判定为特征点的所有非边界点组合输出为特征区域;
136.将所述3d原始点云中除所述特征点之外的所有非边界点组合输出为非特征区域。
137.需要特别指出的是,在本实施例1中,所述特征属性信息包括曲率、邻域法线夹角均值、目标点到其邻域中心的距离、邻域平均点距、邻域特征熵等;所述特征阈值包括曲率阈值、邻域法线夹角阈值、目标点到其邻域中心的距离阈值、邻域平均点距阈值和邻域特征熵阈值等;本领域技术人员可以根据实际需要,选择提取一种特征信息或者多种特征信息,即只需满足一种特征阈值或者需要同时满足多种特征阈值的方法进行特征点的筛选。
138.另外,在本实施例1中,若3d原始点云较大,且曲率特征较多,优先采用曲率或邻域法线夹角均值或邻域特征熵的特征属性信息作为特征提取算法提取特征点;若3d原始点云分布不均匀,且特征区域内特征点的密度较高,优先采用目标点到其邻域中心的距离或邻域平均点距或邻域特征熵的特征属性信息作为特征提取算法提取特征点。本技术所列出的每种特征点提取算法所适用的场景情况均为根据本领域技术人员的经验得出的最佳适用场景,但是在实际应用中具体采用哪种特征点提取算法可通过输入3d原始点云的情况由计算机程序自动判断更适合的特征点提取算法,从而达到更好的特征点提取效果,本技术对其不做具体限制。
139.进一步地,在本实施例1的一种具体实施方式中,步骤s103和步骤s104中点云降采样处理包括基于体素采样或均匀采样的点云降采样方法、基于随机采样的点云降采样方法、基于索引间隔采样的点云降采样方法、基于空间点距采样的点云降采样方法、基于特征强度排序采样的点云降采样方法、基于k-means聚类的点云降采样方法、基于k-mediods聚类的点云降采样方法、基于dbscan聚类的点云降采样方法、基于邻域均值的点云降采样方法、基于均值漂移的点云降采样方法等,其中,基于体素采样或均匀采样的点云降采样方法适用于3d原始点云分布均匀的场景;基于空间点距采样的点云降采样方法或基于聚类相关算子的点云降采样方法适用于3d原始点云分布不均匀的场景,基于聚类相关算子的点云降采样方法包括上述基于k-means聚类的点云降采样方法、基于k-mediods聚类的点云降采样方法和基于dbscan聚类的点云降采样方法;基于邻域均值的点云降采样方法适用于特征区域和非特征区域中需要密集采样显著特征的场景;基于索引间隔采样的点云降采样方法适用于点云精简效率要求较高的情况;基于特征强度排序采样的点云降采样方法适用于只需要突出显著特征的情况。本技术所列出的每种点云降采样算法所适用的场景情况均为根据本领域技术人员的经验得出的最佳适用场景,但是在实际应用中具体采用哪种点云降采样算法可通过输入3d原始点云的情况由计算机程序自动判断更适合的点云降采样算法,从而达到更好的点云精简效果,本技术对其不做具体限制。
140.更进一步地,在本实施例1的一种具体实施方式中,所述基于体素采样或均匀采样的点云降采样方法处理过程包括:
141.将所述特征区域划分为至少一个体素网格;
142.获取每个体素网格内至少一个特征点的中心最近点或重心点;
143.以所述中心最近点或重心点表征该体素网格内的所有特征点;
144.将所述特征区域内的所有中心最近点或重心点组合输出为特征结果点云。
145.具体地,在本实施例1中,所述基于体素采样或均匀采样的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
146.获取特征区域的最大边界值和最小边界值;
147.根据预先设置的体素尺寸获取对应大小的体素网格,所述体素尺寸根据所述最大边界值和最小边界值进行设置;
148.根据体素网格信息将所述特征区域内的至少一个特征点划分至对应的所述体素网格中,得到体素网格索引;
149.根据所述体素网格索引,选取体素网格内的中心最近点或重心点表征体素网格内部的所有特征点;
150.将所述特征区域内的所有中心最近点或重心点组合输出为特征结果点云。
151.更进一步地,在本实施例1的一种具体实施方式中,所述基于随机采样的点云降采样方法为对特征区域和非特征区域分别进行随机性采样。
152.具体地,在本实施例1中,基于随机采样的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
153.根据随机数生成方法生成随机索引序列,所述随机数为预先设置的固定数值;
154.根据所述随机索引序列对所述特征区域进行采样,得到随机采样点云;
155.将所述随机采样点云作为特征结果点云输出。
156.更进一步地,在本实施例1的一种具体实施方式中,所述基于索引间隔采样的点云降采样方法为根据点云索引对特征区域和非特征区域分别进行间隔采样。
157.具体地,在本实施例1中,基于索引间隔采样的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
158.预先设置索引步长;
159.按照所述索引步长,对所述特征区域进行间隔采样,得到间隔采样点云,所述间隔采样从半步长对应索引下标开始;
160.将所述间隔采样点云作为特征结果点云输出。
161.更进一步地,在本实施例1的一种具体实施方式中,所述基于空间点距采样的点云降采样方法为根据预先设定的点云各个点间隔对特征区域和非特征区域分别进行采样。
162.具体地,在本实施例1中,基于空间点距采样的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
163.预先设置采样后的点云间隔;
164.以所述点云间隔为搜索半径,搜索所述特征区域内每个特征点对应的邻域;
165.剔除所述邻域内的半径邻域点;
166.将特征区域内除所述半径邻域点之外的特征点组合输出为特征结果点云。更进一步地,在本实施例1的一种具体实施方式中,所述基于特征强度排序采样的点云降采样方法为按照所述特征区域或非特征区域中每个非边界点特征属性值的大小进行排序,根据预先设置的采样比例对特征区域或非特征区域进行采样。
167.具体地,在本实施例1中,基于特征强度排序采样的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
168.获取所述特征区域内每个特征点对应的特征属性值;
169.将至少一个所述特征属性值由大到小进行排序;
170.根据预先设置的采样比例筛选所述特征属性值较大的特征点;
171.将所述特征属性值较大的特征点组合输出为特征结果点云。
172.更进一步地,在本实施例1的一种具体实施方式中,所述基于k-means聚类的点云降采样方法为采用k-means聚类算法合并特征区域或非特征区域中的相似同名非边界点,达到降采样效果。
173.具体地,在本实施例1中,基于k-means聚类的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
174.通过kd-tree/oc-tree/四叉树等常见搜索树构建所述特征区域的拓扑关系;
175.根据所述拓扑关系,为k-means聚类指定类别数k,并提供每个类别的初始聚类中心;
176.将所述特征区域内的每个特征点进行归类,求取各聚类的重心点,并更新每个类别的当前聚类中心;
177.迭代聚类至最大迭代次数或当前聚类中心收敛,停止迭代;
178.以各聚类中聚类中心最近点表征对应的类别;
179.将每个类别的所述聚类中心最近点组合输出为特征结果点云。
180.更进一步地,在本实施例1的一种具体实施方式中,所述基于k-mediods聚类的点云降采样方法为采用k-mediods聚类算法合并特征区域或非特征区域中的相似同名非边界点,达到降采样效果。
181.具体地,在本实施例1中,基于k-mediods聚类的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
182.通过kd-tree/oc-tree/四叉树等常见搜索树构建所述特征区域的拓扑关系;
183.根据所述拓扑关系,为k-mediods聚类指定类别数k,并提供每个类别的初始聚类中心;
184.将所述特征区域内的每个特征点进行归类,求取各聚类的中值点,并更新每个类别的当前聚类中心;
185.迭代聚类至最大迭代次数或当前聚类中心收敛,停止迭代;
186.以各聚类中聚类中心最近点表征对应的类别;
187.将每个类别的所述聚类中心最近点组合输出为特征结果点云。
188.更进一步地,在本实施例1的一种具体实施方式中,所述基于dbscan聚类的点云降采样方法为使用dbscan聚类算法合并特征区域或非特征区域中的相似同名非边界点,达到降采样效果。
189.具体地,在本实施例1中,基于dbscan聚类的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
190.通过kd-tree/oc-tree/四叉树等常见搜索树构建所述特征区域的拓扑关系;
191.根据所述拓扑关系,选取任一特征点标记为已访问点;
192.查询所述已访问点的邻域点数;
193.若所述邻域点数满足邻域点数阈值,则创建新簇c,并把所述已访问点归类至该簇,所述已访问点的邻域为集合n;
194.遍历所述邻域内的邻域点,按照上述步骤进行归类,直至所有特征点归类完毕;
195.获取各聚类集合的中心点,并以各聚类中聚类中心最近点表征对应的类别,所述聚类中心最近点为距离中心点最近的特征点;
196.将每个类别的所述聚类中心最近点组合输出为特征结果点云。
197.更进一步地,在本实施例1的一种具体实施方式中,所述基于邻域均值的点云降采样方法为对特征区域或非特征区域中每个非边界点搜索足够小的球邻域,若所述球邻域的重心点与非边界点重合,则以重心点代替球形邻域内的所有非边界点,达到降采样效果。
198.具体地,在本实施例1中,基于邻域均值的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
199.通过kd-tree/oc-tree/四叉树等常见搜索树构建所述特征区域的拓扑关系;
200.根据所述拓扑关系,以足够小的半径搜索每个特征点对应的球邻域;
201.计算所述球邻域的重心点;
202.若所述重心点与所述特征点重合,则停止迭代,并删除所述球邻域内除重心点之外的所有特征点;
203.若所述重心点与所述特征点不重合,则重新搜索所述重心点的球邻域,重复上述步骤;
204.直至所有同名特征点完成融合,将与特征点重合的所有重心点组合输出为特征结果点云。
205.更进一步地,在本实施例1的一种具体实施方式中,所述基于均值漂移的点云降采样方法为对特征区域或非特征区域中的各个非边界点通过重复搜索逐步逼近收敛至最佳位置的中心点,然后通过欧式聚类算法把足够近的非边界点聚合,并以每个聚类集合的质心点表征该聚类集合中所有点。
206.具体地,在本实施例1中,基于均值漂移的点云降采样方法对特征区域内的至少一个特征点进行点云精简的具体步骤如下:
207.通过kd-tree/oc-tree/四叉树等常见搜索树构建所述特征区域的拓扑关系;
208.根据所述拓扑关系,选取所述特征区域内任一特征点搜索其邻域;
209.通过对所述邻域内的所有邻域点进行高斯加权平均计算所述特征点的聚类中心点;
210.以所述聚类中心点作为新的目标点,重新搜索其邻域,并计算新聚类中心点;
211.直至聚类中心收敛,即聚类中心不再变化;
212.重复上述步骤,得到每个特征点对应的聚类中心点,并将所有聚类中心点集合输出为特征结果点云。
213.需要特别指出的是,上述均以对特征区域的点云精简过程为例进行说明,对非特征区域的点云精简步骤与特征区域的点云精简步骤类似,此处不再赘述。此外,在本实施例1中未给出预先设置参数的具体数值均可以根据实际应用情况,由本领域技术人员在实际使用时具体设置,本技术对其不做限制。本实施例1中的字符可能存在同一字符在不同算法表示不同含义,具体含义以对应算法中的解释为准,所有字符,例如k、n、c等均为大于等于1的正整数,未解释的字符以本领域常规设置为准,因此,本技术中的字符并不会造成本技术技术方案不清楚。
214.实施例2
215.与上述一种适用于多种场景的点云降采样方法的实施例1相对应,本技术还提供了一种适用于多种场景的点云降采样装置的实施例2。所述点云降采样装置包括相互连接
的获取单元、提取单元、点云降采样单元和输出单元;
216.其中,所述获取单元被配置为:
217.获取3d原始点云,所述3d原始点云包括至少一个边界点和至少一个非边界点;
218.所述提取单元被配置为:
219.根据所述3d原始点云的场景,采用相对应的算法提取所述3d原始点云的边界区域、特征区域和非特征区域,所述边界区域包括至少一个所述边界点,所述特征区域包含至少一个特征点,所述非特征区域包含至少一个非特征点;其中,所述边界区域通过对应的边界点检测算法提取,所述特征区域和非特征区域通过对应的特征点提取算法获取,且所述特征区域和非特征区域在非边界区域中进行提取,所述非边界区域包括至少一个所述非边界点;
220.所述点云降采样单元被配置为:
221.对所述特征区域内的至少一个特征点进行点云降采样处理,得到特征结果点云;
222.对所述非特征区域内的至少一个非特征点进行点云降采样处理,得到非特征结果点云;
223.所述输出单元被配置为:
224.将所述边界区域与所述特征结果点云以及所述非特征结果点云组合后作为3d精简点云输出。
225.实施例3
226.本技术提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例1中一种适用于多种场景的点云降采样方法的步骤。
227.实施例4
228.本技术提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实施例1中一种适用于多种场景的点云降采样方法的步骤。
229.应用例
230.如图2a所示,为获取到的第一3d原始点云示意图,采用现有技术中的点云降采样方法处理后,得到如图2b所示的第一3d精简点云示意图;采用本技术的点云降采样方法处理后,得到如图2c的第二3d精简点云示意图。
231.如图3a所示,为获取到的第二3d原始点云示意图,采用现有技术中的点云降采样方法处理后,得到如图3b所示的第三3d精简点云示意图;采用本技术的点云降采样方法处理后,得到如图3c的第四3d精简点云示意图。
232.比较图2b和图2c,以及图3b和图3c,可以很直观地看出,采用本技术的点云降采样方法,能够最大程度保留3d原始点云数据的边界点和特征点,将其突出显示,对3d原始点云数据的精简效果更好,得到的3d精简点云更清晰。
233.本技术提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本技术总的构思下的几个示例,并不构成本技术保护范围的限定。对于本邻域的技术人员而言,在不付出创造性劳动的前提下依据本技术方案所扩展出的任何其他实施方式都属于本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献