Featured image of post Report0404

Report0404

论文总结

SceneMotifCoder

SMC,一种基于示例驱动的视觉程序学习框架,用于根据文本描述生成3D物体排列。它利用大语言模型(LLMs)从少量示例中学习和概括空间图案,创建可重用的元程序,从而生成多样且物理上合理的3D布局。这篇文章之所以能够比其他方法在生成合理布局的方式上取得更好的效果,是因为他们显式地指定了物体排列的几种方式(比如堆叠,环绕,一共差不多10种左右),而且3D资产是从本地库里调出来的,比如输入一段话,模型会调用clip模型,找数据库里最符合的模型。

这篇文章有几个很明显的缺点,首先motif/meta程序的生成需要不断地调用gpt做询问和验证,尽管论文中说3次以内GPT就能生成正确的程序,但是实测这一步极其容易失败,往往需要十几次迭代。其次,物体排列的方式一定得是他们提前规定好的那几种方式。第三,这篇文章主要是为了生成不同排列方式的Asset,但是Asset是从本地下载的资源库里得到的,而不是生成得到的,也就是模型资源有限,比如我想生成几本书堆叠在一起,往往一直都是那几本书。

trellis3d

利用了flow-matching等最新的大模型技术,加上大量的数据,做文/图生3D Asset,相比于以往的方法,能够生成更好的材质/细节等,在渲染质量上有了显著提升, 比较有意思的点是能有灵活的输出格式选择和本地 3D 编辑功能,

一些最近工作与他的对比

1 Hunyuan3D 2.0: Scaling Diffusion Models for High Resolution Textured 3D Assets Generation

25.01.12

这篇文章的baseline就是trellis3d;

hy1

hy2

2 Simulating the Real World: A Unified Survey ofMultimodal Generative Model

25.03.04

一个综述,总结了下文字/图片生成3D Asset的一些工作,有张图我觉得还不错

1

3 Amodal3R: Amodal 3D Reconstruction from Occluded 2D Images

25.03.17

在有遮挡的条件下重建3D物体

2

3

4 Can Video Diffusion Model Reconstruct 4D Geometry?

25.03.27

动态场景的物体重建

5 V2M4: 4D Mesh Animation Reconstruction from a Single Monocular Video

25.03.11

动态场景的物体重建,单目

6 PhysTwin: Physics-Informed Reconstruction and Simulation of Deformable Objects from Videos

25.03.17

王申龙老师的工作,也cite了trellis3d,是我目前看到的最喜欢的工作!而且还开源了!

为了应对稀疏观测带来的挑战,这篇工作利用了来自trellis3d和视觉基础模型的形状先验和运动估计来估计我们物理表示的拓扑、几何和物理参数。

blender-mcp

两个星期前发布的,是一种利用 claude 控制建模的方式,和SMC类似。

blender-mcp

小结

主要介绍了3种不同的生成3D Asset的方法。

SLAT 的核心目标是生成单个高保真3D物体(如一把椅子、一个杯子),专注于解决如何统一表示物体的几何形状和外观纹理。它通过隐式建模(如扩散模型)直接输出3D模型,支持多种格式(3D高斯、辐射场、网格)。

SMC 的核心目标是生成多个物体的空间排列规则(如餐桌上的餐具布局、墙上的装饰画),专注于抽象化物体间的空间关系(如堆叠、环绕)。它通过程序化生成(如LLM编写的代码)描述物体如何摆放,依赖外部3D模型库实例化具体物体。

SLAT 使用结构化潜在空间(稀疏3D网格 + 视觉特征)表示物体,通过两阶段扩散模型生成:首先生成稀疏结构,再填充局部细节。其优势在于高质量单物体生成,但编辑需通过隐变量调整,不够直观。SMC 使用视觉程序(如Python-like的领域特定语言)显式定义排列逻辑(如“循环放置5个盘子,间距0.1米”)。它通过LLM从少量示例中归纳程序模板,生成可读、可编辑的代码,直接控制物体位置、旋转和数量。

SLAT 直接输出3D模型,但可能缺乏物理合理性(如物体悬空、穿透),需后处理修正。而SMC通过程序强制约束物理规则(如碰撞检测、接触面优化),生成布局更符合现实,但需依赖外部模型库和几何优化步骤。不过我感觉SLAT能够输出多种不同类型的3D模型,这是一个非常好的特点。

其次,blender-mcp我感觉和SMC类似,这个方法的模型库来自一些网站(SMC是本地存储),但是总体来说,模型是固定的,但是这种方式的好处在于,通过claude调取网络上的模型库,其得到的模型资源会更加丰富一点,不过缺点显然就是没有那些物理上排列组合的约束。但是blender-mcp可以通过claude实时调整模型的位置,又稍稍弥补了这个缺点。个人体验而言,我觉得blender-mcp会更好一点。

btw,所有生成的模型都不能用于仿真,因为他们生成的都是表面的三角mesh,而物理仿真通常需要体网格(比如实心和空心的物体对于外力的响应显然是完全不同的)。其实想想也是,仅通过视觉怎么可能知道物体的内部结构呢?所以我认为才需要更多的信息帮助物体的重建,这样引入触觉就是非常自然的选择了。

如果一定要用到上面的工作的话,我觉得只能用于碰撞检测吧,因为有生成的物体的几何外形之后,搞一个碰撞盒,做轨迹规划倒是可以,可以参考下面这篇论文。

VISO-Grasp: Vision-Language Informed Spatial Object-centric 6-DoF Active View Planning and Grasping in Clutter and Invisibility

25.03.17

应该是iros25在投,感觉还可,在复杂场景抓取目标物体。

一些物理仿真平台的调研和思考

Genesis

定位与特点: Genesis 是由 Taichi 和 Deepmind 共同推动的一个新兴开源物理仿真平台,本质上可以看作是对现有技术的高度集成与模块化重构。它底层使用 MuJoCo,结合 Taichi 进行高效并行计算,支持 GPU 加速,并引入光追模块用于渲染。

优势:

模块化强、拓展性好:得益于 Taichi 的参与,开发者可以方便地定制和拓展各类物理模块(如 MPM、PBD 等),特别适合研究者和算法开发者。

对软体、流体友好:Taichi 提供的基础模拟能力,如 MPM 和 SPH,在处理可变形体和粒子系统方面很自然。

可扩展的生成式接口潜力:虽然目前“生成式”这一方向尚未形成独特优势,但作为平台定位,未来潜力大。

不足:

底层依然依赖较老版本的 MuJoCo,动力学精度、接触建模等方面仍有提升空间。

工业级应用生态尚未建立,稳定性与工具链配套较弱。

算法实现多为基础版本,现阶段更适合作为研究原型平台。

适用场景: 学术研究、软体/流体模拟原型、仿真平台开发、教学与原型验证。

总结:

我个人觉得Genesis的本质就是:mujoco底层+taichi+gpu并行+光追插件。东西都是之前熟悉并用过的东西,只是各取所长进行了一次重组,提高了开发效率。Genesis目前的taichi部分已经开放的软体和流体算法也只有很基础的mpm+,sph+,pbd+,都是20年taichi刚发布就有的东西,但之后说会有ipc可期待一波。使用体验上来说,目前Genesis的底层还是用的mujoco的旧引擎,对loco任务还好,但 manipulation抓取上还有问题,目前Genesis的优势主要在taichi方便的流体和可变形接口,如果要做软体的话,用这个平台会合适一点。

Genesis最重要的贡献不是生成式,而是作为一个顶级开源仿真平台把这几年做的比较好的工作都集成到一起。尤其是对接taichi后,模块化好可拓展性很高,如果能做到持续维护更新的话会有很大的发展空间。

issac sim

Isaac Sim 由 NVIDIA 开发,基于 Omniverse 平台,具有极高的渲染质量。Isaac Sim 利用 RTX 光线追踪技术,实现逼真的实时渲染,是这三者中图形效果最强的工具,尤其适合需要高保真视觉数据的任务。

Isaac Sim 采用 PhysX 引擎,这在游戏和高性能仿真中非常常见。其动力学求解支持高精度且实时的模拟,适合复杂的载荷和接触问题,且支持自定义物理参数和力矩输入。 但是物理建模虽然实用但不够“学术精确”,对于精细动力学建模(如复杂接触、软体力学)能力有限。 而且它的封闭性较强,底层不如 MuJoCo 和 Genesis 那样开放给研究者深度修改。

issac lab就是基于issac sim开发的用于强化学习的benchmark

mujoco

MuJoCo 的渲染相对简单,主要用于计算物理仿真,因此图形渲染能力较为基础。它更注重物理仿真精度而非图形细节。

MuJoCo 采用的是基于连续时间的动力学求解,使用优化方法进行求解,能够支持复杂关节和接触的高效仿真。它的物理引擎允许用户灵活定制载荷形式,可以在关节、链接和接触面上施加自定义力矩、阻尼等。

如果要做强化学习,issac sim的并行训练效率更高,如果要做动力学仿真,mujoco的接触会非常准确,但是mujoco对软体、流体类任务支持有限,主要面向刚体系统。

部分实验记录

先用smc生成了一个示例3D资产

1
python inference.py --desc "a stack of four books"

这个资产在blender中打开,效果如下:

motif1

感觉这个程序生成的资产有bug,一叠书里面只有部分书是有材质贴图的,应该是blender的问题,issac sim里是正常的。

然后导入issac sim,首先简单验证了下碰撞等性质。

motif2

motif3

motif4

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计
发表了30篇文章 · 总计0.02k字