CN113177897A - 一种无序3d点云的快速无损滤波方法 - Google Patents

一种无序3d点云的快速无损滤波方法 Download PDF

Info

Publication number
CN113177897A
CN113177897A CN202110552704.XA CN202110552704A CN113177897A CN 113177897 A CN113177897 A CN 113177897A CN 202110552704 A CN202110552704 A CN 202110552704A CN 113177897 A CN113177897 A CN 113177897A
Authority
CN
China
Prior art keywords
point cloud
dimensional
grid
array
points
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
Application number
CN202110552704.XA
Other languages
English (en)
Inventor
朱云龙
陈浩
郑军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Matrixtime Robotics Shanghai Co ltd
Original Assignee
Matrixtime Robotics Shanghai Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matrixtime Robotics Shanghai Co ltd filed Critical Matrixtime Robotics Shanghai Co ltd
Priority to CN202110552704.XA priority Critical patent/CN113177897A/zh
Publication of CN113177897A publication Critical patent/CN113177897A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/187Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Generation (AREA)

Abstract

本发明属于三维图形处理技术领域,具体涉及一种无序3D点云的快速无损滤波方法,包括以下步骤:获取点云数据;建立点云的外接立方体;将所述外接立方体分割成三维网格;根据每个网格单元包含的点云数量为三维网格构建三维点云密度数组;遍历所有数组,以密度大于设定阈值的网格单元为种子点,基于区域生长进行滤波操作,搜寻对应的连通域,提取连通域中所有网格单元中包含的三维点,即为滤波后的点云数据。本发明的方法对于点云的外接立方体进行网格化切分,依据每个网格区域内包含的点云数量构建密度数组,并根据设定的密度阈值将稠密无序的点云转化为规则的二值化三维数组,算法复杂度低,并且能够大大减少点云的处理量,极大地提升效率。

Description

一种无序3D点云的快速无损滤波方法
技术领域
本发明涉及三维图形处理技术领域,具体涉及一种无序3D点云的快速无损滤波方法。
背景技术
随着计算机图形学相关技术的应用范围越来越广,人们对于三维图形技术的关注度越来越高。而目前大多数三维模型是通过扫描设备获取的点云数据,由三维扫描设备发射扫描光到被测物体表面上,接受反射光,以此计算出物体表面点的三维坐标。然而由于扫描设备受到设备精度、环境光线以及表面材质等条件约束,扫描获取的点云模型不可避免地带有大量噪声。而带有噪声的点云数据会对后续的模型重构、分割、编辑等工作带来严重影响。因此,对带噪声模型进行去噪是保证几何模型精确度的关键。
目前大部分获取的点云模型均为散乱点云,在针对散乱点云的去噪算法中,常用的算法有高斯滤波、分箱去噪、KD-Tree、半径滤波等方法。其中:高斯滤波适用于呈正态分布的数据,考虑到离群点的特征,则可以定义某处点云小于某个密度,即点云无效,计算每个点到其最近的k个点平均距离;分箱去噪方法适用于呈偏态分布的数据;KD-Tree方法构建KD树,随机取点求平均距离d,删掉所有大于2d的点;半径滤波器以某点为中心画一个圆计算落在该圆中点的数量,当数量大与给定值时则保留该点,数量小于给定值则剔除该点。
这些技术都各有优势,但是仍然存在以下缺陷:
(1)在工业精密测量中,高精度3D相机在扫描过程中会产生大量稠密的点云数据,运用以上这些方法进行无序点云滤波运算复杂度高,耗时较长,大大影响设备测量效率。
(2)采集点云环境比较复杂或者图像标定及匹配误差会导致点云数据采样密度不均匀从而含有大量的稀疏离群噪声点和孤立群噪声点,针对这些离群噪声点,点云模型中的噪声不能完全被去除,还会出现压缩变形的问题,从而影响精密测量。
参考专利文献:
CN102930509B-一种机载激光点云数据的智能化滤波方法;
CN103853840B-一种不均匀散乱点云数据的滤波方法;
CN106340061B-一种山区点云滤波方法;
CN106570835B-一种点云简化滤波方法;
CN107798657B-一种基于圆柱坐标的车载激光点云滤波方法;
CN109272458A-一种基于先验信息的点云滤波方法;
CN110119438A-基于主动学习的机载LiDAR点云滤波方法。
发明内容
本发明的目的在于提供一种无序3D点云的快速无损滤波方法,本方法对于点云的外接立方体进行网格化切分,依据每个网格区域内包含的点云数量构建密度数组,并根据设定的密度阈值将稠密无序的点云转化为规则的二值化三维数组,算法复杂度低,并且能够大大减少点云的处理量,极大地提升效率。
为实现上述目的,本发明提供如下技术方案:
一种无序3D点云的快速无损滤波方法,其特征在于包括以下步骤:
S100:获取点云数据;
S200:建立点云的外接立方体;
S300:将所述外接立方体分割成三维网格;
S400:根据每个网格单元中包含的点云数据构建三维点云密度数组;
S500:遍历数组,以密度大于设定密度阈值的网格单元为种子点,基于区域生长进行滤波操作,搜寻对应的连通域,提取连通域中所有网格单元中包含的三维点,即为滤波后的点云数据。
进一步地,所述步骤S200包括:遍历点云,并找出最上方、最下方、最左方、最右方、最前方、最后方的点,以此六个点为边界建立外接立方体。
进一步地,所述步骤S300包括:以外接立方体的某一顶点为原点,分别在x向、y向、z向设置分辨率resolutionX、resolutionY、resolutionZ,并计算出外接立方体的长lengthX、宽lengthY、高lengthZ;分别沿着x轴、y轴、z轴以步长stepX、stepY、stepZ进行分割,得到一个三维网格。
进一步地,所述stepX=lengthX/resolutionX,stepY=lengthY/resolu tionY,stepZ=lengthZ/resolutionZ。
进一步地,所述步骤S400包括:遍历每个网格单元,根据网格单元的位置,判定在当前网格单元中的点云数量,若当前的网格单元中不包含三维点,则对应的数组位置值为0,若当前的小网格单元中有n个三维点,则令对应的数组位置值为n,其中n大于等于1。
进一步地,所述数组包括对应网格单元的位置信息,即数组位置值M(i,j,k),其中i、j、k分别表示网格单元位于第i行、第j列、第k层。
进一步地,所述步骤S500包括:
S501、遍历数组,若当前的数组位置值大于密度阈值,则以此位置为种子点,将与种子点连接的连通域生长出;继续遍历,将所有的连通域全部搜寻出来;
S502、判断每个联通域的体积,找出体积最大的连通域或者体积大于设定密度阈值的连通域作为目标联通域,并移除其他的连通域;
S503、遍历目标联通域中的所有对应的网格单元,取出对应网格单元中包含的所有三维点,即为滤波后的点云数据。
与现有技术相比,本发明的有益效果如下:
(1)本发明对于点云的外接立方体进行网格化切分,并用尺寸与切分后的网格数量同样大小的密度数组来表示每个网格区域内点云疏密程度,且根据设定的密度阈值二值化此数组,将稠密无序的点云转化为规则的二值化的三维数组,算法复杂度低,并且能够大大减少点云的处理量,极大地提升效率。
(2)本发明对于处理后的网格区域,取出每个非零网格区域的点云,能够尽可能大地还原出点云形状,减小测量时误差。
(3)本发明中基于区域生长提取目标区域滤波,只需进行一次即可,无需多次迭代,效率更高。
(4)本发明中按照网格单元中包含点的数量是否大于设定阈值为判断准则,生长出所有密度大于阈值的连通域,根据体积阈值滤除较小的噪声网格单元,对于保留的感兴趣区域网格单元,取出所有网格单元中包含的原有的测点,滤波后的主体点云不会发生任何畸变。通过虚拟的网格单元和连通域体积阈值来判定是否为噪声区域,若为噪声区域,则将其中包含的三维点去除,更为高效快捷。
附图说明
图1是一种无序3D点云的快速无损滤波方法的流程示意图。
图2是实施例中步骤S200中点云数据的示意图。
图3是实施例中步骤S300中三维网格的示意图。
图4是实施例中原始点云数据示意图。
图5是实施例中半径滤波方法滤波后得到的结果示意图。
图6是实施例中统计滤波方法滤波后得到的结果示意图。
图7是实施例中体素滤波方法滤波后得到的结果示意图。
图8是实施例中本申请方法滤波后得到的结果示意图。
具体实施方式
下面将结合具体实施例对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1,一种无序3D点云的快速无损滤波方法,包括以下步骤:
S100:获取从3D相机得到的点云数据。
S200:如图2,遍历点云,并找出最上方、最下方、最左方、最右方、最前方、最后方的点,以此六个点为边界建立点云的外接立方体。
S300:如图3,以外接立方体的某一顶点为原点,分别在x向、y向、z向设置分辨率resolutionX、resolutionY、resolutionZ,并计算出外接立方体的长lengthX、宽lengthY、高lengthZ;分别沿着x轴、y轴、z轴以步长stepX、stepY、stepZ进行分割,得到一个三维网格,其中stepX=lengthX/resolutionX,stepY=lengthY/resolutionY,stepZ=lengthZ/resolutionZ。
S400:为三维网格构建三维点云密度数组;遍历图2中每个网格单元,根据网格单元的位置,判定在当前网格单元中的点云数量,若当前的网格单元中不包含三维点,则对应的数组位置值M(i,j,k)为0,若当前的小网格单元中有n个三维点,则令对应的数组位置值M(i,j,k)为n,其中i,j,k分别表示分割后的小网格单元中第i行,第j列,第k层。本申请中对于划分的网格,只需判断每个网格单元中包含的三维点数量即可,而且网格单元分类只需判断网格单元中包含三维点数量是否大于0即可,简单便捷。
S500:滤波操作,具体如下:
S501、遍历数组M,若当前位置的值大于设定密度阈值,则以此数组为种子点,将与此数组连接的连通域生长出;若再次遇到包含三维点数大于设定密度阈值的点,再次以此点为种子点生长出与此点相连的连通域;重复以上过程,直至遍历完成;
S502、判断每个联通域的体积,找出体积最大的连通域或者体积大于设定阈值的连通域作为目标联通域,并移除其他的连通域;
S503、遍历目标联通域中所有点的数组位置值M(i,j,k),找到对应的网格单元(第i行、第j列、第k层),取出对应网格单元中包含的所有三维点,即为滤波后的点云数据。
为了验证本发明的性能,本实施例在数量为4081694的航空叶片点云上进行了实验,并且与半径滤波、统计滤波、体素滤波方法进行了比较分析。实验均在Intel(R)Core(TM)i7-8700 CPU@3.20GHz 3.19GHz,RAM 16.0GB的处理器上运行。图4为原始点云数据,图5、图6、图7、图8分别为半径滤波、统计滤波、体素滤波、本实施例方法滤波后得到的结果,从图中可以看出,半径滤波、统计滤波、本实施例方法均能得到良好的去噪声效果。体素滤波对点云进行了下采样,未能得到较好的效果。表1中记录表了四种方法滤波运行的时间,从中可以看到,本文提出的方法相较于半径滤波、统计滤波方法运行时间大大缩减。因此从时间与滤波效果综合来看,本发明更有优势。
表1:不同滤波方法的实验对比。
Figure BDA0003075808840000061
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种无序3D点云的快速无损滤波方法,其特征在于包括以下步骤:
S100:获取点云数据;
S200:建立点云的外接立方体;
S300:将所述外接立方体分割成三维网格;
S400:根据每个网格单元中包含的点云数据构建三维点云密度数组;
S500:遍历数组,以密度大于设定密度阈值的网格单元为种子点,基于区域生长进行滤波操作,搜寻对应的连通域,提取连通域中所有网格单元中包含的三维点,即为滤波后的点云数据。
2.根据权利要求1所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述步骤S200包括:遍历点云,并找出最上方、最下方、最左方、最右方、最前方、最后方的点,以此六个点为边界建立外接立方体。
3.根据权利要求1所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述步骤S300包括:以外接立方体的某一顶点为原点,分别在x向、y向、z向设置分辨率resolutionX、resolutionY、resolutionZ,并计算出外接立方体的长lengthX、宽lengthY、高lengthZ;分别沿着x轴、y轴、z轴以步长stepX、stepY、stepZ进行分割,得到一个三维网格。
4.根据权利要求3所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述stepX=lengthX/resolutionX,stepY=lengthY/resolutionY,stepZ=lengthZ/resolutionZ。
5.根据权利要求1所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述步骤S400包括:遍历每个网格单元,根据网格单元的位置,判定在当前网格单元中的点云数量,若当前的网格单元中不包含三维点,则对应的数组位置值为0,若当前的小网格单元中有n个三维点,则令对应的数组位置值为n,其中n大于等于1。
6.根据权利要求5所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述数组包括对应网格单元的位置信息,即数组位置值M(i,j,k),其中i、j、k分别表示网格单元位于第i行、第j列、第k层。
7.根据权利要求1所述的一种无序3D点云的快速无损滤波方法,其特征在于:所述步骤S500包括:
S501、遍历数组,若当前的数组位置值大于密度阈值,则以此位置为种子点,将与种子点连接的连通域生长出;继续遍历,将所有的连通域全部搜寻出来;
S502、判断每个联通域的体积,找出体积最大的连通域或者体积大于设定密度阈值的连通域作为目标联通域,并移除其他的连通域;
S503、遍历目标联通域中的所有对应的网格单元,取出对应网格单元中包含的所有三维点,即为滤波后的点云数据。
CN202110552704.XA 2021-05-20 2021-05-20 一种无序3d点云的快速无损滤波方法 Pending CN113177897A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110552704.XA CN113177897A (zh) 2021-05-20 2021-05-20 一种无序3d点云的快速无损滤波方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110552704.XA CN113177897A (zh) 2021-05-20 2021-05-20 一种无序3d点云的快速无损滤波方法

Publications (1)

Publication Number Publication Date
CN113177897A true CN113177897A (zh) 2021-07-27

Family

ID=76929486

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110552704.XA Pending CN113177897A (zh) 2021-05-20 2021-05-20 一种无序3d点云的快速无损滤波方法

Country Status (1)

Country Link
CN (1) CN113177897A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744416A (zh) * 2021-08-06 2021-12-03 中国科学院计算技术研究所 一种基于遮罩的全局点云滤波方法、设备和存储介质
CN114596196A (zh) * 2022-03-04 2022-06-07 北京百度网讯科技有限公司 点云数据的滤波方法和装置、设备以及存储介质
CN117132478A (zh) * 2023-04-25 2023-11-28 兰州交通大学 一种基于法向量二范数特征参数的轨道点云去噪方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113744416A (zh) * 2021-08-06 2021-12-03 中国科学院计算技术研究所 一种基于遮罩的全局点云滤波方法、设备和存储介质
CN113744416B (zh) * 2021-08-06 2024-03-05 中国科学院计算技术研究所 一种基于遮罩的全局点云滤波方法、设备和存储介质
CN114596196A (zh) * 2022-03-04 2022-06-07 北京百度网讯科技有限公司 点云数据的滤波方法和装置、设备以及存储介质
CN117132478A (zh) * 2023-04-25 2023-11-28 兰州交通大学 一种基于法向量二范数特征参数的轨道点云去噪方法
CN117132478B (zh) * 2023-04-25 2024-05-17 兰州交通大学 一种基于法向量二范数特征参数的轨道点云去噪方法

Similar Documents

Publication Publication Date Title
CN113177897A (zh) 一种无序3d点云的快速无损滤波方法
CN106529469B (zh) 基于自适应坡度的无人机载LiDAR点云滤波方法
CN105096268B (zh) 一种点云去噪平滑方法
CN111932688A (zh) 一种基于三维点云的室内平面要素提取方法、系统及设备
CN111696210A (zh) 一种基于三维点云数据特征轻量化的点云重构方法及系统
CN110599506B (zh) 一种复杂异形曲面机器人三维测量的点云分割方法
CN111340723B (zh) 一种地形自适应的机载LiDAR点云正则化薄板样条插值滤波方法
CN111275724B (zh) 一种基于八叉树和边界优化的机载点云屋顶平面分割方法
CN111598780B (zh) 一种适用于机载LiDAR点云的地形自适应插值滤波方法
CN111710023B (zh) 一种三维点云数据特征点提取方法及应用
CN115222625A (zh) 一种基于多尺度噪声的激光雷达点云去噪方法
CN113137919B (zh) 一种激光点云栅格化方法
CN114821571A (zh) 一种用于电力线缆识别和重建的点云处理方法
CN114383498A (zh) 应用于涡轮叶片气膜孔检测的目标点云分割方法
CN116523898A (zh) 一种基于三维点云的烟草表型性状提取方法
CN113744389B (zh) 一种面向复杂零件曲面特征保留的点云精简方法
CN117408913B (zh) 待测物体点云去噪方法、系统及装置
CN114119902A (zh) 一种基于无人机倾斜三维模型的建筑物提取方法
CN111861946B (zh) 自适应多尺度车载激光雷达稠密点云数据滤波方法
CN115937151B (zh) 一种作物叶片卷曲程度的判定方法
Xie et al. Geometric modeling of Rosa roxburghii fruit based on three-dimensional point cloud reconstruction
CN116579949A (zh) 适用于城市多噪声环境下机载点云地面点滤波方法
CN116805413A (zh) 一种基于三维点云的油茶苗期表型特征自动计算方法
CN113763280B (zh) 用于点云去噪的基于空间层次拓扑关系的区域生长方法
CN112381029B (zh) 一种基于欧氏距离的机载LiDAR数据建筑物提取方法

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