无序散乱点云的表面重建.docx

上传人:b****9 文档编号:26088587 上传时间:2023-06-17 格式:DOCX 页数:11 大小:66.47KB
下载 相关 举报
无序散乱点云的表面重建.docx_第1页
第1页 / 共11页
无序散乱点云的表面重建.docx_第2页
第2页 / 共11页
无序散乱点云的表面重建.docx_第3页
第3页 / 共11页
无序散乱点云的表面重建.docx_第4页
第4页 / 共11页
无序散乱点云的表面重建.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

无序散乱点云的表面重建.docx

《无序散乱点云的表面重建.docx》由会员分享,可在线阅读,更多相关《无序散乱点云的表面重建.docx(11页珍藏版)》请在冰豆网上搜索。

无序散乱点云的表面重建.docx

无序散乱点云的表面重建

摘要:

我们描述并且说明一个算法,它需要输入一组无序的三维点云数据,这组点运数据在这个未知的流行M上或者附近,输出一个简单的近似于M的曲面。

无论是存在边界的拓扑结构,还是M的几何形状都被认为是5提前已知的,所有这些信息都是从数据中自动推断出来的。

这个问题自然出现在各种实际情况中,如从多个视角深度扫描一个对象,用二维切片恢复生物的形状,交互式曲面绘制。

附加关键:

几何建模,曲面拟合,三维形状恢复,深度数据分析。

1简介

一般来说,我们感兴趣的问题可以表示如下:

基于未知的表面的部分信息,尽可能构造表面的完整表示。

这类重建问题发生在不同的科学和工程应用领域中,包括:

来自深度数据的曲面:

由激光深度扫描系统采集的数据通常是从传感器到被扫描对象的距离矩形网格。

如果传感器和目标对象是固定的,只要目标对象是“可视”的,那么可以全数字化采集。

更复杂的系统,比如那些由控件实验室生产的产品,有能力通过旋转传感器或扫描对象来实现数字化圆柱形物体。

然而,拓扑结构更复杂对象的扫描,包括那些简单的有把手的咖啡杯(1属表面),或者如图1a所示的物体(3属表面),不能通过这两种方法完成。

为了适当的扫描这些对象,必须使用多个视图点进行扫描。

合并来自多个视图点扫描生成的数据点重建一个多面体并非是一项简单的任务。

从轮廓的表面:

在许多医学研究中很常见的用切片机将生物标本切成薄层。

将感兴趣的结构的轮廓数字化。

问题是用这些二维轮廓重建三维结构。

虽然这个问题已经受到了大量关注,但是当前方法仍然存在着严重的局限性。

也许其中最重要的是自动处理分支结构的困难。

交互式表面绘制:

许多研究人员,包括施耐德和埃森曼,研究二维曲线的产物,通过跟踪笔尖或鼠标的路径作为用户绘制所需的形状。

Sachs等人描述一个系统,称为3-Draw,这个系统允许创建三维自由曲线,通过记录笔尖的运动来模拟传感器。

这个可以扩展到自由曲面的设计通过忽略这些被记录位置的顺序,允许用户在曲面上任意反复的移动笔尖。

问题是重建的曲面要符合无序点的集合。

重建算法涉及的这些具有代表性的问题被精心的制作(具体情况具体分析),利用数据中的局部结构。

例如,算法解决来自轮廓的曲面的问题大量利用了数据被组织成轮廓的事实(例如封闭多边形),并且这些轮廓位于平行平面上。

同样的,专门的算法对于重建来自多个角度深度数据的曲面可能利用每个视角中的数据点的邻接关系。

相比之下,我们的方法是构建统一的普遍问题,它不假设在数据点上有任何结构。

这种方法具有理论和实践价值。

在理论方面,从普遍问题中抽象出来往往揭示了真正问题的关键方面。

在实践方面,这个算法可以解决普遍问题可以成为解决特殊问题的实例。

术语

表面是指“紧凑,连接,可定向的二维流形,可能有边界,被嵌入到三维中”。

一个没有边界的曲面被叫做闭合曲面。

如果我们想要强调一个表面具有非空的边界,我们将称之为有边的曲面。

一个有多个用三角面的分段线性表面将称为简单曲面。

我们使用||x||表示向量x的欧式距离,并且我们使用d(X,Y)表示点集X和Y之间的豪斯多夫距离(豪斯多夫距离仅仅是点集X和Y的两个最接近的点之间的距离)。

从点集X={x1,x2,x3,……xn}中抽取在或者临近未知曲面M的点。

在大多数采样过程中捕获误差,我们假设点集X中的每个点xi都是xi=yi+ei的形式,yi是未知曲面M上的点,并且ei是一个三维的误差向量。

我们称这样的样本为X,ξ为噪声,如果对于全部的i,||ei||<ξ。

ξ的值可以在大多数应用程序中被估计(例如激光扫描仪的精度)。

M矩阵的特征与ξ相比之下是很小的,不容易恢复。

在发生抽样不足的区域恢复M的特征也是不可能的。

特别地,如果M是一个有边界曲面,如一个圆盘删除的球体,是不可能区分是曲面本身的孔洞还是抽样产生的孔洞。

为了捕捉采样密度的直觉概念,我们需要另一个定义:

令Y={y1,y2,y3,......yn}∈M是一个(没有噪声)表面为M样品。

样品Y据说是ρ密集的,如果有球体半径ρ和中心在M中,包含至少一个在Y中的样本点。

一个曲面M的有ξ噪声的样品{x1,x2,x3,....xn}∈R据说是ρ密集的,如果存在一个无噪声ρ密集的样品{y1,y2,...yn}属于M,例如xi=yi+ei,||ei||<=ξ,i=1,...,n。

问题陈述

表面重建的目标是确定曲面M(参见图2f),它近似于一个未知的表面M(图1a),使用一个示例X(图1b)和关于抽样过程的信息,例如,噪声等级ξ和采样密度ρ。

我们正在努力完善条件关于原始表面M和样例X以至于允许M更可靠地重建。

工作仍然只是初步的,我们不能给保证这里给出的算法。

然而,该算法在实践中应用得很好,结果可以与原始表面进行对照(见第4节)。

2相关工作

曲面重建

表面重建方法可以根据他们所代表的重建的表面的不同方式进行分类。

隐式重建方法试图找到一个光滑函数f:

IR3->IR例如{x1,x2,...,xn}是接近零集Z(f)。

相对于f的形式和近似的方法他们是不同的。

普拉特和Taubin采用平方和最小化豪斯多夫的距离,即从数据点到一个有三个变量的多项式的零集。

Muraki将f引入到一个线性组合的三维高斯内核中,使用不同手段和传播技巧。

他的拟合优度函数衡量f的密切值在近似于零的数据点上,以及f的零组的单位法线与数据的估计法线的匹配程度。

摩尔和沃伦拟合了一个递归地分段多项式,然后连续性使用一种他们称之为“自由形式混合”的技术。

与隐式重建技术相比,参数重建技术代表了重建表面作为一个从二维参数域A到IR3的拓扑嵌入f(A)。

先前的工作集中在简单拓扑的空间区域,例如平面空间和球面空间。

文献9中的黑斯蒂和Stuetzle以及文献26、17中的Vemuri讨论重建表面通过从一个平面区域A到IR3的拓扑嵌入f(A)。

文献22、23中的Schudy和巴拉德以及文献4中的布林克利考虑轻微变形球的表面曲面重建问题,因此选择将A变成一个球体。

文献24中的Sclaroff和Pentland描述混合隐式/参数法使用变形的超二次曲面将一组点拟合成一个变形的球体。

与上面提到的技术相比,我们的方法有几个优点:

它只需要一个无组织的在曲面上或接近的点集。

不需要额外的信息(如Muraki使用的方法需要的法线信息)。

与上述提到的参数曲面重建方法不同,它可以重建任意拓扑结构的表面。

与上述提到的隐士曲面重建方法不同,它以自然的方式处理边界,并且它不产生虚假的没有得到数据支持的表面组件。

表面重建与函数重建

像“曲面拟合”这样的术语出现涉及到两个不同的类的问题:

曲面重建和函数重建。

曲面重建的目的如前面所陈述的。

而函数重建的目标可能如下所述:

给定一个表面M,一组点集{xi∈M},和另一组点集{yi∈R},确定一个函数f:

M->R,例如f(xi)≈yi。

曲面M的区域最常见的是一个嵌入到IR3中的平面,在这种情况下,问题是一个标准在近似理论中被考虑。

情况是M被普遍的认为是一个球体。

在曲面这个标题下最近的一些关于曲面处理的工作,当M是一般曲面,例如飞机的表面。

功能重建的方法可用于曲面简单重建,在特殊情况下,粗略地讲曲面重建是基于一个已知表面M的函数的曲线图。

认识到这些特殊情况有多么局限是很重要的——例如,不是每个曲面同胚的球体是球函数的图形。

我们想做点是函数重建不能被误解为可以解决一般表面重建问题。

3算法描述

综述

我们的曲面重建算法由两个阶段组成。

在第一阶段,我们定义一个函数f:

D->R,D∈R3是数据点附近的一个区域,f的估计为到未知的表面M的有符号的几何距离。

零集Z(f)是我们对M的估计。

在第二阶段中,我们使用一个轮廓线算法通过一个简单表面近似Z(f)。

虽然无符号距离函数|f|更容易估计,零不是一个常规的|f|的值。

然而,零是常规的f值,因此近似隐函数定理保证了我们近似的Z(f)是流行。

对于定义有符号距离函数的关键是关联与每一个数据点所在的又向平面。

这些切线平面作为平面的局部线性近似。

虽然切平面的结构相对简单,它们方向的选择,给曲面定义一个全局一致的方向是算法面临的主要障碍之一。

如图2b所示,切线平面没有直接定义曲面,因为他们的并集可能有复杂的非流行的结构。

相反,对于这些曲面我们使用切平面去定义有符号的距离函数。

一个简单曲面通过绘制有符号的距离函数的零组来获得的例子,如图2所示。

接下来的几个部分将更详细的说明算法的连续步骤。

切平面的估计

为了定义一个有符号的距离函数第一步计算每个数据点有方向切平面。

与切平面Tp(xi)有联系德尔数据点xi被表示为中心点oi,连同单位法向量ni。

任意点P∈R3对于切平面的Tp(xi)有符号距离函数被定义为disti(p)=n(p-oi).n。

Tp(xi)的中心与法线是由X中与Xi最接近的k个点的集合所决定的,这组点集用Nbhd(xi)来表示,并且被称为xi的k个最近邻。

(我们目前认为k是一个指定的参数,虽然在第五节中我们提出一个方法来自动确定k值。

)中心和单位法线被计算,这样平面{disti(p)=0}对于Nbhd(xi)来说是最佳最小二乘拟合平面。

即中心oi被采集为Nbhd(xi)的质心,并且法线ni使用主成分分析来确定。

为了计算ni,构建Nbhd(xi)的协方差矩阵。

这是3*3半正定对称矩阵。

⊕表示向量运算的外积。

如果λ1>=λ2>=λ3表示CV的特征值与单位特征向量vi1vi2vi3,我们分别选择ni为vi3或-vi3。

选择决定切平面的方向,但是它必须这么做,使得附近平面“统一调整方向”。

统一切平面方向

假设两个数据点xi,xj∈X在几何上接近。

理想情况下,当数据是很密集而且曲面光滑时,相应的切平面Tp(xi)=(oi,ni)和Tp(xj)=(oj,nj)是近似平行的,即nj*nj≈+-1。

如果这些平面方向是一致的,那么ni*nj=+1;否则,ni或者nj应该有一个被翻转。

很难找到一个一致的全局的方向,使所有成对的“足够接近”数据点都应该有一致的方向。

我们可以模拟这些问题作为图表的最优化。

这个图包含每切平面Tp(xi)的一个节点Ni,和在Ni与Nj之间的边(i,j),如果切平面中心oi和oj是充分接近的(我们将更精确关于我们所说的尽量足够接近)。

边(i,j)编码消耗程度,Ni和Nj是一致的方向并且被看做ni*nj。

对于选择切平面统一的方向的问题是最大化图形的总成本。

不幸的是,这个问题可以被证明是np困难问题通过对MAXCUT的简化。

因此为了有效解决方向问题,我们必须采取一个近似算法。

在描述我们使用的近似算法之前,我们必须决定何时这些节点在图中被连接。

由于表面被假设的是由单个连接分支组成的,图应该被连接。

对于一组点一个简单连通图往往是连相邻的点是欧几里得最小生成树(EMST)。

然而,对于我们的目的,切平面中心{o1,...,on}(图1c)的欧几里得最小生成树在边缘位置是不够致密的。

因此,我们通过添加边的数量来填充它。

具体来说,我们添加边(i,j)如果oi是oj的k个紧邻,或者oj是oi的k个紧邻(k个紧邻被定义为{o1,..,on}对于X)。

结果图(图1d)称为黎曼图,因此构建一个连通图,它的编码几何近似切平面的中心。

结果图(图1d),称为黎曼图,因此构建一个连通图,它编码了切平面的中心的几何近似。

一个相对简单的算法来确定平面的方向是先任意的为一些平面选择一个方向,然后“传递”方向给在黎曼图中相邻的平面。

在实践中,我们发现传递方向的顺序是很重要的。

图3b显示了可能的结果,在几何近似的基础上唯一的传播方向;正确重建结果如3c所示。

直观地说,我们想要选择传播的顺序,支持从Tp(xi)到Tp(xj)的传播,如果无向的平面是近似平行的。

通过分配到在黎曼图中的每个边(i,j)的消耗是1-|ni*nj|这些可以被完成。

除了非负之外,这个任务属性消耗很小,如果这些无方向的切面是近似平行的。

因此,良好的传播秩序可以被实现,通过遍历结果图的最小生成树(MST)。

这顺序是有利的,因为它的传播方向往往沿数据曲率最低的方向,从而在很大程度上避免遇到模棱两可的情况,当试图在锐利的边缘上传播方向时(如在图3b中猫耳朵尖的位置)。

在图2a所示的最小生成树中,根据消耗边缘被标记颜色,高变化的区域被标记为高亮的颜色(in*nj略小于1)。

指定初始平面的方向,中心是最大Z坐标的单位法被迫指向+z轴。

然后,在这个初始节点作为树的根节点,我们按照深度优先的顺序遍历树,指定每个平面一个与它的父节点保持一致的方向。

也就是说,如果在遍历过程中,当前平面Tp(xi)被指定为ni的方向并且Tp(xj)是下一个被访问的平面,那么如果ni*nj<0的话,nj将被替换为-nj。

这个定向算法被用在我们所有的例子中,并且在所有的情况下都产生了正确的方向。

调整切平面的结果如图2b阴影矩形表示。

有符号的距离函数

从任意点p∈R3到一个已知的表面M之间有符号的距离就是P与最近的点z∈M之间的距离,乘以+-1,取决于位于表面p是哪一面。

实际上M是未知的,但是我们可以使用已经被定向的切平面模拟如下过程。

首先,我们找到切平面Tp(xi),它的中心与P最接近的oi。

这个切平面对于M是局部线性近似的,所以我们可以使用从f(p)到M的有符号的距离来代替P与它的投影Z之间有符号的距离,z是投影到到Tp(xi)上的;也就是说,

如果知道M没有边界的,那么这种简单的规则非常适用。

然而,规则必须被扩展以适应曲面可能没有界限的情况。

回想一下,假设X={x1,...xn}是一个ρ密集,ξ噪声的M的样本。

如果没有噪声,我们可以推断出点z,它的d(z,X)>ρ不能是M中的点,因为那不符合X是ρ密度的前提。

直观地说,样本点不存在半径大于ρ的孔洞。

如果样品是有ξ噪声的,那么孔洞的半径可能会增加,但不会超过ξ。

因此,我们得出这样的结论:

点z不能是M中的点,如果d(z,X)>ρ+ξ。

如果p到最近的切平面的投影z使得d(z,X)>ξ+ρ,我们采取f(p)是未定义的。

通过节的轮廓算法未定义的值被使用去确定边界。

程序叙述,我们的有符号的距离函数定义为:

i<-中心最接近p的切平面索引

{计算p在Tp(xi)上的投影Z}

上述简单的方法可以概述为创建一个零数组Z(f),它是分段线性但是不连续的函数。

不连续的结果是从隐式空间分割到区域,这个区域内的一个切平面被定义为有符号的距离函数。

(这些地区实际上是与中心oi相连的泰森多边形法区域)。

幸运的是,这些不相连区域并不影响我们的算法。

在下一节中讨论的轮廓线算法将离散样本函数f建立于一个接近于数据的三维网格上并且重建一个Z(f)的连续分段线性近似。

等值线跟踪

等值线跟踪就是从一个标量函数的等值面中提取出来的,是一个值得研究的问题。

我们选择采用的一个移动包围盒算法的改进算法(参考文献[1]),样本函数在立方体的顶点,并且发现单元格的四面体分解的等值线分解。

为了准确估计边界,应设置单元格的大小,使边缘的长度小于ρ+ξ。

在实践中,我们总是法线它是很适合的,设置单元格大小略大于这个值,只是为了提高执行的速度并减少生成的三角形的数量。

这个的算法只访问单元格,单元格是一组零值相交的位置,通过放入到一个仅仅合适的相邻单元格的队列中(图2c)。

这样,有符号的距离函数只在接近数据的点处被评估。

图2d显示了有符号的距离函数,通过显示在查询点p(在单元格顶点)和其相关投影点z之间的线段部分。

正如节中提出的,没有交集被记录在单元格中,如果有符号的距离函数是没有被定义的在单元格的任何顶点上,从而给出了简单曲面的边界。

简单曲面的结果包含任意长宽比的三角形(图2e)。

我们缓解这个问题使用后处理过程,这个过程使用长宽比标准来折叠曲面的边。

最终结果如图2f所示。

或者,其他等值线方法的存在能保证边界三角形的宽高比。

(边缘被保存在保存一个优先级队列中;对于最小化的标准是边缘长度乘以两个相邻的面的最小内切半径的结果。

测试被执行以确保边缘折叠时保持曲面的拓扑类型。

4结果

我们已经尝试了这种重建方法使用来自几个不同来源所获得的数据。

在所有情况下,任何(包括定序)可能是出现在缺失点集中的结构。

网格:

点云来自于现有的简单曲面上的随机采样。

例如,图3a的网格被随机抽样产生1000无序的点,而且这些点反过来被用来重建在图3c中的曲面。

这个特定的案例说明了基于有边曲面的方法的特征(猫没有底的,并且与圆盘是同胚的)。

重建的节点(来自RobScharein原始网格)在图3d中的是一个有简单拓扑结构和复杂几何嵌入的曲面。

激光跟踪点:

来自多个视角的数据点模拟激光深度成像,CSG模型被来自多个视点云激光跟踪。

激光跟踪仪记录了沿着每一条光线在第一个交叉口的点。

八个视点(在对象中心的大立方体的顶点)被用来生成图1b中的点集,从如图1a中所示CSG对象上。

在第三节中使用这个点集来说明算法的步骤(图1a-2f)。

深度图像:

Spock的半身像(图3e)根据来自于实际的圆柱深度图像的点云数据被重建(由控件实验室产生)。

只有25%原始点被使用。

轮廓:

将来自39个二维平面(水平)大腿骨CT扫描切片的点结合在一起得到了图3f的曲面图。

对于每一个例子的算法参数如下表所示。

在一个20MIPS的工作站上获得的执行时间。

参数ρ+ξ和行进实验的立方体单元尺寸都表示为对象尺寸的一小部分。

对这些已知的闭合表面参数ρ+ξ被设置为无穷大。

5讨论

切平面近似

数据点的近邻函数Nbhd(xi)被定义为由k个最近邻组成,k目前被认为是一个输入参数。

在这种情况下数据包含很少甚至没有噪音,k不是一个关键参数,因为输出是通过经验观察的稳定在一个范围广泛的设置。

然而,如果k是可以被自动选择那将是最好的。

此外,允许k局部适应不那么严格的要求在均匀分布数据点的曲面上。

为了选择和调整k值,算法可以逐步收集数据点,实时监测协方差矩阵的特征值变化(见节)。

对于小的k值,数据噪声往往占据主导地位,特征值是近似的,特征向量不能显示在表面的真实切平面。

在另一个极端,当k变得很大,k个近邻有更小的局部范围,并且曲面的曲率会增加邻域的“厚度”λi3。

另一个可能的标准是比较λi3与一些局部的或者全部的数据噪声估计。

虽然我们在这个方向做了一些初步的实验,但是我们还没有完全实验这些方面。

(离散反变换抽样(参考文献10,469页)在三角形区域被使用来从网格中选择面的索引,均匀采样被用于这些曲面上。

如果数据是来自深度图像,含有一些关于在每个数据点上的曲面方向的信息。

事实上,已知的每个数据点从一个特定的方向观看都是可见的,因此,除非曲面的入射角过大,否则点的切平面方向可以从观看的方向来推断。

我们的方法可以利用这些在切平面额外的信息定向步骤节)通过添加带有额外的虚结点和n个额外边的黎曼图。

算法的复杂度

一个空间分区的抽象数据类型大大提高了对于前面讨论的子问题的性能。

关键子问题是(与标准时间复杂度):

1)最小生成树(EMST)图(O(n2))

2)对于给定点的K个最近邻(O(n+klogn))

3)对于一个给定点的最近切平面方向(O(n))

分层空间分割方案,如八叉树空间分割和k-d树空间分割都可以更有效地解决这些问题。

然而,假设在我们的数据中采用均匀的采样密度允许简单空间立方分区为了更有效工作。

这些放在轴对称包围盒中的点被分割在立方体网格中。

这些点被放进入对应于它们所属的立方体中,并且这些点集是通过立方体的哈希表索引来访问存储的。

很难分析结果的改进,但是,根据经验,上述问题的时间复杂度可以有效地被减少通过因子n,除了K个最近邻是O(k)以外。

作为空间分割的结果,黎曼图可以在O(nk)的时间内被构建。

因为黎曼图有O(n)个边(最多n+nk个),最小生成树(MST)被计算用于寻找对于最佳路径,在这个最佳路径上传播方向只需要时间O(nlogn)。

MST遍历的整个过程需要的时间为O(n)。

轮廓线算法的时间复杂度只取决于数据集访问的数量,因此,评估有符号的的距离函数f在点p处可以在固定的时间被完成(最近的切平面的起点oi对于p和最近的数据点xj到投影点z都可以在固定的时间与空间分区被完成)。

6结论与展望

我们的算法重建在三维空间中无论有或没有边界的曲面,从一组无组织的散布在曲面上或在地表附近的点。

这个算法基于一个想法,它就是决定有符号估计的距离函数的零组,已经被证明是从各种来源收集的数据。

它都能够自动推断曲面的拓扑类型,包括边界曲率。

在原则上,该算法可以被扩展来重建常在任意维度的空间的余维流形;也就是说,重建d-1维流形在d维空间中。

因此,本质上这个算法可以用来重建在平面的曲线或者在四维空间中的体积。

在所有的示例中我们的重建方法输出的结果都具有正确的拓扑结构。

我们正在努力保证重建的正确性,鉴于样本和原始曲表面的限制。

为了进一步提高拟合的几何精度,并减少重建需要存储的空间,我们设想使用我们算法的输出作为后续样条曲面拟合过程的起点。

我们目前正在研究这种基于使用三角形贝塞尔曲面的非线性最小二乘方法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1