你有没有想过,为什么那些房产中介的效果图总是看起来那么别扭?床摆在门口挡住了人,衣柜紧贴着窗户让人没法开窗,厨房里的操作台和冰箱隔着老远,做饭要来回跑好几趟。这不是审美问题,是背后的AI不懂生活。
这事说起来有点意外。给一个空荡荡的房间自动摆上家具,听起来像是个该被解决了的简单问题,毕竟AI都能画画、能写代码、能下棋了。但现实是,直到今天,想让一个模型既懂得床不能堵住衣柜门,又知道厨房的水槽、灶台、冰箱得形成一个顺手的"黄金三角",还要在生成速度上不拖泥带水,这事依然很难。来自沙特阿卜杜拉国王科技大学和迈阿密大学的研究者们,做了一件挺有意思的事:他们造了一个叫Architect-Ant(蚂蚁建筑师)的系统,专门解决这个问题。
这篇论文的名字本身就很有画面感,论文封面画的是一只举着铅笔的卡通蚂蚁,蹲在户型图上认真地摆弄家具。这个意象不是随便选的,后面你会发现它暗合了整个方法的精神:不靠蛮力堆算力去反复试错,而是像蚂蚁筑巢一样,把知识内化成本能。
家具摆放到底难在哪
先说说这件事的麻烦程度。表面上看,摆家具无非是"床放这儿,衣柜放那儿",但真正的难点在于约束条件会互相打架。
床要靠墙放没错,但如果靠的这面墙上正好有扇门,那就麻烦了。沙发要正对电视,但沙发和电视之间还得留出走动的空间。厨房里灶台边上要留出开合橱柜门的距离,水槽下面可能嵌着洗碗机,这种情况下"重叠"反而是对的,不能一刀切地把所有家具重叠都判定为错误。移动一件家具去解决一个问题,往往会在别处捅出新篓子。这是专业室内设计师脑子里装着的隐性知识,但对一个AI模型来说,这些规则又多又碎,还互相牵制。
在Architect-Ant出现之前,做这件事的思路大体分三派。
第一派是靠数据喂养的学习型方法,比如ATISS、DiffuScene、InstructScene这些模型,它们在一个叫3D-FRONT的数据集上训练,这个数据集里有大量虚拟生成的家具摆放的3D场景。
3D-FRONT:一个包含大量虚拟设计师风格室内场景的合成数据集,广泛用于训练室内布局生成模型。
问题是,这些场景是设计师凭感觉在软件里拼出来的虚拟空间,跟真实施工图纸里那种精打细算、每一寸都考虑到管线和承重的专业户型图,终究是两码事。
第二派是走规则路线,把"床和衣柜之间留多少距离"这种经验写成数学公式,直接拿去优化。这种方法精确,但规则是人想到多少就写多少,想不到的关系就永远覆盖不到。
第三派是借助大语言模型的常识,像Holodeck、LayoutGPT、LayoutVLM这些工作,用GPT这类预训练模型的"世界知识"去猜测该怎么摆家具。但大模型虽然懂很多常识,却对精确的坐标数字不敏感,让它直接吐出"床应该放在(0.3, 0.5)这个点",经常会出现尺寸算错、位置重叠这种低级失误。
还有一派更激进的,叫智能体(agentic)方法,比如SceneSmith,它靠一个规划者-设计者-批评者的多轮对话机制,让AI自己摆一版,自己看一眼,自己挑错,再改一版,循环往复。这种方法效果确实不错,但代价是极其慢,论文里提到SceneSmith完整跑一次的时间长达12360秒,相当于三个多小时,而且默认允许多达1000轮的智能体交互。
这就好比请了一个特别较真的设计师,每放一件家具都要退后三步,眯着眼睛看半天,不满意就推倒重来,效果是好,但你要等到天荒地老。
这三派各有各的短板,数据覆盖不全、规则写不完、大模型不懂坐标、智能体太慢。Architect-Ant想做的事情,是把这三股力量拧成一股绳,而且要在训练阶段就把这件事办妥,这样一来,推理(也就是真正生成布局)的时候就不用再反复试错了。
AntPlan:先搞一份真正专业的数据
要训练AI学会专业的摆家具逻辑,第一步得有真正专业的数据可学。研究者们发现,市面上现有的户型图数据集,要么是简化的合成户型,根本不包含家具;要么虽然有家具标注,但种类少得可怜。
比如CubiCasa5K这个常用数据集,虽然号称有家具标注,但分类很粗,电器不分种类,有些设施只用局部符号表示。
于是研究团队自己动手,造了一个叫AntPlan的新数据集,收录了505张真实的专业建筑户型图,覆盖10种住宅房间类型,标注了92种家具类别,平均每张图标了53.01个物体。这个规模对比一下就有感觉了:CubiCasa5K平均每张图标27.2个物体,家具类别只有10种。AntPlan不只是数量多,更重要的是类别细,从床、沙发这种大件,到烟囱罩、管道井这种容易被忽略的细节都标了。
这个标注过程不是闭着眼睛手敲出来的。研究者先用一个叫RT-DETR-X的目标检测模型,这个模型在CubiCasa5K上训练过,专门识别墙体、门、窗、栏杆这些建筑结构元素,然后房间的功能标签(卧室、厨房之类)由人工打上。家具检测器则是先在一小部分手工标注的样本上训练起来,再用它去标注剩下的图纸,最后人工检查纠错。这种半自动的方式,既保证了效率,又不至于让机器瞎标一气。
这里有个细节挺打动人的,论文里特意强调,这些检测出来的家具标注本质上是"伪标签",不是百分之百精确,可能漏检了某些符号,也可能把类别认错了。研究者没有回避这种不完美,而是诚实地把它标注出来,这种态度在学术工作里其实挺难得的。
有了这份数据,接下来要考虑怎么把它变成AI能学的格式。
DSL:给AI一套看得懂、改得动的语言
Architect-Ant没有让AI直接去生成一张图片式的布局,而是让它生成一段结构化的文本,这个文本格式被称为DSL(领域特定语言)。
DSL:全称Domain-Specific Language,一种专门为某个特定任务设计的简化编程语言,这里用来描述家具的类别、位置和尺寸。
每一件家具在这个语言里被表示成五个数字加一个类别名:物体是什么、它左上角的坐标在哪、宽多少、高多少。比如一张床可能被写成"OBJ class=bed x=0.30 y=0.50 w=1.60 h=2.00",坐标以房间左上角为原点,单位是米。
这个设计看起来朴素,但背后有个关键考量:可编辑性。如果AI直接吐出一张渲染好的图片,设计师想微调一下床的位置几乎无从下手,但如果输出的是这样一行行清晰的坐标数据,想把床往右挪10厘米,直接改一个数字就行,而且重叠、超出房间边界这些问题可以用简单的数学公式直接检查出来,不需要再去识别图片。
这就像你让装修师傅画一张手绘草图,和让他给你一份带精确尺寸标注的CAD图纸,前者看着直观,但你想改个尺寸根本无从下手,后者虽然朴素,但每个数字都能单独调整,还能直接喂给计算器去验算哪里超了尺。如果Architect-Ant选择输出图片而不是这种结构化坐标,那整个"可编辑"的卖点就彻底没了,用户拿到的只是一张死图,想改床的位置只能靠肉眼重新画。
这套DSL不负责物体的高度和朝向,这两个信息是在后续转成3D场景的时候,根据物体的家具库资产信息和周围环境(比如朝向最近的桌子、朝向床或沙发)自动推断出来的。
训练过程:先模仿,再自我修炼
搞定了数据和表示方式,接下来是怎么训练模型。Architect-Ant用的是一个叫Gemma-4-31B的视觉语言模型打底,训练分两个阶段。
第一阶段叫监督微调(SFT),说白了就是让模型照着AntPlan里的真实专业案例去模仿。
SFT:Supervised Fine-Tuning的缩写,指用标注好的示例数据去调整一个已经训练好的大模型,让它适应新任务。
研究者用LoRA这种轻量级微调技术,只调整语言模型部分的少量参数,视觉编码器保持不动。训练目标很直接:给模型看房间的结构图、文字描述的房间尺寸和需要摆放的家具清单,让它去预测专业设计师实际摆出来的坐标。这个阶段只给最终答案,不给任何"思考过程"的示范。
LoRA:Low-Rank Adaptation的缩写,一种高效微调大模型的技术,只训练少量新增参数,不用改动原模型的全部权重,省算力省时间。
这一步做完,模型已经学会了基本的"手感",知道床大概该多大,沙发电视大概该怎么面对面摆。但光靠模仿还不够,因为训练数据毕竟有限,总有模型没见过的房间形状和家具组合,这时候就需要第二阶段登场。
第二阶段是强化学习,具体用的方法叫GRPO,并且采用了一种叫Dr. GRPO的改良版本。
GRPO:Group Relative Policy Optimization,一种让AI模型通过对比同一批多个尝试结果的好坏来自我改进的强化学习方法,不需要额外训练一个单独的打分网络。
这里最有意思的设计是,Architect-Ant借鉴了DeepSeek-R1-Zero的思路,就是那种"只告诉AI结果好不好,不告诉它该怎么想"的训练哲学。具体做法是,让模型在给出最终布局之前,先自由地写一段"思考过程"(论文里叫reasoning block),然后再给出最终的家具坐标。整个训练过程中,奖励信号只针对最终摆出来的布局打分,这段思考文字本身不受到任何直接监督。
这个设计思路其实挺像教小孩下棋。你不会把每一步该怎么想的内部逻辑掰开揉碎讲给孩子听,那样他记住的是你的套路,而不是真正理解棋局。你只告诉他"这盘你赢了"或者"这盘你输了",让他自己去总结为什么赢为什么输,久而久之他会发展出一套真正属于自己的、灵活应变的直觉。如果强行要求AI的思考过程必须严格按照人类写好的模板来,论文里提到他们早期确实试过这条路,结果是模型学会了"抄答案"而不是真正推理,自由生成时的质量反而下降了。
这个训练过程中,每个房间会采样16个不同的尝试结果,一次更新用8个房间,相当于128次尝试,然后做一次策略梯度更新。Dr. GRPO的改良之处在于不再对每组样本做方差归一化,而是用一个固定的1024词元常数来做归一化,这样可以避免某些技巧性的"奖励投机"行为。
打分规则:LRS怎么给布局算分
强化学习需要一个明确的打分标准,这个标准在Architect-Ant里被称为LRS,布局规则分数。
LRS:Layout Rule Score的缩写,一个从10分开始倒扣分的评估体系,每违反一条几何或功能规则就扣掉相应的分数,综合反映一个布局是否合理。
这套规则系统一共实现了33种规则类型,覆盖的东西相当细致。共享的基础规则包括:家具是不是超出了房间边界、是不是撞墙了甚至穿墙了、是不是挡住了门窗、不该重叠的家具重不重叠、要求摆的家具是不是都摆齐了、各个功能区之间是否能走得通。
除了这些通用规则,每种房间类型还有专属的检查项。厨房要检查岛台至少一侧要留出0.7米宽的过道,餐桌和橱柜之间要留足0.6米的间隙,炉灶附近要留出开合和操作的空间。浴室要求马桶、淋浴这类固定设施必须紧贴墙面,容差只有0.15米。卧室里床和衣柜如果贴墙摆放是被鼓励的,脱离墙面越远扣分越多。客厅则检查电视是否正对着沙发的视线通道。
还有一类很聪明的"豁免"设计,比如一张地毯铺在床底下,这种重叠是正常且常见的,不该被判定为违规;电视放在电视柜上,这种嵌套关系也不算错误。这些豁免规则是研究者仔细查看真实户型图里的常见搭配后手动加进去的,目的是不让系统误伤那些完全合理的摆法。
可达性这一条规则设计得尤其巧妙。系统会把墙体、栏杆这些结构物从房间轮廓里减掉,再把家具当作障碍物膨胀一圈(卧室厨房客厅膨胀0.2米,浴室0.1米,分别对应0.4米和0.2米的通行宽度),然后检查家具和门之间是不是还连通着。如果某件家具被围得死死的走不到跟前,这就是一个明显的可用性问题。
整个LRS体系是从10分往下扣,没有上限保证一定是正分,这意味着得分越高代表违规越少,而不是说10分就是"完美设计"的保证。论文里也坦诚地说明了这一点:LRS只能衡量几何和功能上的合规性,审美这件事它完全评判不了。
这套规则不是研究者拍脑袋想出来的,而是从AntPlan里真实专业户型图的统计分布里反推校准出来的,比如门的开口宽度、家具间距这些阈值,都是先测量大量真实案例,再卡出一个既不会误伤合理摆法、又能抓住明显错误的区间。
实验结果:数据说话
Architect-Ant最终拿去跟一堆同行做对比,测试场景用的是SceneSmith公开的109个房间户型,涵盖卧室、客厅、餐厅、厨房、浴室。参与对比的方法阵容相当豪华:经典的学习型方法ATISS、InstructScene、DiffuScene,语言模型路线的LayoutGPT、LayoutVLM,智能体路线的Holodeck、SceneSmith。
结果汇总成一张表格,几个关键数字值得拎出来说。
在功能完整性这个指标上(也就是一个房间该有的基本功能是否都满足了,比如卧室得有床,厨房得有水槽炉灶冰箱),Architect-Ant拿到了94%,是所有方法里最高的,第二名SceneSmith是91%。
在碰撞率和越界率这两个几何硬指标上,Architect-Ant分别是0.6%和0.6%,远低于LayoutGPT的8.6%和8.5%,也低于SceneSmith的3.4%和1.3%,仅次于Holodeck的0%(Holodeck用的是搜索式的硬约束放置算法,天然就不太会出现碰撞)。
最直观的综合分LRS上,Architect-Ant拿到8.80分,是所有方法里最高的,SceneSmith是8.44分排第二。
更值得注意的是速度,Architect-Ant完成一个房间的生成只要95.4秒,而SceneSmith需要1555秒(这是一个按物体数量折算的估算值),差了十几倍。Architect-Ant在平均每个房间摆的家具数量上也是最多的,达到10.8件,这说明它的高合规率不是靠"少摆点东西来避免出错"这种偷懒策略换来的。
除了这些硬指标,研究团队还搞了一个挺有意思的实验:找两个不同的大语言模型(Claude Sonnet 5和Kimi K3)去当"裁判",匿名比较Architect-Ant和SceneSmith生成的渲染图,哪个更像真实生活中会出现的房间布局。结果Sonnet在109组对比里选了72次支持Architect-Ant,Kimi选了74次。厨房和餐厅这类对功能动线要求高的房间,两个裁判都压倒性地偏向Architect-Ant,唯独浴室这个小房间,SceneSmith反而略占优势。
研究者还做了一个"整屋对比"的延伸实验,各自挑出17套风格较好的房屋去对比,Claude Sonnet和Kimi的偏好率分别达到88.2%和94.1%,裁判给出的理由里经常提到"厨房和餐厅区域设置完整可见"、"动线更清晰"这类具体原因。
这些裁判反馈里还有个挺有意思的细节,在一组对比中,Claude给出的点评是:相比之下某个方案的"循环动线更清楚、客厅和卧室区域分得更开",于是选择了另一方。这说明机器裁判虽然在整体趋势上支持Architect-Ant,但也不是无脑偏向,个别情况下确实能看出它对空间组织逻辑有自己的判断。
从平面布局到立体房间
生成的DSL坐标文本最终要变成一个看得见摸得着的3D场景。这一步的流程是:系统根据每个物体的类别和尺寸,去一个叫Objathor的家具资产库里检索匹配的3D模型,把模型的外形嵌入到预测好的坐标框里,同时根据周围墙体和其他家具的关系,推断出这个物体应该朝哪个方向摆(比如椅子要面朝桌子,电视要面朝沙发或床)。整个渲染环节用Blender完成。
这个环节的设计哲学跟前面是一致的:模型只负责最核心、最需要判断力的部分,就是"这件家具该放哪儿、多大",至于具体长什么样、冲着哪个角度,这些交给规则和资产库去完善。这种分工让整个系统既保留了AI的智能判断,又不至于让AI去瞎猜那些本可以靠确定性规则解决的细节。
消融实验:每一步训练到底值不值
论文里还做了一轮细致的消融实验,专门看监督微调和强化学习这两步分别贡献了多少。在243个没有参与训练的AntPlan验证房间上,对比了四种配置:原始未经训练的模型、只做监督微调、监督微调后再加带推理的强化学习、以及跳过监督微调直接做强化学习。
结果显示,监督微调后再叠加强化学习,在四种房间类型(厨房、浴室、客厅、卧室)上的平均分和最佳采样分都是最高的。举个具体数字,厨房这个最复杂的房间类型,从原始模型的-11.71分,提升到监督微调后的-0.75分,再提升到最终版本的3.48分,这个跃升相当明显。
这里面还有个值得玩味的反直觉发现。研究者原本设想过给模型准备好的"标准答案式思考过程"去训练,也就是不仅告诉模型该怎么摆,还手把手教它该怎么想。但实验下来发现,这种做法会导致模型学会"抄答案",因为这些人工编写的推理过程里,往往悄悄藏着最终坐标的线索,模型只需要学会复述这些线索就能拿高分,而不是真正学会独立思考。训练时损失函数看着很低,看起来学得很好,但一旦脱离这种喂养式训练,让模型自由生成,效果反而比不训练思考过程还要差。这个发现印证了论文选择"只靠结果打分,不规定思考方式"的决策是对的。
论文里还做了个挺谨慎的对照检验:把专业设计师的真实户型图标注,用同一套LRS规则打分,结果平均分是8.73,中位数是满分10分。这说明Architect-Ant自己拿到的8.80分,跟真正的专业水准已经非常接近,但研究者很诚实地指出,这两个场景(真实户型图 vs SceneSmith生成的空壳房间)不是同一批数据,不能简单说AI已经超越了人类设计师,只能说这个打分体系本身是合理且有参考价值的。
写在后面
读完这篇论文,有个地方让我反复琢磨:Architect-Ant最打动人的地方其实不是它堆砌了多少规则,而是它选择"不教思考过程只教结果"这个决定本身。这其实是个挺反常识的选择,大多数人直觉上会觉得,手把手教AI怎么推理肯定比让它自己瞎琢磨更靠谱。但论文里那个"抄答案"的实验结果狠狠打了这种直觉一巴掌,模仿人类写好的推理轨迹,反而学歪了。
这让我联想到教育里经常讨论的一个问题:把解题步骤拆解得过于详细地教给学生,有时候反而会让学生失去自己摸索解法的能力。这种"过程监督vs结果监督"的张力,不只存在于摆家具这件小事上。
还有一处细节值得单独拎出来说:研究者没有回避自己数据集里标注存在误差这件事,直接承认家具检测可能漏掉符号、认错类别。这种不藏着掖着的态度,在论文写作里其实挺少见的,大部分工作都倾向于把数据质量说得尽善尽美。
至于这篇论文还没解决的问题,浴室这个小房间类型始终是个软肋,无论是几何指标还是人类裁判的偏好,Architect-Ant在浴室上的表现都不如在厨房客厅上那么压倒性。小空间里家具紧凑且种类有限,反而更容易让规则系统和生成模型都捉襟见肘,这大概是接下来值得深挖的方向。
一个房间摆满了合规的家具,和一个房间真正让人想住进去,这两件事之间,到底还差着什么?
Q&A
Q1:Architect-Ant是什么?
A:Architect-Ant是由KAUST等机构研发的AI家具布局生成系统,能根据建筑户型图自动生成符合几何和功能规则的家具摆放方案,并可转换成可编辑的3D场景。
Q2:AntPlan数据集有什么特别之处?
A:AntPlan收录了505张真实专业建筑户型图,标注了92种家具类别和10种房间类型,平均每张图标注53.01个物体,远超同类数据集的标注细度和种类覆盖。
Q3:Architect-Ant比其他AI摆家具方法快在哪里?
A:Architect-Ant生成一个房间只需约95.4秒,而同类智能体方法SceneSmith需要1555秒,速度快十几倍,同时在功能完整性和综合评分上均表现更优。







