matlab点云三维重构,无序点云三维重建方法技术

【技术实现步骤摘要】

【专利摘要】本专利技术提供一种,包括以下步骤:S1、分区:根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云;S2、点云数据压缩:对非变形区的点云,进行点云数据压缩;压缩比为预设的设定值;S3、三维重建:将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。在三维重建之前,先根据研究内容将点云分区,将非关键内容的区域先进行压缩,从而减少重建时需要处理的数据量,另外在重建时将非变形区域的数据和变形区域的数据融合在一起进行三角网重建,减少海量点云数据的三角网生成时间,最终实现提高算法效率的目的。【专利说明】

本专利技术涉及三维场景重现领域,具体涉及一种。

技术介绍

三维激光测量技术是一种快速、准确获取真实地物空间信息的技术。采用三维激光扫描仪对被测量地物进行扫描,操作简单而且精度高。由于获取的三维点云数据量庞大、散乱,无组织,如何组织庞大的点云数据,使得三维点云数据通过计算机虚拟的呈现出来,成为了空间信息处理、计算机图形学、计算机视觉等领域研究的热点。 点云按照排列方式的不同可以分为有序点云和无序点云。有序点云的点与点的拓扑结构完整,相邻点之间存在连续关系,领域操作高效。无序点云由于点与点之间缺乏拓扑关系,因此常采用八叉树,空间单元格,Kd-tree数对其进行管理。根据重建曲面和数据点云之间的关系可将曲面重建分为两大类:插值法和逼近法。前者得到的曲面重建完全通过原始数据点,而后者则是通过分片线性曲面或者其它形式的曲面类逼近原始数据点,从而是的得到的重建曲面是原始点集的一个逼近。插值法常用的算法有Delaunay三角网重构法,该方法将三维点云数据的空间坐标投影到二维平面上,然后针对二维投影平面进行缺失补充,将投影的二维平面三角网格化,再利用反向映射的思想得到三维网格重建模型,最后完成点云数据的重建。由于该算法需要构造三角网格,因此具有很好的网络拓扑结构,然而在两次投影转化计算过程中存在维数的压缩,这样很可能导致点云数据空间深度信息的改变或者丢失,这种两次转化投影的方式很难处理封闭或者点云模型表面被遮挡的情况。后来在点云重建方面也出现了基于Delaunay空间区域增长方法的改进算法,即选取一个三角面片作为种子面片,在保证拓扑结构正确和几何结构正确的前提下,对种子面片进行扩张,最后形成完整三角网格曲面,改进算法有最小内角最大等优秀特性,但对点云当数据中的三维点进行三角网格剖分的时间复杂度较大。如果点云数据达到千百万数量级,Delaunay三角网格剖分算法的点云数据重建时间过长,因而此方法并不适合大规模点云数据的重建操作。逼近法常用的算法有泊松重建、MC重建、EarChipping重建。即通过最优化的插值方法,对点云数据进行处理,进而获得到点云模型的近似曲面。

技术实现思路

本专利技术要解决的技术问题是:提供一种,解决现有的De Iaunay三角网重建算法中存在的算法效率低下的问题。本专利技术为解决上述技术问题所采取的技术方案为:一种,其特征在于:它包括以下步骤: 51、分区: 根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云; 52、点云数据压缩: 对非变形区的点云,进行点云数据压缩;压缩比为预设的设定值; S3、三维重建: 将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。按上述方法,所述的SI先将采集到的点云按照pcd格式进行转化,再根据研究内容进行分区。按上述方法,所述的S2采用包围盒压缩算法进行点云数据压缩,每个包围盒只保留一个数据点,所保留的数据点最靠近所在包围盒中点云的重心。按上述方法,所述的S2首先对非变形区的点云采用八叉树数据结构进行数据管理,构造点云的最小空间包围盒,再采用包围盒压缩算法进行点云数据压缩;其中最小空间包围盒的边长为预设的点距。按上述方法,所述的S3采用贪婪三角网算法进行三维重建。本专利技术的有益效果为:在三维重建之前,先根据研究内容将点云分区,将非关键内容的区域先进行压缩,从而减少重建时需要处理的数据量,另外在重建时将非变形区域的数据和变形区域的数据融合在一起进行三角网重建,减少海量点云数据的三角网生成时间,最终实现提尚算法效率的目的。【附图说明】图1为本专利技术一实施例按压缩比为0.25%压缩后的点云三维图,。图2为本专利技术一实施例按压缩比为4.5%压缩后的点云三维图。图3为pcd格式。图4为本专利技术一实施例的一个重建效果图。图5为本专利技术一实施例的又一个重建效果图。【具体实施方式】下面结合具体实例和附图对本专利技术做进一步说明。本专利技术提供一种,包括以下步骤: S1、分区:根据研究内容,将采集到的点云分为变形区的点云和非变形区的点云。优选的,所述的SI先将采集到的点云按照pcd格式进行转化,再根据研究内容进行分区。S2、点云数据压缩:对非变形区的点云,采用包围盒压缩算法进行点云数据压缩(也可以用其它的方式进行点云数据压缩),每个包围盒只保留一个数据点,所保留的数据点最靠近所在包围盒中点云的重心。首先对非变形区的点云采用八叉树数据结构进行数据管理,构造点云的最小空间包围盒,再采用包围盒压缩算法进行点云数据压缩;其中最小空间包围盒的边长为预设的点距。S3、三维重建:将变形区中的点云,和压缩后的非变形区的点云,放在一起进行三维重建。优选的,所述的S3采用贪婪三角网算法进行三维重建。基于包围盒的点云数据压缩原理:根据点云中数据点的分布特点,可将点云分为有序点云和无序点云(也称为散乱点云),对于有序点云的数据压缩,常用的采样方法有均匀采样法、倍率缩减法和栅格法,等量缩减法、最小包围盒区域法、等分密度法等。散乱点云数据压缩中,常用的方法有随机采样法、最短距离法、包围盒法、均匀格网法、三角网格法、曲率米样法等。目前,针对点云的压缩大致可以分为三类:基于概率的数据精简(随机采样法)、基于格网的数据精简法(包围盒法、均匀格网法等)和基于曲率的数据精简法(最短距离法、曲率米样法)。包围盒重心法是点云处理中较为常见的方法,其核心思想是用包围盒中点云的重心来代替点云中的点实现数据精简。其实现方法为:先采用一个最小外包长方体来约束点云,然后将长方体根据一定的数量或者大小分割成若干个小立方体包围盒,最后选取小包围盒中离点集的重心点最近的点作为特征点,即每个包围盒中最多只保留一个数据点。下面提供某一具体实例,进行试验验证。1、数据处理 由于现有的数据格式(*.ply,*.stl,*.0b j,*.x3d)格式不支持pci库,pcd格式能支持pel数据库引进的η维点类型机制处理中的某些扩展。因此,需要将采集到的数据按照pcd格式进行转化,pcd格式如图3所示。其中,vers 1n表示pcd文件版本,f i e Ids表示一个点可以有的每一个维度和字段的名字,size表示每一个维度的大小,type表示每一个维度的类型,count表示每一个维度包含的元素数目,width表示点云数据集的宽度,height表示点云数据集的高度,Viewpoint表示数据集中点云获取的视点,data表示存储的点云的数据类型。2、数据压缩 PCL提供了两种点云数据管理方式,一种是Kd-tree数据结构,一种是octree数据结构,也称八叉树。其中,kd-tree树用来对点云本文档来自技高网...

你可能感兴趣的:(matlab点云三维重构)