Transformer变革3D建模,MeshGPT生成效果惊动专业建模师,网友:革命性idea
来源:51CTO.COM
时间:2023-11-29 14:57:01 298浏览 收藏
来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习科技周边相关编程知识。下面本篇文章就来带大家聊聊《Transformer变革3D建模,MeshGPT生成效果惊动专业建模师,网友:革命性idea》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
在计算机图形学领域,三角形网格是表示3D几何物体的主要方式,也是游戏、电影和虚拟现实界面中最常用的3D资源表达方法。业界通常使用三角形网格来模拟复杂物体的表面,例如建筑物、车辆、动物等。同时,常见的几何变换、几何检测和渲染着色等操作也需要基于三角形网格进行
相较于点云或体素等其他的3D形状表示法,三角形网格提供了更加连贯的表面表示法:更加可控,更加易于操作,更加紧凑,并且可以直接应用于现代渲染流水线中,通过更少的基元获得更高的视觉质量
以前有研究人员尝试使用体素、点云和神经场等表示方法来生成3D模型,这些表示方法还需要经过后处理转换成网格,以便在下游应用中使用,比如使用Marching Cubes算法进行等值面处理
不幸的是,这种方法会导致网格过于密集,网格划分过于细致,经常会出现由过度平滑和等值曲面化引起的凹凸不平的错误,就像下图所示的那样:
相比之下,3D 建模专业人员建模的 3D 网格在表示上更加紧凑,同时以更少的三角形保持了清晰的细节。
一直以来,很多研究者都希望解决自动生成三角形网格的任务,以进一步简化制作 3D 资产的流程。
在最近的一篇论文中,研究者提出了新的解决方案:MeshGPT,将网格表示直接生成为一组三角形。
论文链接可参考:https://nihalsid.github.io/mesh-gpt/static/MeshGPT.pdf
在 Transformer 语言生成模型的启发下,他们采用了一种直接的序列生成方法,将三角形网格合成为三角形序列
按照文本生成的范式,研究者首先学习了三角形词汇,三角形被编码为潜在量化嵌入。为了鼓励学习到的三角形嵌入保持局部几何和拓扑特征,研究者采用了图卷积编码器。然后,这些三角形嵌入由 ResNet 解码器解码,该解码器将其处理表示三角形的 token 序列,生成三角形的顶点坐标。最终,研究者在所学词汇的基础上训练基于 GPT 的架构,从而自动生成代表网格的三角形序列,并获得了边缘清晰、高保真度的优势。
在 ShapeNet 数据集上进行的多个类别的实验表明,与现有技术相比,MeshGPT 显著提高了生成 3D 网格的质量,形状覆盖率平均提高了 9%,FID 分数提高了 30 个点。
在社交媒体平台上,MeshGPT 也引发了热议:
有人曾说过:“这才是真正具有革命性的创意。”
一位网友指出,该方法的亮点在于克服了其他 3D 建模方法的最大障碍,即编辑能力。
有人大胆预测,也许自上世纪90年代以来未被解决的所有难题都可以从Transformer中得到启示:
也有从事 3D / 电影制作相关行业的用户对自己的职业生涯表示担忧:
然而,也有人指出,根据论文中提供的生成示例来看,这种方法还没有达到大规模应用的阶段。一个专业的建模人员完全可以在5分钟内创建这些网格
这位评论者表示,下一步可能是由 LLM 控制 3D 种子的生成,并将图像模型添加到架构的自回归部分。走到这一步后,游戏等场景的 3D 资产制作才能实现大规模的自动化。
接下来,就让我们看看 MeshGPT 这篇论文的研究细节。
方法概述
受大语言模型进步的启发,研究者开发了一种基于序列的方法,将三角形网格作为三角形序列进行自回归生成。这种方法能生成干净、连贯和紧凑的网格,具有边缘锐利和高保真的特点。
研究者首先从大量的 3D 物体网格中学习几何词汇的嵌入,从而能够对三角形进行编码和解码。然后,根据学习到的嵌入词库,以自回归下索引预测的方式训练用于网格生成的 Transformer。
为了学习三角形词汇,研究者采用了图形卷积编码器,对网格的三角形及其邻域进行操作,以提取丰富的几何特征,捕捉 3D 形状的复杂细节。这些特征通过残差量化被量化为 codebook 中的 Embedding,从而有效减少了网格表示的序列长度。这些内嵌信息在排序后,在重建损失的指导下,由一维 ResNet 进行解码。这一阶段为 Transformer 的后续训练奠定了基础。
接下来,研究人员使用这些量化的几何嵌入,训练出一种类似于 GPT 的纯解码器 transformer。他们通过提取网格三角形中的几何嵌入序列,并训练 transformer 来预测序列中下一个嵌入的 codebook 索引
训练完成后,transformer 可以自回归采样,以预测嵌入序列,然后对这些嵌入进行解码,生成新颖多样的网格结构,显示出与人类绘制的网格类似的高效、不规则三角形。
MeshGPT 采用图卷积编码器处理网格面,利用几何邻域信息捕捉表征 3D 形状复杂细节的强特征,然后利用残差量化方法将这些特征量化成 codebook 嵌入。与简单的向量量化相比,这种方法能确保更好的重建质量。在重建损失的指导下,MeshGPT 通过 ResNet 对量化后的嵌入进行排序和解码。
本研究使用Transformer模型从预先训练的codebook词汇库中生成网格序列作为token索引。在训练过程中,图像编码器从网格表面提取特征,并将其量化为一组表面嵌入。这些嵌入被平铺,用开始和结束的token标记,然后输入到上述GPT类型的Transformer模型。解码器通过交叉熵损失进行优化,预测每个嵌入的后续codebook索引
实验结果
该研究将 MeshGPT 与常见的网格生成方法进行了比较实验,包括:
- Polygen,通过首先生成顶点,然后生成以顶点为条件的面来生成多边形网格;
- BSPNet,通过凸分解来表征网格;
- AtlasNet,将 3D 网格表征为多个 2D 平面的变形。
此外,该研究还将 MeshGPT 与基于神经场的 SOTA 方法 GET3D 进行了比较。
如图 6、图 7 和表 1 所示,在全部的 4 个类别中,MeshGPT 都优于基线方法。MeshGPT 可以生成尖锐、紧凑的网格,并具有较精细的几何细节。
具体来说,与 Polygen 相比,MeshGPT 能生成具有更复杂细节的形状,并且 Polygen 在推理过程中更容易积累错误;AtlasNet 经常出现折叠瑕疵(folding artifact),导致多样性和形状质量较低;BSPNet 使用平面的 BSP 树往往会产生具有不寻常三角测量模式的块状形状;GET3D 可生成良好的高层次形状结构,但三角形过多,且平面不完美。
如表 2 所示,该研究还让用户对 MeshGPT 生成网格的质量进行了评估,在形状和三角测量质量方面,MeshGPT 明显优于 AtlasNet、Polygen 和 BSPNet。与 GET3D 相比,大多数用户更喜欢 MeshGPT 生成的形状质量(68%)和三角测量质量(73%)。
重写后的内容是:新颖的形状。如图8所示,MeshGPT能够生成超出训练数据集的新颖形状,确保模型不仅仅是检索现有形状
形状补全。如下图 9 所示,MeshGPT 还可以基于给定的局部形状推断出多种可能的补全,生成多种形状假设。
文中关于AI,模型的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Transformer变革3D建模,MeshGPT生成效果惊动专业建模师,网友:革命性idea》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
241 收藏
-
326 收藏
-
153 收藏
-
492 收藏
-
201 收藏
-
499 收藏
-
491 收藏
-
135 收藏
-
462 收藏
-
385 收藏
-
440 收藏
-
427 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习