MeshXL: Neural Coordinate Field forGenerative 3D Foundation Models 论文解读

ops/2024/10/24 0:11:53/

目录

一、概述

二、相关工作

1、3D表示

2、3D生成

3、三维基础模型

NeurCF-toc" style="margin-left:40px;">三、NeurCF

四、MeshXL

1、流程

2、损失

五、数据集

六、实验

1、模型参数量

2、 不同模型对比

3、Mesh生成的多样性

4、文本或图像到网格的生成

5、纹理生成


一、概述

        该论文介绍了一个生成式预训练的自回归模型家族MeshXL,利用大语言模型方法解决3D网格生成过程,并且可以作为下游任务的基础模型。(NIPS 2024)

(1)验证了显式神经坐标场NeurCF加上隐式神经嵌入的方式,是一种简答有效的大规模3D网格建模表示方式。

(2)提出一系列MeshXL,可以使用大语言模型来进行高保真三维网格生成,无需中间3D表示。

二、相关工作

1、3D表示

        点云:多传感器限制,捕捉离散点空间位置

        Mesh:三维空间中的一组多边形,点与边相连构成

        3DGS:表示三维空间中的离散空间分布,易于三维重建,渲染速度快。

        NeRF:多视图训练神经辐射场,灵活可扩展且渲染质量较高

        NeurCF:显式的3D坐标值域隐式神经嵌入的组合,可以直接用于3D网格的自回归生成,无需其他中间表示,相较于点云,体素表示来说更加高效,紧凑。

2、3D生成

        GAN网络->扩散模型->自回归方法

        AutoSDF和MeshGPT考虑学习离散的tokens,并使用VQVAE来重构一个3D表示。PolyGen考虑两个仅解码器的Transformer来预测多边形的顶点位置和连通性。

        该论文考虑提出一类预训练的Transformer来生成高保真三维Mesh。

3、三维基础模型

        该论文可以在大规模三维数据情况下,用于下游任务的基础模型,生成高保真的3D资产。

NeurCF">三、NeurCF

        NeurCF(Neural Coordinate Field,神经坐标场)是一个带有隐式嵌入的显式的三维表示方法。首先我们对于每一个离散的点p的坐标(x,y,z)都输入到坐标嵌入层\varepsilon中,得到新的嵌入坐标F(p)=(\varepsilon (x),\varepsilon (y),\varepsilon (z)),之后对于每一个k边构成的多边形面i都可以定义为顶点嵌入坐标的集合:\varepsilon_{face} (f^{i})=(F(p_1^{(i)}),...,F(p_k^{(i)}))。而每一个3D几何模型又是由多个多边形面构成,所以Mesh定义为若干多边形面的集合:\varepsilon _{mesh}(M)=(\varepsilon_{face}(f^{(i)}),...,\varepsilon_{face}(f^{(n)})),这也就是NeurCF的网格定义。

        所以对于一个Mesh的表示就是一个(n \cdot k \cdot 3)的tokens的flatten。

        相比于NeRF,NeurCF由于利用图结构建模,可以更加高效地表示平面表面,而NeRF的复杂度是(O^3)

四、MeshXL

1、流程

        首先将3D网格的NeurCF表示为序列,将3D网格生成问题转化为自回归问题,并使用基于OPT的decoder-only的Transformer作为基础模型,通过OPT来预测下一个坐标位置,并使用新的坐标位置和Transformer中的位置嵌入进行微调。

        在预测下一个token时,在输入序列前后加上<bos>和<eos>标记,并且推理式使用top-k或top-p采样策略输出

2、损失

        MeshXL损失:预测下一个token时的生成损失,目的是最小化下一个坐标的负对数似然损失。其中\theta是一个可学习参数,用来优化网格质量的。s是序列长度。

        X-to-mesh损失:表示由图像或文本特征生成3D网格模型的条件损失函数。其中 \theta仍然是可训练参数,s是三维网格序列,X是额外的条件信息(图像或文本)

五、数据集

        在论文中,数据集是依赖于ShapeNet,3D-FUTURE,Objaverse,Objaverse-XL的结合。

        预处理:包括对于网格面数小于800的模型,确保他们有对应的UV图(用于纹理生成),网格面数800到20000的模型使用平面简化模型降采样,丢弃不居中和占用画面面积小于10%的模型。

        另外生成网格-图像对,渲染每个3D网格的多视图图像,并且使用微调的SD模型对渲染图像进行数据增强,突出纹理。

六、实验

1、模型参数量

2、 不同模型对比

        性能指标

  • Coverage (COV): 用于量化生成的3D网格的多样性,越高越好。
  • Minimum Matching Distance (MMD): 计算生成集合和参考集合之间的平均距离,越小越好。
  • 1-Nearest Neighbor Accuracy (1-NNA): 直接量化生成集合和参考集合之间的质量和多样性,最优值为50%。
  • Jensen-Shannon Divergence (JSD): 直接评估3D网格的质量,越小越好。
  • Frechet Inception Distance (FID): 基于特征级别评估渲染图像的质量,越小越好。
  • Kernel Inception Distance (KID): 基于特征级别评估渲染图像的质量,越小越好。

3、Mesh生成的多样性

4、文本或图像到网格的生成

5、纹理生成

        之前三维模型面数800以内的派上用场了。

参考论文:MeshXL: Neural Coordinate Field forGenerative 3D Foundation Models

参考代码:GitHub - OpenMeshLab/MeshXL: [NeurIPS 2024] MeshXL: Neural Coordinate Field for Generative 3D Foundation Models, a 3D fundamental model for mesh generation


http://www.ppmy.cn/ops/127953.html

相关文章

基于SSM+微信小程序的房屋租赁管理系统(房屋2)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于SSM微信小程序的房屋租赁管理系统实现了有管理员、中介和用户。 1、管理员功能有&#xff0c;个人中心&#xff0c;用户管理&#xff0c;中介管理&#xff0c;房屋信息管理&#xff…

JAVA中线程安全问题

1.线程安全的概念 线程安全是指在多线程环境下&#xff0c;程序能够正确地执行而不会出现数据不一致、资源竞争等问题。 简单来说&#xff0c;如果一个程序在运行时的结果符合我们的预期&#xff0c;那么这个程序就是线程安全的&#xff0c;反之&#xff0c;如果程序运行的结果…

轻松修改Linux虚拟机的IP(含Mac版VMware虚拟机克隆教程)

问题背景 在使用WMware克隆虚拟机时&#xff0c;克隆出来的新虚拟机与源虚拟机的IP和MAC地址均相同&#xff0c;无法正常使用&#xff0c;因此需要手动去修改克隆出来的新虚拟机的IP和MAC地址。这篇文章将介绍如何克隆虚拟机并手动修改IP和MAC地址。&#xff08;点击导航栏可快…

CollageController

目录 1、 CollageController 1.1、 ReceptionID查询CollageID 退料模态框 1.2、 查询退料明细信息 1.3、 查询退料主信息 CollageController using QXQPS.Models; using QXQPS.Vo; using System; using System.Collections; using System.Collections.Generic; …

C++入门基础知识123—【关于C++ 指针数组】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 指针数组的相关内容&#xff01; 关于…

使用 cmake 在 x86 系统中为 arm 系统交叉编译程序

原理&#xff1a; 在 x86 系统里使用交叉编译工具链&#xff08;arm 版 gcc/g&#xff09;编译程序&#xff0c;然后放在 arm 系统里运行。 arm 版本 使用 lscpu 查看 cpu 架构 版本说明armv732 bitarmv8/arrch6464 bit 安装交叉编译工具链 # 针对 armv7 sudo apt install…

如何使用OpenSSL创建RSA证书文件?

正文共&#xff1a;1024 字 7 图&#xff0c;预估阅读时间&#xff1a;1 分钟 我们前面介绍了如何通过Windows Server生成证书&#xff08;Windows Server配置生成认证证书&#xff09;&#xff0c;也介绍了如何通过easy-RSA生成证书文件&#xff08;使用Easy-RSA配置生成SSL证…

pdf文件怎样一张纸打印四页

在日常工作和学习中&#xff0c;我们经常会遇到需要将PDF文件中的多页内容合并打印到一张纸上的情况&#xff0c;比如将四页内容打印到一张A4纸上&#xff0c;以节省纸张和成本。同时&#xff0c;在打开pdf文件的方式&#xff0c;一般都是通过电脑浏览器打印&#xff0c;因此对…