BrickNet开源!AI玩乐高不再翻车,图支持程序让积木组装零误差
项目主页: https://avalovelace1.github.io/BrickGPT/
标签: AI乐高 / 连接图生成 / 3D组装 / Qwen 3 / 结构推理
数据集: LDraw(32万+组装样本,9743种零件,4000万次放置)
引言
在 3D 生成建模领域,AI 已经能很好地创建网格和点云模型。但如果你想让它生成像乐高积木这样的基于零件的组装结构,情况就完全不同了。
乐高结构不是连续的曲面,而是由离散的单元组成,每个单元都有严格的连接规则。要让 AI 生成这样的结构,不仅要理解整体几何形状,还要精准掌握局部连接方式和物理约束。
BrickNet 提出了一种全新的解决思路——把生成问题从绝对坐标转移到连接图。
一、问题背景
传统方法的困境
过去的方法大多依赖预测每个零件的 6-DoF 姿态(三维位置 + 三维旋转):
| 问题 | 说明 |
|---|---|
| 误差累积 | 简单结构还行,复杂模型中误差在序列生成中不断累积 |
| 零件错位 | 相邻零件无法正确扣合 |
| 零件悬浮 | 零件没有落在正确位置 |
| 碰撞冲突 | 零件相互穿插 |
乐高组装的特殊性
乐高结构是离散的,不是连续曲面:
- 每个单元都有严格的连接规则
- 必须理解整体几何形状 + 局部连接方式 + 物理约束
- 传统姿态预测无法保证物理可行性
二、BrickNet 核心创新
从坐标到连接图
BrickNet 把生成问题从绝对坐标转移到连接图:
传统方法:预测每个零件的 (x, y, z, rx, ry, rz)
→ 误差累积 → 零件错位
BrickNet:每个乐高零件是一个节点,零件之间的连接是边
→ 知道"零件A连到零件B" → 确定性计算出精确3D位置
关键优势
只要模型知道「零件 A 通过某种连接器连到零件 B」,就可以确定性地计算出它的精确 3D 位置。
无论组装多么复杂,都能保证结构的物理可行性。
三、五种连接器类型
研究团队标注了五种常见连接器类型:
| 连接器 | 自由度 | 说明 |
|---|---|---|
| 凸粒(Stud) | 1个旋转自由度 | 乐高最经典的连接方式 |
| 铰链(Hinge) | 旋转 + 180°翻转 | 可活动关节 |
| 轴(Axle) | 旋转 + 滑动 | 可伸缩结构 |
| 球(Ball) | 3自由度灵活连接 | 万向连接 |
| 固定(Fixed) | 完全锁定 | 不可活动 |
四、海量数据集
数据来源
数据集源自 LDraw——一个数字乐高建模社区标准:
| 指标 | 数值 |
|---|---|
| 独特组装样本 | 32万+ |
| 零件变体 | 9743种 |
| 单个积木放置 | 4000万+次 |
数据集划分
| 数据集 | 用途 |
|---|---|
| BrickNet-PT | 无条件预训练,学习积木组装的「常识」 |
| BrickNet-SFT | 精选子集,文本条件生成,配合成标题和多视角渲染 |
五、技术架构
基座模型
采用 Qwen 3 系列模型,参数规模从 0.6亿 到 140亿:
| 阶段 | 任务 |
|---|---|
| 无条件预训练 | 学习积木组装的通用「语法」 |
| 文本条件微调 | 将自然语言描述映射为具体的组装程序 |
生成过程
生成过程被序列化为一系列令牌:
[零件类型] → [颜色] → [父零件ID] → [连接器对] → [旋转/滑动参数]
执行引擎读取这个序列后,一步步还原出完整的 3D 组装模型。
六、实验结果
与传统方法对比
| 方法 | 复杂组装表现 |
|---|---|
| 姿态预测模型 | 长序列中有效性急剧下降 |
| BrickNet | 几乎消除全局坐标误差,保证零件正确扣合 |
仍存在的挑战
避免内部碰撞仍是挑战,说明未来模型还需要更强的全局占用和空间推理能力。
七、应用前景
机器人组装
生成的分步程序可直接用于机械臂操作:
- 每一步都有明确的连接指令
- 机械臂可以精确执行
- 无需额外的路径规划
程序化设计
用一句话描述就能得到物理可行的组装方案。
示例:
- 「设计一个四轮小车」→ AI 生成完整组装程序
- 「设计一个可活动的机械臂」→ AI 生成铰链连接方案
结构推理研究
推动 AI 对空间体积和占用关系的理解:
- 不只是生成形状,而是理解结构
- 为更复杂的 3D 推理任务铺路
八、技术细节
连接图表示法
节点 = 乐高零件
边 = 零件之间的连接
示例:
节点A (2x4积木) --[凸粒连接]--> 节点B (2x2积木)
确定性计算
给定连接关系后,可以确定性计算每个零件的精确位置:
- 从根节点开始(位置固定)
- 根据连接器类型计算子节点位置
- 递归遍历整个连接图
- 所有零件位置精确确定
与姿态预测的本质区别
| 方法 | 思路 | 问题 |
|---|---|---|
| 姿态预测 | 预测每个零件的绝对坐标 | 误差累积,无法保证连接正确 |
| 连接图 | 预测零件之间的相对连接关系 | 确定性计算,零误差 |
九、研究意义
技术层面的突破
通过将 3D 组装视为一种「连接语言」,我们可以用图的结构化逻辑来有效建模物理世界的复杂性。
对 AI 领域的贡献
| 贡献 | 说明 |
|---|---|
| 离散结构生成 | 从连续曲面到离散组装 |
| 物理可行性保证 | 连接图确保结构正确 |
| 程序化输出 | 生成分步指令,可用于机器人 |
对工业界的影响
- 智能制造:AI 设计可组装的产品
- 机器人自动化:生成可执行的组装程序
- 教育玩具:AI 辅助乐高设计
十、总结
核心创新
| 创新 | 说明 |
|---|---|
| 连接图表示 | 从绝对坐标到相对连接,消除误差累积 |
| 五种连接器 | 覆盖乐高主要连接方式 |
| 32万+数据集 | 业界最大乐高组装数据集 |
| Qwen 3 训练 | 大语言模型学习组装「语法」 |
| 程序化输出 | 分步指令可用于机器人执行 |
适用场景
- 机器人组装:生成可执行的分步程序
- 程序化设计:一句话生成物理可行的方案
- 结构推理研究:推动 AI 空间推理能力
未来方向
- 解决内部碰撞问题
- 增强全局占用推理
- 扩展到更多类型的组装结构
项目主页: https://avalovelace1.github.io/BrickGPT/
数据集: LDraw(32万+组装样本)
本文首发于「程序员茄子」博客,原文链接:https://chenxutan.com