✨ 要点🔬 技术摘要
想象一下,你想要通过观察一系列现实世界的 2D 照片,来构建一个完美的 3D 模型,比如一个公园或一个客厅。通常情况下,计算机通过使用“魔法数学”(神经网络)来完成这项工作,这些方法擅长学习,但在生成视频游戏引擎和动画师实际使用的标准 3D 文件(网格/meshes)方面表现很差。
这篇论文介绍了 Meshtryoshka ,一种解决这一难题的新方法。它的名字源于俄罗斯套娃(Matryoshka),而这正是该方法的工作原理。
核心思想:嵌套娃娃
Mes-tryoshka 并不是试图构建一个单一的实心 3D 物体,而是构建一组嵌套的、中空的壳层 ,就像洋葱的层或那些俄罗斯套娃一样。
层级: 计算机从一个数学地图(称为符号距离函数,Signed Distance Function)开始,该地图知道“空白空间”在哪里结束以及“实体物质”在哪里开始。它从这个地图中提取出多个层级。
渲染技巧: 这是聪明之处。通常,为了教计算机构建 3D 形状,“画家”(渲染器)需要能够感知笔触并说:“我需要把这个角向左移动一点点。”但标准的、快速的 3D 绘画程序(光栅化器)无法做到这一点;它们是“不可微的”。它们只是按照指令进行绘制。
Meshtryoshka 的解决方案: 它将这些壳层视为透明玻璃层 。它使用标准的、快速的绘画程序分别绘制每个壳层。然后,它将它们堆叠在一起并混合在一起(就像在调色板上混合颜料一样),以创建最终的图像。
因为这些层是透明的,计算机可以计算出如何调整背后的数学逻辑,使最终的图像看起来正确,即使绘画程序本身并不知道如何移动这些角。
为什么这意义重大
它适用于真实世界: 之前使用 3D 网格的方法只能处理小型物体(如玩具车),并且需要一个掩码(mask)来将其从背景中切割出来。Meshtryoshka 是第一个成功将这种“网格”方法用于巨大的、无边界的真实场景 (如整个街区或森林)且无需预先切割的方法。
它使用标准工具: 大多数高科技 3D 重建方法都需要构建定制的、复杂的软件来进行渲染。Meshtryoshka 的特别之处在于,它使用的是现成的、标准的图形工具 ,这些工具存在于每一个计算机图形工具箱中。它证明了你不需要“魔法”般的定制渲染器也能获得极佳的效果;你只需要聪明地使用已有的工具。
结果: 最终输出是一个干净的标准 3D 网格。这意味着结果可以直接用于视频游戏、电影或 VR,而无需经过麻烦的“后处理”转换步骤。
它如何处理巨大空间
为了在处理大规模场景时不会耗尽内存,该方法使用了几个聪明的技巧:
稀疏性: 它只在真正有物体可见的地方存储数据,忽略空白空气。
“视锥”技巧: 对于背景(远处的物体),它拉伸了网格。想象拍摄一张道路的照片:道路在近处看起来很宽,在远处看起来很窄。Meshtryoshka 拉伸了它的数据网格以匹配这种效果,在相机靠近的地方放置更多细节,在远处减少细节,从而节省了大量的计算机内存。
总结
作者展示了你可以使用标准的 3D 网格和标准的渲染软件,实现高质量、逼真的真实世界场景 3D 重建。他们通过将问题包装在一个“嵌套娃娃”策略中实现了这一点,从而允许他们使用快速的、不可微的工具,同时仍能学习并改进 3D 形状。
提到的局限性: 论文指出,虽然结果令人印象深刻,但训练过程在大功率 GPU 上大约需要 4 小时(比一些较新的非网格方法慢)。此外,在非常稀疏的区域(即相机观察较少的区域),模型有时会产生薄薄的、漂浮的伪影,这与其他现代 3D 重建技术中发生的情况类似。
问题陈述 可微渲染已成为 3D 重建和新视角合成的基石,然而最先进的方法主要依赖于非网格表示(例如神经辐射场、3D 高斯泼溅)或专门的可微渲染器。虽然 3D 曲面网格是工业界的标准,具有良好的便携性、硬件加速能力和下游图形工作流兼容性,但现有的可微网格渲染技术在很大程度上局限于以物体为中心的场景。它们通常需要前景-背景掩码,难以处理无界真实世界环境,并且通常依赖于自定义 CUDA 实现或随机梯度估计来处理标准光栅化器的不可微性。因此,目前还没有一种方法能够同时在真实场景中实现照片级逼真的效果,并直接使用常规图形工具优化网格表示。
方法论:Meshtryoshka 作者引入了 Meshtryoshka ,这是一个可微渲染框架,旨在利用现成的、不可微的三각형光栅化器来优化无界真实场景的 3D 网格表示。其核心创新在于将顶点位置的优化与光栅化过程解耦。
场景参数化与网格提取: 场景由符号距离函数(SDF)值的稀疏网格和用于视角相关颜色的球谐系数表示。在每次优化步骤期间,该方法使用可微实现的 Marching Cubes 算法从 SDF 中提取多个等值面(iso-surfaces)。这产生了一个由嵌套且互不相交的三角形网格壳层组成的“套娃”(Matryoshka)。这些壳层中的每个顶点都通过 Marching Cubes 过程衍生的插值权重被分配了一个符号距离值和球谐系数。
不可微光栅化与延迟渲染: 该方法并未实现自定义的可微光线追踪器,而是使用标准的、不可微的光栅化器独立地对每个网格壳层进行光栅化。光栅器输出每个像素的三角形 ID 和重心坐标。这些信息被用于在图像空间中进行可微插值,以实现每个顶点的 SDF 值和球谐系数的插值,从而有效地模拟着色器。 为了近似体积渲染,该方法为每个壳层分配了特定的透射率(T i T_i T i )。最内层的壳层被设置为接近零的透射率(不透明),以确保它遮挡后续所有的壳层。最终图像通过对渲染出的壳层进行 Alpha 合成来构建。梯度从渲染误差出发,通过 Alpha 合成过程和插值步骤回传,以更新底层的 SDF 和颜色参数,从而间接优化网格几何结构。
对无界场景的可扩展性: 为了处理无界的真实场景,作者采用了几种策略:
稀疏性: 使用了稀疏 Marching Cubes 实现,仅为活跃体素和辅助体素存储参数,与密集网格相比大幅降低了内存占用。
由粗到精的优化: 网格在低分辨率下初始化,并逐步细分,通过剪枝空余空间并在必要处精细化几何结构。
非立方体网格: 场景被划分为前景(轴对齐立方体)和背景。背景由六个截断锥台组成,其顶点呈指数级缩放。这使得能够高效分配分辨率,在远端区域分配较少的参数,同时保持适用于 Marching Cubes 的体素长宽比。
正则化: 为了确保优化的稳定性,该方法在 SDF 值上采用了拉普拉斯平滑损失(而非容易在显式网格中引起棋盘格伪影的 Eikonal 损失),并使用 L1 惩罚项来鼓励观测不足区域的稀疏性。此外,降低了非直流(non-DC)球谐分量的学习率,以防止模型通过“作弊”几何形状来拟合特定视角。
核心贡献
一种新颖的框架: Meshtryoshka 是第一个能够重建无界真实 3D 场景且不需要前景掩码的可微网格渲染方法。
与标准工具的兼容性: 该方法证明了使用现成的、不可微的光栅化器实现高质量可微渲染的可能性,从而消除了对自定义可微渲染器或随机梯度估计器的需求。
高性能实现: 作者贡献了经典图形算法的优化实现,包括稀疏 Marching Cubes 算法和一个能够同时渲染超过 1 亿个三角形的软件三角形光栅化器。
直接网格优化: 不同于从体积表示中后验提取网格的方法,Meshtryoshka 直接优化网格表示,确保优化阶段的质量与最终网格渲染的质量一致。
结果 该方法在 NeRF-Synthetic(以物体为中心)和 Mip-NeRF 360(真实世界)数据集上进行了评估。
以物体为中心的场景: 在 NeRF-Synthetic 上,Meshtryoshka 的表现与 NeuS2 等最先进的可微表面渲染方法相当,并且在不需要可见性掩码的情况下优于之前的基于网格的方法(如使用 DMTet/FlexiCubes 的 nvdiffrec)。
真实场景: 在 Mip-NeRF 360 上,该方法成功重建了具有挑战性的无界场景,具有极高的视觉质量,捕捉到了诸如自行车辐条和树叶等精细细节。虽然在定量指标(PSNR)上略逊于 Zip-NeRF 和 3D 高斯泼溅等顶级非网格方法,但它显著优于之前的基于网格的方法,后者在这些设置下无法产生连贯的重建。
消融实验: 实验证实了指数顶点定位、稀疏性、正则化项以及使用多个壳层对于获得高质量结果的必要性。
意义与主张 本文指出 Meshtryoshka 为可微渲染提供了一条新路径:完全依赖传统的计算机图形学渲染栈(标准光栅化器和网格表示),而非专门的可微渲染器或非网格原语,是有可能实现具有竞争力的 3D 重建和新视角合成的。作者声称,他们的工作弥合了网格的便携性与现代可微渲染性能之间的鸿沟,实现了对真实场景下网格的直接优化。然而,作者对局限性保持了谦逊的态度,承认其方法目前产生的三角形数量多于基于原语的方法,训练时间比快速 Neef/高斯方法慢,并且在观测稀疏的区域偶尔会产生“漂浮物”伪影。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。