写在前头

就在刚刚,ICCV 2025 揭晓了最佳论文与最佳学生论文,其中最佳论文《Generating Physically Stable and Buildable Brick Structures from Tex》由卡内基梅隆大学研究团队发表,并从11000多篇投稿中脱颖而出。

best paper

几个作者介绍如下:

Ava Pun

  • 教育背景:本科毕业于滑铁卢大学(计算机科学与组合优化双学位),卡耐基梅隆大学(CMU)计算机科学在读博士,师从Jun-Yan Zhu教授。
  • 研究方向:跨计算机视觉、计算机图形学与人工智能领域,核心探索“如何让AI不仅在计算机中发挥作用,更能落地物理世界”。
  • 研究主页:https://avapun.com/
    Ava Pun

Kangle Deng

  • 教育与职业背景:本科毕业于北京大学,2025年获CMU博士学位(师从Deva Ramanan与Jun-Yan Zhu教授),现就职于Roblox公司担任研究科学家。
  • 研究方向:长期深耕3D内容生成领域,成果涵盖文本到3D、网格纹理生成等方向。
  • 研究主页:https://dunbar12138.github.io/
    Kangle Deng

Ruixuan Liu

  • 教育背景:本科毕业于CMU(电子与计算机工程专业,辅修机器人学),CMU机器人研究所在读博士,师从Changliu Liu教授。
  • 研究方向:聚焦机器人学习、操作与控制、生成智能及人机协作,深耕机器人装配相关技术研发。
  • 研究主页:https://waynekyrie.github.io/
    Ruixuan Liu

当下生成式AI在3D内容创作领域蓬勃发展,但不少AI生成的酷炫模型往往仅停留在虚拟层面——要么结构不稳定,要么组件间存在冲突难以组装,难以落地为实体。而这篇最佳论文恰好精准攻克了这一核心痛点,让3D生成模型从“可看”真正走向“可造”。

 Overview of BRICKGPT

相关论文代码感兴趣的自取!
原文 资料 这里!

1. 【导读】

​​​​

论文主页

论文标题:Generating Physically Stable and Buildable Brick Structures from Text

作者:Ava Pun、Kangle Deng、Ruixuan Liu、Deva Ramanan、Changliu Liu、Jun-Yan Zhu

作者机构:Carnegie Mellon University(卡内基梅隆大学)

论文来源:ICCV 2025 Best Paper

论文链接:https://openaccess.thecvf.com/content/ICCV2025/papers/Pun_Generating_Physically_Stable_and_Buildable_Brick_Structures_from_Text_ICCV_2025_paper.pdf

项目链接:https://avalovelace1.github.io/BrickGPT/

代码链接:https://github.com/AvaLovelace1/BrickGPT/

2. 【论文速读】

该研究提出BRICKGPT,这是首个从文本提示生成物理稳定且可组装积木结构的方法。研究团队构建了大规模StableText2Brick数据集(含47000多个积木结构及对应描述),通过微调自回归大型语言模型,将积木生成转化为“下一块积木预测”任务。为提升结构稳定性,模型在自回归推理中引入高效有效性检查与物理感知回滚机制,依据物理定律和组装约束剪枝不可行预测。实验表明,BRICKGPT生成的结构兼具稳定性、多样性与美观性,且能精准匹配输入文本提示;研究还开发了基于文本的积木纹理生成方法,实现彩色与纹理设计,并验证生成结构可通过人工或机械臂自动组装,同时开源数据集、代码及模型,为3D内容从虚拟走向现实提供关键技术支撑。

3.【从虚拟到实体:研究背景与相关探索】

3.1 研究背景

  1. 3D生成模型可文本生成3D物体、添加纹理,但数字设计存在组装难、结构不稳定问题,难以落地实体。
  2. 积木(如乐高)应用广泛且可复现,但手动设计耗时,现有自动化方法依赖给定3D物体或局限单一类别,无法从自由文本生成稳定可组装结构。
  3. 研究目标:开发文本驱动的积木生成方法,满足物理稳定(无悬浮/坍塌)和可组装(兼容标准积木、人机组装)需求。

3.2 相关工作

  1. 文本到3D生成:聚焦几何与外观保真,未考虑物理和组装约束,不适用积木生成。
  2. 自回归3D建模:多生成3D网格,未针对积木物理约束设计,未结合文本灵活生成。
  3. 积木组装与设计生成:依赖给定3D形状或中间体,支持类别有限,未融入物理稳定性约束。
  4. 物理感知生成:实现碰撞避免、结构稳定等,但未将物理约束融入文本驱动积木组装生成。

4.【StableText2Brick:文本驱动积木生成的专属高质量数据集】

4.1 数据集基本信息

  1. 核心规模:含47000+个玩具积木组装结构,覆盖ShapeNetCore数据集21个类别中的28000+个独特3D物体,筛选多样化、非类长方体物体以保证数据有效性。
  2. 数据构成:每个结构均配套多组文本描述、物理稳定性评分,形成“结构-描述-稳定性”的完整数据对,支持文本驱动的积木生成任务训练与评估。
    StableText2Brick Dataset.

4.2 数据集构建流程

  1. 形状转积木结构:将ShapeNetCore的3D网格体素化至20×20×20统一尺度网格,通过“删除-重建”算法生成积木布局;为同一物体生成多种结构变体,提升数据多样性与稳定性覆盖率。
  2. 稳定性筛选:采用专门的稳定性分析方法,为每个结构的每块积木分配0-1分(0表示易坍塌),仅保留所有积木得分均大于0的稳定结构。
  3. 文本描述生成:从24个视角渲染积木结构并合成多视图图像,通过GPT-4o生成5条不同细节的几何描述(剔除颜色信息),确保文本与结构精准对齐。

4.3 积木表示规范

  • 结构以 B = [ b 1 , b 2 , . . . , b N ] B=[b_{1}, b_{2}, ..., b_{N}] B=[b1,b2,...,bN]表示(N为积木数量),单块积木状态 b i = [ h i , w i , x i , y i , z i ] b_{i}=[h_{i}, w_{i}, x_{i}, y_{i}, z_{i}] bi=[hi,wi,xi,yi,zi],其中 h i 、 w i h_{i}、w_{i} hiwi X / Y X/Y X/Y方向长度, x i 、 y i 、 z i x_{i}、y_{i}、z_{i} xiyizi为 studs 距原点位置(取值范围对应网格维度)。

5.【积木生花:BRICKGPT的文本驱动生成魔法】

5.1 模型微调:让LLM学会“搭积木”

  1. 基础模型选择:采用LLaMA-3.2-1B-Instruct作为预训练基础模型,该模型擅长响应指令型提示,适配文本到积木结构的生成任务。
  2. 指令微调数据集构建:基于StableText2Brick数据集,构建“用户指令-积木结构”配对数据,格式为“(user) Create a LEGO model of {caption}. (assistant) {brick-structure}”。
  3. 积木结构token化:将每个积木的维度( h i , w i h_i, w_i hi,wi)和位置( x i , y i , z i x_i, y_i, z_i xi,yi,zi)转换为文本token序列,按从下到上的光栅扫描顺序排列,单块积木对应10个token,便于模型以自回归方式学习。
  4. 训练目标:通过微调让模型掌握“下一块积木预测”能力,即基于前文生成的积木序列,预测下一块积木的维度和位置,遵循自回归概率公式: p ( b 1 , b 2 , . . . , b N ∣ θ ) = ∏ i = 1 N p ( b i ∣ b 1 , . . . , b i − 1 , θ ) p(b_1, b_2, ..., b_N | \theta) = \prod_{i=1}^N p(b_i | b_1, ..., b_{i-1}, \theta) p(b1,b2,...,bNθ)=i=1Np(bib1,...,bi1,θ)

5.2 推理优化:双保险确保稳定可组装

5.2.1 逐块拒绝采样(Brick-by-Brick Rejection Sampling)
  1. 有效性校验规则:模型生成每块积木后,需通过两项校验:一是积木类型在库、位置在网格范围内;二是与已生成积木无碰撞(即 V t ∩ V i = ∅ V_t \cap V_i = \emptyset VtVi= ∀ i ∈ [ 1 , t − 1 ] \forall i \in [1, t-1] i[1,t1] V i V_i Vi为第 i i i块积木占据的体素)。
  2. 采样逻辑:若生成的积木不满足校验规则,则重新采样,直至得到有效积木,确保生成过程高效且不偏离基础约束。
5.2.2 物理感知回滚(Physics-Aware Rollback)
  1. 稳定性评分计算:生成完整结构后,采用稳定性分析方法计算每块积木的稳定性得分 s i ∈ [ 0 , 1 ] s_i \in [0,1] si[0,1],得分公式为:
    s i = { 0 if  ∑ j M i F i j ≠ 0 ∨ ∑ j M i τ i j ≠ 0 ∨ D i m a x > F T , F T − D i m a x F T otherwise , s_i = \begin{cases} 0 & \text{if } \sum_{j}^{M_i} F_i^j \neq 0 \vee \sum_{j}^{M_i} \tau_i^j \neq 0 \vee \mathcal{D}_i^{max} > F_T, \\ \frac{F_T - \mathcal{D}_i^{max}}{F_T} & \text{otherwise}, \end{cases} si={0FTFTDimaxif jMiFij=0jMiτij=0Dimax>FT,otherwise,
    其中 F i j F_i^j Fij为作用力, τ i j \tau_i^j τij为扭矩, D i m a x \mathcal{D}_i^{max} Dimax为最大位移, F T = 0.98 N F_T = 0.98N FT=0.98N为阈值。
  2. 回滚机制:若存在 s i = 0 s_i = 0 si=0的不稳定积木,找到首个不稳定积木的索引 m i n I min I minI,回滚至该积木之前的状态 B ′ = [ b 1 , . . . , b m i n I − 1 ] B' = [b_1, ..., b_{min I-1}] B=[b1,...,bminI1],从该状态重新继续生成,直至得到完全稳定的结构。
    Force Model.

5.3 积木纹理与着色:让结构更具创意

5.3.1 UV纹理生成
  1. 可见积木筛选:先识别被完全遮挡的积木 B o c c B_{occ} Bocc并剔除,保留可见积木 B v i s = B ∖ B o c c B_{vis} = B \setminus B_{occ} Bvis=BBocc
  2. 网格与UV映射:将可见积木合并为单一网格,清理重叠顶点,通过立方体投影生成UV映射 U V M UV_M UVM
  3. 纹理生成:基于文本提示描述的外观,利用FlashTex工具生成纹理图 I t e x t u r e I_{texture} Itexture,可通过UV打印或贴纸应用于积木。
5.3.2 统一着色
  1. 体素与网格转换:将积木结构转换为体素网格,再生成UV展开网格 M V M_V MV,每个体素的可见面映射到UV区域 S i v S_i^v Siv
  2. 颜色计算:通过FlashTex生成纹理图后,计算每个体素可见面的颜色 C ( f i v ) = 1 ∣ S i v ∣ ∑ ( x , y ) ∈ S i v I t e x t u r e ( x , y ) C(f_i^v) = \frac{1}{|S_i^v|} \sum_{(x,y) \in S_i^v} I_{texture}(x,y) C(fiv)=Siv1(x,y)SivItexture(x,y),再汇总得到单块积木的颜色 C ( b t ) = 1 ∣ V t ∣ ∑ v ∈ V t C ( v ) C(b_t) = \frac{1}{|V_t|} \sum_{v \in V_t} C(v) C(bt)=Vt1vVtC(v),最终匹配标准颜色库中的颜色。
    Method

5.4 整体生成流程

  1. 接收文本提示后,模型通过自回归方式逐块生成积木token序列,每步经拒绝采样校验有效性;
  2. 生成完整结构后,执行稳定性评分与物理感知回滚,确保结构无坍塌、无悬浮;
  3. 可选执行纹理生成或统一着色步骤,丰富结构外观;
  4. 输出最终可手动或机械臂自动组装的积木结构及生成步骤。

6.【BRICKGPT 的核心实验结果与突破】

6.1 核心生成效果:高契合度与稳定性兼具

  • 针对250个验证集提示词,生成的积木结构100%有效(无库外积木、边界外放置及碰撞问题),98.8%物理稳定,远超现有基线模型。
  • 生成结构与文本提示的CLIP相似度达0.996,与真实结构的DINOv2特征相似度0.880,在精准匹配描述的同时保持多样性(如椅子、车辆、书架等不同类别)。
    QuantitativeResults.

6.2 基线对比:全面超越现有方法

  • 相较于LLaMA-Mesh、LGM、XCube等文本到3D模型(经网格转积木处理),BRICKGPT在稳定性、有效性和提示词契合度上均排名第一。
  • 对比零样本/少样本预训练LLM,避免了碰撞积木、不稳定结构等问题,无需依赖中间3D网格表征即可直接生成可装配结构。
    ResultGalleryandBaselineComparisons

6.3 关键模块有效性: ablation实验验证

  • 无拒绝采样时,生成结构出现碰撞等无效问题;无物理回滚时,结构稳定性显著下降。
  • 两者结合后,既保证生成效率(单结构中位生成时间40.8秒),又确保最终结构的物理完整性,中位回滚次数仅2次。
    Ablation Study

6.4 扩展应用验证:纹理着色与自动化装配可行

  • 支持UV纹理生成和统一着色,可根据外观提示词生成带纹理(如哥特式雕刻、霓虹渐变)或特定颜色(如金属紫、琥珀色)的积木模型。
  • 生成结构可通过双机械臂系统自动化装配,同时支持人工手动组装,验证了实际落地可行性。
    Brick Texture and Color Generation

7.【BrickGPT 快速上手指南】

一、前置依赖

  1. 模型权限:申请 Meta Llama-3.2-1B-Instruct 访问权限,设置环境变量 export HF_TOKEN=<你的令牌>
  2. Gurobi(可选):学术用户可申请免费许可证,放置于指定目录;无需则运行时添加 --use_gurobi False

二、安装方式

(一)独立项目安装
  1. 克隆仓库:git clone https://github.com/AvaLovelace1/BrickGPT.git && cd BrickGPT
  2. (可选,用于渲染)安装 ImportLDraw 子模块:git submodule update --init,下载背景文件和 LDraw 零件库(默认放用户目录,自定义路径需设置 LDRAW_LIBRARY_PATH)。
  3. 安装 uv 后运行 uv sync,自动创建虚拟环境并安装依赖。
(二)作为包安装
  • uv:uv add "https://github.com/AvaLovelace1/BrickGPT.git"
  • pip:pip install "https://github.com/AvaLovelace1/BrickGPT.git"

三、核心功能运行

(一)交互式推理
  1. 命令:uv run infer
  2. 交互流程:输入描述(如“四腿矩形平面桌子”)→ 指定输出图片名→ 设置随机种子→ 等待生成。
  3. 输出文件:output.png(渲染图)、output.txt(砖块文本格式)、output.ldr(LDraw 格式)。
(二)其他功能
  1. 纹理生成:进入 src/texture 目录,参考该目录 README。
  2. 网格转砖块:进入 src/mesh2brick 目录,参考该目录 README。
  3. 微调(可选):
    • 安装微调依赖:uv sync --extra finetuning
    • 准备数据集:uv run prepare_finetuning_dataset --input_path 数据集路径 --output_path 输出路径
    • 替换预训练模型配置文件(finetuning_config_files 目录下),初始化 Accelerate 后运行 ./scripts/finetune.zsh 脚本。

【论文贡献】

该论文提出首个从文本提示直接生成物理稳定、可组装积木结构的自回归模型 BRICKGPT,将积木生成转化为文本序列预测任务,基于 LLaMA-3.2-1B-Instruct 微调,借助逐块拒绝采样(过滤碰撞、无效积木)与物理感知回滚(移除不稳定积木并重启生成)保障结构有效性与稳定性;构建含 4.7 万 + 物理稳定积木结构、2.8 万 + 独特 3D 物体及对应文本描述的 StableText2Brick 数据集,通过形状转积木、稳定性筛选、多视角渲染生成描述等流程构建,为训练提供支撑;拓展文本驱动的积木纹理生成(UV 纹理)与颜色分配功能,且生成结构可手动或机器人自动组装,在有效性、稳定性、文本对齐度上全面优于现有文本到 3D 再转积木的基线方法。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐