论文精读(八)OReX:使用神经场从平面横截面重建物体

原论文

代码与数据: https://github.com/haimsaw/OReX

引言

从平面横截面重建3D形状是一项挑战,受到医学成像和地理信息学等下游应用的启发。输入是一个在空间中稀疏的平面集合上完全定义的输入/输出指示函数,输出是指示函数到整个体积的插值。以前的工作解决这个稀疏和不适定的问题,要么产生低质量的结果,或依赖于额外的先验,如目标拓扑结构,外观信息,或输入法线方向。在本文中,我们提出了OReX,这是一种仅根据切片进行3D形状重建的方法,其特征是将神经场作为插值先验。在输入平面上训练一个适度的神经网络,以返回给定3D坐标的内部/外部估计,从而产生一个强大的先验知识,从而产生平滑性和自相似性。这种方法的主要挑战是高频细节,因为神经先验过于平滑。为了缓解这一问题,我们提供了一个迭代估计架构和一个分层输入采样方案,鼓励从粗到精的训练,使训练过程在后期阶段专注于高频。此外,我们确定和分析了波纹状的效果源于网格提取步骤。我们通过在网络训练期间围绕输入/输出边界正则化指示函数的空间梯度来缓解它,从根本上解决问题。通过大量的定性和定量实验,我们证明了我们的方法是鲁棒的,准确的,以及规模与输入的大小。我们报告了与以前的方法和最近的潜在解决方案相比的最先进的结果,并通过分析和消融研究证明了我们个人贡献的好处。

1.介绍

图1:OReX从输入的平面横截面(左)重建平滑的3D形状(右)。我们的基于神经场的先验允许切片之间的平滑插值,同时尊重高频特征和自相似性。:

从横截面重建3D物体是一项长期的任务。它在医学成像、地形图绘制和制造等领域持续存在。典型的设置是给定一组稀疏的任意平面,在其上标记所描述域的“内部”和“外部”区域,并估计3D中的整个形状(见图1)。这是一个具有挑战性和不适定的问题,特别是由于数据的稀疏和不规则性。经典的方法首先通过构造输入平面的排列来定位问题,然后引入局部正则化器,该局部正则化器控制输入到每个单元内的插值。虽然这些方法是合理的,但它们通常涉及过于简单的正则化函数,这些函数仅在由相关横截面界定的单元内插值体积;因此,它们引入了不考虑特征的过平滑解。此外,寻找平面的单元排列是一个计算量很大的过程,给问题增加了相当大的复杂性,并使其在大的输入下很快变得不可行(见第四章)。正如我们所展示的(见第四章),最近从输入点云重建网格的方法不太适合我们的设置,因为它们假设整个形状的采样相当密集。此外,这些方法不考虑整个横截面的信息,而是仅考虑形状边界。

在本文中,我们介绍了OReX-一种基于神经网络的重建方法,它可以从横截面切片中估计整个形状。与最近的方法类似,神经网络构成了将输入外推到整个体积的先验。一般来说,神经网络已经被证明具有内在的平滑性[17]和自相似性[12],允许模式的自然重现。

具体来说,我们认为神经场[25]是手头任务的一个有希望的选择。神经场通过估计每个给定3D坐标的密度和其他局部几何属性来表示3D场景。它们通常在2D平面图像上训练,并需要根据多视图渲染或照片完成整个3D场景。这种神经表示通过构造是可微分的,因此允许通过训练实现场景的原生几何优化。我们提出的重建问题作为一个分类的空间到“在”和“出”的区域,这是已知的整个切片平面,从而产生的指示函数,其决策边界是输出形状。

将神经场应用于这个问题的主要挑战是高频细节。直接应用已建立的训练方案[19]显示出强烈的光谱偏差,产生过度平滑的结果和其他伪影(图12)。频谱偏差是一个众所周知的效应,表明较高的频率有效地学习较慢[22]。为了促进有效的高频学习,避免低频带来的阴影,我们引入了两个改变。首先,我们主要围绕内部/外部过渡区域对平面数据进行采样,其中频率较高。这种采样进一步从低到高频率区域排序(根据与内部/外部边界的距离),以鼓励低到高频率的训练进展。此外,我们遵循最近的文献,并允许网络迭代地推断结果,其中稍后的迭代负责更精细,更高频率的校正[1,23]。

正如我们所证明的(见图1),我们的方法从平面数据中产生了最先进的重建,包括女性和有机体的形状。通过定性和定量实验,对谨慎损失和训练方案进行了验证和分析。我们的方法是无排列的,因此,既可以全局插值所有数据,避免局部伪影,又可以很好地扩展到大量切片(参见第4)、第四章。

2 相关工作

从横截面进行重建:从平面横截面进行重建一直是几何处理和计算几何中的一个长期挑战。该问题主要是在平行平面设置中研究的(例如,[2,3,5]),其中3D对象是每两个这样的“关键帧”重建的。后来的工作为平面的任何取向或分布提供了一般解[4,16]。一般的方法是通过排列平面将平面镶嵌成凸单元,并通过在每个单元内定义一些插值函数来重建每个单元中的对象。这些方法存在以下几个问题:排列的构建在计算上是昂贵的(至少有三次渐近时间),局部重建引入了连续性伪影(参见第4)、第四章。此外,插值函数通常是为平滑或接近而设计的,无法捕捉到切片几何形状中的更多全局趋势,如扭曲或挤压(见图6)。一些工作提供了拓扑保证[14,26]或将解限制为给定模板[13],但没有这些先验知识就没有提供一般解。我们的工作是无排列的,并提供了一个灵活的高参数模型,使用神经网络,以捕捉重建对象的细节。

神经重建最近的重建工作:采用神经网络解决从密集点云重建。我们的问题可以转换为一个点云重建,采样后的平面。在这种情况下,高频问题与我们的情况一样明显,而且由于可以获得更多关于目标形状的信息,因此更是如此。几乎所有最近的方法都采用了隐式表示的形状。一些作品填充3D(有时是自适应的)网格来处理细节[7,8,18,24],这对缩放来说是一个挑战。其他作品[6,21]执行局部操作,依赖于相当密集的邻域。为了缓解这种情况,可以直接优化网格以匹配输入[12]。在这种情况下,其他神经场也被采用[17],没有额外的信息,如法线;请参阅最近的调查以了解更多方法[25]。正如我们所展示的(见第四章),这条一般的工作路线采用较弱的先验,这不适合我们的问题的稀疏性质。

也许一个更类似的设置是从投影或照片重建。这里的重建也来自2D数据,这也是稀疏的性质,尽管使用了我们没有的外观信息。这一领域的文献是深入和广泛的,有几个调查[10,11],包括神经领域的使用。我们认为我们的工作与这里列出的工作是正交的,因为它可以插入以取代我们的基本神经场基线。我们将在未来的工作中检查性能最好的架构。为了解决最相似的问题设置,Ostonov等人的并行工作。[20]采用强化学习和正交投影来确保正确的重建。除了在推理过程中需要额外的信息外,它们还需要一个训练阶段,并且仅限于训练的域。相比之下,我们的方法除planes之外不需要额外的信息。

3 方法

接下来,我们将详细介绍如何从切片中有效地进行高质量的形状重建。我们的方法是基于一个神经领域,OReXNet。OReXNet 输出Y(x),即查询点x ∈ R3的内/外指示函数的外推(Sec.第3.1段)。给定一组输入横截面,网络经过训练以逼近输入上的目标函数。在训练完成之后,在整个体积上对Y进行采样,并且使用双轮廓(DC)方法来提取结果形状[15]。该方法如图2所示。

图2:OReX方法概述。输入(左)是一组平面横截面,其中包含内部/外部信息。平面被采样成分层方案中的点,并被馈送到我们的迭代神经场进行训练。训练后,使用现成的网格提取器估计最终形状。

正如第一章所说、重建质量的主要挑战是高频细节。解决这个问题的直接方法是通过对所有平面进行均匀采样来训练所需指标函数的神经场,然后在所有采样点上使用二进制交叉熵(BCE)损失来训练网络。典型的方法还使用位置编码(PE)表示输入坐标[19]。事实证明,这种方法产生了过于平滑的结果,甚至无法内插输入(图12)。为了提高重建保真度,并允许更高频率的细节,在所得到的形状,我们引入了两个改变上述训练方案。我们提出了我们的分层输入采样方案(第3.2节)。以及我们的迭代输入架构在(Sec.3.3)。

最后,我们还解决了隐式网格提取中的常见伪影[9]。如图8所示,可以看到与网格提取阶段的采样模式相关的重复模式。我们描述了我们如何设计损失函数,以减轻这种伪影在第3.4节。有关实现细节和超参数值,请参见补充材料和代码。

3.1 问题设立

我们设立了一个潜入在$R^3$的2D平面集合$P = {P1,…,P_k}$,它有着任意偏移和方向。每个平面Pi包含一组任意的(柔软的)不相交的定向轮廓$C_I={c{i.1},…,c_{i.l_i}}$它将平面划分为未知区域的“内部”和“外部”区域 $\Omega \subset R^3$有着边界$\delta \Omega$.我们的方法的目标输出是一个指示函数Y:

也就是在面外为1,在面内为0,在面上为0. 5.

特别的,Y用了sigmoid函数,$Y(x) \approx \sigma(f(x))$,而$\sigma(z) = \frac{1}{1+e^{-z}}$。

3.2 输入采样

定期或随机采样输入平面进行训练会产生不准确和过度平滑的结果(见图12)。相反,我们定义了三种类型的相关点分布来进行采样,如图3所示:

图3.我们在三种类型的输入采样分布上训练OReX:3D船体的放大版本限制了重建体积(左);每个平面内的均匀采样有助于稳定学习(中);大多数样本集中在精度最重要的地方-输入平面上的边界轮廓上和周围(右)。

  1. 我们用所有输入轮廓的三维凸船体来约束重建体积,并将其放大5%。因此,我们对它进行均匀采样,其中采样点都在外面。
  2. 我们计算每个平面中轮廓的边界框(与主轴对齐),并以均匀分布对其进行采样。
  3. 大多数样本都是在轮廓的边界周围采集的,因为这些区域的准确性最重要。然后,我们均匀地对每个轮廓边缘进行采样,并进一步为每个边缘样本添加不同距离的离面点。通过远离平面上的轮廓移动来找到离面位置(即,在平面法线的方向上)。我们进一步在每个顶点周围的圆中对离面点进行采样。

每个采样点Xi根据其在切片上的位置与标签Yi匹配,并且对{Xi,Yi}构成我们训练的输入。参见相关超参数的补充资料。

面向频率的采样。为了鼓励更好的高频学习,我们在一组变化的距离周围对第三种类型的点进行采样,从距离轮廓0.1%的边界框到近三个数量级。在每个epoch中,我们仅使用在三个连续距离范围周围采样的点。对于早期的训练迭代,我们使用三个最大的距离,因为更远的点转换为关于形状的更低频率的信息。随着训练的进行,假设较低频率稳定,我们训练的点越来越接近实际轮廓,因此学习过程集中在越来越高的频率上(见图11)。有关更多详细信息和确切的计划,请参阅补充材料。

3.3 结构

OReXNet只是一个MLP,它将3D坐标作为输入,使用位置编码表示,并产生函数Y(Sec.3.1)在任何查询点。为了鼓励高频细节,我们引入了迭代细化机制。受最近工作的启发[1],我们允许网络通过在网络中运行少量迭代来改进自己的结果。

这个过程以前被证明会在2D图像领域产生从粗到细的演变[1],我们认为它也适用于我们的情况。如图2所示,ORexNet因此是一个剩余的MLP,它被馈送上一次迭代的结果,以及一个小的隐藏状态码,沿着查询点。这些迭代(在我们的实验中为10次)在训练和推理过程中都会执行;在推理时,只取最后一个结果,而在训练过程中,损失会应用于所有步骤的结果。第一次迭代从学习的常数C开始。我们表明,这一过程确实锐化功能,并允许在图13中纳入更高频率的细节。

3.4 损失函数与推理

为了给出损失函数,我们必须首先处理pipeline最后阶段的一个问题。在这个阶段,我们使用Dual Contouring [15]提取指示函数边界的显式网格。此步骤使用常规3D网格上的离散采样版本的$Y(x)$和$\nabla Y(x)$来提取网格。如图8所示(以及其他工作[9]),这会产生类似波纹的伪影,与3D网格分辨率相关。这是由于在梯度幅度表现出高方差的这些区域中采样的混叠造成的。这种影响可以通过更高分辨率的网格采样来减轻,这是昂贵的,或者可以损害几何形状的后处理操作。相反,我们建议重新审视训练过程的损失函数,并结合正则化来减少形状边界处的值急剧下降。

首先,我们省略了激活—换句话说,我们用函数f(x)来绘制轮廓,而用函数Y(x)只用于训练(3.1节)。这消除了函数值的激进性,在内部和外部区域之间提供了更柔和的过渡。此外,我们通过使用铰链损失hinge loss 明确地惩罚强transitions。(2).这样,我们通过将它们限制在输入形状边界附近,大大减少了梯度幅度方差。

我们对单个点x的损失函数是

$\sigma$是simga函数,$\theta$代表网络中的参数。

BCE()是应用于我们迭代方案的所有输出的二进制交叉熵损失

max(0,x)是仅应用于最后一次OReXnet迭代的铰链损失hinge loss,

N是迭代次数,α和λ是超参数。

图8显示了铰链损失的校正效果。

4 实验

为了评估我们的方法,我们开发了一个原型,并在NVIDIA GeForce GTX 1080 Ti上运行。请参阅补充材料的确切时间和内存消耗的统计。一般来说,所有训练过程在单个GPU上花费的时间不到四个小时。

4.1 结果和对比

我们首先定性地展示了我们的方法在各种切片输入上的结果,这些切片输入来自医学和图形世界(图4)。这证明了我们的方法的通用性和通用性。我们进一步展示了我们的算法正确地再现了图5中重建对象的内部空腔和细节。(图 5)

图4.结果展示。人工3D图形和医疗相关输入的集合的定性证明。建议使用放大视图。

图5.其他定性结果,其中透明显示内腔和隧道的重建。建议放大查看。

请注意,如何沿着切片之间的平滑插值沿着学习复杂的细节,从而在生成的形状上不留下切片过渡伪影。

在其他方法方面,我们定性(图6)和定量(表1)将我们的方法与Bermano等人进行了比较。[4],这是一种具有与我们相同输入-输出的截面重建方法。我们进一步比较了针对点云的一般最先进的重建方法[12]。Hanocka等人。[12]也期望点法线作为输入。因此,我们将我们的结果与后者在输入处使用地面实况(GT)法线的工作进行比较,并与来自输入平面法线的法线进行比较。我们使用以下指标:1)重建体积中内部区域的交-交合并体积2)GT平面; 3)对称Hausdorff距离。这些指标表明我们的方法有优越性。参见补充材料了解更多比较。

图6.与其他方法的定性比较。我们的结果更平滑,更符合特征,并且具有更少的伪影。请注意,重建的形状轮廓如何不受来自输入平面的印记的影响。定量比较见表1。

可扩展性我们表明,我们的方法不会遭受基于重叠的方法[4,14,16]必须承担的计算成本,因为我们没有镶嵌空间,因此可以很好地扩展输入。此外,我们还展示了(图7)我们的方法如何通过增加切片来收敛。

4.2 消融实验

我们进行消融测试,以评估我们的方法和设计选择的重要方面。

梯度幅度正则化

迭代架构

抽样方法

架构和采样的选择

5 结论

我们已经提出了OReX,一个国家的最先进的方法,长期存在的问题,形状重建从平面横截面指标数据。没有数据集和训练要求,OReX使用起来简单直观。我们的工作平衡了神经先验的平滑性和高频特征。我们表明,我们的方法成功地产生光滑的轮廓之间的插值,同时尊重高频功能和重复模式。此外,我们相信这里提出的一些分析和见解可以应用于类似任务的神经领域。我们的方法的优点也是它的缺点:只使用二进制数据,在这个过程中丢失了很多信息。例如,对于医学成像,感兴趣的未来方向将是直接使用诸如来自超声的平面探头的原始灰度密度输入。另一个有趣的研究方向是将这项工作扩展到多标记体积(例如,从扫描同时重建几个器官),以及使用部分或噪声数据