Nexus: Native Mesh Generation with Diffusion
Nexus 是一个创新的基于扩散的框架,它通过将过程解耦为基于八叉树稀疏体素的从粗到精的顶点生成,以及利用连续逐顶点嵌入进行全局拓扑恢复,从而在质量和鲁棒性方面均超越了传统的自回归方法,进而生成高质量的 3D 网格。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图构建一个 3D 世界,就像你在最喜欢的视频游戏或电影中看到的那些一样。为了让这些世界看起来真实,计算机使用“网格”(meshes)——即包裹在物体周围、由微小三角形组成的隐形网状结构,以此赋予其形状。长期以来,教计算机绘制这些网格的最佳方法是让它表现得像一个非常快速、非常严谨的机器人,按照特定的顺序,一个接一个地构建物体的每一个微小部分。这就像是在盖房子时,必须从左下角开始,一个接一个地铺设每一块砖,既不能跳步,也不能提前观察全局。如果机器人在铺第一块砖时出了错,整座房子可能会变得歪歪扭扭,而且由于无法跳过步骤,完成建造需要很长时间。
但如果计算机可以直接将整个形状“梦”出来呢?这是计算机图形学研究人员正在提出的重大问题。他们希望摆脱这种缓慢、逐块构建的风格,转而使用一种称为“扩散”(diffusion)的方法。你可以把扩散想象成观察一团云雾如何逐渐消散,从而显现出一尊雕像的过程。与其一件件地搭建雕像,不如让计算机从一团混乱的噪声开始,通过逐渐细化,直到呈现出一个完美的 3D 物体。挑战在于,3D 形状非常复杂;它们不仅仅是平面的图像,还有一个“骨架”(三角形),这些三角形需要完美地连接在一起。如果计算机把形状做对了,但骨架做错了,物体就会崩塌。
这就是名为“Nexus”的新论文所发挥作用的地方。Nexus 背后的研究人员决定不再像用机器人铺砖那样构建 3D 网格,而是开始将其视为雕塑家塑造粘土的过程。他们创建了一个全新的系统,以两个大型并行步骤生成 3D 网格,完全跳过了需要按特定顺序对部件进行排序的需求。首先,他们使用一种特殊的“消雾”过程来确定物体的点(顶点)应该在哪里,将形状从一个粗略的团块演变为精细的模型。其次,他们使用一种巧妙的新数学技巧来确定这些点应该如何相互连接,而无需猜测顺序。
该论文指出,这种新的思考方式解决了旧方法面临的最大问题。旧有的“逐块构建”方法经常会导致错误累积,即一个错误就会毁掉整个模型,并且生成复杂形状需要很长时间。然而,Nexus 似乎避开了这些陷osa。在测试中,该系统生成的 3D 模型质量更高,且错误更少。研究人员甚至邀请了真实的 3D 艺术家在不知道是由哪台计算机制作的情况下对结果进行评估,艺术家们压倒性地更喜欢 Nexus 生成的形状。该论文表明,通过让计算机一次性看到整个形状并使用这种“消雾”技术,我们可以比以前更快、更可靠地创建复杂的艺术化 3D 世界。
旧方法:记忆力不佳的机器人
为了理解为什么 Nexus 如此重要,让我们看看计算机过去是如何制作 3D 形状的。想象一下,你正试图通过电话向朋友描述一座复杂的雕塑。旧的方法是这样说的:“首先,在这里放一个点。然后,在那里放一个点。现在,把它们连接起来。然后,再放另一个点……”你必须按严格的顺序一个接一个地列出每一个点和连接。这被称为“自回归”(autoregressive)过程。
这种线性处理方法的缺陷在于,它就像是在玩一个指令清单极长的“传声筒”游戏。如果你在第一个指令上犯了微小的错误,下一个指令可能就无法理解,整个雕塑最终会变成一团乱麻。此外,因为计算机必须等待一个步骤完成后才能开始下一个,所以构建任何复杂的东西都需要很长时间。这就像是在画一幅巨大的壁画,却被限制每次只能画一平方英寸,并且每画完一块都要等待油漆干透后才能移动到下一块。
新方法:梦见形状
Nexus 改变了游戏规则,它提出:“既然我们可以一次性梦见整个东西,为什么要一件件地构建呢?”研究人员称之为“扩散”。你可以这样想:想象你有一个装满旋转彩色雾气的罐子。在雾气中,隐藏着一个等待被揭示的形状。计算机从一个充满随机、混乱雾气的罐子开始。然后,它退后一步并问道:“如果我移去一点点雾气,什么样的形状正在显现?”它一遍又一遍地这样做,慢慢清除噪声,直到一个完美的 3D 物体跳脱出来。
但这里有一个难点。一个 3D 物体不仅仅是一个光滑的团块;它是由一个三角形网构成的。计算机需要知道两件事:点在哪里(几何结构)以及它们如何连接(拓扑结构)。旧的扩散方法在“如何连接”这一部分遇到了困难,因为三角形的数量会随物体而变化,计算机在尝试猜测顺序时会感到困惑。
Nexus 的两步魔法
Nexus 通过将工作拆分为两个独立的、不需要互相等待的超快任务来解决这个问题。
第一步:八叉树雕刻师(寻找点的位置)
首先,系统确定物体的点应该位于何处。它不是一次性观察整个物体,而是使用一个“层级化八叉树”(hierarchical octree)。想象一个巨大的 3D 鲁比克方块。计算机首先观察整个方块。物体在里面吗?如果是,它将这个方块拆分为八个更小的方块。它检查每个小方块。如果一个小方块包含部分物体,它会将该方块进一步拆分为八个更微小的方块。它不断重复这个过程,变得越来越精细,直到找到点应该存在的精确位置。
这就像一位雕塑家,先从一块大石头开始,削去棱角以获得粗略形状,然后削去更小的碎片以获得曲线,最后使用微型工具雕刻精细的细节。计算机在每个层级的方块中都进行这种“消雾”过程,将形状从一个粗略的团块构建成一个锐利、精细的物体。因为它分层进行,所以非常高效,且不会被物体的大小所迷惑。
第二步:时空编织者(连接点与点)
一旦找到了点,计算机就需要连接它们以形成三角形。这是最难的部分。研究人员发明了一种名为“时空间隔”(Spacetime Interval)的新数学技巧。
想象你有一堆漂浮在空间中的点。在普通数学中,如果两个点靠得很近,它们就是“连接”的。但在 3D 形状中,两个点可能离得很近但并不“连接”(比如在薄纸片的相对两侧的两个点)。旧的数学会在这种情况下产生混乱。
“时空间隔”就像一把特殊的尺子,它有两个维度:“空间”侧和“时间”侧。计算机给每个点分配一个包含空间部分和时间部分的秘密代码。要查看两个点是否应该连接,它不仅仅测量它们之间的距离,还会测量它们空间距离与时间距离之间的差异。如果空间部分大于时间部分,它们就会连接;如果时间部分更大,它们则保持分离。
这听起来很奇怪,但它起到了神奇的效果。它允许计算机处理那些点虽然靠近但不应接触,或者虽然远离但应当连接的复杂形状。这就像拥有一副特殊的眼镜,即使点看起来处于错误的位置,也能让你看到连接它们的隐形细绳。通过使用这个技巧,计算机可以一次性确定整个连接网络,而无需猜测顺序。
结果显示了什么
研究人员在巨大的 3D 模型数据集上测试了 Nexus,其中包括来自互联网的数千件玩具和物体。他们将 Nexus 与仍在使用旧有“逐块构建”方法的现有最佳方法进行了对比。
结果显而易见:Nexus 制作出的形状更好。模型中的孔洞更少,破碎的部分也更少,看起来更像真实的物体。当研究人员询问 3D 艺术家在不知道由哪台计算机制作的情况下挑选他们最喜欢的模型时,艺术家们 93% 的时间都选择了 Nexus 的模型。这是一个巨大的胜利。
论文还表明 Nexus 非常强韧。即使输入的数据很杂乱或带有噪声(比如糟糕的 3D 扫描),Nexus 仍然能制作出干净的形状。它还可以处理拥有数千个三角形的物体,而这在旧方法中通常需要很长时间。事实上,它可以在大约 60 秒内,在单个计算机芯片上生成一个拥有多达 20,000 个三角形的复杂场景。
这为什么重要
这篇论文表明,我们不需要强迫计算机像机器人一样构建 3D 世界。通过让它们使用“梦见”(扩散)的过程,并赋予它们一种理解连接的新方式(时空间隔),我们可以创造出比以往更美丽、更准确、制作速度更快的 3D 形状。
研究人员承认,他们的方法目前还不完美。生成点仍然需要大约一分钟的时间,有时物体的面(faces)还需要额外的修复以确保它们的朝向正确。但其核心思想——即我们可以生成复杂的 3D 网格而无需对其进行特定顺序的排序——似乎是 3D 艺术和游戏领域的一个强大的新方向。它为计算机创造出像我们在梦境中看到的那些世界一样自然、流畅的世界打开了大门。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。