摘要

已经开发出许多技术,用于通过整合对准范围的图像组来重建表面。 此类算法的理想属性包括:增量更新,方向不确定性表示,填补重构中的空白的能力以及存在异常值时的鲁棒性。 先前的算法拥有这些属性的子集。 在本文中,我们提出了一种具有所有这些特性的积分距离图像的体积方法。

我们的体积表示法包括累积加权符号距离函数。 一次处理一个范围图像,我们首先将其扫描转换为距离函数,然后将其与使用简单加法方案已获取的数据合并。 为了达到空间效率,我们对volume进行游程编码。 为了达到效率,请重新采样范围图像以与体素网格对齐,并同步遍历范围和体素扫描线。 我们通过从体积网格中提取等值面来生成最终流形。 我们证明,在一定假设下,该等值面在最小二乘意义上是最佳的。 为了填补模型中的空白,我们对被视为空的区域和从未被观察到的区域之间的边界进行细分。

使用这种方法,可穿戴设备可以集成大量的范围图像(多达70张),从而生成多达260万个三角形的无缝,高细节模型。

1 Introduction 

近年来,快速,准确的范围扫描仪的可用性不断提高。 这些范围扫描仪为医学,****和数字电影制作等应用提供了数据。 其中许多设备会生成距离图像。 即它们会在规则的采样格上生成深度值。 图1说明了如何使用光学三角测量扫描仪来获取距离图像。 通过使用三角形元素连接最近的邻居,可以构造一个测距表面,如图1d所示。 距离图像通常是通过将1D或2D传感器线性扫过对象或围绕对象圆形扫描而形成的,通常不包含足够的信息来重建整个被扫描对象。 因此,我们需要能够将多个距离图像合并为一个表面描述的算法。这种表面重构算法的一组理想属性包括:

范围不确定性的表示。 范围图像中的数据通常具有沿传感器视线的主要方向的不对称误差分布,如图1a中的光学三角测量所示。 范围整合方法应反映这一事实。 利用所有范围数据,包括每个对象表面的冗余观测值。 如果使用得当,这种冗余可以减少传感器的噪声。

增量和顺序独立更新。 在每次扫描或一小组扫描之后,增量更新就可以获取构造信息,并允许我们选择下一个最佳扫描方向。 需要顺序独立性以确保结果不会因较早的扫描而有偏差。 它们一起允许直接进行并行化。

时空效率。 复杂的对象可能需要许多范围图像才能构建详细的模型。 距离图像和模型必须有效地表示并快速处理,以使算法实用。 坚固性。 离群值和系统范围失真会为重构算法带来挑战。 鲁棒的算法需要处理这些情况,而不会发生灾难性的故障,例如曲面上的孔和自相交的曲面。

拓扑类型无限制。 该算法不应假定该对象属于特定属。 简化的假设(例如“对象是球的同胚”)仅在有限的问题类别中产生有用的结果。

能够填补重建中的漏洞。 给定一组不能完全覆盖对象的距离图像,表面重建将必然是不完整的。 对于某些物体,因为某些表面可能是传感器无法接近的,所以扫描量不会完全覆盖该物体。 在这些情况下,我们希望有一种算法能够自动填充这些具有合理表面的孔,从而产生既“水密”又美观的模型。
   在本文中,我们提出了具有所有这些特性的积分范围图像的体积测量方法。 在下一部分中,我们将回顾表面重建领域的一些先前工作。 在第3节中,我们描述了体积算法的核心。 在第4节中,我们将展示如何使用该算法利用关于空间为空的知识来填补重建中的空白。 接下来,在第5节中,我们将介绍如何实施体积方法,以保持合理的时间和空间成本。 在第6节中,我们显示了从复杂对象的许多范围图像进行表面重建的结果。 最后,第7节总结并讨论了局限性和未来发展方向。
   

2 Previous work

几十年来,根据密集范围数据进行表面重建一直是研究的活跃领域。这些策略沿两个基本方向进行:从无组织的点进行重建,以及利用所获取数据的基础结构进行重建。这两种策略可以根据它们是通过重构参数曲面还是通过隐式函数进行操作而进一步细分。 非组织点算法的主要优点是它们没有对点的连通性进行任何先验假设。 在没有范围图像或轮廓来提供连通性提示的情况下,这些算法是唯一的手段。 在参数曲面方法中,Boissanat [2]描述了一种在3空间中对一组点进行Delaunay三角剖分的方法。  Edelsbrunner和Müucke[9]概括了凸包的概念以创建称为alpha形状的曲面。 隐式表面重建的示例包括Hoppe方法等[16],用于生成分配的距离函数,然后进行等值面提取。 最近,Bajaj等人[1]使用alpha形状构造了一个有符号的距离函数,并为其拟合了隐式多项式。 尽管非组织点算法广泛适用,但它们会丢弃有用的信息,例如表面法线和可靠性估计。 结果,这些算法在曲面的平滑区域中表现良好,但在高曲率区域以及系统范围内的失真和离群值的情况下,它们并不总是健壮的。

在结构化数据算法中,已经提出了几种参数化方法,其中大多数方法在多边形域中的距离图像上运行。  Soucy和Laurendeau [25]描述了一种使用维恩图识别重叠数据区域,然后进行重新参数化和区域合并的方法。  Turk和Levoy [30]设计了一种增量算法,该算法通过侵蚀多余的几何图形,然后沿剩余边界进行拉长,最后通过重新引入原始几何图形以建立最终顶点位置的共识步骤,来更新重建。  Rutishauser等人[24]使用传感器视线的误差来确定表面一致的位置,然后重新细分以合并冗余数据。 这些算法通常比未组织的点算法执行得更好,但是它们仍然可能在高曲率区域发生灾难性的失败,如图9所示。

已经提出了几种算法来集成结构化数据以生成隐式函数。 这些算法可以根据是否为体素指定了两个(或三个)状态之一或是否为连续函数的样本进行分类。 在离散状态体积算法中,Connolly [4]将来自作为四叉树访问的距离图像的光线投射到作为八叉树存储的体素网格中,并生成合成数据的结果。Chien等人[3]在严格假定所有视图均取自与立方体的6个面相对应的方向的严格假设下,可以有效地生成八叉树模型。LiandCrebbin [19],Tarbox和Gottschlich [28]也描述了根据距离图像生成二元体素网格的方法。 这些方法均未用于生成曲面。 此外,没有底层的连续函数,就没有机制来表示范围不确定性或组合重叠的,嘈杂的范围表面。

我们的分类法的最后一类包括隐式函数方法,这些方法使用连续函数的样本来组合结构化数据。 我们的方法属于这一类。 该领域先前的工作包括Grosso等人的工作[12],他们从立体生成深度图,并将其平均化为具有对应于不确定性措施的不同坡度的占用坡度的体积。 但是,它们不会执行最终的表面提取。  Succi等人[26]根据立体和光流创建深度图,并使用直线平均将其体积积分。 甲虫的细节尚不清楚,但它们似乎在任意阈值处提取等值面。 在Grosso和Succi论文中,距离图都是稀疏的,没有确定距离不确定性的方向,没有使用时间或空间优化,最终模型的分辨率很低。 最近,希尔顿等人[14]开发了一种与我们的方法类似的方法,即使用加权符号距离函数合并距离图像,但并未解决传感器不确定性,增量更新,空间效率和整个空间特征的潜在问题, 我们认为所有这些对于这种方法的成功至关重要。 其他相关工作包括Elfes和Matthies [10]开发的概率占用网格方法。 他们的体积空间是一个标量概率场,它们使用贝叶斯公式更新。 结果已用于机器人导航,但未用于表面提取。 使用这种技术的困难在于,对表面的最佳描述位于概率函数的峰值或山脊上,并且使用稳健的解决方案并不是山脊发现的问题[8]。 这是我们在下一部分中采用等值面方法的主要动机之一:它利用了行为良好的表面提取算法。

上述离散状态隐式函数算法与从轮廓[15] [21] [23] [27]提取体积的方法也有很多共同点。 我们将在第4节中展示一种使用背景来帮助消除空间空洞的想法。

3 Volumetric integration 

我们的算法采用了一个连续的隐式函数D(x),由样本表示。我们表示的功能是沿到传感器视线的每个点x到最近距离表面的加权符号距离。 我们通过组合从距离图像获得的有符号距离函数d1(x),d2(x),... dn(x)和权重函数w1(x),w2(x),... wn(x)来构造此函数 1 ... n。 我们的组合规则为我们提供了每个体素的累积符号距离函数D(x)和累积权重W(x)。 我们在离散体素网格上表示这些函数,并提取与D(x)= 0相对应的等值面。 在一组特定的假设下,此等值面在最小二乘意义上是最佳的。 关于此最优性的充分证明不在本文讨论范围之内,但附录A中显示了一个草图。

图2说明了从相同方向采样的两个范围曲面的简单情况下,结合未加权有符号距离的原理。 请注意,生成的等值面将是通过沿传感器视线对两个范围曲面求平均值而创建的曲面。 但是,总的来说,权重是表示整个范围表面的确定性变化所必需的。 权重的选择应特定于范围扫描技术。 例如,对于光学三角测量扫描仪,Soucy [25]和Turk [30]的权重取决于每个顶点法线与观察方向之间的点积,当照明相对于表面成角度掠射时,可以反映出较大的不确定性。  Turk还认为,网格边界处的距离数据通常具有更大的不确定性,需要进行更多的权重降低。 我们对光学三角测量范围数据采用这些相同的加权方案。

图3说明了一维中带符号的距离和权重函数的构造和用法。 在图3a中,传感器位于+ x轴下方的原点处,并进行了两次测量r1和r2。 有符号的距离轮廓d1(x)和d2(x)可能在两个方向上都不确定地延伸,但是权重函数w1(x)和w2(x)在范围点后面逐渐变细,原因如下所述。 图3b是两个配置文件的加权组合。 组合规则很简单

A Volumetric Method for Building Complex Models from Range Images

 

A Volumetric Method for Building Complex Models from Range Images

其中di(x)和wi(x)是第i个距离图像的有符号距离和权重函数。以增量计算的形式表示,规则为: 

A Volumetric Method for Building Complex Models from Range Images

 其中Di(x)和Wi(x)是对第i个距离图像进行积分后的累积有符号距离和权重函数。在一维的特殊情况下,累积函数的过零在一个范围内,R由:

A Volumetric Method for Building Complex Models from Range Images

即所获取范围值的加权组合,这是最小平方最小化的期望值。

原则上,距离和加权函数应在两个方向上无限期地扩展。 但是,为防止物体相对两侧的表面相互干扰,我们强制加权功能在表面后面逐渐变细。 在权衡功能减弱的情况下,需要进行折衷的折衷。 应该在表面后面保持足够的距离,以确保所有距离的斜率都将在最终的零交叉点附近起作用,但是,它也应该尽可能地窄,以免影响另一侧的表面。 为了满足这些要求,我们强制权重在等于范围测量的最大不确定性间隔一半的距离处掉落。 同样,有符号距离和权重函数也不必在曲面的前面延伸很远。 将功能限制在表面附近可产生更紧凑的表示形式,并减少了更新体积的计算量。

在二维和三维中,范围测量值对应于具有权重函数的曲线或曲面,并且带符号的距离坡道的方向与传感器不确定性的主要方向一致。 适用于距离图像积分的不确定性包括网格之间的误差未对准以及扫描技术固有的误差。 已经探索了许多用于对准距离图像集的算法,并显示出了极好的结果[11] [30]。 剩下的错误在于扫描仪本身。 例如,对于光学三角测量扫描仪,该误差已显示为围绕范围点的椭圆形,椭圆的主轴与激光的视线对齐[13] [24]。

图4说明了从包含一行范围样本的单次扫描得出的范围曲线的二维情况。实际上,我们对符号距离函数使用固定点表示,如图所示,其将值限制在Dmin和Dmax之间。  Dmin和Dmax的值必须分别为负和正,因为它们位于有符号距离零交叉的相对侧。

对于三个维度,我们可以将整个算法总结如下。 首先,我们将所有体素权重设置为零,以便新数据将覆盖初始网格值。 接下来,我们通过在采样点阵上从最近的邻居构建三角形来细分每个范围图像。 我们通过丢弃边缘长度超过阈值的三角形来避免细分阶梯不连续性(范围图中的悬崖)。 我们还必须计算上述的加权atevertex。

将范围图像转换为在每个顶点具有权重的三角形网格后,我们就可以更新体素网格。 如图5所示,通过从传感器发出的光线通过每个体素靠近范围表面并与三角形网格相交来计算有符号距离贡献,如图5所示。通过线性内插存储在相交三角形顶点处的权重来计算权重。 确定了有符号的距离和权重后,我们可以应用等式3和4中描述的更新公式。

在合并距离图像期间的任何点,我们都可以从体积网格中提取零交叉等值面。 我们将此提取程序限制为以零权重跳过样本,仅在观察到的数据区域生成三角形。 我们将在下一节中放宽此限制。


4 Hole filling 

上一节中描述的算法旨在重建表面的观察部分。 表面的看不见的部分将在重建中显示为孔。 尽管此结果是对已知曲面的准确表示,但从美学角度上讲,这些孔并不令人满意,并且可能表示遵循连续网格的算法的障碍。 例如,在[17]中,这组作者描述了一种参数化补丁的方法,该方法需要通过在网格边缘上行走来生成均匀间隔的网格线。 网格中的间隙会阻止算法创建合理的参数化。 再举一个例子,快速成型技术,如立体光刻技术,通常需要“水密”模型才能构建实体复制品[7]。

填补孔洞以重建网格的一种选择。 如果每个孔附近的网格区域非常接近于平面,则此方法效果很好。 但是,网格中的孔可能(并且经常是)高度非平面的,甚至可能需要在未连接的组件之间进行连接。 取而代之的是,我们提供了一种基于体积的孔填充方法,该方法比重建的网格包含更多信息。

我们算法的关键在于将体积中的所有点分类为三种状态之一:看不见,空或靠近表面。 表面上的孔由看不见的区域和空白区域之间的边界指示(请参见图6)。 这些边界处的表面可能会堵塞这些孔(图6中的虚线)。 获得此分类并生成这些空洞填充会导致上一节中所述算法的直接扩展:

1.将体素空间初始化为“看不见”状态。  

2.按照上一节中的说明更新曲面附近的体素。 和以前一样,这些体素具有连续的符号距离和权重值。  

3.沿着视线从观察到的表面返回,并将相应的体素标记为“空”。 我们将此步骤称为空间雕刻。  

4.在符号距离函数的零交叉处执行等值面提取。 此外,在被视为空的区域和仍然看不见的区域之间提取表面

相关文章: