Reconstruction and Representation of 3D Objects with Radial Basis Functions 阅读笔记
紧接着上面的连篇blog,本篇学习如何通过region-growing获得的点云形成真正的surface。
Abstract
We use polyharmonic Radial Basis Functions (RBFs) to reconstruct smooth, manifold surfaces from point-cloud data and to repair incomplete meshes. An object’s surface is defined implicitly as the zero set of an RBF fitted to the given surface data. Fast methods for fitting and evaluating RBFs allow us to model large data sets, consisting of millions of surface points, by a single RBF—previously an impossible task. A greedy algorithm in the fitting process reduces the number of RBF centers required to represent a surface and results in significant compression and further computational advantages. The energy-minimisation characterisation of polyharmonic splines result in a “smoothest” interpolant(插值). This scale-independent characterisation is well-suited to reconstructing surfaces from nonuniformly sampled data. Holes are smoothly filled and surfaces smoothly extrapolated. We use a non-interpolating approximation when the data is noisy. The functional representation is in effect a solid model, which means that gradients and surface normals can be determined analytically. This helps generate uniform meshes and we show that the RBF representation has advantages for mesh simplification and remeshing applications. Results are presented for real-world rangefinder data.
CR Categories: I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—Curve, surface, solid, and object representations;
Keywords: Variational implicit surfaces, Radial Basis Function, RBF, mesh repair, point-cloud surfacing, surface reconstruction, geometry compression, solid modeling.
使用点云通过RBF重建表面,并修复一些网格。
1 Introduction
Interpolating incomplete meshes (hole-filling) and reconstructing surfaces from point-clouds derived from 3D range scanners are ubiquitous problems in computer graphics and Computer Aided Design (CAD). Smoothly blending between surfaces and ensuring surfaces are manifold, and therefore manufacturable, are related problems in CAD. Similarly, smoothing and remeshing existing noisy surfaces are important problems in both CAD and computer graphics. These problems have mostly been considered independent from one another and received much attention in the literature (see [8] and the references therein). In this paper we propose that the implicit representation of object surfaces with Radial Basis Functions (RBFs) simplifies many of these problems and offers a unified framework that is simple and elegant. An RBF offers a compact functional description of a set of surface data. Interpolation and extrapolation are inherent in the functional representation. The RBF associated with a surface can be evaluated anywhere to produce a mesh at the desired resolution. Gradients and higher derivatives are determined analytically and are continuous and smooth, depending on the choice of basic function. Surface normals are therefore reliably calculated and iso-surfaces extracted from the implicit RBF model are manifold (i.e., they do not self-intersect). The benefits of modeling surfaces with RBFs have been recognised by Savchenko [19], Carr et al. [10] and by Turk & O’Brien [23, 22]. However, this work was restricted to small problems by the O(N^2) storage and O(N3) arithmetic operations of direct methods. For example, direct fitting of the dragon in Fig. 1(a) would have required 3,000GB just to store the corresponding matrix. Consequently, fitting RBFs to real-world scan data has not been regarded as computationally feasible for large data sets. The fast fitting and evaluation methods introduced in this paper mean modeling surface data from large data sets and complicated objects is now feasible. In this paper we:
• describe the computational advantages offered by new fast methods for fitting and evaluating RBFs.
• introduce RBF center reduction for implicit surface modeling. This results in significant data compression and speed improvements.
• demonstrate that modeling very large data sets and topologically complicated objects is possible.
• introduce RBF approximation for the problem of reconstructing smooth surfaces from noisy data.
• apply RBFs to the problem of mesh repair (hole-filling) and point-cloud surface fitting.
大体介绍下,略过
1.1 Implicit surfaces
The surface representation or reconstruction problem can be expressed as
Problem 1.1. Given n distinct points {(xi,yi,zi)}(i from 1 to n) on a surface M in R3, find a surface M’ that is a reasonable approximation to M.
Our approach is to model the surface implicitly with a function f(x,y,z). If a surface M consists of all the points (x,y,z) that satisfy the equation
-
f(x,y,z)= 0, (1)
then we say that f implicitly defines M. Describing surfaces implicitly with various functions is a well-known technique [9].
使用一个三元函数来代表一个surface。
In Constructive Solid Geometry (CSG)(一种建模方法) an implicit model is formed from simple primitive functions through a combination of Boolean operations (union, intersection etc) and blending functions. CSG techniques are more suited to the design of objects in CAD rather than their reconstruction from sampled data. (介绍CSG这种建模方式)Piecewise low-order algebraic surfaces, sometimes referred to as implicit patches or semi-algebraic sets, have also been used to define surfaces implicitly.(介绍分段地界代数曲面) These are analogous to piecewise parametric splines except that the surface is implicitly defined by low degree polynomials over a piecewise tetrahedral domain. An introduction to these techniques and further references can be found in [9].
这里主要介绍了两个传统意义上的模型,以作为本文建模方法的前车。
The distinction between our approach and these well-known techniques is that we wish to model the entire object with a single function which is continuous and differentiable. A single functional description has a number of advantages over piecewise parametric surfaces and implicit patches.(一个描述函数,综合上面两个特性) It can be evaluated anywhere to produce a particular mesh, i.e., a faceted surface representation can be computed at the desired resolution when required. Sparse, nonuniformly sampled surfaces can be described in a straightforward manner and the surface parameterization problem, associated with piecewise fitting of cubic spline patches, is avoided.
提出一个总结上文较少的两种建模方式的描述函数,可以用于任何地方,可以进行局部的计算。
The representation of objects with single functions has previously been restricted to modeling “blobby” objects such as molecules [9] and has generally been believed to be infeasible for real-world objects acquired by 3D scanners. Turk & O’Brien [23] have tried modeling laser scan data with RBFs. However they have been restricted to blobby approximations derived from small subsets of data consisting of a few hundred to a thousand surface points. More recent work [25] has focussed on simplifying larger data sets to make them computationally manageable. However, the ability to represent complicated objects of arbitrary topology and model the detail obtainable with modern laser scanners, is compromised. Carr et al. [10] used RBFs to reconstruct cranial bone surfaces from 3D CT scans. Data surrounding large irregular holes in the skull were interpolated using the thin-plate spline RBF. Titanium plate was then molded into the shape of the fitted surface to form a cranial prosthesis. That paper exploited the interpolation and extrapolation characteristics of RBFs as well as the underlying physical properties of the thin-plate spline basic function. However, the approach is restricted to modeling surfaces which can be expressed explicitly as a function of two variables.(局限) In this paper we demonstrate that by using new fast methods, RBFs can be fitted to 3D data sets consisting of millions of points without restrictions on surface topology—the kinds of data sets typical of industrial applications.
这一段主要介绍了使用RBFs进行探索的成就与局限性。
Our method involves three steps:
• Constructing a signed-distance function.(构造一个有符号的距离函数)
• Fitting an RBF to the resulting distance function. (找到一个使用距离函数的RBF,参考下图)
• Iso-surfacing the fitted RBF. (寻找等值曲面)
Section 2 of this paper describes how we formulate the surface fitting problem as a scattered data interpolation problem. Section 3 introduces RBFs and Section 4 describes the use of new fast methods which overcome problems that have prevented the use of RBFs in the past. Section 5 introduces RBF center reduction which results in a compact surface representation as well as faster fitting and evaluation times. Section 6 introduces RBF approximation as a means of smoothing noisy surface data and demonstrates this by reconstructing smooth surfaces from noisy LIDAR (laser rangefinder) data. Section 7 describes iso-surface extraction. Section 8 demonstrates the abilities of RBFs to reconstruct non-trivial surfaces from point-clouds and interpolate incomplete meshes. Section 9 draws conclusions and discusses future work.
Introduce只是大体介绍,详细的还要往后看
2 Fitting an implicit function to a surface
We wish to find a function f which implicitly defines a surface M’ and satisfies the equation
where {(xi,yi,zi)}(i from 1 to n) are points lying on the surface. In order to avoid the trivial solution that f is zero everywhere, off-surface points are appended to the input data and are given non-zero values. This gives a more useful interpolation problem: Find f such that
This still leaves the problem of generating the off-surface points {(xi,yi,zi)}(i from 1 to N)and the corresponding values di.
给出函数f的抽象化定义
An obvious choice for f is a signed-distance function, where the di are chosen to be the distance to the closest on-surface point. Points outside the object are assigned positive values, while points inside are assigned negative values. Similar to Turk & O’Brien [23], these off-surface points are generated by projecting along surface normals. (关于法线的投影距离)Off-surface points may be assigned either side of the surface as illustrated in Fig. 2.
给出signed-distance的定义:distance为一个点到离他最近的on-surface点的距离 这个距离是该点沿着表面点的法线距离。看图2就很容易理解了,对于在物体外的点 定义为正号,物体里面的点定义为负号。
Experience has shown that it is better to augment a data point with two off-surface points, one either side of the surface. In Fig. 3(a) surface points from a laser scan of a hand are shown in green. Off-surface points are color coded according to their distance from their associated on-surface point. Hot colors (red) represent positive points outside the surface while cold colors (blue) lie inside. There are two problems to solve: estimating surface normals and determining the appropriate projection distance.
对于扫描点需要额外增加两个点,一个在外,一个在内。别问为什么,问就是经验。
If we have a partial mesh, then it is straightforward to define offsurface points since normals are implied by the mesh connectivity at each vertex. In the case of unorganized point-cloud data, normals may be estimated from a local neighbourhood of points. This requires estimating both the normal direction and determining the sense of the normal.(法向量的方向与指向) We locally approximate the point-cloud data with a plane to estimate the normal direction and use consistency and/or additional information such as scanner position to resolve the sense of the normal. (因为direction会存在两个指向)In general, it is difficult to robustly estimate normals everywhere. However, unlike other methods [16] which also rely on forming a signed-distance function, it is not critical to estimate normals everywhere. If normal direction or sense is ambiguous at a particular point then we do not fit to a normal at that point.(当方向或者指向模糊时,我们就不计算该点的法向量) Instead, we let the fact that the data point is a zero-point (lies on the surface) tie down the function in that region. Given a set of surface normals, care must be taken when projecting off-surface points along the normals to ensure that they do not intersect other parts of the surface.(在投影时,一定要小心,确保他们不会与表面的其他部分相交) The projected point is constructed so that the closest surface point is the surface point that generated it. Provided this constraint is satisfied, the reconstructed surface is relatively insensitive to the projection distance |di|. Fig. 3© illustrates the effect of projecting off-surface points inappropriate distances along normals.(不合理的投影) Off-surface points have been chosen to lie a fixed distance from the surface. The resulting surface, where f is zero, is distorted in the vicinity of the fingers where opposing normal vectors have intersected and generated off-surface points with incorrect distance-to-surface values, both in sign and magnitude. In Fig. 3(a) & (b) validation of off-surface distances and dynamic projection has ensured that off-surface points produce a distance field consistent with the surface data. Fig. 4 is a cross section through the fingers of the hand. The figure illustrates how the RBF function approximates a distance function near the object’s surface. The approximately equally spaced iso-contours at +1, 0 and−1 in the top of the figure and the corresponding function profile below, illustrate how the off-surface points have generated a function with a gradient magnitude close to 1 near the surface (which corresponds to the zero-crossings in the profile shown).
这一段主要介绍了如何获得法向量以及需要注意的情况,看的不是太懂,后面再说。大致在说根据on-surface point获取到off-surface ponit
3 Radial Basis Function interpolation
Given a set of zero-valued surface points and non-zero off-surface points we now have a scattered data interpolation problem: we want to approximate the signed-distance function f(x) by an interpolant s(x). The problem can be stated formally as follows,
如何获得这个s就成了问题,使得s作用在xi上后能够等于fi。
The interpolant will be chosen from BL(2)(R3), the Beppo-Levi space of distributions on R3 with square integrable second derivatives. This space is sufficiently large to have many solutions to Problem 3.1, and therefore we can define the affine space of interpolants:
This semi-norm is a measure of the energy or “smoothness” of functions: functions with a small semi-norm are smoother than those with a large semi-norm. Duchon [12] showed that the smoothest interpolant, i.e.,
where p is a polynomial of low degree and the basic function φ is a real valued function on [0,∞), usually unbounded and of noncompact support (see, e.g., Cheney & Light [11]). In this context the points xi are referred to as the centers of the RBF.
总体看上面着几段,首先为了获得一个统一的插值函数s,使得s(xi)=fi(i from 1 to N) 均成立。然后呢,要找到这个s可以在BL空间中寻找,并且我们要的那个s是使得||s||最小的那个s,通常s具有公式(5)的样式。
Popular choices for the basic function φ include the thin-plate spline φ( r ) = r2 log( r ) (for fitting smooth functions of two variables), the Gaussian φ® = exp(−cr2) (mainly for neural networks), and the multiquadric φ® =√r2 +c2 (for various applications, in particular fitting to topographical data). For fitting functions of three variables, good choices include the biharmonic (φ®= r, i.e., Equation (5)) and triharmonic (φ®= r3) splines.
讲φ函数的选择问题。
RBFs are popular for interpolating scattered data as the associated system of linear equations is guaranteed to be invertible under very mild conditions on the locations of the data points [11, 18]. For example, the biharmonic spline of Equation (5) only requires that the data points are not co-planar, while the Gaussian and multiquadric place no restrictions on the locations of the points. In particular, RBFs do not require that the data lie on any sort of regular grid.
可逆的条件。
An arbitrary choice of coefficients λi in Equation (5) will yield a function s* that is not a member of BL(2)(R3). The requirement that s* ∈BL(2)(R3) implies the orthogonality or side conditions(决定s*是否属于BL(2)(R3)的条件)
More generally, if the polynomial in Equation (6) is of degree m then the side conditions imposed on the coefficients are
这里是对于qi的约束
These side conditions along with the interpolation conditions of Equation (2) lead to a linear system to solve for the coefficients that specify the RBF.
上面的这些约束条件和公式(2)共同形成一个线性求解系统,用来求解RBF的参数
Let {p1,…,pl} be a basis for polynomials of degree at most m and let c=(c1,…,cl)be the coefficients that give p in terms of this basis. Then Equations (2) and (7) may be written in matrix form as
这里将等式(2)和(5)用矩阵的形式进行了表示。并且给出了在basis function 选择biharmonic时的各个矩阵或者向量的具体内容。
Solving the linear system (8) determines λ and c, and hence s(x). However, the matrix B in Equation (8) typically has poor conditioning as the number of data points N gets larger. This means that substantial errors wil l easily creep into any standard numerical solution.
通过求解上面的的线性系统我们就可以获得参数 λ and c,但是随着N的变大,累计的误差会使得求解出现问题。
On initial inspection, the essentially local nature of the Gaussian, inverse multiquadric (φ( r ) = (r2 +c2)−1/2) and compactly supported basic functions appear to lead to more desirable properties in the RBF. For example, the matrix B now has special structure (sparsity) which can be exploited by well-known methods and evaluation of Equation (6) only requires that the sum be over nearby centers instead of all N centers. However, non-compactly supported basic functions are better suited to extrapolation and interpolation of irregular, non-uniformly sampled data. Indeed, numerical experiments using Gaussian and compactly supported piecewise polynomials for fitting surfaces to point-clouds have shown that these basic functions yield surfaces with many undesirable artifacts in addition to the lack of extrapolation across holes.
分析上面函数的一些特性,没看懂。反正就是既有好的特性,同时也存在着一些问题。
The energy minimisation properties of biharmonic splines make them well suited to the representation of 3D objects. Since the corresponding basic function φ® = r is not compactly supported and grows arbitrarily large as r tends to infinity, the corresponding matrix B of Equation (8) is not sparse and, except for symmetry, has no obvious structure that can be exploited in solving the system. Storing the lower triangle of matrix B requires space for N(N+1)/2 real numbers. Solution via a symmetric solver will require N3/6+O(N2) flops. For a problem with 20,000 data points this is a requirement for approximately 1.6×109 bytes (1.5GB) of core memory, and 1013 flops, which is impractical. Furthermore, ill-conditioning of the matrix B is likely to make any solution one gets from such a direct computation highly unreliable. Thus, it is clear that direct methods are inappropriate for problems with N & 2,000. Moreover, a single direct evaluation of Equation (6) requires O(N) operations. These factors have led many authors to conclude that, although RBFs are often the interpolant of choice, they are only suitable for problems with at most a few thousand points [13, 14, 20]. The fast methods described in the following section demonstrate that this is no longer the case.
后面这些就是一些性能分析了,意义不大。
总结section 3 就是如何求出s。
4 Fast methods
Fast evaluation of RBF’s is performed via the Fast Multipole Method (FMM) (快速多极子)of Greengard & Rokhlin [15]. The FMM was designed for the fast evaluation of potentials (harmonic RBF’s) in two and three dimensions. However Beatson et al. [7] have adapted the expansion and translation theory for the potential to higher order polyharmonic RBFs. Note that polyharmonic RBFs include the biharmonic spline of Equation (5). The FMM may also be used with polyharmonic splines in two [5] and four dimensions [3].
A full description of the FMM is beyond the scope of this paper and the interested reader is directed towards the introductory short course [4] for an expository treatment of the FMM. However, we give a brief outline of the method.
The FMM makes use of the simple fact that when computations are performed, infinite precision is neither required nor expected. Once this is realised, the use of approximations is allowed. For the evaluation of an RBF, the approximations of choice are far- and near-field expansions. With the centers clustered in a hierarchical manner, far- and near-field expansions are used to generate an approximation to that part of the RBF due to the centers in a particular cluster. A judicious use of approximate evaluation for clusters “far” from an evaluation point and direct evaluation for clusters “near” to an evaluation point allows the RBF to be computed to any predetermined accuracy and with a significant decrease in computation time compared with direct evaluation. These fast evaluation methods, when used together with fitting methods particular to RBFs [2, 6], greatly reduce the storage and computational costs of using RBFs. They reduce the cost of evaluating s(x) at M points from O(MN) to O(M+NlogN) operations. The cost of simultaneously computing the gradient ∇s(x) with s(x) is approximately twice that of computing s(x) alone. Table 1 summarises the gains of fast methods over direct methods. Fig. 5 illustrates two parameters introduced by fast methods: a fitting accuracy and an evaluation accuracy. The fitting accuracy specifies the maximum allowed deviation of the fitted RBF value from the specified value at the interpolation nodes. If desired, a different fitting accuracy may be specified at each data point, as illustrated by the varying error bars in Fig. 5. The evaluation accuracy specifies the precision with which the fitted RBF is then evaluated. Fig. 5 shows an RBF evaluated at regular intervals lying between the dashed evaluation accuracy bands either side of the actual function. It is sensible to choose the evaluation accuracy to be numerically smaller than the fitting accuracy. The resulting dotted curve is an approximation to the smooth and continuous RBF.
由于之前的direct method花费太大,因此使用了一个fast methods ,通过近似的计算,获取到一个s。这里主要就是使用FMM进行上述矩阵的求解,具体可以参考下http://blog.sina.com.cn/s/blog_68c287690102vifh.html 和 http://www.bu.edu/exafmm/
5 RBF center reduction
Conventionally, an RBF approximation uses all the input data points (the xi’s in Equation (2)) as nodes of interpolation, and as centers of the RBF. However, the same input data may be able to be approximated to the desired accuracy using significantly fewer centers, as illustrated in Fig. 7. A greedy algorithm can therefore be used to iteratively fit an RBF to within the desired fitting accuracy. A simple greedy algorithm consists of the following steps:(提出一种贪心算法)
- Choose a subset from the interpolation nodes xi and fit an RBF only to these.(首先选择一个小的子集,获得一个RBF–也就是s)
- Evaluate the residual, εi = fi−s(xi), at all nodes. (计算所有点的残差)
- If max{|εi|}< fitting accuracy then stop.(如果最大的残差小于目标的精度,则代表此RBF符合要求,就停下)
- Else append new centers where εi is large.(否则将εi大的点加入到子集中)
- Re-fit RBF and goto 2.(重新进行计算)
If a different accuracy δi is specified at each point, then the condition in step 3 may be replaced by|εi|< δi.
这一段主要说明了如何通过贪心算法获得符合要求的RBF,还是有点儿巧妙的,跟传统的机器学习算法有点儿类似。
Center reduction is not essential when using the fast methods described in Section 4. For example, no reduction was used when fitting to the LIDAR example of Fig. 8. However, reducing the number of RBF centers results in smaller memory requirements and faster evaluation times, without a loss in accuracy. Fig. 6 illustrates the fitting process with center reduction. As more centers are added to the RBF, the zero-surface more closely approximates the entire set of data points. In this case, a laser scan of a Buddha figurine, consisting of 544,000 points, has been approximated by an RBF with 80,000 centers to a relative accuracy of 1.4×10−4 (achieved at all the data points). The greedy algorithm often results in a net faster fitting time, even with a moderate reduction in the number of centers. This is due to the efficiencies associated with solving and evaluating a similar system at each iteration and the fact that initial iterations involve solving much smaller problems. The results presented in Section 8 are typical of our experience and show that dense laser scan data can be represented by significantly fewer centers than the total number of data points.
非重点,主要在说贪心算法带来的好处,过
6 RBF approximation of noisy data
In Section 3 we looked for an interpolant that minimized a measure of smoothness. However, if there is noise in the data, the interpolation conditions of Equation (2) are too strict and we would prefer to place more emphasis on finding a smooth function, where smoothness is measured by Equation (4). Thus, consider the problem
where ρ ≥ 0 and||·|| is defined in Equation (4). The parameter ρ balances smoothness against fidelity to the data. It can be shown [24] that the solution s* to this problem also has the form of Equation (5), but now the coefficient vector (λT,cT)T is the solution to
where the matrices A and P are as in Equation (8). The parameter ρ can be thought of as the stiffness of the RBF s(x). The system (10) can also be solved using fast methods.
这里提出了一个可以很好地用于处理包含噪声点地模型,其中的 ρ 是一个抗干扰因子。整个模型可以看作对原始模型的一个变式,另外(10)这个线性系统也可以用FMM进行处理。
In Fig. 8 we illustrate RBF approximation (also known as spline smoothing) in the context of reconstructing a surface from 3D LIDAR data. LIDAR data is often noisy and irregular due to limited range resolution and misregistration between scans taken at different scanner positions. Restricted physical viewing angles for the scanner mean increased susceptibility to occlusion and therefore regions of incomplete data. Elsewhere, due to overlapping scans, the data may contain redundancy. Consequently, LIDAR scans represent one of the more difficult surface fitting problems. In this example a smooth surface has been automatically fitted to LIDAR scans of a fountain in Santa Barbara using an RBF approximation. The statue is approximately 2m×5m and was scanned using a CYRAX 2400 scanner. The data set consists of 350,000 points imaged from several viewpoints in front of the statue. Three spheres apparent on top of and beside the statue correspond to landmarks added to the scene in order to align the scans. Fig. 8(a) is the point-cloud taken from several scanner positions in front of the statue. Note the large occluded regions where no data has been recorded. Fig. 8(b) is the automatically fitted RBF surface. Fig. 8© is a detailed view of the fitted surface which illustrates how the smoothness constraint inherent in the biharmonic RBF has correctly preserved the gap between the arm and the rest of the statue, despite having no data in these regions. Along the cut-away planes in this figure we show the magnitude of the RBF. Lighter colored points have smaller magnitudes, i.e., they are “closer” to the zero-surface than darker points. Fig. 9 illustrates the affect of varying ρ on a detailed portion of the surface in Fig. 8. Fig. 9(a) is an exact fit to the raw data (ρ=0), Fig. 9(b) is the value of ρ corresponding to Fig. 8(b) and Fig. 9© illustrates increased smoothing with a larger value for ρ. In this example a global value for ρ has been chosen, however, by dividing Equation (9) by ρ it is possible to specify a particular smoothing parameter ρi for each data point or group of points.
这一段也没什么太大的用处,过
7 Surface evaluation
An RBF fitted to a set of surface data forms a solid model of an object. The surface of the object is the locus of points where the RBF is zero. This surface can be visualised directly using an implicit ray-tracer [9], or an intermediate explicit representation, such as a mesh of polygons, can be extracted. In the latter case, well-known iso-surfacing algorithms such as Marching Cubes [17] can be used to polygonize the surface. However, conventional implementations are optimised for visualising a complete volume of data sampled on a regular voxel grid. The cost associated with evaluating an RBF means that an efficient surface-following algorithm is desirable.
In this paper a marching tetrahedra variant, optimised for surface following, has been used to polygonize surfaces. A mesh optimisation scheme adapted from [21] results in fewer triangles with better aspect ratios, i.e., thin and elongated triangles are avoided. A typical output mesh from this algorithm is illustrated in Fig. 10(b). Wavefronts of facets spread out from seed points across the surface until they meet or intersect the bounding box. For clarity, a wavefront from a single seed is shown in red in Fig. 10(a) spreading over the surface of the Buddha figurine during iso-surfacing. Surfacefollowing is initiated from seed points corresponding to RBF centers. By design, many centers will lie on, or very near, the surface. In the case of off-surface centers, the RBF gradient is used to search for the nearest zero-crossing. Convergence is rapid because the gradient is approximately constant near the surface. Local minima have not been observed in our experience, but this is not surprising since we deliberately constructed the function in Section 2 to have these properties. In any case, only a small subset of centers is required to seed the surface, one for each distinct surface section. The surface-following strategy avoids the conventional requirement for a 3D array of sample points and therefore minimises the number of RBF evaluations. Consequently, the computational cost increases with the square of the resolution, rather than the cube, as it would if a complete volume were sampled. Memory overhead is also minimised since it is only necessary to retain the sample vertices associated with the advancing wavefronts. Quadrilateral meshes can also be produced in this manner. Surfacing ambiguities can be resolved easily due to the ability to analytically evaluate the gradient of the RBF.
主要是在介绍图和生成表面的一些纹理之类的东西,意义不是太大,过。
呀~又看完一篇,总结下:
本篇论文主要是介绍如何使用点云进行表面重建。
引用论文中的步骤(三步):
• Constructing a signed-distance function. (section 2)
• Fitting an RBF to the resulting distance function.(section 3 4 5 6)
• Iso-surfacing the fitted RBF. (section 7)
其中signed-distance function是前提,fit an RBF是核心,最后的iso surface不是太重要了。
在fit an RBF时,首先是使用一个贪心框架进行求解:
- Choose a subset from the interpolation nodes xi and fit an RBF only to these.(首先选择一个小的子集,获得一个RBF–也就是s)
- Evaluate the residual, εi = fi−s(xi), at all nodes. (计算所有点的残差)
- If max{|εi|}< fitting accuracy then stop.(如果最大的残差小于目标的精度,则代表此RBF符合要求,就停下)
- Else append new centers where εi is large.(否则将εi大的点加入到子集中)
- Re-fit RBF and goto 2.(重新进行计算)
其中的核心是在RBF的求解上,这里RBF的求解是解决一个线性系统,而这个线性系统的形成需要对表面进行建模,获得各种约束条件,此时要考虑使用精准建模还是有噪声的建模,具体参考前文。大体过程可参考下图:
表面重建完成后是纹理重建~
以上文章仅供参考,具体以论文为主,如有错误,欢迎指正~