案例 BrickNet开源:AI玩乐高不再翻车,连接图让积木组装零误差

2026-05-09 07:38:19 +0800 CST views 5

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积木)

确定性计算

给定连接关系后,可以确定性计算每个零件的精确位置:

  1. 从根节点开始(位置固定)
  2. 根据连接器类型计算子节点位置
  3. 递归遍历整个连接图
  4. 所有零件位置精确确定

与姿态预测的本质区别

方法思路问题
姿态预测预测每个零件的绝对坐标误差累积,无法保证连接正确
连接图预测零件之间的相对连接关系确定性计算,零误差

九、研究意义

技术层面的突破

通过将 3D 组装视为一种「连接语言」,我们可以用图的结构化逻辑来有效建模物理世界的复杂性。

对 AI 领域的贡献

贡献说明
离散结构生成从连续曲面到离散组装
物理可行性保证连接图确保结构正确
程序化输出生成分步指令,可用于机器人

对工业界的影响

  • 智能制造:AI 设计可组装的产品
  • 机器人自动化:生成可执行的组装程序
  • 教育玩具:AI 辅助乐高设计

十、总结

核心创新

创新说明
连接图表示从绝对坐标到相对连接,消除误差累积
五种连接器覆盖乐高主要连接方式
32万+数据集业界最大乐高组装数据集
Qwen 3 训练大语言模型学习组装「语法」
程序化输出分步指令可用于机器人执行

适用场景

  • 机器人组装:生成可执行的分步程序
  • 程序化设计:一句话生成物理可行的方案
  • 结构推理研究:推动 AI 空间推理能力

未来方向

  • 解决内部碰撞问题
  • 增强全局占用推理
  • 扩展到更多类型的组装结构

项目主页: https://avalovelace1.github.io/BrickGPT/
数据集: LDraw(32万+组装样本)


本文首发于「程序员茄子」博客,原文链接:https://chenxutan.com

推荐文章

资源文档库
2024-12-07 20:42:49 +0800 CST
Nginx 反向代理
2024-11-19 08:02:10 +0800 CST
一些好玩且实用的开源AI工具
2024-11-19 09:31:57 +0800 CST
Golang 中应该知道的 defer 知识
2024-11-18 13:18:56 +0800 CST
Nginx 跨域处理配置
2024-11-18 16:51:51 +0800 CST
Vue3中如何处理权限控制?
2024-11-18 05:36:30 +0800 CST
nginx反向代理
2024-11-18 20:44:14 +0800 CST
Gin 框架的中间件 代码压缩
2024-11-19 08:23:48 +0800 CST
Vue3的虚拟DOM是如何提高性能的?
2024-11-18 22:12:20 +0800 CST
Python上下文管理器:with语句
2024-11-19 06:25:31 +0800 CST
Graphene:一个无敌的 Python 库!
2024-11-19 04:32:49 +0800 CST
Golang 随机公平库 satmihir/fair
2024-11-19 03:28:37 +0800 CST
智慧加水系统
2024-11-19 06:33:36 +0800 CST
程序员茄子在线接单