点云重建三角网格
1. 三角网格重建的研究现状
曲面重建技术在逆向工程[57]、数据可视化[58]、机器视觉[59]、虚拟现实[60]、医疗技
术[61]等领域中得到了广泛的应用。网格重建作为曲面重建的重要前处理一直是研究的热点。
近十几年来,国内外学者提出了许多网格重建的算法。根据重建过程中采用的具体方法可以
将网格重建算法分为基于 Delaunay 重建法、区域扩张重建法、基于隐式曲面重建法和基于
统计学重建法。
基于 Delaunay 重建方法,具有很强的数学基础,一般能精确地重建物体表面,但计算
量比较大,对带有噪声的物体和尖锐特征的物体,采用该方法重建并不能取得比较理想的结
果。Boissonnat[62]通过采用三维 Delaunay 三角剖分得到数据点的凸包,然后逐步剥离冗余
四面体,使所有数据点可见,最终重建出物体的网格模型。在采样点足够稠密的情况下,该
方法能重建出与物体拓扑一致的网格模型,但当采样点不均匀以及存在噪声数据时,不能构
造出与物体拓扑等价的网格模型,同时计算复杂,内存消耗比较多。Edelsbrunner[63]提出一
种α-shape 方法,该方法通过删除四面体凸包中包围球或者外半径大于α的四面体、三角面
片和边重建测量数据的网格模型,但α-shape 不是流形结构,必须经过后续处理才能得到正
确的二维流形网格[64],同时该方法对采样不均匀的点云难以选择合适的α值重建出正确的
网格模型。Amenta[65][66][67]对扫描数据进行 Voronoi 图分解,然后通过 Delaunay 三角化
方法重建网格模型。该方法能精确地通过扫描数据点,但对噪声模型和具有尖锐特征的模型
不能取得理想的效果。Floater[68]将数据点投影到平面,在平面采用 Denaulay 三角化方法,
生成平面网格,并将拓扑关系映射回空间数据点,从而达到网格重建的目的,该方法简单高
效,但只适用于单值曲面。属于该类的方法还有 Crust 方法[69]和 Cocone 方法[70]。
基于隐式表面重建方法,可以有效处理噪声数据,但不能有效地处理具有尖锐特征的模
型,一般只用于计算机视觉和虚拟现实中。Hoppe[71]首先给出了一个刻画点集密度的方法,
引入了ρ密度样本的定义,通过计算点的法矢,得到数据点局部处的切平面,用切平面线性
逼近待重建网格的局部形状,从而建立距离场函数,通过提取等值曲面得到三角网格。该方
法通常涉及复杂的法矢一致性调整,不能较好地重建细节特征。周儒荣[72]对 Hoppe 的方法
进行了改进,提出以切平面中心代替数据点,改善网格质量,较好地处理了法矢传播中的孤
岛问题。Curless[73]提出了以扫描图像作为加权距离场函数,通过合并多幅图像的方法进行
网格重建,能处理上百万的数据。Car[74]等提出通过径向基函数进行网格重建,他们以径
向基作为基函数,建立插值函数,通过求解线性方程组,达到网格重建的目的,但由于约束
点比较多,方程为全局方程,需要消耗较多的内存和计算时间。Ohtake[76]、朱心雄[77]提
出一种 MPU ( Multilevel Partition of Unity)方法,该方法克服了一般隐式表面重建法不能还
原尖锐特征的缺点。Kazhdan[78]通过泊松等式△f= div(n)建立隐式曲面,然后提取等值面,
从而达到网格重建的目的。属于这类的方法还有[71][73][74][75][77][78]。水平集的方法,最
早是由 Osher 和 Sethian[79][80]于 1988 年提出的,它的基本思想是将曲线或者曲面看成是
某一更高维函数的零水平集,利用函数的演化与 Hamilton-Jacobi 方程的相似性,将曲线或
者曲面的演化过程转化为函数的演化过程. Whitaker[81]、Zhao[82]、Sethian[83]、Osher[84]、
Zhao[85]等人也提出将水平集方法应用到曲面重构中,并取得了较好的结果.变形表面方法与
之类似,从初始表面开始,在能量函数的驱动下可以逼近真实表面。
区域扩张法,一般都是从一个初始种子出发,不断向周边扩张直到所有数据点都被处理,
其中初始种子可以是一个三角面片或者一条边。Bernardinit 在α-shape 理论基础上提出了
BPA 算法,通过使用一个给定半径或者使用不同半径的球绕着活动边转动,直到找到另外
一点,生成新的三角面片。该算法需要点的法矢信息,而且不容易取到合适的半径。
评论0