【论文阅读】根据曲线进行 3D 曲面建模

3D surface modeling from curves

  • Abstract
  • [1. Introduction](#1. Introduction)
  • [2. Related work](#2. Related work)
  • [3. Modeling using range curves](#3. Modeling using range curves)
    • [3.1. Reconstruction from two intersecting curves](#3.1. Reconstruction from two intersecting curves)
    • [3.2. Reconstruction from multiple curves](#3.2. Reconstruction from multiple curves)
    • [3.3. Incremental reconstruction](#3.3. Incremental reconstruction)
    • [3.4. Defining the distance and computing the vector field](#3.4. Defining the distance and computing the vector field)
    • [3.5. Registration using vector fields](#3.5. Registration using vector fields)
  • [4. Results](#4. Results)
    • [4.1. Reconstruction experiments](#4.1. Reconstruction experiments)
    • [4.2. Registration experiments](#4.2. Registration experiments)
  • [5. Conclusion](#5. Conclusion)

Abstract

Traditional approaches for surface reconstruction from range data require that the input data be either range images or unorganized sets of points. With these methods, range data acquired along curvilinear patterns cannot be used for surface reconstruction unless constraints are imposed on the shape of the patterns or on sensor displacement. This paper presents a novel approach for reconstructing a surface from a set of arbitrary, unorganized and intersecting curves. A strategy for updating the reconstructed surface during data acquisition is described as well. Curves are accumulated in a volumetric structure in which a vector field is built and updated. The information that is needed for efficient curve registration is also directly available in the vector field. The proposed modeling approach combines surface reconstruction and curve registration into a unified procedure. The algorithm implementing the approach is of linear complexity with respect to the number of input curves and makes it suitable for interactive modeling. Simulated data based on a set of six curvilinear patterns as well as data acquired with a range sensor are used to illustrate the various steps of the algorithm.

根据距离数据重建表面的传统方法要求输入数据是距离图像或无组织的点集。使用这些方法,沿着曲线图案采集的距离数据不能用于表面重建,除非对图案的形状或传感器位移施加约束。本文提出了一种从一组任意的、无组织的相交曲线重建曲面的新颖方法。还描述了在数据采集期间更新重建表面的策略。曲线在体积结构中累积,在该体积结构中构建和更新矢量场。有效曲线配准所需的信息也可以直接在矢量场中获得。所提出的建模方法将表面重建和曲线配准结合到一个统一的过程中。实现该方法的算法相对于输入曲线的数量具有线性复杂度,并且使其适合交互式建模。基于一组六个曲线图案的模拟数据以及通过距离传感器获取的数据用于说明算法的各个步骤。

1. Introduction

Three-dimensional (3D) modeling from 3D (range) data is the process of building a 3D surface model of a measured object. Depending on the type of the sensor, the range data can be a set of unorganized points, surface curves or range images (surface patches). In all cases, however, range data acquired from a single viewpoint is not sufficient to build a complete model; thus the 3D sensor or the object have to be moved in order to observe the whole surface. This creates redundancy in acquired data with respect to the resolution of the final model since, in general, it is practically not possible to observe the whole surface without observing some regions two or more times. When the range data is a set of surface patches, building a model consists in removing this redundant data and reparameterizing the surface. This process is usually referred to as geometric fusion. Building a model of a given resolution from curves or unorganized sets of points also requires removing redundant data as well but in addition, surface reconstruction is necessary since curves and unorganized points do not represent a surface. Although the redundancy of range data might appear as a setback, it is, however, very useful in solving another problem, registration of multiple views.

根据三维(测距)数据进行三维建模是建立被测物体三维表面模型的过程。根据传感器类型的不同,测距数据可以是一组无组织的点、表面曲线或测距图像(表面斑块)。然而,在所有情况下,从单一视角获取的测距数据都不足以建立完整的模型;因此,必须移动 3D 传感器或物体,才能观察到整个表面。这就在最终模型的分辨率方面造成了获取数据的冗余,因为一般来说,如果不对某些区域进行两次或多次观测,实际上是不可能观测到整个表面的。当测距数据是一组表面斑块时,建立模型就需要去除这些冗余数据,并对表面进行重新参数化。这一过程通常称为几何融合。从曲线或无组织的点集合中建立一个给定分辨率的模型也需要去除冗余数据,但此外,由于曲线和无组织的点并不代表一个曲面,因此曲面重构也是必要的。虽然测距数据的冗余可能看起来是个问题,但它在解决另一个问题--多视图配准--时却非常有用。

Alignment, or registration of range data is required if the sensor position and orientation are not perfectly known for each viewpoint. That information is usually obtained by using an external positioning device but some sensors can also estimate their position using features present in the observed scene [7]. Since the estimate of sensor position is always inaccurate to some degree, the range data is not perfectly aligned once it is transformed into a common reference frame. This sensor position error is referred to as the registration error. Note that in 3D modeling, it is assumed that an approximate position of the sensor is known since the commonly used algorithms cannot handle arbitrary initial positions. For this reason, registration is more correctly referred to as pose refinement in the context of 3D modeling. To align two views, it is sufficient to identify at least three common points on each view and compute a rigid transformation that aligns them. Selecting common points is referred to as matching and is usually based on the ICP (Iterated Closest Points) algorithm [2] while numerous variants and specific implementations exist.
In this paper, the process of 3D modeling integrates geometric fusion, surface reconstruction and registration.

如果每个视点的传感器位置和方向都不完全已知,就需要对齐或配准测距数据。这些信息通常是通过外部定位设备获得的,但有些传感器也可以利用观测场景中的特征来估计其位置[7]。由于对传感器位置的估计在一定程度上总是不准确的,因此一旦将测距数据转换到通用参考框架中,这些数据就不会完全对齐。这种传感器位置误差被称为配准误差。需要注意的是,在 3D 建模中,由于常用算法无法处理任意初始位置,因此假定传感器的近似位置是已知的。因此,在三维建模中,更正确的说法是将配准称为姿态细化。要对齐两个视图,只需在每个视图上确定至少三个公共点,并计算出使它们对齐的刚性变换。选择共同点被称为匹配,通常基于 ICP(迭代最邻近点)算法[2],但也有许多变体和具体实现方法。

在本文中,3D建模过程集成了几何融合、表面重建和配准。

A very common type of range sensor acquires curvilinear measurements (surface profiles) on the surface of an object. Based on optical triangulation, these sensors use a focused laser pattern projected on the surface and can provide dense profiles robustly in a very short time frame. Although various laser patterns are available, methods for surface reconstruction from arbitrary curves still need to be developed. Currently, it is often assumed that profiles are gathered at regular intervals along a well defined path allowing neighbouring profiles to be grouped into a surface. The relative pose of each profile is assumed to be accurate. For hand-held sensors that collect profiles, it is not possible to scan a surface along an exactly predefined scanning path. Thus, some methods have been proposed to build local surface patches from a rigid series of profiles with known position but with only nearly regular scanning paths [3,9,11,15]. There are still two problems with these methods. First, the only type of surface curves that can be used are surface profiles. Second, although error in sensor positioning cannot be avoided during acquisition, it is not possible to refine the pose for a single profile. This results in a loss of quality of the model. The current alternative for low cost hand-held acquisition is to collect range images [6,14] at the expense of losing robustness of laser sensors. In this paper, an approach is proposed for surface reconstruction of free-form objects from arbitrary curves as well as for the correction of the pose of each individual curve.

一种非常常见的测距传感器可以获取物体表面的曲线测量值(表面轮廓)。这些传感器基于光学三角测量,使用投射在表面上的聚焦激光图案,可以在很短的时间内可靠地提供密集的轮廓。尽管有各种激光图案可用,但仍需要开发从任意曲线进行表面重建的方法。目前,通常假设轮廓沿着明确定义的路径以规则间隔聚集,从而允许将相邻轮廓分组到表面中。假设每个轮廓的相对姿态是准确的。对于收集轮廓的手持式传感器,不可能沿着精确预定义的扫描路径扫描表面。因此,已经提出了一些方法来从一系列具有已知位置但仅具有几乎规则的扫描路径的刚性轮廓构建局部表面斑块[3,9,11,15]。这些方法仍然存在两个问题。首先,唯一可以使用的表面曲线类型是表面轮廓。其次,虽然在采集过程中无法避免传感器定位的误差,但也不可能对单个轮廓进行姿态调整。这会导致模型质量下降。目前,低成本手持采集的替代方法是采集测距图像 [6,14],其代价是失去激光传感器的鲁棒性。本文提出了一种从任意曲线重建自由形态物体表面以及修正每条曲线姿态的方法。

Surface curves contain more information about the measured surface than an unorganized set of points, namely tangents that can be exploited to improve the quality of the reconstructed surface. A local estimate of the surface can be obtained using tangents of intersecting curves. Later in this paper, it is explained that for each point on the reconstructed surface, its surface normal is assessed from the tangents at the closest points on the neighbouring curves. Fig. 1 shows the simplest case where a surface is reconstructed in the neighbourhood of two intersecting curves. Since the surface is approximated, the error of the reconstructed surface increases as the distance from the intersection increases. However, one can observe that the reconstructed surface still faithfully follows the shape of the original surface. This cannot be accomplished by reducing curves to unorganized sets of points, i.e. by fitting a plane in the neighbourhood of a point (see also Fig. 3). This improvement is particularly important in the regions of uneven sampling density such as the example in Fig. 1.

与无组织的点集相比,曲面曲线包含了更多关于测量曲面的信息,即切线信息,可用于提高重建曲面的质量。利用相交曲线的切线可以获得曲面的局部估计值。本文稍后将解释,对于重建曲面上的每个点,其曲面法线都是通过相邻曲线上最近点的切线来评估的。图 1 显示了在两条相交曲线附近重建曲面的最简单情况。由于曲面是近似的,重建曲面的误差会随着相交点距离的增加而增大。但是,我们可以观察到,重建后的曲面仍然严格地遵循了原始曲面的形状。将曲线还原为无组织的点集,即在点邻域拟合一个平面,是无法做到这一点的(另见图 3)。这种改进在采样密度不均匀的区域尤为重要,如图 1 中的示例。

It is also shown that surface reconstruction can be performed efficiently using a volumetric structure where the surface is incrementally recovered as new surface curves are scanned. Volumetric structures have been exploited for surface reconstruction from range images or unordered sets of points [4,9,13,15,17] to reduce computational complexity and provide incremental reconstruction. These approaches use an implicit representation of the surface, e.g. a scalar signed distance field computed on a volumetric grid where the reconstructed surface corresponds to the zero crossings of the field. The first contribution of this paper is to describe how such a volumetric representation can be built directly from a set of measured curves using their tangents without any intermediate surface representation. Furthermore, the computational complexity with respect to the number of curves is linear and the reconstruction is incremental and order independent; thus no constraints are imposed on sensor displacement. Any light pattern can be used to measure curves as long as the curves intersect.

它还表明,可以使用体积结构有效地执行表面重建,其中随着扫描新的表面曲线,表面逐渐恢复。体积结构已被用于从距离图像或无序点集进行表面重建[4,9,13,15,17],以降低计算复杂性并提供增量重建。这些方法使用表面的隐式表示,例如在体积网格上计算的标量有符号距离场,其中重建的表面对应于场的零等值面。本文的第一个贡献是描述如何使用一组测量曲线的切线直接构建这样的体积表示,而无需任何中间表面表示。此外,相对于曲线数量的计算复杂度是线性的,并且重建是增量的并且与顺序无关;因此,传感器位移不受任何限制。只要曲线相交,任何光图案都可以用来测量曲线。

If one not only encodes the signed distance field in the volumetric structure but also includes the direction towards the nearest zero crossing in each voxel, then matching (closest point) for a point can be obtained directly from the nearest voxel. We have developed this idea to provide near real-time registration of range images [18]. The second main contribution in this paper is to still maintain the same linear complexity registration for surface curves by registering them with the reconstructed surface. Another important aspect of our approach is a novel definition of distance measure that improves robustness of registration in the presence of noise.

如果不仅对体积结构中的带符号距离场进行编码,而且还包括每个体素中朝向最近零等值面的方向,则可以直接从最近体素获得点的匹配(最近点)。我们开发了这个想法来提供近乎实时的距离图像配准[18]。本文的第二个主要贡献是通过将曲面曲线与重建曲面配准,仍然保持曲面曲线相同的线性复杂度配准。我们方法的另一个重要方面是距离测量的新颖定义,它提高了存在噪声时配准的鲁棒性。

Due to the shadow effects, some regions of the object are not measured during the acquisition of range data, resulting in holes in the final model. The object then has to be rescanned to complete the model in these regions. It is thus advantageous to provide a partially reconstructed model in real-time to guide the operator for the selection of the next best view that allows completion of the model with minimal acquisition time. The linear computational complexity of all modeling steps in the approach makes online surface reconstruction and registration feasible.

由于阴影效应,在获取测距数据时无法测量物体的某些区域,从而导致最终模型出现漏洞。这时就必须重新扫描物体,以完成这些区域的模型。因此,实时提供部分重建的模型,指导操作员选择下一个最佳视角,从而以最短的采集时间完成模型是非常有利的。该方法中所有建模步骤的线性计算复杂度使得在线表面重建和配准变得可行。

The paper is organized as follows. Section 2 presents a summary of existing methods for surface reconstruction and registration. Sections 3.1 and 3.2 describe the principle of surface reconstruction from curves, followed by Section 3.3 which explains a modification required to allow incremental reconstruction. A novel definition of distance aimed at improving robustness of registration is presented in Section 3.4. Section 3.5 exposes curve registration. The results presented in Section 4 illustrate each aspect of the approach using simulated and real data.

本文的结构如下。第 2 节总结了现有的表面重建和配准方法。第 3.1 节和第 3.2 节描述了从曲线进行曲面重建的原理,第 3.3 节解释了允许增量重建所需的修改。第 3.4 节提出了一种旨在提高配准鲁棒性的新距离定义。 3.5 节揭示了曲线配准。第 4 节中给出的结果使用模拟数据和真实数据说明了该方法的各个方面。

Reconstruction methods from range data (geometric fusion of multiple views) can be divided into two groups based on the representation of a surface: surface-based approaches [16,19] and volumetric approaches [4,9,10,13,15]. In this paper, we concentrate on the latter group. Volumetric approaches to surface reconstruction and fusion are based on implicit surface representation as a signed distance field. The surface itself is the zero-set of the scalar field. In the case of range images, this scalar field is used to merge multiple views by simply doing a summation of the fields for each view. The same scalar field can also be used to reconstruct the surface from unorganized sets of points [10,15]. In this case, the distance is defined as the distance to a plane fitted in a neighbourhood of the point where the field is being computed. The final surface is extracted using the Marching Cubes algorithm [12]. Besides geometric fusion, Masuda [13] merges registration and reconstruction by aligning signed distance fields. This approach only applies if the input range data is a set of surface patches.

根据距离数据(多个视图的几何融合)的重建方法可以根据表面的表示分为两组:基于表面的方法[16,19]和体积方法[4,9,10,13,15]。在本文中,我们主要关注后一组。表面重建和融合的体积方法基于作为带符号距离场的隐式表面表示。表面本身是标量场的零集。对于距离图像,此标量场用于通过简单地对每个视图的场进行求和来合并多个视图。相同的标量场也可用于从无组织的点集重建表面[10,15]。在这种情况下,距离定义为与正在计算场的点的邻域中拟合的平面的距离。最终的表面是使用 Marching Cubes 算法提取的 [12]。除了几何融合之外,Masuda [13] 通过对齐有符号距离场来合并配准和重建。此方法仅适用于输入范围数据是一组曲面片的情况。

Most surface reconstruction algorithms using range data accept either range images [4,13,16] or unorganized sets of points [1,10,15] as input. There are several problems related to surface reconstruction by considering curves as unorganized sets of points. First, a local estimate of the surface orientation has to be inferred from relative positions of the measured 3D points, as shown in Fig. 2a. This can be accomplished, for example, by fitting a plane in a neighbourhood of points. However, if the 3D data consists of multiple views, as in Fig. 2, a very small positioning error can cause a very inaccurate estimate of surface orientation. Another way to proceed and to circumvent this problem is to use additional information that is contained in the connectivity of points in curves and surface patches. For example, on a triangulated surface, the immediate neighbours for each point are known and can be used to estimate the surface normal at each point. In this case, the surface orientation is estimated as the average of normals in a neighbourhood, see Fig. 2b. By doing so, the effect of the registration error is much smaller than in the previous case. Similarly, curve tangents can be used to improve reconstruction and reduce the effect of registration errors as explained later.

大多数使用测距数据的曲面重建算法都接受测距图像 [4,13,16] 或无序点集 [1,10,15] 作为输入。将曲线视为无组织点集进行曲面重建存在几个问题。首先,如图 2a 所示,必须从测量的三维点的相对位置推断出曲面方向的局部估计值。例如,可以通过在点邻域拟合一个平面来实现。但是,如果三维数据由多个视图组成,如图 2 所示,很小的定位误差就会导致对表面方向的估计非常不准确。另一种规避这一问题的方法是利用曲线和表面斑块中点的连通性所包含的附加信息。例如,在三角形曲面上,每个点的近邻点都是已知的,可以用来估算每个点的曲面法线。在这种情况下,表面方向可以通过邻域法线的平均值来估算,见图 2b。通过这种方法,配准误差的影响要比前一种情况小得多。同样,曲线切线也可用于改善重建并减少配准误差的影响,详见后文说明。

Fig. 2. Estimating local orientation of the surface from two different viewpoints represented as two curves. (a) In low sample density regions, small positioning errors can lead to a wrong orientation estimate if a plane is fitted in a neighbourhood of points (shaded circle). (b) Using the normals or tangents computed from connectivity of input data solves this problem. In this example, the normal n n n is obtained as 'the most perpendicular' vector to tangents t 1 t_1 t1 and t 2 t_2 t2: By doing so, the effect of the translation that caused a wrong orientation estimate in (a) is canceled.

图 2. 从表示为两条曲线的两个不同视点估计表面的局部方向。 (a) 在低样本密度区域中,如果将平面拟合在点的邻域(阴影圆圈)中,则小的定位误差可能会导致错误的方向估计。 (b) 使用根据输入数据的连通性计算的法线或切线解决了这个问题。在此示例中,法线 n n n 是作为切线 t 1 t_1 t1 和 t 2 t_2 t2 的"最垂直"向量获得的:通过这样做,消除了 (a) 中导致错误方向估计的平移效果。

Another reason to use connectivity information in 3D data (tangents or normals) is the ambiguity that leads to completely wrong surface reconstruction. One example of such an ambiguity is shown in Fig. 3 where a single curve is measured on a cylindrical object. By considering this curve as an unorganized set of points, the reconstructed surface will inevitably be a plane that contains the curve and will be perpendicular to the real surface. The reason for this is that curves are dense sets of points but only along one dimension, i.e the distance between curves is not necessarily the same as the distance between neighbouring points within a single curve. This means that, for example, the surface shown in Fig. 1 could not be reconstructed using surface reconstruction algorithms from unorganized points since they generally assume a relatively uniform distribution of points over the surface. The method proposed in this paper for surface reconstruction from curves eliminates this problem by using curve tangents to obtain a local estimate of the surface.

在 3D 数据(切线或法线)中使用连通性信息的另一个原因是其模糊性会导致完全错误的表面重建。图 3 显示了这种模糊性的一个示例,其中在圆柱形物体上测量了一条曲线。通过将该曲线视为一组无组织的点,重建的表面将不可避免地是包含该曲线并且垂直于真实表面的平面。其原因是曲线是密集的点集,但仅沿一个维度,即曲线之间的距离不一定与单个曲线内相邻点之间的距离相同。这意味着,例如,图 1 所示的表面无法使用来自无组织点的表面重建算法来重建,因为它们通常假设表面上的点分布相对均匀。本文提出的从曲线进行曲面重建的方法通过使用曲线切线来获得曲面的局部估计,从而消除了这个问题。


Fig. 3. Considering all 3D data as unorganized sets of points might lead to wrong surface reconstruction. In this example, the surface reconstructed from a measured curve (left) is a plane perpendicular to the real surface (right).

图 3. 将所有三维数据视为无组织的点集可能会导致错误的曲面重建。在这个例子中,根据测量曲线重建的曲面(左)是一个垂直于真实曲面(右)的平面。

With the exception of Ref. [9], none of the proposed surface reconstruction methods is applicable to the reconstruction from surface curves. Nevertheless, the method proposed in Ref. [9] assumes that the input data is a set of surface profiles which can be locally triangulated to produce a surface. Once the profiles are grouped into a surface, it is considered as a surface patch so that a volumetric algorithm can be used to reconstruct the surface. The triangulation step has a negative impact on several aspects of modeling: the registration of individual profiles cannot be performed, range data has to be acquired in regular sequences and the model cannot be constructed incrementally by integrating a single profile at a time. A post-processing algorithm [3] for Hilton's method has been proposed to improve the alignment of profiles as well as to optimize reconstructed surface. However, the algorithm [3] cannot register individual curves and a specialized algorithm for this purpose is required.

除了参考文献[9]之外,其他提出的曲面重建方法都不适用于曲面曲线的重建。尽管如此,参考文献 [9] 中提出的方法假定输入数据是一组表面轮廓,而这组表面轮廓可以局部地重建为曲面。一旦轮廓被组合成一个曲面,它就会被视为一个曲面补丁,这样就可以使用体积算法来重建曲面。三角测量步骤对建模的几个方面都有负面影响:无法对单个剖面进行配准,测距数据必须按规则顺序获取,而且无法通过一次整合单个剖面来逐步构建模型。有人提出了 Hilton 方法的后处理程序[3],以改进剖面的配准并优化重建的表面。然而,[3] 算法无法对单条曲线进行配准,因此需要一种专门的算法来实现这一目的。

Very little work has been reported on the subject of surface curve registration [8]. Although the stability of curve registration may have contributed to this, the main reason is the computational complexity of the registration process. The simultaneous registration based on the ICP algorithm [2] is of complexity O ( N 2 ) O(N^2) O(N2) with respect to the number of range images. If the same algorithm is applied for registration of surface curves, the complexity quickly becomes untractable since the number of curves required for complete reconstruction of an object is at least an order of magnitude larger than the equivalent number of range images and can easily reach several thousand curves.

关于曲面曲线配准的研究报道很少[8]。虽然曲线配准的稳定性可能是原因之一,但主要原因还是配准过程的计算复杂性。基于 ICP 算法[2]的同步配准复杂度为 O ( N 2 ) O(N^2) O(N2),与距离图像的数量有关。如果将同样的算法应用于曲面曲线的配准,其复杂度很快就会变得难以承受,因为完整重建一个物体所需的曲线数量至少要比等效的范围图像数量大一个数量级,很容易就会达到几千条曲线。

A different approach for registration has been proposed in Ref. [17] where matching information is explicitly encoded in a volumetric grid in addition to the distance field. Such a vector representation reduces computational complexity of registration and makes it linear with respect to the number of range images and the number of measured 3D points. Besides surface reconstruction, this paper extends this approach to the registration of surface curves where the computational complexity is linear with respect to the number of curves.

文献[17]提出了一种不同的配准方法,除了距离场之外,还将匹配信息明确编码在体积网格中。这种矢量表示法降低了配准的计算复杂度,并使其与测距图像数量和测量的三维点数量成线性关系。除了曲面重建,本文还将这种方法扩展到曲面曲线的配准,其计算复杂度与曲线数量成线性关系。

3. Modeling using range curves

As reported in an earlier paper [17], the reconstructed surface is represented implicitly as a vector field. Such a volumetric representation contains both the reconstructed surface and its corresponding matching information in the form of direction and distance towards the reconstructed surface. The surface is represented as the zero crossing of the signed norm of the field while the distance and direction are represented by the field itself. Encoding both distance and direction towards the surface allows one to find approximate closest points (required for registration) with linear complexity. Another advantage of this volumetric representation is that the reconstructed surface can be updated incrementally. In the following, we describe how an implicit representation of the surface can be obtained from a set of non-parallel, intersecting surface curves.

正如早先的一篇论文[17]所述,重建表面隐含地表示为一个矢量场。这种体积表示法既包含了重建表面,也包含了其相应的匹配信息(方向和到重建表面的距离)。表面表示为场的符号规范的零等值面,而距离和方向则由场本身表示。对表面的距离和方向进行编码,就能以线性复杂度找到近似的最近点(配准所需的)。这种体积表示法的另一个优点是,重建的表面可以逐步更新。下面,我们将介绍如何从一组非平行、相交的曲面曲线中获得曲面的隐式表示。

3.1. Reconstruction from two intersecting curves

The main idea behind our approach is to perform reconstruction by approximating the surface in the neighbourhood of the intersection points of surface curves. The reconstruction from two intersecting curves is first explained in order to illustrate the principle on a simple case.

我们的方法背后的主要思想是通过近似曲面曲线交点附近的曲面来执行重建。首先解释两条相交曲线的重建,以说明简单情况下的原理。

The reconstruction is based on a fundamental property of differential surfaces stating that all surface curves passing through some point have their tangents located in a plane tangent to the surface at the same point [5]. The most important consequence of this property for our application is that the tangent plane to a surface at a given point can be computed using the vector product of the tangent to each curve at this point.

这种重建基于微分曲面的一个基本性质,即所有经过某点的曲面曲线的切线都位于曲面在同一点的切平面上[5]。对于我们的应用来说,这一特性最重要的结果是,可以利用每条曲线在该点的切线的向量积来计算曲面在某一点的切平面。

In theory, planes at the intersection points of surface curves could be used to roughly approximate a surface. However, a faithful reconstruction would require too many intersections to be practical. In the presented approach, a limited number of intersections is used and a faithful surface representation is built using tangent planes at these intersections and at points in their neighbourhoods.

理论上,曲面曲线交点的平面可以用来大致逼近曲面。然而,完全精准的重建需要过多的交点,不切实际。在本文介绍的方法中,只使用了有限数量的交叉点,并利用这些交叉点及其邻近点的切线平面建立了准确的曲面表示。

The reconstructed surface S ^ \hat S S^ is implicitly represented as a vector field f : R 3 → R 3 f : R^3 \rightarrow R^3 f:R3→R3 where f ( P ) f(P) f(P) represents the direction and the distance to the closest point p c p_c pc on the surface S ^ \hat S S^ :

重建的表面 S ^ \hat S S^ 隐含地表示为一个向量场 f : R 3 → R 3 f : R^3 \rightarrow R^3 f:R3→R3,其中 f ( P ) f(P) f(P) 表示到曲面 S ^ \hat S S^ 上最近点 p c p_c pc 的方向和距离:

where d d d denotes a distance measure. In practice, the field f ( P ) f(P) f(P) is computed at points on a regular lattice (volumetric grid, see Fig. 4) in the vicinity of a surface, usually referred to as its envelope. The envelope encloses lattice points which are located at a distance to the surface smaller than a predefined positive value ϵ \epsilon ϵ : An example of such an envelope for a curve is depicted in Fig. 4.

其中 d d d 表示距离度量。实际上,场 f ( P ) f(P) f(P) 是在表面附近的规则晶格(体积网格,见图 4)上的点处计算的,通常称为其包络线。包络线包围了距表面的距离小于预定义正值 ϵ \epsilon ϵ 的格点:图 4 中描绘了此类曲线包络线的示例。

Fig. 4. Example of a volumetric envelope (blue) for a curve. The volumetric envelope contains all points closer to the curve than a predefined constant distance ϵ > 0 \epsilon>0 ϵ>0: A cylindrical iso-surface whose points are located at a distance ϵ \epsilon ϵ from the curve delimits the envelope. Field f ( P ) f(P) f(P) is computed only at grid points (red dots) located inside the envelope.

图 4. 曲线的体积包络线(蓝色)示例。体积包络线包含比预定义的恒定距离 ϵ > 0 \epsilon>0 ϵ>0 更接近曲线的所有点: 一个圆柱等值面的点与曲线的距离为 ϵ \epsilon ϵ,这个圆柱等值面就是包络面的边界。场 f ( P ) f(P) f(P) 只在位于包络线内的网格点(红点)上计算。

Fig. 5. Example of the vector field computed on a regular grid. (a) The values of the field represent the direction and the distance towards the closest point on the surface as defined in Eq. (1). (b) Norm of the vector field encoded as gray-levels with associated directions towards the surface.

图 5. 在规则网格上计算的矢量场示例。(a) 矢量场的值代表方向和到曲面上最近点的距离,如公式 (1) 所定义。(b) 矢量场的法向编码为灰度级,并与朝向表面的相关方向一致。

To compute the implicit representation of the surface f ( P ) f(P) f(P) we start with two surface curves α 1 : U 1 ⊂ R → R 3 \alpha_1 : U_1 \subset R \rightarrow R^3 α1:U1⊂R→R3 and α 2 : U 2 ⊂ R → R 3 \alpha_2 : U_2 \subset R \rightarrow R^3 α2:U2⊂R→R3 intersecting at a single point p i = α 1 ( U 1 ) ∩ α 2 ( U 2 ) p_i =\alpha_1(U_1) \cap \alpha_2(U_2) pi=α1(U1)∩α2(U2) (Fig. 5). In the following, it is assumed that the surface is differentiable and that curves are parameterized by arc length. Now, for some lattice point (voxel) p p p; an approximation of the normal n n n to the tangent plane at the closest point of the surface is approximated as the vector product of the tangents t 1 t_1 t1 and t 2 t_2 t2 at points p 1 ∈ α 1 p_1 \in \alpha_1 p1∈α1 and p 2 ∈ α 2 p2 \in \alpha_2 p2∈α2 closest to p p p, i.e.

为了计算曲面 f ( P ) f(P) f(P) 的隐式表示,我们从两条曲面曲线 α 1 : U 1 ⊂ R → R 3 \alpha_1 : U_1 \subset R \rightarrow R^3 α1:U1⊂R→R3 和 α 2 : U 2 ⊂ R → R 3 \alpha_2 : U_2 \subset R \rightarrow R^3 α2:U2⊂R→R3 开始,这两条曲线相交于一个点 p i = α 1 ( U 1 ) ∩ α 2 ( U 2 ) p_i =\alpha_1(U_1) \cap \alpha_2(U_2) pi=α1(U1)∩α2(U2) (应该是图6)。下面假设曲面是可微分的,曲线的参数是弧长。现在,对于某个晶格点(体素) p p p;曲面最近点的切平面法线 n n n 的近似值是最接近 p p p 的点 p 1 ∈ α 1 p_1 \in \alpha_1 p1∈α1 和 p 2 ∈ α 2 p2 \in \alpha_2 p2∈α2 的切线 t 1 t_1 t1 和 t 2 t_2 t2 的向量积,即


and d d d is a distance measure. As discussed in Section 3.4, the choice of d d d in Eq. (4) plays an important role in the registration process, but for now, it can be assumed that the distance d is the Euclidean distance.

d d d 是距离度量。如第 3.4 节所述,公式 (4) 中 d d d 的选择在配准过程中起着重要作用,但现在可以假设距离 d d d 为欧氏距离。

The normal n n n computed in Eq. (3) is taken as the direction towards the closest point on the surface. The average of the projections of vectors v 1 = p − p 1 v_1= p - p_1 v1=p−p1 and v 2 = p = p 2 v_2 = p = p_2 v2=p=p2 on the normal n n n is taken as the distance to the surface, i.e.

式 (3) 中计算的法线 n n n 是指向表面上最近点的方向。矢量 v 1 = p − p 1 v_1= p - p_1 v1=p−p1 和 v 2 = p − p 2 v_2= p - p_2 v2=p−p2 在法线 n n n 上的投影的平均值作为到表面的距离,即

An example of the vector field is shown in Fig. 6. The reconstructed surface can be extracted from the vector field f ( P ) f(P) f(P) using the Marching Cubes algorithm. The Marching Cubes algorithm uses a scalar field that is obtained by computing the signed norm of f ( P ) f(P) f(P) : This norm is a scalar field whose sign is computed as the sign of the scalar product between f ( P ) f(P) f(P) and the direction of the sensor. An example of the reconstruction from two curves is shown in Fig. 1.

矢量场的示例如图 6 所示。重建后的曲面可以使用 Marching Cubes 算法从矢量场 f ( P ) f(P) f(P) 中提取出来。Marching Cubes 算法使用一个标量场,该标量场通过计算 f ( P ) f(P) f(P) 的符号值获得:该值是一个标量场,其符号是根据 f ( P ) f(P) f(P) 与传感器方向的标量乘积的符号计算得出的。图 1 显示了从两条曲线重建的示例。

Fig. 6. Reconstruction from two curves. The normal to the tangent plane (shaded in gray) is obtained as the cross-product of the tangents t 1 t_1 t1 and t 2 t_2 t2 at the closest points p 1 p_1 p1 and p 2 p_2 p2 of the two curves a 1 a_1 a1 and a 2 a_2 a2: The distance d d d to the tangent plane is the average of the projections of v 1 v_1 v1 and v 2 v_2 v2 on the normal n n n: The value of the field f f f at point p p p is d n d_n dn:

图 6. 从两条曲线重建。切平面(灰色阴影)的法线是两条曲线 a 1 a_1 a1 和 a 2 a_2 a2 的最近点 p 1 p_1 p1 和 p 2 p_2 p2 处切线 t 1 t_1 t1 和 t 2 t_2 t2 的叉积: 到切平面的距离 d d d 是 v 1 v_1 v1 和 v 2 v_2 v2 在法线 n n n 上投影的平均值: p p p 处的场 f f f 的值为 d n d_n dn:

It should be noted that as long as the two curves are not straight lines, there are no planar regions on the reconstructed surface: the tangent planes are used to approximate the surface but each plane represents only a single point on the surface.

需要注意的是,只要两条曲线不是直线,重建的曲面上就没有平面区域:切平面用于近似曲面,但每个平面只代表曲面上的一个点。

3.2. Reconstruction from multiple curves

It is straightforward to extend the two-curve reconstruction approach described in Section 3.1 to the case of multiple curves. As shown in Fig. 7, a voxel can be located in the vicinity of more than two curves and the tangent plane has to be estimated using all of them. The approximation of the surface can be obtained as a least-squares estimate of the normal using tangents at the closest points of all nearby curves. This estimate corresponds to the 'most perpendicular' vector to a set of tangents.

将第 3.1 节中描述的双曲线重建方法扩展到多曲线的情况也很简单。如图 7 所示,一个体素可能位于两条以上的曲线附近,因此必须使用所有曲线来估计切面。曲面的近似值可以通过使用附近所有曲线最近点的切线对法线进行最小二乘估计来获得。这个估计值相当于一组切线的 "最垂直 "向量。

Fig. 7. Reconstruction from multiple curves. The normal is obtained as a least-squares estimate of the 'most perpendicular' vector to the tangents t i ; i = 1 ; 2 ; 3 ; 4 t_i; i=1; 2; 3; 4 ti;i=1;2;3;4 at the closest points p i p_i pi of the four curves. Distance d d d to the tangent plane is the average norm of the projections of vectors v i v_i vi on the normal n n n: The value of the field f f f at point p p p is d n d_n dn:

图 7. 根据多条曲线进行重建。法线是通过对四条曲线最近点 p i p_i pi 的切线 t i ; i = 1 ; 2 ; 3 ; 4 t_i; i=1; 2; 3; 4 ti;i=1;2;3;4 的 "最垂直 "向量进行最小二乘估计而得到的。到切线平面的距离 d d d 是向量 v i v_i vi 在法线 n n n 上的投影的平均值: 在点 p p p 处的场 f f f 的值为 d n d_n dn:

More formally, let α 1 ; . . . ; α N \alpha_1; ...; \alpha_N α1;...;αN be N N N surface curves passing within some predefined distance ϵ > 0 \epsilon>0 ϵ>0 from a point (voxel) p p p and let t 1 ; . . . ; t N t_1; ...; t_N t1;...;tN be their respective tangents at the closest points to the point p p p: Then the normal on the surface is obtained as the vector n = [ n x , n y , n z ] T n=[n_x,n_y,n_z]^T n=[nx,ny,nz]T that minimizes the following expression

更正式地说,假设 α 1 ; . . . ; α N \alpha_1; ...; \alpha_N α1;...;αN 是在某个预定距离 ϵ > 0 \epsilon>0 ϵ>0范围内经过一个点(体素) p p p 的 N N N 条曲面曲线,假设 t 1 ; . . . ; t N t_1; ...; t_N t1;...;tN 是它们各自在离点 p p p 最近处的切线: 那么曲面上的法线就是使以下表达式最小化的向量 n = [ n x , n y , n z ] T n=[n_x,n_y,n_z]^T n=[nx,ny,nz]T

Taking the derivatives of ξ \xi ξ with respect to n x ; n y a n d n z n_x; n_y and n_z nx;nyandnz and setting them equal to zero defines the following system of equations:

取 ξ \xi ξ 相对于 n x ; n y 和 n z n_x;n_y 和 n_z nx;ny和nz 的导数并置其为零,定义了以下方程组:

The solution for n n n is the eigenvector associated with the smallest eigenvalue of C C C which is the covariance matrix of the tangents.

n n n 的解是与 C C C 最小特征值相关的特征向量,而 C C C 是切线的协方差矩阵。

The distance towards the surface is obtained as the average value of the projected distance vectors on the estimated normal, i.e

到表面的距离是作为估计法线上投影距离向量的平均值获得的,即

where p i p_i pi is the closest point to p p p on curve α i \alpha_i αi: Finally, the value of the field at point p p p is:

其中 p i p_i pi 是曲线 α i \alpha_i αi 上离 p p p 最近的点: 最后,点 p p p 的场值为

In order to estimate the tangent plane to a surface at some point p p p; at least two non-parallel tangents are needed to compute the matrix C C C at p p p since a single tangent does not define a plane. This condition can be verified by analyzing the eigenvalues of matrix C C C : if two eigenvalues are zero, then only one tangent (or two or more parallel tangents) exists and the estimated normal at that point is not used. This implies that the tangent plane cannot be estimated from parallel curves, which makes the estimate less sensitive to registration errors (relative position of curves).

为了估算曲面在某点 p p p 的切平面,需要至少两条不平行的切线来计算 p p p 处的矩阵 C C C,因为单条切线并不能定义一个平面。这个条件可以通过分析矩阵 C C C 的特征值来验证:如果两个特征值为零,则只存在一条切线(或两条或更多平行切线),并且不使用该点的估计法线。这意味着无法从平行曲线估算出切线平面,从而降低了估算对配准误差(曲线的相对位置)的敏感性。

At the intersection points of noiseless and accurately positioned curves, all tangents are coplanar, hence one eigenvalue is always equal to zero and the tangents span a plane. Since, in our case, the surface is approximated in the neighbourhood of the intersection points, all three eigenvalues are generally larger than zero. Also, if the tangents are estimated from noisy data, the three eigenvalues may have similar values in which case the tangents span a cube and the estimate of the tangent plane is meaningless. To make sure that the estimated tangent plane is valid, an additional verification is made on the eigenvalues. Let e 1 ; e 2 e_1; e_2 e1;e2 and e 3 e_3 e3 be the three eigenvalues such that e 1 < e 2 < e 3 e_1<e_2 <e_3 e1<e2<e3: Since matrix C C C is normalized, the sum of the eigenvalues is always equal to one, i.e. e 1 + e 2 + e 3 = 1 e_1+e_2 + e_3 =1 e1+e2+e3=1 and fixed thresholds can be applied to test eigenvalues. It was confirmed empirically, that imposing the constraints e 2 > 0.05 e_2>0.05 e2>0.05 and e 1 < 0.5 e 2 e_1<0.5e_2 e1<0.5e2 is enough to validate the estimated tangent plane. Imposing these constraints simply means that the tangents used to compute C C C must be approximately coplanar.

在无噪声和精确定位曲线的交点上,所有切线都是共面的,因此一个特征值总是等于零,切线跨越一个平面。在我们的例子中,由于曲面是在交点附近近似的,因此所有三个特征值一般都大于零。此外,如果切线是根据噪声数据估算的,那么三个特征值可能具有相似的值,在这种情况下,切线就会跨过一个立方体,而对切线平面的估算也就毫无意义了。为了确保估计的切面有效,还需要对特征值进行额外的验证。假设 e 1 ; e 2 e_1;e_2 e1;e2 和 e 3 e_3 e3 是三个特征值,且 e 1 < e 2 < e 3 e_1<e_2 <e_3 e1<e2<e3: 由于矩阵 C C C 已归一化,特征值之和总是等于 1,即 e 1 + e 2 + e 3 = 1 e_1+e_2 + e_3 =1 e1+e2+e3=1,因此可对测试特征值应用固定阈值。经验证实,施加 e 2 > 0.05 e_2>0.05 e2>0.05 和 e 1 < 0.5 e 2 e_1<0.5e_2 e1<0.5e2 约束足以验证估计的切平面。施加这些约束条件仅仅意味着用于计算 C C C 的切线必须近似共面。

Since the size of the envelope determines how many curves influence the matrix C C C at each voxel, its role is important in the reconstruction process: if the envelope chosen is too small with respect to the density of the curves, the reconstructed surface will either contain holes or it will appear as a set of patches located around intersection points. Two examples of a surface reconstructed with too small an envelope are shown in Fig. 8. As shown in Fig. 9, increasing the size of the envelope can solve this problem. Nevertheless, increasing the size of the envelope also increases the execution time of the algorithm since the field is computed for a larger number of points. More importantly, by increasing the size of the envelope, the number of tangents used for estimating the tangent plane increases, as well as the distance to the curves whose tangents are used. The consequence is a loss of details on the reconstructed surface since the leastsquares estimation of the tangent plane acts as a low-pass filter. Having these constraints in mind, choosing the size of the envelope is thus a compromise. It is preferable to solve the problem of sparse data by sampling the surface more densely. Since our approach aims at interactive modeling where the reconstructed surface becomes available immediately after each curve has been acquired, it is easy to spot and resample the low-density regions during the acquisition of range data.

由于包络线的大小决定了在每个体素上有多少条曲线影响矩阵 C C C,因此它在重建过程中的作用非常重要:如果选择的包络线相对于曲线密度来说太小,重建后的曲面要么包含空洞,要么显示为一组位于交叉点周围的斑块。图 8 显示了两个用太小的包络线重建曲面的例子。如图 9 所示,增大包络线的尺寸可以解决这个问题。不过,增加包络线的大小也会增加算法的执行时间,因为要计算更多点的场。更重要的是,随着包络线尺寸的增大,用于估算切面的切线数量也会随之增加,同时与所使用切线的曲线之间的距离也会增加。由于切线平面的最小二乘估计就像一个低通滤波器,因此会导致重建表面的细节丢失。考虑到这些限制,选择包络线的大小是一个折衷方案。最好是通过更密集地对表面进行采样来解决数据稀疏的问题。由于我们的方法旨在进行交互式建模,即在获取每条曲线后立即获得重建的表面,因此很容易在获取测距数据时发现并重新采样低密度区域。

Fig. 8. Surface reconstruction using a small envelope size with respect to the density of range data. The shape of the reconstructed surface patches depends on the weighting function. (a) Example of reconstruction using unweighted matrices C i C_i Ci: (b) Reconstruction using the weighting function defined in Eq. (11).

图 8. 使用相对于测距数据密度的较小包络尺寸进行表面重建。重建表面斑块的形状取决于加权函数。(a) 使用非加权矩阵 C i C_i Ci 进行重建的示例: (b) 使用公式 (11) 中定义的加权函数进行重建。


Fig. 9. Reconstruction using an envelope size larger than the minimum distance between curves. If unweighted tangents are used for computing the field, the resulting field is discontinuous and so will be the reconstructed surface. If the surface does not change abruptly, the effect of discontinuity is relatively small, giving a 'patchy' appearance to the reconstructed surface, as shown in the image on the top. The image on the bottom shows the same surface reconstructed using the weighting function defined in Eq. (11).

图 9. 使用大于曲线间最小距离的包络线进行重建。如果使用非加权切线来计算场,得到的场是不连续的,重建的曲面也是不连续的。如果表面没有突然变化,不连续性的影响相对较小,重建的表面会呈现 "斑驳 "的外观,如上图所示。下图显示的是使用公式 (11) 中定义的加权函数重建的相同表面。

A single curve influences the field only at points located inside its envelope and its influence drops to zero outside this envelope. Thus, the field computed from Eq. (10) is discontinuous over the edges of the envelope as well as the reconstructed surface. An example of such a reconstructed surface is shown in Fig. 9. The solution to this problem is to weight the tangents using a continuous function of distance that drops to zero at the edge of the envelope. Any decreasing, monotonic function can be used for this purpose. In our experiments, the following function proved to be useful:

单条曲线只对位于其包络线内的点产生影响,在包络线外其影响降为零。因此,根据公式 (10) 计算出的场在包络线和重建表面的边缘是不连续的。图 9 显示了这样一个重建表面的例子。解决这个问题的方法是使用一个连续的距离函数对切线进行加权,该函数在包络线边缘下降为零。任何递减的单调函数都可用于此目的。在我们的实验中,以下函数被证明是有用的:

The value of σ \sigma σ chosen equal to 1 / 2 ϵ 1/2\epsilon 1/2ϵ to make sure that the value of v v v drops close to zero outside the envelope. The weighting function also influences the shape of the reconstructed surface since it also acts as a low-pass filter giving more importance to closer curves. As shown in Fig. 8, the shape of the reconstructed surface patches around intersection points is influenced by the weighting function. This results from the constraints imposed on the eigenvalues of matrix C C C.

选择 σ \sigma σ 的值等于 1 / 2 ϵ 1/2\epsilon 1/2ϵ 以确保 v v v 的值在包络线之外下降到接近于零。加权函数还影响重建表面的形状,因为它还充当低通滤波器,更加重视更接近的曲线。如图 8 所示,交点周围重建表面斑块的形状受到加权函数的影响。这是由于对矩阵 C C C 特征值施加的约束造成的。

The tangents can also be weighted in such a way to reduce influence of less-confident data, by taking into account some uncertainty measure τ \tau τ-based, for example, on the angle between the curve normal and the incident measurement ray. After weighting with τ \tau τ and ω \omega ω; matrix C C C defined in Eq. (8) becomes

还可以通过考虑一些基于 τ \tau τ 的不确定性测量(例如曲线法线与入射测量射线之间的角度)来对切线进行加权,以减少可信度较低的数据的影响。用 τ \tau τ 和 ω \omega ω 加权后;方程 (8)中定义的矩阵 C C C 变为

3.3. Incremental reconstruction

For the reconstruction approach described above, it was assumed that all the data has been collected prior to reconstructing the surface. If the reconstruction has to be performed online, then the field needs to be updated incrementally by integrating a single measured curve at a time. However, the least-squares estimate of the surface normal and, consequently, the vector field, cannot be computed incrementally. On the other hand, matrix C C C computed at each voxel p p p is obtained as a sum and can therefore be updated incrementally. Let C ( p ) C(p) C(p) be the matrix C C C for the voxel p p p: Eq. (12) can be rewritten as

对于上述重建方法,假定在重建表面之前已经收集了所有数据。如果必须在线重建,则需要通过每次整合一条测量曲线来逐步更新场。然而,表面法线的最小二乘估计值以及矢量场都无法以增量方式计算。另一方面,在每个体素 p p p 计算的矩阵 C C C 是以和的形式获得的,因此可以增量更新。令' C ( p ) C(p) C(p) 为体素 p p p 的矩阵 C C C: 公式 (12) 可改写为

where C i ( p ) = t i t i T C_i(p)=t_it_i^T Ci(p)=titiT During reconstruction, a matrix C ( p ) C(p) C(p) is associated with each voxel and is updated after each curve α i \alpha_i αi has been acquired by summing it with C i ( p ) C_i(p) Ci(p): Matrix C i ( p ) C_i(p) Ci(p) depends only on the curve α i \alpha_i αi and is computed using the tangent t i t_i ti at the point p i p_i pi on the curve that is closest to p p p. In addition to the matrix C C C, the sum of distance vectors v ~ \widetilde{v} v is kept at each voxel as well (Eq. (9)). The value of the field f ( p ) f(p) f(p) defined in Eqs. (9) and (10), is computed only before the application of the surface using the Marching Cubes algorithm for reconstruction or during registration.

其中 C i ( p ) = t i t i T C_i(p)=t_it_i^T Ci(p)=titiT 在重建过程中,矩阵 C ( p ) C(p) C(p) 与每个体素相关联,并在每条曲线 α i \alpha_i αi 与 C i ( p ) C_i(p) Ci(p) 求和后更新:矩阵 C i ( p ) C_i(p) Ci(p) 仅取决于曲线 α i \alpha_i αi,并使用最接近 p p p 的曲线上点 p i p_i pi 处的切线 t i t_i ti 计算。 除了矩阵 C C C,距离向量 v ~ \widetilde{v} v 的总和也保留在每个体素处(方程(9))。等式中定义的 f ( p ) f(p) f(p) 的值。 公式 (9) 和 (10) 中定义的场 f ( p ) f(p) f(p),仅在使用行进立方体算法应用曲面重建之前或在配准过程中计算。

3.4. Defining the distance and computing the vector field

So far the curves were considered as being continuous and noiseless. In practice, the measured curves are represented as sets of line segments and corrupted by noise. The level of noise does not have a significant effect on the functionality of the algorithm with respect to the surface reconstruction process other than the quality of the reconstructed surface. The most important effect of noise is on the registration process, specifically on the matching step. As shown in Fig. 15a, the points with high noise level tend to attract a large number of correspondences. This slows down the registration process and makes it less accurate. To circumvent this problem, a new definition is adopted for distance d d d in Eq. (3) to replace the Euclidean distance.

到目前为止,曲线被认为是连续的、无噪声的。实际上,测量到的曲线是线段集,并受到噪声的干扰。除了重建表面的质量外,噪声水平对算法在表面重建过程中的功能影响不大。噪声最重要的影响在于配准过程,特别是匹配步骤。如图 15a 所示,噪声水平高的点往往会吸引大量的对应点。这会减慢配准过程的速度,降低配准的准确性。为避免这一问题,公式 (3) 中的距离 d d d 采用了新的定义,以取代欧氏距离。

To improve the robustness of matching, the direction towards the closest point on the line segment has to be corrected while taking into account two important constraints: (i) the distance field has to be continuous, ii) the position of the measured 3D points should not be altered. The solution for this problem is to filter and interpolate tangents over the line segments and to define the distance using the filtered tangents. For the sake of clarity, the distance computation is first illustrated in 2D, the curve being contained in a plane.

为了提高匹配的鲁棒性,必须对线段上最近点的方向进行修正,同时考虑到两个重要的限制条件:(i) 距离场必须是连续的,(ii) 测量的三维点的位置不应改变。解决这一问题的方法是对线段上的切线进行过滤和插值,并使用过滤后的切线定义距离。为清楚起见,首先以二维方式说明距离计算,即曲线包含在一个平面内。

A curve is considered as a linear interpolation of measured points { p 1 ; . . . ; p N } \{p_1; ...; p_N\} {p1;...;pN} represented as a set of line segments α = { l 1 , . . . , l N − 1 } \alpha=\{l_{1},...,l_{N-1}\} α={l1,...,lN−1} where l i = p i p i + 1 ‾ l_{i}=\overline{{{p}{i}{p}{i+1}}} li=pipi+1. Except for end-points, the tangent at each measured point p i p_i pi can be computed as follows:

曲线被视为测量点 { p 1 ; . . . ; p N } \{p_1; ...; p_N\} {p1;...;pN} 的线性插值,表示为一组线段 α = { l 1 , . . . , l N − 1 } \alpha=\{l_{1},...,l_{N-1}\} α={l1,...,lN−1} 其中 l i = p i p i + 1 ‾ l_{i}=\overline{{p}{i}{p}{i+1}} li=pipi+1 。除端点外,每个测量点 p i p_i pi 的切线可按如下方法计算:

The distance between some point p p p and the curve α \alpha α is computed with respect to the closest line segment l c l_c lc; i.e.

某个点 p p p 与曲线 α \alpha α 之间的距离是根据最近的线段 l c l_c lc 计算出来的,即

where d d d denotes a distance measure. It is, therefore, sufficient to provide the distance from a point to a line segment. The set of all points Π ⊂ R 3 \Pi \subset R^3 Π⊂R3 for whom a line segment l c l_c lc is the closest, is called a fundamental cell associated with the generator line segment l c l_c lc: For the purpose of surface modeling, the field needs to be calculated only within a relatively small distance ϵ > 0 \epsilon>0 ϵ>0 from the measured curve thus limiting the size of the cell to the set of points which are closer than ϵ \epsilon ϵ; i.e. inside the envelope. If d d d is the Euclidean distance then the fundamental cells correspond to the cells of the Voronoi diagram for a set of line segments.

其中 d d d 表示距离度量。因此,只需提供点到线段的距离即可。与线段 l c l_c lc 最接近的所有点 Π ⊂ R 3 \Pi \subset R^3 Π⊂R3 的集合称为与生成线段 l c l_c lc 相关的基本单元: 出于曲面建模的目的,只需要计算离测量曲线相对较小的距离 ϵ > 0 \epsilon>0 ϵ>0 内的场,因此单元的大小仅限于比 ϵ \epsilon ϵ 更近的点集,即在包络线内。如果 d d d 是欧氏距离,那么基本单元就相当于一组线段的沃罗诺伊图单元。

The introduction of a new definition of distance requires the parameterisation of a line segment p 1 p 2 ‾ \overline{{{p}_ {1}{p}_{2}}} p1p2 as:

引入新的距离定义需要将线段 p 1 p 2 ‾ \overline{{{p}_ {1}{p}_{2}}} p1p2 参数化为:
The tangents at the two end-points are then interpolated over the line segment as:

然后在线段上对两个端点处的切线进行插值,如下所示:


The normal n ( u ) n(u) n(u) at each point of a line segment is defined as the vector being perpendicular to the tangent and can also be interpolated:

线段每个点的法线 n ( u ) n(u) n(u) 定义为垂直于切线的向量,也可以进行插值:

Finally, the distance d d d between a point p p p and the line segment p 1 p 2 ‾ \overline{{{p}_ {1}{p}_{2}}} p1p2 is defined as the distance between p p p and the point p c p_c pc whose normal n c n_c nc passes through p p p: This is shown in Fig. 10. More formally

最后,点 p p p 与线段 p 1 p 2 ‾ \overline{{p}_ {1}{p}_{2}} p1p2 之间的距离 d d d 定义为 p p p 沿法线 n c n_c nc 至 p c p_c pc 之间的距离: 如图 10 所示。更正式的定义是


Fig. 10. Computing the distance in the direction of interpolated normals. Distance d between the point p p p and the line segment p 1 p 2 ‾ \overline{{{p}_ {1}{p}{2}}} p1p2 is defined as the distance between p p p and the point p c p_c pc whose normal nc passes through p p p: The distance d d d is computed by finding the iso-segment q 1 q 2 ‾ \overline{{{q} {1}{q}{2}}} q1q2 (line segment where each point is located at an equal distance from p 1 p 2 ‾ \overline{{{p} {1}{p}_{2}}} p1p2) that contains the point p p p.

图 10. 计算内插法线方向的距离 点 p p p 与线段 p 1 p 2 ‾ \overline{{p}_ {1}{p}{2}} p1p2 之间的距离 d 定义为 p p p 与法线 nc 经过 p p p 的点 p c p_c pc 之间的距离: 距离 d d d 的计算方法是找到包含点 p p p 的等分线段 q 1 q 2 ‾ \overline{{q}{1}{q}{2}} q1q2(每个点与 p 1 p 2 ‾ \overline{{p}{1}{p}_{2}} p1p2的距离相等的线段)。

According to the above definition, to obtain a closed form solution for the distance between a point p p p and a line segment p 1 p 2 ‾ \overline{{{p}_ {1}{p}{2}}} p1p2; we note that, if the distance is d d d; then the point lies on the line segment whose end-points are q 1 = p 1 + d n 1 q_1=p_1+dn_1 q1=p1+dn1 and q 2 = p 2 + d n 2 q_2 = p_2 + dn_2 q2=p2+dn2; as shown in Fig. 10. This line segment is an iso-segment whose points are all located at a distance d d d from the generator line segment p 1 p 2 ‾ \overline{{{p} {1}{p}_{2}}} p1p2. The distance is found as the distance for which the area of the triangle q 1 q 2 p q_1q_2p q1q2p is zero, i.e. the cross-product of q 1 − p q_1-p q1−p and q 2 − p q_2-p q2−p is zero. This leads to the following equation

根据上述定义,得到点 p p p到线段 p 1 p 2 ‾ \overline{{{p}_ {1}{p}{2}}} p1p2之间距离的闭式解;我们注意到,如果距离是 d d d,那么该点位于端点为 q 1 = p 1 + d n 1 q_1=p_1+dn_1 q1=p1+dn1 且 q 2 = p 2 + d n 2 q_2 = p_2 + dn_2 q2=p2+dn2 的线段上,如图 10 所示。该线段是一条等线段,其点均位于距生成线段 d d d 的位置 p 1 p 2 ‾ \overline{{{p} {1}{p}_{2}}} p1p2。距离为三角形 q 1 q 2 p q_1q_2p q1q2p 的面积为零时的距离,即 q 1 − p q_1-p q1−p和 q 2 − p q_2-p q2−p的叉积为零。这导致以下等式

Eq. (23) is a system of three quadratic equations with a single unknown d d d: Any of these equations can be used to compute d d d after making sure that the chosen parameters do not vanish altogether. The chosen equation can have up to two real roots. If the number of real roots is zero, the point p p p is located outside the cell. If there is a single real root, the point is located inside the cell and the distance is valid. If there are two real roots, the root of interest is the one with the smallest absolute value. The second root is related to the phenomenon of fundamental cell self-intersection (Figs. 11 and 14) which is explained later in this section. At this point, it is sufficient to mention that the other root is larger than the maximal allowed distance within the cell. The validity of the root can also be verified by testing whether the point p p p is contained in line segment q 1 q 2 ‾ \overline{{{q}_ {1}{q}_{2}}} q1q2 or not (Fig. 11).

式 (23) 是一个包含三个二次方程的系统,其中只有一个未知数 d d d。 在确保所选参数不完全消失后,可利用其中任何一个方程计算出 d d d。所选方程最多可以有两个实数根。如果实根数为零,则点 p p p 位于单元外。如果只有一个实数根,则点位于单元内,距离有效。如果有两个实数根,则相关根是绝对值最小的那个。第二个根与基本单元自交现象有关(图 11 和 14),本节稍后将对此进行解释。此时,只需提及另一个根大于单元内允许的最大距离即可。还可以通过测试点 p p p 是否包含在线段 q 1 q 2 ‾ \overline{{q}_ {1}{q}_{2}} q1q2 中来验证根的有效性(图 11)。

Fig. 11. Illustration of real roots in Eq. (23). Even though the two roots d 1 d_1 d1 and d 2 d_2 d2 satisfy Eq. (23), only the root with a smaller absolute value represents a valid distance. The other root is larger than the maximal allowed distance within the cell. The point p p p is contained in the line segment q 1 ′ q 2 ′ ‾ \overline{{q}_1^{\prime}{q}_2^{\prime}} q1′q2′ but not in q 1 ′ ′ q 2 ′ ′ ‾ \overline{{q}_1^{\prime\prime}{q}_2^{\prime\prime}} q1′′q2′′.

图 11. 方程(23)中实根的图示。即使两个根 d 1 d_1 d1 和 d 2 d_2 d2 满足方程(23),只有绝对值较小的根才代表有效距离。另一个根大于单元内允许的最大距离。点 p p p 包含在线段 q 1 ′ q 2 ′ ‾ \overline{{q}_1^{\prime}{q}_2^{\prime}} q1′q2′ 中,但不在 q 1 ′ ′ q 2 ′ ′ ‾ \overline{{q}_1^{\prime \prime}{q}_2^{\prime\prime}} q1′′q2′′.

Extending the above developments to the 3D case is straightforward. It is sufficient to project the tangents and normals on the plane containing p 1 , p 2 p_1,p_2 p1,p2 and p p p as shown in Fig. 12. Projected tangents t 1 ′ t_1' t1′ and t 2 ′ t_2' t2′ as well as projected normals n 1 ′ n_1' n1′ and n 2 ′ n_2' n2′ are then used in Eqs. (19) -- (23) instead of t 1 t_1 t1 and t 2 t_2 t2.

将上述改进延伸到三维情况非常简单。只需将切线和法线投影到包含 p 1 , p 2 p_1,p_2 p1,p2 和 p p p 的平面上即可,如图 12 所示。然后在公式 (19) - (23) 中使用投影切线 t 1 ′ t_1' t1′ 和 t 2 ′ t_2' t2′ 以及投影法线 n 1 ′ n_1' n1′ 和 n 2 ′ n_2' n2′,而不是 t 1 t_1 t1 和 t 2 t_2 t2。

Fig. 12. Computing the distance in the direction of interpolated normals for non-planar curves. Before computing the distance, the tangents t 1 t_1 t1 and t 2 t_2 t2 are projected onto the plane containing p 1 ; p 2 p_1; p_2 p1;p2 and p p p. The projections t 1 ′ t_1' t1′ and t 2 ′ t_2' t2′$ are then used in Eqs. (19)-- (23) instead of t 1 t_1 t1 and t 2 t_2 t2.

图 12. 计算非平面曲线内插法线方向的距离。在计算距离之前,先将切线 t 1 t_1 t1 和 t 2 t_2 t2 投影到包含 p 1 ; p 2 p_1; p_2 p1;p2 和 p p p 的平面上。然后在公式 (19)- (23) 中使用投影 t 1 ′ t_1' t1′ 和 t 2 ′ t_2' t2′,而不是 t 1 t_1 t1 和 t 2 t_2 t2。

Choosing the definition for the distance allows one to describe the shape of the fundamental cell. To do so, note that the projected normals n 1 ′ n_1' n1′ and n 2 ′ n_2' n2′ at the two end-points of the line segment p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2 delimit the cell in the plane p 1 p 2 p p_1p_2p p1p2p; (Figs. 10 and 12). Normals projected on all planes containing the line segment p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2 are located in the two planes perpendicular to the two tangents (shaded in red in Fig. 12). The cell is, therefore, delimited by these two planes and by the maximal prescribed distance. In general, the fundamental cells have a cylindrical form. An example of a fundamental cell is shown in Fig. 13.

选择距离的定义可以描述基本单元的形状。为此,请注意线段 p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2的两个端点的投影法线 n 1 ′ n_1' n1′ 和 n 2 ′ n_2' n2′在平面 p 1 p 2 p p_1p_2p p1p2p 中划定了单元的边界;(图 10 和 12)。投影在包含线段 p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2的所有平面上的法线位于垂直于两条切线的两个平面上(图 12 中红色阴影部分)。因此,单元由这两个平面和规定的最大距离限定。一般来说,基本单元呈圆柱形。图 13 是基本单元的示例。


Fig. 13. Example of a fundamental cell for a line segment p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2: The cell is delimited by two planes perpendicular to the tangents t 1 t_1 t1 and t 2 t_2 t2 at end-points of the line segment. The size of the cylindrical surface delimiting the cell depends on the maximal prescribed distance (envelope size).

图 13. 线段 p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2 的基本单元示例:该单元由垂直于线段端点处的切线 t 1 t_1 t1 和 t 2 t_2 t2 的两个平面界定。界定细胞的圆柱表面的尺寸取决于最大规定距离(包络尺寸)。

The computation of the distance as defined in Eq. (23) requires projecting normals on the plane p 1 p 2 p p_1p_2p p1p2p. In practice projected normals are computed by noting that they are contained in the plane p 1 p 2 p p_1p_2p p1p2p as well as in the delimiting planes perpendicular to tangents t 1 t_1 t1 and t 2 t_2 t2. Therefore, the two normals are given as

计算式 (23) 中定义的距离需要在平面 p 1 p 2 p p_1p_2p p1p2p 上投影法线。在实际计算中,投影法线的计算方法是注意到它们包含在平面 p 1 p 2 p p_1p_2p p1p2p 以及垂直于切线 t 1 t_1 t1 和 t 2 t_2 t2 的分界平面中。因此,两个法线的值为

where n p n_p np is the normal on the plane p 1 p 2 p p_1p_2p p1p2p.

其中 n p n_p np 是平面 p 1 p 2 p p_1p_2p p1p2p 上的法线。

Noisy data and insufficiently filtered tangents can lead fundamental cells to self-intersect as well as to intersect neighbouring cells; this is shown in Fig. 14a and c. The distance is not defined for these regions and should not be calculated. There are two ways to circumvent this problem. The first way is to increase the level of filtering of the tangents, thus making the intersections appear outside the envelope, as shown in Fig. 14b. For the limit case, the tangents become parallel and the cell will never selfintersect. The second way consists in rejecting all voxels that are not located on the right side of the delimiting planes. If the orientation of tangents is assumed to be as shown in Fig. 12, a point p p p belongs to a valid region of the cell associated with line segment p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2 when the two following conditions are met since the tangents are normal to delimiting planes.

嘈杂的数据和未充分滤波的切线可能导致基本单元自相交以及与相邻单元相交;如图 14a 和 c 所示。有两种方法可以规避这个问题。第一种方法是增加切线的滤波等级,从而使相交处出现在包络线之外,如图 14b 所示。在极限情况下,切线变得平行,单元永远不会自交。第二种方法是剔除所有不在分界平面右侧的体素。如果假设切线方向如图 12 所示,则当满足以下两个条件时,点 p p p 属于与线段 p 1 p 2 ‾ \overline{p_ 1p_ 2} p1p2 相关的单元的有效区域,因为切线垂直于界定平面。



Fig. 14. Self-intersection of a fundamental cell. (a) Due to noise, normals n 2 n_2 n2 and n 3 n_3 n3 meet inside the envelope, making the distance invalid in a part (shaded region) of the cell associated with line segment p 2 p 3 ‾ \overline{p_ 2p_ 3} p2p3: (b) Filtering the tangents (and thus the normals) makes the intersection appear outside the envelope, thus making the distance valid for all points within the envelope. © Envelope of a self-intersecting fundamental cell in 3D space.

图 14. 基本单元的自相交。 (a) 由于噪声,法线 n 2 n_2 n2 和 n 3 n_3 n3 在包络线内相遇,使得与线段 p 2 p 3 ‾ \overline{p_ 2p_ 3} p2p3 相关的单元的一部分(阴影区域)距离无效: (b) 过滤切线(以及法线)使交点出现在包络线之外,从而使距离对于包络线内的所有点都有效。 © 3D 空间中自相交基本单元的包络线。

Eq. (21) is valid only inside the fundamental cell of a line segment. Prior to computing the distance to the curve at some point p p p; one has to find to which cell the point p p p belongs. This is a tedious task that can be avoided by inverting the process and by rather finding all voxels falling inside each cell separately. By doing so, the complexity of field computation is linear with respect to the number of line segments (measured points).

式 (21) 仅在线段的基本单元内有效。在计算某个点 p p p 与曲线的距离之前,我们必须找到该点 p p p 属于哪个单元。这是一项繁琐的工作,但可以通过倒转过程和分别查找每个单元内的所有体素来避免。这样,场计算的复杂度与线段(测量点)的数量呈线性关系。

Computing the field for a cell reduces, therefore, to a simple two-step process. First, the bounding box of a cell is computed. The two defining corners of the bounding box can be obtained as minimum and maximum values of p 1 + ϵ , p 1 − ϵ , p 2 + ϵ , p 2 − ϵ p_1+\epsilon, p_1-\epsilon,p_2+\epsilon,p_2-\epsilon p1+ϵ,p1−ϵ,p2+ϵ,p2−ϵ: Then, for all grid points located inside the bounding box, it is verified whether they are located between the two delimiting planes as in Eq. (26). If it is so, the distance is computed and accepted if it is smaller than the maximum allowed distance.

因此,计算单元格的场简化为简单的两步过程。首先,计算单元的边界框。边界框的两个定义角可以通过 p 1 + ϵ , p 1 − ϵ , p 2 + ϵ , p 2 − ϵ p_1+\epsilon, p_1-\epsilon,p_2+\epsilon,p_2-\epsilon p1+ϵ,p1−ϵ,p2+ϵ,p2−ϵ 的最小值和最大值获得: 然后,对于位于边界框内的所有网格点,验证它们是否位于公式 (26) 中的两个分界平面之间。如果是,则计算距离,如果小于允许的最大距离,则接受该距离。

The effect of choosing the distance as defined in Eq. (21) on matching in presence of noise, is shown in Fig. 15b and c. Filtering the tangents, and at the same time normals, alters the direction towards the closest point, and therefore, matching directions. As a consequence, the matched points are distributed more evenly over the curve as well as over the reconstructed surface. It is important to note that only tangents on the curves are filtered, the measured 3D data remaining unchanged.

图 15b 和 c 显示了公式 (21) 中定义的距离选择对噪声情况下匹配的影响。过滤切线,同时过滤法线,会改变朝向最近点的方向,从而改变匹配方向。因此,匹配点在曲线和重建曲面上的分布更加均匀。值得注意的是,只对曲线上的切线进行过滤,测量的三维数据保持不变。

Fig. 15. The effect of noise on the matching step of registration. (a) Matching with the noisy curve (or surface) S 2 S_2 S2 using Euclidean distance. Since the noisy point in this example is closest to S 1 S_1 S1; it attracts most of the points. (b) Matching using the distance defined in Eq. (21) with unfiltered normals (depicted as arrows). ( c) Matching in the direction of filtered normals. Matched points are more evenly distributed over S 2 S_2 S2.

图 15. 噪声对配准步骤的影响。(a) 使用欧氏距离与噪声曲线(或曲面) S 2 S_2 S2 匹配。由于本例中的噪声点最靠近 S 1 S_1 S1,因此吸引了大部分点。(b) 使用公式 (21) 中定义的距离与未过滤的法线进行匹配(如箭头所示)。( c) 按照过滤后的法线方向进行匹配。匹配点更均匀地分布在 S 2 S_2 S2。

The procedure for computing the field is further detailed in the pseudo-code below. It is assumed that the normals and tangents are computed prior to field computation (Algorithm 1).

下面的伪代码进一步详细说明了计算场的过程。假设法线和切线是在场计算之前计算的(算法 1)。

3.5. Registration using vector fields

Unlike range images, surface curves cannot be registered with each other one pair at a time. The number of intersections between two curves depends on the shape of the curves and is usually insufficient to compute the rigid transformation needed to align them. In some cases, for instance in registering surface profiles, such an approach would simply make the curves overlap. Furthermore, registering all curves simultaneously has O(N^2) complexity with respect to the number of curves and quickly becomes limiting due to the large number of curves that is needed to reconstruct an object. An elegant and efficient way to circumvent these problems is to register curves to the reconstructed model. Since the vector field contains all the information needed for matching, the computational complexity remains linear with respect to the number of curves.

与测距图像不同,曲面曲线不能一对一对地配准。两条曲线之间的交点数量取决于曲线的形状,通常不足以计算对齐曲线所需的刚性变换。在某些情况下,例如在配准曲面轮廓时,这种方法只会使曲线重叠。此外,同时注册所有曲线的复杂度与曲线数量有关,为 O ( N 2 ) O(N^2) O(N2),而且由于重建对象需要大量曲线,因此很快就会变得非常有限。规避这些问题的有效方法是将曲线配准到重建的模型中。由于矢量场包含了匹配所需的所有信息,因此计算复杂度与曲线数量保持线性关系。

Once the vector field is computed for a reasonable number of curves, registering a curve becomes straightforward: for a control point p = [ x , y , z ] T p =[x, y, z]^T p=[x,y,z]T on a curve, the corresponding point pc on the reconstructed surface is given as the value of the vector field at the closest voxel p v p_v pv to the point p p p :

一旦计算出合理数量的曲线的矢量场,配准曲线就变得简单了:对于曲线上的控制点 p = [ x , y , z ] T p =[x, y, z]^T p=[x,y,z]T,给出了重建表面上的对应点 p c p_c pc作为距离点 p p p 最接近体素 p v p_v pv 处的矢量场值:

where Δ \Delta Δ is the voxel size (Fig. 16). Clearly, the voxel size introduces an error that can be reduced by linearly interpolating the value of the field at the voxel p v p_v pv, i.e.

其中 Δ \Delta Δ 是体素大小(图 16)。显然,体素大小会带来误差,但可以通过对体素 p v p_v pv 处的场值进行线性插值来减少误差,即

This correction is shown in Fig. 16. Note that since it is a linear interpolation, the closest point will in general not be located exactly on the surface. However, as demonstrated in Section 4, the error is small.

图 16 显示了这种修正方法。需要注意的是,由于是线性插值,最接近的点一般不会完全位于曲面上。不过,正如第 4 节所示,误差很小。

Fig. 16. Matching a point p p p using the closest voxel centre p v p_v pv: The closest point p c p_c pc is obtained using Eq. (29).

图 16. 使用最近的体素中心 p v p_v pv 匹配点 p p p: 通过公式 (29) 可以得到最近的点 p c p_c pc。

The curves can be registered to a completely or partially reconstructed model, thus providing two strategies for registration: simultaneous and incremental. For simultaneous registration, the model is first reconstructed from all available curves. That is, the vector field is computed using all curves. Then, each curve is registered to this model, one at a time. Finally, the vector field is recomputed and the whole procedure is repeated until no further improvement is possible. In the case of incremental registration, an initial model is created from a relatively small number of curves. Then, the next curves are first registered and then integrated into the model.

这些曲线可以与完全或部分重建的模型进行配准,因此提供了两种配准策略:同步配准和增量配准。对于同步配准,首先根据所有可用的曲线重建模型。也就是说,利用所有曲线计算出矢量场。然后,将每条曲线逐一配准到该模型中。最后,重新计算矢量场并重复整个过程,直到无法进一步改进为止。在增量配准的情况下,初始模型是由相对较少的曲线创建的。然后,首先对下一条曲线进行配准,再将其整合到模型中。

As explained earlier, the field is updated by updating matrix C C C (Eq. (12)) at each voxel that is located inside the envelope of at least one curve. Even though the field is represented indirectly through the matrix C C C; in the pseudocode below we will refer to it as the vector field f f f: Two strategies are described in the following pseudo-code (Algorithms 2 and 3).

如前所述,场通过更新矩阵 C C C(式 (12))来更新位于至少一条曲线包络内的每个体素。尽管场是通过矩阵 C C C 间接表示的,但在下面的伪代码中,我们将把它称为矢量场 f f f: 下面的伪代码(算法 2 和 3)描述了两种策略。

4. Results

The quality of the modeling algorithm has been assessed by experimenting under varying levels of noise, registration errors, and different laser patterns using both synthetic and real range data. The results obtained in these experiments are presented in this section.

通过使用合成和真实测距数据,在不同程度的噪声、配准误差和不同激光模式下进行实验,对建模算法的质量进行了评估。本节将介绍这些实验的结果。

4.1. Reconstruction experiments

An example of reconstruction from multiple curves, using real range data is shown in Fig. 17b. The data for this model consists of 600 curves using the 3D sensor described in Ref. [7] which acquires surface curves by measuring distances to a cross-hair laser pattern (Fig. 18a) projected on the surface of an object.

图 17b 显示了使用真实测距数据从多条曲线进行重建的示例。该模型的数据由 600 条曲线组成,使用的是参考文献[7]中描述的三维传感器。该传感器通过测量投射到物体表面的十字光标激光图案(图 18a)的距离来获取表面曲线。

Fig. 17. Light patterns used in experiments.

图 17. 实验中使用的激光图案。


Fig. 18. Reconstruction from real range data. (a) Raw range data (cross-hair patterns measured on the surface of the model). (b) Reconstructed surface.

图 18. 根据真实测距数据进行重建。(a) 原始测距数据(在模型表面测量到的十字线图案)。(b) 重建后的表面。

Fig. 19 depicts an example of incremental reconstruction using a set of circular light patterns. The figure also illustrates another important aspect of reconstruction: surface filtering by integrating redundant data. When the curves are well registered, adding more curves reduces the variance of noise while preserving fine details. To further illustrate this concept, the reconstruction error has been measured as a function of the number of integrated curves (Fig. 20). As a measure of reconstruction error, we adopted the distance of each vertex of the reconstructed surface to the closest point on the reference model. The reference model of the head (the same model used to generate synthetic range data) is a highly accurate model measured with a range sensor whose precision is 25 um.

图 19 描述了使用一组圆形光斑进行增量重建的示例。该图还说明了重建的另一个重要方面:通过整合冗余数据进行表面过滤。当曲线配准良好时,增加更多的曲线可以减少噪声的差异,同时保留精细的细节。为了进一步说明这一概念,我们测量了重建误差与整合曲线数量的函数关系(图 20)。作为重建误差的衡量标准,我们采用了重建表面的每个顶点到参考模型上最近点的距离。头部的参考模型(与用于生成合成测距数据的模型相同)是使用精度为 25 um 的测距传感器测量的高精度模型。


Fig. 19. Filtering by averaging redundant data. From left to right: reconstruction from 10, 120 and 240 curves. Bottom row: left eye detail of the reconstructed model.

图 19 通过平均冗余数据进行过滤。从左至右:根据 10、120 和 240 条曲线重建的模型。下行:重建模型的左眼细节。

Fig. 20. Average error of the reconstructed surface as a function of the number of curves.

图 20. 重建表面的平均误差作为曲线数量的函数。

The most important parameter for reconstruction is the size of the envelope ( ϵ \epsilon ϵ): On the one hand, since the reconstruction performs averaging in a neighbourhood whose size is equal to ϵ \epsilon ϵ; the envelope should be as small as possible to prevent a loss of fine details. Furthermore, increasing the size of the envelope slows down the algorithm since the number of points at which the field is computed grows as a power of two with the size of the envelope. On the other hand, too small an envelope results in poor performance in the presence of noise and registration errors. In particular, if the envelope is smaller than the level of noise (especially outliers), small isolated patches appear around the reconstructed surface, as shown in Fig. 21b. A solution to this problem is to increase the size of the envelope (Fig. 21c), but with the aforementioned performance penalty and detail loss. Alternatively, the small patches can be removed easily in a postprocessing step since they are not connected to the main surface.

重建最重要的参数是包络线( ϵ \epsilon ϵ)的大小: 一方面,由于重建是在大小等于 ϵ \epsilon ϵ 的邻域内进行平均;因此包络应尽可能小,以防止丢失精细细节。此外,增加包络线的大小会减慢算法的速度,因为计算场的点数是包络线大小的 2 倍。另一方面,包络线太小会导致在出现噪声和配准错误时性能不佳。特别是,如果包络线小于噪声水平(尤其是异常值),重建的表面周围就会出现孤立的小斑点,如图 21b 所示。解决这个问题的办法是增大包络线的尺寸(图 21c),但会带来上述的性能损失和细节损失。另外,由于这些小块与主表面不相连,因此可以在后处理步骤中轻松去除。


Fig. 21. Influence of high level of noise and outliers on the reconstructed surface (simulation). (a) Noisy range data with 1% outliers. (b) If the level of noise is larger than the size of the envelope, small isolated patches appear around the surface. © Increasing the size of the envelope removes the isolated patches.

图 21. 高水平噪声和离群值对重建表面的影响(模拟)。(a) 含 1% 离群值的噪声范围数据。(b) 如果噪声水平大于包络线的大小,表面周围就会出现孤立的小块。© 增大包络线的大小可消除孤立的斑点。

4.2. Registration experiments

As shown in Fig. 22, the registration step of the algorithm converges quickly and remains stable over a large number (300) of iterations (Fig. 22a). Convergence has been tested by measuring the average displacement of circular curves (17c) as a function of the number of iterations. Other patterns behave similarly. From Algorithm 3, the inner loop converges in less than 30 iterations on an average. To visualize the effect of the field update in the outer loop, the convergence curves in (a) are drawn for three iterations of the outer loop. One may observe the decrease in the initial state (Fig. 22b).

如图 22 所示,算法的配准步骤快速收敛,并在大量(300)次迭代中保持稳定(图 22a)。通过测量圆形曲线 (17c) 的平均位移作为迭代次数的函数来测试收敛性。其他模式的行为类似。从算法 3 来看,内循环平均在不到 30 次迭代内收敛。为了可视化外循环中场更新的效果,为外循环的三次迭代绘制了 (a) 中的收敛曲线。人们可以观察到初始状态的下降(图22b)。

Fig. 22. Average displacement of points as a function of the number of iterations. (a) Inner loop of the registration algorithm (Algorithm 3). (b) Evolution of the inner loop convergence during five iterations of the outer loop.

图 22. 点的平均位移作为迭代次数的函数关系。 (a) 配准算法的内循环(算法 3)。 (b) 外循环五次迭代期间内循环收敛的演变。


Fig. 23. Colour encoded distribution of residual registration errors (mm). Curves on the border of the scanned area are only partially matched and therefore unreliably registered. Only three curves have a registration error larger than 1 mm.

图 23. 配准残差的颜色编码分布(毫米)。扫描区域边界上的曲线仅部分匹配,因此配准不可靠。只有 3 条曲线的配准误差大于 1 毫米。

The quality of registration has been assessed by registering synthetic curves with varying levels of noise, outliers and initial registration errors. For that purpose, six noisy synthetic data sets have been generated using the model of a head and for six curvilinear patterns. Registration errors were introduced by perturbing the pose rotation angles randomly within [ − δ r , δ r ] [-\delta_r,\delta_r] [−δr,δr] and the translation within [ − δ t , δ t ] [-\delta_t,\delta_t] [−δt,δt]: Noise was simulated by translating each point in the direction of the laser projector for a random distance chosen within [ − δ n , δ n ] [-\delta_n,\delta_n] [−δn,δn] while the outliers were generated by randomly choosing 1% of the total number of points and displacing them for a random distance chosen within [ − δ o , δ o ] [-\delta_o,\delta_o] [−δo,δo]: Random variables follow uniform distributions. The size of the model is approximately 20 cm while the size of a voxel is 1 mm.

配准质量是通过配准具有不同水平的噪声、异常值和初始配准误差的合成曲线来评估的。为此,使用头部模型和六种曲线图案生成了六个噪声合成数据集。通过随机扰动 [ − δ r , δ r ] [-\delta_r,\delta_r] [−δr,δr] 内的位姿旋转角度和 [ − δ t , δ t ] [-\delta_t,\delta_t] [−δt,δt] 内的平移来引入配准误差:通过沿激光方向平移每个点来模拟噪声投影仪在 [ − δ n , δ n ] [-\delta_n,\delta_n] [−δn,δn] 内选择的随机距离,而异常值是通过随机选择总点数的 1% 并将它们替换为在 [ − δ n , δ n ] [-\delta_n,\delta_n] [−δn,δn] 内选择的随机距离而生成的 [ − δ o , δ o ] [-\delta_o,\delta_o] [−δo,δo]:随机变量服从均匀分布。模型的大小约为 20 厘米,而体素的大小为 1 毫米。

The results summarized in Fig. 24 show the performance of the registration algorithm as a function of the initial registration errors and the level of noise. Residual registration error has been obtained as the distance between the registered points and their corresponding closest points on the reference model. Prior to computing residual errors, all curves as a whole, i.e. as a rigid set, were registered to the reference model using an ICP algorithm.

图 24 中总结的结果显示了配准算法的性能作为初始配准误差和噪声水平的函数。剩余配准误差已获得为配准点与其在参考模型上相应的最近点之间的距离。在计算残余误差之前,使用 ICP 算法将所有曲线作为一个整体(即作为刚性集)配准到参考模型。

The average residual error as well as the variance slowly increase with noise and initial registration errors. An average error of 0.25 mm or below is sufficiently small to yield a reconstructed surface without visible artefacts. More importantly the plots show that the performance of the algorithm gracefully degrades as the level of noise increases rather than to collapse after a certain level of noise.

平均残差和方差随着噪声和初始配准误差而缓慢增加。 0.25 毫米或以下的平均误差足够小,足以产生没有可见伪影的重建表面。更重要的是,这些图表明,算法的性能随着噪声水平的增加而优雅地降低,而不是在达到一定水平的噪声后崩溃。

Fig. 24. Residual registration errors as a function of initial displacements of curves and the level of noise. The values δ r , δ t , δ n δ o \delta_r,\delta_t,\delta_n \delta_o δr,δt,δnδo (see the text for their meaning) are related to the X − a x i s X- axis X−axis index σ \sigma σ as : δ r = σ ( ° ) \delta_r=\sigma(°) δr=σ(°), δ t = σ ( m m ) \delta_t=\sigma(mm) δt=σ(mm), δ n = σ ( m m ) \delta_n=\sigma(mm) δn=σ(mm) and δ o = 5 σ ( m m ) \delta_o=5\sigma(mm) δo=5σ(mm). The thick black line indicates initial registration error.

图 24. 配准残差作为曲线初始位移和噪声水平的函数。值 δ r , δ t , δ n δ o \delta_r,\delta_t,\delta_n \delta_o δr,δt,δnδo (其含义请参阅文本)与 X − a x i s X- axis X−axis 索引 σ \sigma σ 相关,如下所示: δ r = σ ( ° ) \delta_r=\sigma(°) δr=σ(°), $ \delta_t=\sigma(mm) 、 、 、\delta_n=\sigma(mm)$ 和 δ o = 5 σ ( m m ) \delta_o=5\sigma(mm) δo=5σ(mm)。粗黑线表示初始注册错误。

The large maximum residual error in Fig. 24a indicates that some curves were not well registered. On the other hand, small variance and small average error indicate that the number of curves having this high error is small. As shown in Fig. 23 the curves with large errors are located on the boundary of the scanned area where the density of curves is low. In those regions, the field could not be computed so that curves are only partially matched against the reconstructed surface, thus giving rise to an unreliable registration. Among 450 curves, there were only three curves with an error higher than 1 mm. This problem can be solved by rejecting curves that are partially matched.

图 24a 中较大的最大残差表明一些曲线没有很好地记录。另一方面,较小的方差和较小的平均误差表明具有如此高误差的曲线的数量较少。如图23所示,误差较大的曲线位于扫描区域的边界处,曲线密度较低。在这些区域中,无法计算场,因此曲线仅与重建表面部分匹配,从而导致配准不可靠。 450条曲线中,误差大于1毫米的曲线仅有3条。这个问题可以通过拒绝部分匹配的曲线来解决。

Finally, it should be noted that all laser patterns gave similar results. However, as shown in Figs. 24b and c, patterns having the most uniform and dense distribution of points perform slightly better. A thorough analysis of the different patterns is beyond the scope of this paper.

最后,应该指出的是,所有激光图案都给出了相似的结果。然而,如图所示。如图24b和c所示,具有最均匀和最密集的点分布的图案表现稍好。对不同模式的彻底分析超出了本文的范围。

Another way to evaluate the performance of the registration component of the algorithm is to compute the distance between corrected positions of all points and their exact positions. This is, however, an incorrect measure since the curves can slide over the surface during registration, thus increasing the distance to the exact positions, but without significantly degrading the final result. For example, a curve measured in a planar region of the surface can be translated and rotated arbitrarily in the same plane without increasing the distance to the surface. This 'sliding' effect is shown in Fig. 25 where the two measures (distance to exact position of each point, and the distance to the closest point on the reference model) are compared. As expected, the distance to the exact positions is higher in relatively flat regions of the surface.

评估算法配准组件性能的另一种方法是计算所有点的校正位置与其精确位置之间的距离。然而,这是一个不正确的措施,因为曲线在配准过程中可以在表面上滑动,从而增加到精确位置的距离,但不会显着降低最终结果。例如,在表面的平面区域中测量的曲线可以在同一平面内任意平移和旋转,而无需增加到表面的距离。这种"滑动"效应如图 25 所示,其中比较了两个测量值(到每个点的精确位置的距离,以及到参考模型上最近点的距离)。正如预期的那样,在表面相对平坦的区域中,到精确位置的距离更大。


Fig. 25. Measuring the residual registration errors. (a) The residual registration error (colour encoded, brighter colour indicates larger error) measured as the distance between the corrected positions of points and their exact position. The regions of larger errors are featureless regions of the surface, forehead and cheeks. (b) The residual registration error measured as the distance towards the closest point on the reference surface. The errors are uniformly distributed over the surface. Large errors are concentrated in low measurement density regions.

图 25. 测量配准残差。(a) 配准残差(颜色编码,颜色越亮表示误差越大),以点的校正位置与精确位置之间的距离来衡量。误差较大的区域是表面、前额和脸颊的无特征区域。(b) 配准残差以参考表面上最近点的距离来衡量。误差在表面均匀分布。较大的误差集中在测量密度较低的区域。

Registering real range data of the head model obtained with the sensor described in Ref. [7] data leads to similar results. Initial average registration errors were 0.35 mm with a variance of 0.09 m m 2 mm^2 mm2. After registration, those errors were reduced to 0.26 mm (average) and 0.07 m m 2 mm^2 mm2(variance), which is in conformity with results obtained with synthetic data. The residual registration error was evaluated using the reference model.

将参考文献[7]中描述的传感器获得的头部模型的实际测距数据进行配准,可以得到类似的结果。初始平均配准误差为 0.35 mm,方差为 0.09 m m 2 mm^2 mm2。配准后,这些误差减少至 0.26 mm(平均值)和 0.07 m m 2 mm^2 mm2(方差),这与合成数据获得的结果一致。使用参考模型评估残余配准误差。
The last experiment shows the performance of the implemented algorithm. The incremental reconstruction from curves having 250 points each is performed in realtime at the frame rate of the sensor (30 fps). Thereafter, the registration algorithm is run. Execution time of the inner loop of the registration Algorithm 3 for 450 curves is less than 2 s in average. Field recomputation takes more time depending on the size of the envelope: 9 s for ϵ = 3 \epsilon=3 ϵ=3 mm and 23 s for ϵ = 5 \epsilon=5 ϵ=5 mm. The total registration and reconstruction time is 55 s for ϵ = 3 \epsilon=3 ϵ=3 mm and 140 s for ϵ = 5 \epsilon=5 ϵ=5 mm. In all cases, the volume grid size was 200 × 200 × 200 200 \times200\times200 200×200×200. The execution times were obtained using a PC with 1.2 GHz AMD Athlon processor.

最后一个实验显示了所实现算法的性能。以传感器的帧速率 (30 fps) 实时执行从每条具有 250 个点的曲线进行增量重建。此后,运行注册算法。 450条曲线配准算法3的内循环执行时间平均小于2秒。现场重新计算需要更多时间,具体取决于包络的大小: ϵ = 3 \epsilon=3 ϵ=3 mm 为 9 秒, ϵ = 5 \epsilon=5 ϵ=5 mm 为 23 秒。 ϵ = 3 \epsilon=3 ϵ=3 mm 的总配准和重建时间为 55 秒, ϵ = 5 \epsilon=5 ϵ=5 mm 的总配准和重建时间为 140 秒。在所有情况下,体积网格大小均为 200 × 200 × 200 200 \times200\times200 200×200×200。执行时间是使用配备 1.2 GHz AMD Athlon 处理器的 PC 获得的。

5. Conclusion

A volumetric approach for modeling from curves measured on the surface of a free-form object is proposed. Algorithms for both registration and reconstruction are of linear complexity with respect to the number of curves. The reconstruction is incremental thus allowing integration of a single curve at a time. In addition, the reconstruction is order-independent. No intermediate surface representation is required: an implicit volumetric representation of the surface is created directly from the curves. Any curvilinear light pattern can be used for this purpose as long as the resulting curves intersect to provide redundant data for registration and reconstruction. Experimental results on both real and synthetic data provide evidence that the algorithm is robust with respect to the noise and registration errors.

本文提出了一种根据在自由形态物体表面测量到的曲线进行建模的体积方法。配准和重建算法的复杂度与曲线的数量成线性关系。重建是增量式的,因此可以一次整合一条曲线。此外,重建与顺序无关。不需要中间的表面表示:直接从曲线创建表面的隐式体积表示。只要产生的曲线相交,为配准和重建提供冗余数据,任何曲线光图案都可用于此目的。真实数据和合成数据的实验结果表明,该算法对噪声和配准误差具有很强的鲁棒性。
Several extensions with respect to efficiency and generality of the presented algorithms and vector field object representation can be suggested. First, the surface reconstruction algorithm from curves, along with already proposed algorithms for modeling from unorganized sets of points and range images, allows the reconstruction from range data regardless of its dimensionality. However, volumetric representations of different range data types are not compatible; this means that the created volumetric representation, say, from range images cannot be updated with a set of curves or a set of points and vice versa. Unifying the volumetric representation for all types of range data would greatly simplify the modeling process since it would allow mixing of range data acquired with different range sensors. For example, an object could be scanned using a range image sensor that provides 3D images while filling the hard to reach areas with a hand-held sensor that acquires surface curves.

在所提出的算法和矢量场对象表示的效率和通用性方面,可以提出一些扩展建议。首先,根据曲线重建曲面的算法,以及已经提出的根据无序点集和测距图像建模的算法,可以根据测距数据重建曲面,而无需考虑其维度。然而,不同测距数据类型的体积表示法并不兼容;这意味着根据测距图像创建的体积表示法无法通过曲线集或点集进行更新,反之亦然。统一所有测距数据类型的体积表示法将大大简化建模过程,因为这样就可以混合使用不同测距传感器获取的测距数据。例如,可以使用提供三维图像的测距图像传感器扫描物体,同时使用获取表面曲线的手持式传感器填充难以触及的区域。
Another important aspect of a modeling algorithm is the efficient use of computer resources. With respect to computational complexity, the presented algorithm is very efficient, having linear complexity, but the price to pay is a very inefficient use of computer memory. Even though already proposed compression schemes such as run length encoding or hash tables can be used to reduce memory requirements, it is still not as efficient as surface-based representations since these methods encode only occupancy of voxels regardless of the geometry of the object. We do believe that compression of volumetric data based on the geometry of the object is possible and it will be, along with the aforementioned problem of unified representation, the object of our future work.

建模算法的另一个重要方面是有效利用计算机资源。就计算复杂度而言,所提出的算法非常高效,具有线性复杂度,但代价是计算机内存的使用效率非常低。尽管已经提出的压缩方案(如运行长度编码或哈希表)可以用来减少内存需求,但其效率仍然不如基于曲面的表示法,因为这些方法只对体素的占用率进行编码,而不考虑物体的几何形状。我们相信,基于物体几何形状的体积数据压缩是可行的,这将与上述统一表示问题一起,成为我们未来工作的目标。


相关推荐
逆旅行天涯14 小时前
【Threejs】从零开始(十一)--3D交互事件
3d
吉凶以情迁1 天前
在blender中 导出模型给threejs 用3dsprite出现缩放或者位置不对问题排查
3d·blender
Do1phln1 天前
论文阅读 - 《Large Language Models Are Zero-Shot Time Series Forecasters》
论文阅读·人工智能·语言模型
小嗷犬1 天前
【论文笔记】Visual Alignment Pre-training for Sign Language Translation
论文阅读·人工智能·机器翻译·多模态·手语翻译·手语识别
码农菌1 天前
3D坐标下,一点在某一线段上的左右方向的判定
3d·open3d·几何相关算法
前端Hardy1 天前
HTML&CSS:超炫丝滑的卡片水波纹效果
前端·javascript·css·3d·html
神仙别闹1 天前
基于Java2D和Java3D实现的(GUI)图形编辑系统
java·开发语言·3d
失舵之舟-1 天前
【3DGS文献阅读】Splatter Image: Ultra-Fast Single-View 3D Reconstruction
3d·三维重建·nerf·3dgs·3d guassian·三维高斯溅射
谷谷地图下载器2 天前
【全网首发】台湾省模型数据“去水印“说明(3Dtiles和osgb格式),全台湾省的模型数据,全域无水印AI处理,支持所有模型格式
3d