matlab三维点云去除背景,一种点云处理三维重建方法与流程

本发明属于三维数字化、逆向工程领域,特别是涉及一种点云处理三维重建方法。

背景技术:

::三维扫描是一种高精度的三维坐标测量方法。线结构激光投射到被测表面,摄像机获取投射图像,提取光条上点的三维形貌。通过精确控制被测物的平移和旋转,得到表面完整的三维点云数据。因此,得到的点云数据是线阵列的规则数据。对点云数据进行重构,真实再现三维表面,这种技术可以应用于逆向工程领域。对于模型的重构,点云处理算法起到关键的作用。因为,扫描数据不可避免的会有一些冗余信息和噪声点,一方面,扫描过程中激光线可能会投射到非测量物上,如摆放物体的平台等,导致冗余数据,另一方面,扫描数据易受环境和系统的影响,从而可能产生干扰噪声,会严重地影响模型的建构。因此,点云处理的原则是在不影响重构曲面精度的前提下,大幅度减少数据并使之光顺。所以点云处理算法可以保证重构过程中有可靠精选的点云数据,不仅能提高重构的准确度,更能降低重构过程的消耗。现有技术存在处理效率低,重构效果较差等不足。技术实现要素:针对现有点云处理技术存在的不足,本发明设计了一种点云处理三维重建方法,具有较低的重构误差,重构效果较好。为解决上述问题,本发明采取的技术方案是:不同于传统的对三维形式的点云进行处理,本发明所述一种点云处理三维重建方法,步骤是:首先将三维扫描得到的stl点云图导入matlab中,读取每个点的三维数据,生成矢量点集。基于具有连续特性的ε微条曲面法,采用评价指标进行误差分析,避免了mse和r-square这两种回归误差分析评价方法的缺陷,提取某一横(纵)断面点集。其次利用横(纵)断面点集得到断面样条曲线。最后,将足够数量的横(纵)断面样条曲线在三维空间整合,得到质量较高的三维重构模型。所述具有连续特性的ε微条曲面法,首先从stl文件提取点云的三维数据,在三维坐标系中生成矢量点集,此外有一个断面与矢量点集相交,若断面平行于xoz平面,则为纵断面,若平行于yoz平面,则为横断面。所述横(纵)断面,其中横断面沿着x轴平行移动,纵断面沿着y轴平行移动,横纵断面各有一个起始和终止位置。横断面的起始位置为x值最小的坐标,终止位置为x值最大的坐标;横断面的起始位置为y值最小的坐标,终止位置为y值最大的坐标。所述横(纵)断面,在移动过程中,进行断面点集提取,判断点是否分布均匀,不均匀则重新进行断面点集提取,否则进入断面曲线插值。移动到终止位置时进行三维网格复原完成三维重构。所述断面点集提取,将三维扫描得到的stl点云图导入matlab中,读取每个点的三维数据,生成矢量点集,构建入三维坐标系中。至于具体的点集提取,基于ε微条曲面法,兼顾了mse和r-square这两种回归误差分析评价方法的评价指标进行误差分析,提取某一横(纵)断面点集。所述断面曲线插值包含了基于排序的凸包插值算法和分段处理法。与现有技术相比,具有以下优点:1.现有的大多数三维重构都基于整体插值拟合,受噪声和冗余数据影响较大,重构质量较差,而本发明通过ε微条曲面法,获取小片局部拟合,最后在三维空间整合,化局部为整体,大大提高了重构的精度。处理效率高,重构质量好。2.提出的点云处理误差评价指标兼顾了mse和r-square'这两种回归误差分析评价方法,且具有连续特性,可以保证重构过程中有可靠精选的点云数据,不仅能提高重构的准确度,更能降低重构过程的消耗。附图说明图1是本发明的三维重构流程示意图;图2是基于ε的微条曲面法的点云提取算法流程图;图3是实施例1的步骤(1)提取独角仙前翅,x=2cm横断面点集,在不同ε下时的提取效果图;图4是实施例1的步骤(1)独角仙前翅,x=2cm横断面提取点误差随ε的变化关系。图5是实施例1的步骤(2)进行分段插值前后的对比图。图6是实施例1的步骤(3)所有横纵断面样条曲线形成的三维网格骨架与逆向重构对照图。具体实施方式下面结合附图和实施例,来进一步说明本发明技术方案。图1所示,一种点云处理三维重建方法,包括断面点集提取,断面曲线插值和三维网格复原。具体步骤如下:首先,从stl文件提取点云的三维数据,在三维坐标系中生成矢量点集,此外有一个断面与矢量点集相交,若断面平行于xoz平面,则为纵断面,若平行于yoz平面,则为横断面。其中横断面沿着x轴平行移动,纵断面沿着y轴平行移动,横纵断面各有一个起始和终止位置。横断面的起始位置为x值最小的坐标,终止位置为x值最大的坐标;横断面的起始位置为y值最小的坐标,终止位置为y值最大的坐标。横纵断面在移动过程中,进行断面点集提取,判断点是否分布均匀,不均匀则重新进行断面点集提取,否则进入断面曲线插值。移动到终止位置时进行三维网格复原完成三维重构。实施例1下面以独角仙前翅为例,对断面点集提取,断面曲线插值和三维网格复原的实施方式进行详细描述:一、断面点集提取图2所示,所述断面点集提取基于ε微条曲面法,兼顾了mse和r-square这两种回归误差分析评价方法的评价指标进行误差分析,提取某一横(纵)断面点集。首先将三维扫描得到的stl点云图导入matlab中,读取每个点的三维数据,生成矢量点集,构建入三维坐标系中。至于具体的点集提取,以横断面x=x0为例,由于矢量点集的是离散的,而且密度有限,直接落在这一断面上的点通常很少,无法满足重构精度。所述连续特性的ε微条曲面法,先根据x=x0±ε,微区间内的扫描点,利用tablecurve3d软件获得宽度为2ε的微条曲面,x=x0截面与这一曲面的相交线,便是一根连续的曲线。图3所示,例如提取独角仙前翅在x=2cm断面处的点集,即使是取了2ε微区间上的点,如果ε过少,总点数少,不能反映这一断面的真实三维空间信息,更别说只是x=x0的断面上的点了。反之如过大,所取得的点本身离x=x0截面远,其精度本身就差。这就需要误差分析和ε取得的优化。所述连续特性的ε微条曲面法将2ε内微条曲面上的点集都视同为这一断面上的扫描点(即将这些点都投影到x=x0截面上),并在后述的误差分析中将其视作实际点集。这样对应于每一个实际点的x值,势必能在前述连续曲线上找到与x值相交的点,记为该实际点的提取点,有时会出现两个相交点,取z值差较小的。不过,此时每个提取点与对应实际点的z坐标值往往是不相等的。因此,需要对每个断面确定一个最优的ε使得这个截面上所有点产生的误差精度最小,保证数据真实可靠。以回归统计中常用的mse和r-square回归模型的整体误差分析手法为基础,提出了经过改进的确定断面点集提取过程中最优的ε值的误差分析方法,下面作了简要介绍。利用如下公式1计算mse,其表征取点数据和实际数据误差平方和的均值。利用如下公式2计算r-square,其表征实际数据误差平方和与取点数据和实际数据平均误差平方和之比的标准化数据。公式1、2中,n为某一ε确定后截面提取点的个数,和zi分别为第i个提取点和对应实际点的z坐标值,为所有对应实际点的z坐标平均值。鉴于公式2中r-square越大时,取点的误差越小,而公式1中mse则正好相反。为了更加便于比较,公式3直接取公式2中r-square式中最后一项的绝对值作为误差标准,并记r-square'进行评断。r-square'(ε)=1-r-square(ε)(公式3)这样使得取点误差最小时,mse和r-square'也均为最小值,并将取到最小值的ε分别记作εmse和εr,但通常这两者不相等。仍然以提取独角仙前翅在x=2cm横断面上的点为例给出了具体的mse和r-square'结果。由图4可见,εmse=184.8μm,εr=160.6μm并不相等。为此,本申请提出了一个兼顾两种方法,使综合取点误差最小的评价指标公式4中,右边第一式分母为mse的最大值,这样就把mse的指标转化为与r-square'具有同等尺度和量纲的指标。二、断面曲线插值所述断面曲线插值利用单个断面的提取点集,应用基于排序算法的确定平面点集的凸包程序,程序的输入参数为断面提取点坐标,可得到相应断面的一条样条曲线。需要说明的是,图5所示,当对断面插值时,有时会出现锯齿形的情况,这时候要采取适当措施消除锯齿。基于分段处理法,编写程序,输入参数为样条曲线数据点坐标,反复进行三次样条插值,并同时实时监测是否有梯度变化剧烈的数据点,如有,则剔除变化剧烈的点,直到获得基本光滑无锯齿的断面样条曲线。三、三维网格复原重复前述断面曲线的求解过程,对所有矢量点集做横向和纵向断面进行表面插值;代替均匀断面,反而在曲面变化剧烈的部位施加密集断面。最终将横纵断面样条曲线在三维空间整合,保证每条横向曲线与每条纵向曲线都有交点,获得由所有横纵断面样条曲线形成的三维网格骨架,完成三维重建。如6所示,本发明通过ε微条曲面法,获取小片局部拟合,最后在三维空间整合,化局部为整体,与逆向软件geometrycontrolx2017处理后的独角仙前翅图对比,重构质量相差无几。此外,在保证重构质量的前提下,本专利提出的点云处理误差评价指标兼顾了mse和r-square这两种回归误差分析评价方法,且具有连续特性,可以保证重构过程中有可靠精选的点云数据,不仅能提高重构的准确度,更能降低重构过程的消耗。当前第1页1&nbsp2&nbsp3&nbsp当前第1页1&nbsp2&nbsp3&nbsp

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab一种常用的科学计算软件,可用于进行三维点云重建。点云是由3D扫描或摄像机获取的大量点的集合,代表物体的表面形状。点云重建是通过这些离散的点来恢复物体的3D模型。 在Matlab中,可以使用点云处理工具箱(PointCloud Processing Toolbox)来进行三维点云重建。首先,我们需要对采集到的点云数据进行预处理,以去除离群点、滤波和对齐。 接下来,我们可以使用基于研究领域的不同算法来进行点云的重建。一种常用的方法是基于三角化(triangulation)的重建方法。该方法通过连接点云中的相邻点来构建三角形,并生成表示物体表面的三角网格。Matlab提供了一些预先定义的函数(例如,Delaunay 2D和Delaunay 3D),可用于进行三角化。 此外,Matlab还提供了其他一些算法和函数,可用于点云重建,例如基于体积的方法(例如,泊松重建)和基于流形曲面的方法(例如,高斯曲率等值面)。这些方法根据重建的精度、计算效率和适用于不同类型的点云数据的特点来选择使用。 在进行点云重建之后,我们还可以使用Matlab提供的可视化功能来查看和分析重建的三维模型,并进行后续的处理和分析。例如,可以进行形状比较、表面分析和对象识别等任务。 总的来说,Matlab三维点云重建提供了丰富的工具和功能,可以帮助我们从离散的点云数据中恢复出物体的三维模型,为后续的分析和应用提供基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值