当前位置: 首页 > news >正文

上海AI实验室突破扩散模型!GetMesh融合点云与三平面,重塑3D内容创作

导读

Meshes generated by our method. GetMesh is able to generate diverse and high-quality meshes across the 55 categories in ShapeNet.

Meshes generated by our method. GetMesh is able to generate diverse and high-quality meshes across the 55 categories in ShapeNet.

近年,随着增强现实、虚拟现实、游戏与影视制作等领域对三维资产的需求日益增长,高质量3D网格的自动化生成与编辑成为研究热点。然而,网格结构的非规整性及多样的拓扑变化,使得传统基于体素或点云的生成方法在细节刻画与可控性方面存在局限。今年,由上海人工智能实验室、复旦大学和上海交通大学联合提出的《GetMesh: A Controllable Model for High-quality Mesh Generation and Manipulation》一文,首次将可变数量点云与三平面(Triplane)表示相结合,通过双重扩散模型实现对网格生成全过程的精细可控,显著提升了网格细节与编辑灵活性,并在ShapeNet55类数据集上取得优异表现。 author

论文基本信息

  • 论文标题:GetMesh: A Controllable Model for High-quality Mesh Generation and Manipulation

  • 作者:Zhaoyang Lyu, Ben Fei, Jinyi Wang, Xudong Xu, Ya Zhang, Weidong Yang, Bo Dai

  • 作者单位:上海人工智能实验室;复旦大学;上海交通大学

  • 发布时间:2024年3月18日

  • 论文来源:https://arxiv.org/abs/2403.11990

  • 代码与项目地址:https://getmesh.github.io

摘要

本文提出了一种名为GetMesh的多类别可控网格生成模型,通过可变数量的点云作为潜在表示,并将其重组为三平面表示,结合双重扩散模型分别学习点位置与特征分布,实现在不同类别间的高质量网格生成与灵活编辑。与单类别及多类别现有方法相比,GetMesh在ShapeNet55数据集上生成网格的Shading-FID、1-NNA等指标均显著优化;同时,通过调整潜在点的数量、位置及特征,可实现拓扑结构改变、零部件增删与跨类别部件融合等复杂操作。实验展示了从双引擎客机到四引擎运输机的连续变换,以及桌子与台灯结构的混合示例,证明了方法的直观性和鲁棒性。

➔➔➔➔点击查看原文,获取更多大模型相关资料https://mp.weixin.qq.com/s/EVSDALumMEmjp3xfEZ1lhw

研究背景及相关工作

研究背景

近年来,三维资产生成已成为计算机视觉与图形学的重要研究方向。网格(Mesh)因其在工业软件中的广泛支持而备受青睐,但其非欧几里得结构和可变拓扑带来的生成难度,限制了自动化方法的应用。传统点云方法依赖Poisson重建,导致表面平滑、细节缺失;体素方法计算与内存成本高;而纯三平面(Triplane)表示虽能支持高分辨率细节,却缺乏直观可编辑的潜在空间。因此,如何设计一种兼具高质量重建与强可控性的潜在表示,成为亟待解决的核心问题。

相关工作

点云与Poisson重建方法
  • PointNet++改进:如SLIDE等利用少量点扩散模型实现粗略重建,编辑控制有限。

  • Poisson表面重建:通过密集点云与隐函数求解网格,但往往平滑细节并失去锋利边缘。

体素与神经隐函数方法
  • 体素表示:如Diffusion-SDF,分辨率提升显著增加计算负担。

  • 隐函数网络(NeRF/SDF):如DeepSDF、Occupancy Networks,通过连续场重建形状,可生成细节,但缺少显式可编辑潜在空间。

三平面与扩散模型
  • Triplane Diffusion:NFD和3DGen等采用三平面作为潜在表示,支持高质量纹理与结构生成,但编辑难度大。

  • 潜在空间扩散:基于点的Diffusion prior,如Lion和3DShape2VecSet,展示了在潜在空间生成3D结构的可行性,但尚未实现拓扑级可控。

➔➔➔➔点击查看原文,获取更多大模型相关资料https://mp.weixin.qq.com/s/EVSDALumMEmjp3xfEZ1lhw

主要贡献

  1. 可变数量点云+三平面融合表示:首次提出将可变数量的点云潜在表示,与三平面高效表示结合,实现兼具可编辑性与高质量重建。

  2. 双重扩散模型架构:分别针对点位置与特征训练DDPM,支持任意数量潜在点的灵活采样与编辑。

  3. 细节修正模块:在三平面Decoder基础上引入细分与细化模块,消除DMTet网格提取时的锥状伪影,增强表面平滑度和边缘锐利度。

  4. 丰富的可控生成演示:包括拓扑变化(双→四引擎)、零部件增删、跨类别部件融合、形状插值与动画生成等实例,验证了方法的直观性和鲁棒性。

  5. 高效性能:在NVIDIA A100上,保持1.17s/样本的生成速度,同时在Shading-FID、1-NNA等指标上优于多种单/多类别基线。

研究方法与基本原理

Visual comparison between meshes generated by our method and baselines. Zoom in to better see the details. More qualitative results are in Appendix Section F.

Visual comparison between meshes generated by our method and baselines. Zoom in to better see the details. More qualitative results are in Appendix Section F.

问题定义与潜在表示设计

GetMesh通过端到端网格自编码器,将输入网格编码为可变数量的潜在点集 及其特征 ,其中 可由用户指定,以支持局部/全局结构编辑。编码器基于改进PointNet++,结合FPS采样与特征传播,生成紧凑的潜在点表示。

三平面重组与Decoder

将潜在点与其特征投影到 三平面,形成尺寸为 的特征图;随后,利用基于3D感知卷积的UNet提取深层特征,调用DMTet网格提取算法生成粗网格,并通过细分与共享MLP的Refinement模块预测顶点位移,优化网格表面细节。

双重扩散模型训练

  • 位置DDPM:针对潜在点 训练1000步扩散过程。

  • 特征DDPM:针对条件于位置的潜在特征 训练Transformer架构,实现精细纹理与结构特征生成。

可控编辑与Guidance策略

针对用户手动编辑潜在点产生的孔洞或异常,引入基于Classifier-Free Guidance的采样引导方法,以平衡编辑意图与潜在分布一致性,确保生成过程的鲁棒性与准确性。

实验设置与结果分析

Compare meshes reconstructed by autoencoders with and without the refinement module. For each pair of meshes, the left one is without the refinement module, and the right one is with the module. Zoom in to see more details.

Compare meshes reconstructed by autoencoders with and without the refinement module. For each pair of meshes, the left one is without the refinement module, and the right one is with the module. Zoom in to see more details.

数据集与评价指标

  • 数据集:ShapeNet55,分割为70%/10%/20%的训练/验证/测试集;每个网格标准化至 。

  • 评价指标:Shading-FID、1-NNA、MMD、Coverage,以Chamfer距离(CD)与Earth Mover’s Distance(EMD)衡量生成网格质量和多样性。

自编码性能

网格自编码器在测试集上达到0.968 IOU与1.34×10⁻³ CD误差,证明其高保真网格重建能力。

生成性能对比

方法类型速度(s)Shading-FID↓1-NNA(CD)↓MMD(CD)↓Coverage(CD)↑
GetMesh多类别DDPM1.1716.50(桌)52.05%(椅)14.55×10⁻³49.35%
GET3D单类别GAN0.1264.0668.97%17.1645.95%
MeshDiffusion单类别DDPM91.3576.8167.77%17.1140.14%

解析:GetMesh在生成速度与质量间取得平衡,尤其在Sharp细节与多样性方面明显优于MeshDiffusion与GET3D。

➔➔➔➔点击查看原文,获取更多大模型相关资料https://mp.weixin.qq.com/s/EVSDALumMEmjp3xfEZ1lhw

总结与展望

总结

本文提出的GetMesh通过可变点云与三平面融合的创新潜在表示,以及双重扩散模型与细化模块的优化设计,实现了高质量与高可控的3D网格生成。实验验证其在多类别场景下优异的生成质量、丰富的编辑能力与实用的生成速度,为3D内容自动化创作提供了新思路。

展望

  • 无监督与2D先验融合:可结合DreamFusion等2D-3D联合优化,降低对有标签三维数据的依赖。

  • 大规模开放数据集扩展:计划在Objaverse等大型数据集上验证方法可扩展性。

  • 实时交互式编辑:基于Guidance策略,可开发面向设计师的交互式网格编辑工具,进一步提升创作效率。

代码实现

本文的所有模型结构与训练配置详见GitHub项目。核心代码可通过如下方式克隆并运行:

git clone https://github.com/getmesh/getmesh
cd getmesh
pip install -r requirements.txt
python train_autoencoder.py --dataset ShapeNet55
python train_diffusion.py --autoencoder_ckpt autoencoder.pth
http://www.dtcms.com/a/349376.html

相关文章:

  • 少儿舞蹈小程序需求规格说明书
  • AutoCAD Electrical缺少驱动程序“AceRedist“解决方法
  • 【STM32】G030单片机的独立看门狗
  • ELKB日志分析平台 部署
  • 完美世界招数据仓库工程师咯
  • ArcGIS JSAPI 高级教程 - 创建渐变色材质的自定义几何体
  • three.js+WebGL踩坑经验合集(8.3):合理设置camera.near和camera.far缓解实际场景中的z-fighting叠面问题
  • 大数据平台ETL任务导入分库分表数据
  • Jenkins+docker 微服务实现自动化部署安装和部署过程
  • TDengine IDMP 应用场景:电动汽车
  • AI测试工具midsence和browse_use的使用场景和差异
  • react+taro打包到不同小程序
  • Flutter旧版本升级-> Android 配置、iOS配置
  • 机器视觉的3C玻璃盖板丝印应用
  • KeepAlived+Haproxy实现负载均衡(SLB)
  • window显示驱动开发—混合系统 DDI 和 dList DLL 支持
  • Shell 循环编程:for 与 select 轻松入门
  • HTTP 与 HTTPS 深度解析:从原理到实际应用
  • Kubernetes (K8s)入门指南:Docker之后,为什么需要容器编排?
  • 安全合规:AC(上网行为安全)--下
  • LeetCode热题100--102. 二叉树的层序遍历--中等
  • 什么是JSON-RPC 2.0,在项目中应该怎么使用
  • 09-数据存储与服务开发
  • GPIO子系统自主实现(简单版)
  • C++ static 关键字面试深度解析
  • 匹配网络处理不平衡数据集的6种优化策略:有效提升分类准确率
  • 【每天一个知识点】大模型训推一体机
  • RK3128 Android 7.1 进入深度休眠流程分析
  • Apache Maven 3.1.1 (eclipse luna)
  • Portswigger靶场之 Blind SQL injection with time delays通关秘籍