• 三维点云的格网(体素)组织


    1、格网(体素)化原理

            点云格网化组织可以分为二维格网化与三维体素,其主要根据不同应用场景进行分类。其中二维格网化主要用于机载LiDAR采集的点云数据,该类数据主要从俯视的角度采集的数据,因此采用二维格网对数据进行组织比较合适,过程类似规则的影像数据,将点投影在XOY平面上。点云体素化(voxel)在车载、地面三维激光上应用较为广泛,因为在三维空间分布离散,且无论投影在任意一个面上都不合理,如XOY不可取,存在大量的重叠点,因此一般采用体素化对其进行组织。

                                 

            二维格网                                                            三维体素

           无论是点云格网化处理还是体素化处理,都属于数据的预处理,后续的很多数据处理,如分割、分类等,都是在点云格网化(体素化)基础上进行的,因此有必要理解这两种原理。

    1.1二维格网化(机载LiDAR点云)

            首先统计点云数据的X、Y坐标值的最大值与最小值,分别为Xmin、Xmax、Ymin、Ymax。根据划分的格网尺寸L再确定行号格网的总的行号与列号:

    行号=ceil(Xmax-Xmin)/L

    列号=ceil(Ymax-Ymin)/L

    Ceil为向上取整函数,对于每个点P(x,y,z),依据其x、y坐标将该点划入到相应的格网内即可。P点的格网号为:

    行号=ceil(x-Xmin)

    列号=ceil(y-Ymin)

    ****需要注意的是,为了防止出现越界,需要将XminXmaxYminYmax适当的向外扩,如

    Xmin=Xmin-L

    Xmax=Xmax+L

    Ymin=Ymin-L

    Ymax=Ymax+L

    (这些都是些小技巧,不然在后续应用中可能出现内存溢出,或者越界的情况)

    1.2 三维体素化(车载、地面激光点云)

            其过程与二维格网类似,只是多了一个Z轴的划分。具体步骤如下:首先统计点云数据的X、Y、Z坐标值的最大值与最小值,分别为Xmin、Xmax、Ymin、Ymax、Zmin、Zmax。根据划分的格网尺寸L再确定行号格网的总的行号、列号、层号:

    行号=ceil((Xmax-Xmin)/L)

    列号=ceil((Ymax-Ymin)/L)

    层号=ceil((Zmax-Zmin)/L)

    Ceil为向上取整符号,对于每个点P(x,y,z),依据其x、y、z坐标将该点划入到相应的格网内。P点的行号、列号、层号:

    行号=ceil((x-Xmin)/L)

    列号=ceil((y-Ymin)/L)

    层号=ceil((z-Zmin)/L)

    ****同样需要注意的是,为了防止出现越界,需要将XminXmaxYminYmaxZminZmax适当的向外扩,如

    Xmin=Xmin-L 

    Xmax=Xmax+L

    Ymin=Ymin-L

    Ymax=Ymax+L

    Zmin=Zmin-L

     Zmax=Zmax+L

    基于C++编写的源码,下载链接如下:

    机载点云格网化、车载与地基点云体素化-算法与数据结构文档类资源-CSDN下载

    2. 效果如下:

    机载点云的二维格网化效果图如下:

    较大格网尺度

    较小格网尺度

    局部放大图

    地基点云在不同尺度下的三维体素化结果:

      

    需要注意的是,这仅仅对数据进行组织,同一格网内点没有必然的属性,需要按照自己的要求做进一步处理。

  • 相关阅读:
    GoogLenet网络详解
    【rust/树莓派】使用rppal&embedded-graphics控制st7789 LCD屏幕
    cmake简洁教程 - 第一篇
    举例说明PyTorch函数torch.cat与torch.stack的区别
    【SRE】MySQL8的安装方式
    CV计算机视觉每日开源代码Paper with code速览-2023.11.7
    vivo数据中心网络链路质量监测的探索实践
    各种UI库使用总结
    tkinter绘制组件(32)——圆角按钮
    windows编程之GDI绘图 -- 实验3-1
  • 原文地址:https://blog.csdn.net/qq_32867925/article/details/125014954