System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及三维点云处理,具体而言,涉及一种点云平面检测方法、装置、电子设备和可读存储介质。
技术介绍
1、现有的平面检测方法中一般是通过投票的方式检测点云中的平面,以现有的rht(random hough transform,随机hough变换)算法为例,首先从点云中随机选择3个点,然后计算通过这3个点的平面的平面参数 θ、 φ、 ρ,通过一定的量化步长计算投票位置,在投票累加器中的对应位置进行投票。其中, θ表示平面法向在 xy平面上投影与 x轴的夹角, φ表示平面法向与 z轴的夹角, ρ表示坐标原点到这个平面的距离。如果投票数量超过一个预设值,则认为检测到了一个平面,接下来会删除这个平面附近的点,然后再对剩余点进行相同的投票操作,直到点云中剩余的点数小于一个预设值为止,此时算法停止。
2、从rht算法检测平面的过程可以看出,当从点云中随机选择点时,是从整个点云中选择点的,而这样选择点会带来一个问题,即当点云中有一些面积很小的平面,并且包含其他曲面,例如圆柱面时,从点云中选择点时,3个点落在同一个面积很小的平面上的概率将大大降低,这时需要很长的投票过程才能累积到足够的投票数量。有时甚至会出现一种情况,即由于这个平面的面积太小,平面上的点占剩余
技术实现思路
1、本专利技术的目的包括,例如,提供了一种点云平面检测方法、装置、电子设备和可读存储介质,其能够快速、准确地检测出所有存在于点云中的平面。
2、本专利技术的实施例可以这样实现:
3、第一方面,本专利技术提供一种点云平面检测方法,所述方法包括:
4、在每一轮次的平面检测中,按照当前轮次分辨率对点云建立八叉树得到多个体素单元,所述点云中的各个点所属于所述多个体素单元中的其中一个体素单元;
5、针对各所述体素单元,基于所述体素单元中的点进行平面检测,并将检测出的平面上的点标记为无效点,其中,在平面检测时基于非无效点进行检测;
6、在完成当前轮次的检测后,降低所述当前轮次分辨率得到更新后的分辨率,并按照所述更新后的分辨率对点云建立八叉树得到多个体素单元,再基于各所述体素单元中的点进行下一轮次的平面检测,直至满足预设条件时,停止平面检测。
7、在可选的实施方式中,所述基于所述体素单元中的点进行平面检测的步骤,包括:
8、每次从所述体素单元中的点中随机选取一组点云组,并判断选取的点云组是否满足预设要求;
9、在满足预设要求的情况下,检测是否具有超过预设个数的满足预设要求的点云组确定出了同一平面,若具有,则判定检测出了该平面;
10、在满足设定条件时,结束基于所述体素单元中的点的平面检测。
11、在可选的实施方式中,所述在满足设定条件时,结束基于所述体素单元中的点的平面检测的步骤,包括:
12、在每次随机选取点云组时,对累积投票计数进行加1,且在选取的点云组不满足预设要求时,对累积无效投票计数进行加1;
13、在所述累积投票计数超过第一预设计数,或所述累积无效投票计数超过第二预设计数时,判定满足设定条件并结束基于所述体素单元中的点的平面检测。
14、在可选的实施方式中,各所述点云组包括三个点,所述判断选取的点云组是否满足预设要求的步骤,包括:
15、计算选取的点云组中的三个点中每两个点之间的向量,并根据所述向量计算得到平面法向量;
16、根据所述向量、平面法向量以及各所述点的法向量判断选取的点云组是否满足预设要求。
17、在可选的实施方式中,所述根据所述向量、平面法向量以及各所述点的法向量判断选取的点云组是否满足预设要求的步骤,包括:
18、判断得到的各所述向量的模长是否均大于预设模长,若均大于预设模长,再判断所述平面法向量与各所述点的法向量之间的夹角是否均小于第一预设夹角;
19、若均小于第一预设夹角,再判断各所述点的法向量中每两个法向量之间的夹角是否小于第二预设夹角;
20、若均小于第二预设夹角,则判定选取的点云组满足预设要求。
21、在可选的实施方式中,所述检测是否具有超过预设个数的满足预设要求的点云组确定出了同一个平面,若具有,则判定检测出了该平面的步骤,包括:
22、基于满足预设要求的点云组中的点计算得到对应的平面的平面参数,并对所述平面进行计数;
23、在每次检测出点云组所计算得到的平面参数与所述平面的平面参数一致时,对所述平面的计数加1,直至所述平面的计数超过预设个数时,判定检测出了该平面。
24、在可选的实施方式中,在更新后的分辨率小于预设分辨率时,判定满足预设条件。
25、第二方面,本专利技术提供一种点云平面检测装置,所述装置包括:
26、建立模块,用于在每一轮次的平面检测中,按照当前轮次分辨率对点云建立八叉树得到多个体素单元,所述点云中的各个点所属于所述多个体素单元中的其中一个体素单元;
27、检测模块,用于针对各所述体素单元,基于所述体素单元中的点进行平面检测,并将检测出的平面上的点标记为无效点,其中,在平面检测时基于非无效点进行检测;
28、更新模块,用于在完成当前轮次的检测后,降低所述当前轮次分辨率得到更新后的分辨率,并按照所述更新后的分辨率对点云建立八叉树得到多个体素单元,再基于各所述体素单元中的点进行下一轮次的平面检测,直至满足预设条件时,停止平面检测。
29、第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如前述实施方式中任一项所述的方法。
30、第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计本文档来自技高网...
【技术保护点】
1.一种点云平面检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的点云平面检测方法,其特征在于,所述基于所述体素单元中的点进行平面检测的步骤,包括:
3.根据权利要求2所述的点云平面检测方法,其特征在于,所述在满足设定条件时,结束基于所述体素单元中的点的平面检测的步骤,包括:
4.根据权利要求2所述的点云平面检测方法,其特征在于,各所述点云组包括三个点,所述判断选取的点云组是否满足预设要求的步骤,包括:
5.根据权利要求4所述的点云平面检测方法,其特征在于,所述根据所述向量、平面法向量以及各所述点的法向量判断选取的点云组是否满足预设要求的步骤,包括:
6.根据权利要求2所述的点云平面检测方法,其特征在于,所述检测是否具有超过预设个数的满足预设要求的点云组确定出了同一个平面,若具有,则判定检测出了该平面的步骤,包括:
7.根据权利要求1-6任意一项所述的点云平面检测方法,其特征在于,在更新后的分辨率小于预设分辨率时,判定满足预设条件。
8.一种点云平面检测装置,其特征在于,所述装置包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种点云平面检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的点云平面检测方法,其特征在于,所述基于所述体素单元中的点进行平面检测的步骤,包括:
3.根据权利要求2所述的点云平面检测方法,其特征在于,所述在满足设定条件时,结束基于所述体素单元中的点的平面检测的步骤,包括:
4.根据权利要求2所述的点云平面检测方法,其特征在于,各所述点云组包括三个点,所述判断选取的点云组是否满足预设要求的步骤,包括:
5.根据权利要求4所述的点云平面检测方法,其特征在于,所述根据所述向量、平面法向量以及各所述点的法向量判断选取的点云组是否满足预设要求的步骤,包括:
6.根据权利要求2所述的点云...
【专利技术属性】
技术研发人员:宋昱,束健,杜冬晖,郭胜男,
申请(专利权)人:法奥意威苏州机器人系统有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。