ai 形状生成工具 数字文艺复兴:英伟达造出“AI版”米开朗基罗,实现高保真3D重建

默认分类1年前 (2023)发布 admin
1,026 0
ChatGPT国内版

下面我们来看看 的具体方法和论文中的一些实验结果。

方法

采用了实时 NGP 作为底层 3D 场景的一种神经 SDF 表征,并通过神经表面渲染根据多视角图像观察进行优化;其中 NGP 是指 (神经图形基元);SDF 是指 (有符号的距离函数)。为了充分释放多分辨率哈希编码的潜力,英伟达研究者提出了两大发现。一,使用数值梯度来计算高阶导数对实现优化稳定来说至关重要,比如用于程函正则化( )的表面法线。二,为了重建出不同细节程度的结构,需要一种渐进式的优化方案。研究者将这两种思路组合到了 中,实验也证明了这样做确实可行,能极大提升神经表面重建的重建准确度和视图合成质量。

重建场景的密集结构使用的是多视角图像。它会跟随相机视角方向采样 3D 位置,并使用一种多分辨率哈希编码来对这些位置进行编码。编码后的特征会被输入一个 SDF MLP 和一个颜色 MLP,以使用基于 SDF 的体积渲染来合成图像。

数值梯度计算

研究者表示,有关哈希编码位置的解析梯度会受到局部性的影响。因此,优化更新只会传递给局部哈希网格,缺乏非局部的平滑性。针对这种局部性问题,英伟达提出了一种简单的补救方案:使用数值梯度。图 2 给出了该方法的概况。

图 2:为高阶导数使用数值梯度可将反向传播更新散播到局部哈希网格单元之外,由此变成解析梯度的一种平滑化版本。

SDF 有一种特殊性质:其在单位范数的梯度方面是可微的。SDF 的梯度几乎在所有地方都满足程函方程( )。为了迫使经过优化的神经表征成为可行的 SDF,通过会在 SDF 预测结果上施加一个程函损失。

为了实现端到端优化,需要在 SDF 预测结果上使用一种双重反向操作。

在计算 SDF 的表面法线时,人们事实上采用的方法就是使用解析梯度。但是,在三线性插值( )下,与位置相关的哈希编码的解析梯度在空间上不是连续的。为了找到体素网格中的采样位置,需要首先根据网格分辨率对每个 3D 点进行缩放。

哈希编码的导数是局部的,即当 3D 点越过网格单元边界时,对应的哈希项将会不同。因此,前述的程函损失就只会反向传播到本地采样的哈希项。当连续表面(比如平墙)横跨多个网格单元时,这些网格单元应当产生连贯一致的表面法线,而不该有突然的过渡。为了确保表面表征中的一致性,需要对这些网格单元进行联合优化。但是,解析梯度却受限于局部网格单元,除非对应的网格单元碰巧能被同时采样和优化。但我们很难保证总是能够这样采样。

ai 形状生成工具 数字文艺复兴:英伟达造出“AI版”米开朗基罗,实现高保真3D重建

为了克服哈希编码的解析梯度的局部性问题,英伟达提出的方案是使用数值梯度来计算表面法线。如果数值梯度的步长小于哈希编码的网格大小,则数值梯度就等于解析梯度;否则,多个网格单元的哈希项就会参与到表面法线计算中。

这样一来,通过表面法线的反向传播就能让多个网格单元的哈希项同时收到优化更新。直观来说,使用精心选择的步长的数值梯度可被解读成在解析梯度表达式上的平滑化操作。还有另一种方法可以替代法线监督,即 – ,其中要使用预测的有噪声法线来帮助 MLP 输出,这样就能利用到 MLP 的平滑性。但是,这样的教师 – 学生损失的解析梯度仍然只会反向传播给局部网格单元。相较而言,数值梯度无需添加网络便能够解决局部性问题。

要使用数值梯度计算表面法线,还需要额外的 SDF 样本。给定一个采样过的点,还需要在该点周围一定步长内沿正则坐标的每个轴额外采样两个点。

渐进式的细节水平

为了避免陷入错误的局部最小值,从粗到细的优化可以更好地塑造损失图景。这样的策略已被用于许多计算机视觉应用。 也采用了一种从粗到细的优化方案来在细节上渐进式地重建表面。使用高阶导数的数值梯度能自然地让 执行从粗到细的优化,这需要考虑两个方面。

步长:前面已经提到,数值梯度可被解释成一种平滑化操作,其中步长控制着分辨率及重建的细节量。如果让程函损失用更大的步长来计算数值表面法线,能在更大规模上确保表面法线的一致性,由此能得到一致和连续的表面。反过来,如果程函损失的步长更小,就只能影响更小的区域,就能避免细节平滑。在实践中,英伟达的做法是先将步长初始化为最粗的哈希网格大小,然后在整个优化过程中指数级地降低步长以匹配不同的哈希网格大小。

哈希网格分辨率:如果从优化一开始,所有哈希网格都被激活,为了捕获几何细节,细粒度哈希网格就必须首先「忘记」粗粒度优化(更大步长)所学到的东西,并用更小的步长「重新学习」。如果优化收敛而导致这个过程失败,那么就会丢失几何细节。因此,一开始只会激活一组初始的粗粒度哈希网格,当步长缩小至其空间大小时,会在优化过程中渐进式地激活更细的哈希网格。这样一来,就能避免「重新学习」过程,从而更好地捕获细节。在实践中,英伟达研究者的做法是在所有参数上应用权重衰减,以避免最终结果被单一分辨率特征主导。

优化

为了进一步促进重建表面的平滑性,他们还提出添加一个先验,具体做法是正则化 SDF 的平均曲率。平均曲率是通过离散拉普拉斯算子计算的,类似于表面法线计算,否则当使用三线性插值时,哈希编码的二阶解析梯度在任意位置都为零。

的整体损失定义为所有损失(RGB 合成损失、程函损失、曲率损失)的加权和,如下所示:

包括 MLP 和哈希编码在内的所有网络参数都是以端到端方式联合训练的。

ai 形状生成工具 数字文艺复兴:英伟达造出“AI版”米开朗基罗,实现高保真3D重建

实验

图 3:在 DTU 基准上的定性比较

可以看到, 得到的表面更加准确,保真度也更高。

图 4:定性比较不同的从粗到细优化方案

当使用解析梯度时(AG 和 AG+P),粗粒度的表面通常带有伪影。当使用数值梯度时(NG),可以得到更好的粗粒度形状,细节也更为平滑。英伟达的新方法(NG+P)得到的表面既平滑又有精细细节。

表 1:在 DTU 数据集上的定量实验结果

可以看到, 的重建准确度最高,图像合成质量也最好。

图 5:在 Tanks 和 数据集上的定性比较

相比于其它对比方法会丢失表面细节或有较多噪声, 能更好地捕获场景细节。

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...