matlab 点云曲率,点云数据的主曲率和主方向估计方法

专利名称:点云数据的主曲率和主方向估计方法

技术领域:

本发明涉及微分几何、计算数学、计算机图形学和计算机视觉技术领域的一种利

用三维激光扫描仪进行实物测量得到点云数据,并根据点云数据来进行主曲率和主方向计算的方法。在虚拟现实、电脑游戏、自然场景模拟、城市景观设计、数据压縮、特征提取、实物

3D重建等领域具有重要的应用价值。

背景技术:

随着激光扫描仪精度的提高,扫描得到的信息越来越丰富,扫描得到的模型数据越来越庞大。人们利用这些庞大的数据进行特征提取、数据压縮或者进行三维重建。但是,这些工作的实现,往往需要对一些微分几何量进行估计,其中最重要的估计包括主曲率和主方向的估计。

目前主曲率和主方向的估计方法大致可以分为三大类 第一类是进行局部曲面拟合,求出二次或者三次曲面,再根据微分几何理论求出主曲率和主方向,如2004年Goldfeather提出的三次曲面拟合方法; 第二类是先对点云数据进行网格化,再取一个或者二个环内的近邻点进行主曲率或者主方向的估计,如1995年Taubin提出的基于网格数据的方法; 第三大类是直接对点云数据进行微分几何特征量的计算。前两类方法在过去的一些应用中效果很好,但是随着扫描仪精度的提高,数据规模的日益增大,这两类方法的时间空间开销较大,他们的应用就受到了制约。于是人们试图直接从点云数据进行微分几何特征的计算,也就是第三类方法。对于目前的成果来说,直接从点云进行计算时,有些方法只是利用点的位置信息,没有利用各个点的法向量信息,这样会使得方法的鲁棒性较差;也有一些方法用了法向量信息,但是他们往往结合第一类方法,把法向量作为一个约束条件加以利用,增加了主曲率和主方向模型求解的计算时间和存储空间的开销。

发明内容

本发明欲解决的技术问题是离散点云数据的主曲率和主方向的准确计算,本发明的目的在于,针对现实世界中由激光扫描得到的离散点云数据,提供一个对主曲率和主方向进行准确、快速计算的、鲁棒的点云数据的主曲率和主方向估计方法。 为实现上述目的,本发明的技术解决方案是提供一种点云数据的主曲率和主方向的估计方法,称为法截线拟合法,该主曲率和主方向估计步骤包括 步骤1 :利用激光扫描仪扫描直接采集点云数据并对点云数据预处理,按照点云

数据中每个点的坐标进行空间划分,实现三维空间的二分查找树的数据存储结构称为kd树(k-dimensional tree);所述每个点的坐标,都是采用激光扫描仪产生的原始坐标。

步骤2 :对于点云数据的每一个点,利用点云数据的kd树查找15个或30个近邻点,根据最小二乘方法把这些近邻点拟合出一个平面,以这个平面的法向量作为点云法向量的初始估计值,然后通过加权平均算法修正点云数据的各个点的法向量估计,是以点云

4数据中每一个点与近邻点的欧式距离的倒数作为权值,所述欧式距离的倒数,若距离值为O,则不计算这个近邻点。所述根据最小二乘方法把这些近邻点拟合出一个平面,其中拟合平面时需要构造带权最小二乘问题,这个最小二乘问题是这些近邻点到拟合平面的残差的绝对值,再乘以权系数的积的和的最小值问题。所述权系数,是以点云数据中每一个点与近邻点的欧式距离的倒数作为权值。 步骤3 :对于点云数据的每一个点,利用其法向量、切平面构造局部三维直角坐标系;所述局部三维直角坐标系,其构造方法是,对于点云数据中一个点P,若点P的法向量为N = (nx,p, ny,p, nz,p),则这个点p就是局部坐标系的原点,X, Y, Z三个坐标轴分别为X = (—sin p, cos p, 0) ,y = (cos y cos p, cos —n p, _ sin ,z = N= (nx,p,ny,p,nz,p),其

中p-arctan("^/"w)表示法向量N的第一方向角,v = arccos (nz,p)表示法向量的第三方向角的余角。 步骤4 :对于点云数据的每一个点,利用点云数据的kd树查找15个或30个近邻点; 步骤5 :对于查找到的近邻点,通过三维坐标变换,把这些近邻点的原始坐标和这些近邻点的法向量都转化为局部坐标系的坐标,是把这些近邻点的坐标减去局部坐标系原点的坐标就是这些近邻点在局部坐标系中的坐标,这些近邻点的法向量坐标与局部坐标系的三个坐标轴分别作数量积,算出这些近邻点的法向量在局部坐标系中的坐标。

步骤6 :利用点云数据的每一个点及其法向量、一个近邻点、近邻点的法向量构造近似三角形,根据正弦定理给出点云的法截线的法曲率的近似表达式;所述构造近似三角形,该三角形由角角边定理确定设点云中的待计算法曲率的点为P,它的一个近邻点为点P和的法向量分别为N和Mi,向量N和Mi的夹角为13 ,向量N和向量^J,.的夹角为

a,线段|pq」为边,则角P,角a,边|pq」确定了这个三角形。所述用正弦定理给出点云的法截线的法曲率的近似表达式为《=-sin/ + (l /^Isino;),其中C表示第i近邻点所对应的法截线的法曲率,P为近邻点法向量与局部坐标系Z轴的夹角,a为近邻点的定位向量与Z轴夹角的补角,局部坐标系的原点为p,近邻点为qi, |pqi|表示点A与点p的欧式距离。所述^=-sin/ + (l/^,lsinoO,这个表达式在实际计算中采用近似计算形式

*二 = —"v + M:2 + "W),其中,/^ = (x, + +V^ +凡2 ,nz = nz,i,近令卩点

qi的局部坐标为(Xi,yi,Zi),近邻点qi的法向量的局部坐标为(r^,i,ny,i,r^i)。 步骤7 :在局部坐标系中,利用法曲率,根据欧拉公式(Euler Equation)构造

非线性最优化问题,通过三角形公式进行恒等变换,把这个非线性最优化问题转化为线

性拟合,求出韦恩伽汀矩阵(Weingarten矩阵)的各个元素;所述根据欧拉公式(Euler

Equation)构造非线性最优化问题ÿ

你可能感兴趣的:(matlab,点云曲率)