Articulate-Anything
Paper:Articulate-Anything: Automatic Modeling of Articulated Objects via a Vision-Language Foundation Model
论文解决的核心问题是:如何利用多模态输入(文本、图像、特别是视频),全自动、高准确率地为复杂的 3D 静态物体添加运动关节。
核心流程如下:
1 | |
论文使用的是什么关节库?
论文实验中使用的标准库是 PartNet-Mobility(包含约 2300 个有关节的模型) 。但在实际应用中,他们瞄准的是更大规模的静态 3D 数据库(如 Objaverse,包含超过 1000 万个独立的 3D 静态物体模型) 。
库里的零件这么全、能对得上号吗?这就涉及到一个巧妙的缩放机制(Rescale) 。大模型在检索到长得相似的零件后,会充当“高级钳工”,预测出该零件在目标物体中应该有的长、宽、高尺寸 ,然后通过代码对其进行拉伸、缩放和调整尺寸,使其完美适配当前的目标物体 。因此,只要库里有“长得像”的部件,通过尺寸缩放就能拼装出成千上万种组合。
选取也是 LLM 选的吗
- 初筛(CLIP 向量匹配):首先,利用无需大模型推理的
CLIP 语义模型,计算输入文本/图像与数据库中所有模型描述的余弦相似度
。这一步速度极快,能瞬间把几百万的模型砍到只剩前
个最接近的候选大类(比如初步锁定 50 个长得像的电脑显示器) 。 - 多模态大模型 VLM:进入决赛圈后,论文派出了一个专门的 VLM 智能体 。它采用两两对决(或者分批对决)的淘汰赛方式 ,每次给大模型看几张候选零件的渲染图 ,让大模型根据视觉相似度,挑出最符合真实物体部件的那一个 。通过这种类似“世界杯淘汰赛”的机制,层层筛选出最终的零件 。
直接让 LLM 生成 3D 坐标吗?
不是,设计了一套高层的 Python API
。大模型(Actor)只需要写通俗的代码(例如:pred_robot.place_relative_to('window', 'window_frame', placement='inside'))
。复杂的空间几何计算和碰撞检测留给后端的物理引擎(如 PyBullet)去算
。用代码作为大模型和 3D
物理世界的桥梁,极大地降低了生成难度 。
Articulate-Anything
https://d4wnnn.github.io/2026/07/10/Notion/Articulate-Anything/