
这项由美国康奈尔大学计算机视觉与人工智能实验室完成的研究,以预印本形式发布于arXiv平台(编号:arXiv:2602.09016v2),最新版本更新于2026年5月11日,研究方向归属于计算机视觉领域。有兴趣深入了解的读者可以通过上述编号在arXiv上查询完整论文。
**一张图纸背后的难题**
每次你打开一个租房APP,浏览那些标注了"主卧"、"客厅"、"卫生间"的平面图时,有没有想过:计算机其实根本"不知道"那些房间叫什么,也不清楚它们的边界在哪里?
我们人眼一扫,就能立刻看出哪里是一道墙,哪里是一扇门,哪个区域是卧室。但对计算机来说,那张平面图不过是一堆颜色不同的像素点——就像一盘撒在桌上的彩色米粒,你知道它们组成了什么画面,但计算机却只看到米粒本身。
这个问题在现实中带来了很多麻烦。建筑师用AutoCAD这类专业软件绘制出的平面图,本来包含着丰富的结构信息:哪个多边形是厨房,哪条线是隔断墙,哪里开了一扇窗。然而一旦把这张图导出成JPG或PNG图片分享出去,那些结构信息就彻底消失了——就好比把一份精美的乐谱拍成照片,你还能看到音符,但钢琴已经不能直接"读"它了。
要让计算机真正"理解"一张平面图,就必须把这张光栅化的图片(rasterized image,也就是普通的像素图片)重新还原成矢量格式(vectorized format)——一种计算机能直接操作的结构化数据。这个过程听起来简单,实际上难度极高。现有方法在处理复杂的真实建筑平面图时往往力不从心,尤其是面对那些房间数量多、形状各异、角落繁多的大型建筑时,效果就更不理想了。
正是为了解决这个问题,康奈尔大学的研究团队提出了一套名为 **Raster2Seq** 的新方法。他们的核心思路是:与其让AI同时"猜"整张图上所有房间的位置,不如让它像一个有经验的建筑师一样,一个房间一个房间地、按顺序地把平面图"画"出来。
---
**一、把建筑图纸变成一串"坐标语言"**
Raster2Seq解决问题的第一步,是重新定义平面图的表达方式。研究团队把每个房间看作一个"标注了名字的多边形"——也就是说,一个厨房就是一组按顺序排列的角点坐标,加上"厨房"这个语义标签。
具体来说,每个角点被记录为一个三元组:横坐标、纵坐标,以及这个角点所属房间的类型概率。把一个房间的所有角点按顺序串起来,就构成了这个房间的"描述语言"。如果整张平面图有多个房间,就把这些描述用一个特殊的分隔符号(论文里称之为`<SEP>`标记)连接起来,形成一条长长的序列;序列的开头有一个"开始"标记(`<BOS>`),结尾有一个"结束"标记(`<EOS>`)。
这就好比你要向一个看不见平面图的朋友描述一套房子的布局。你不会把整栋楼的所有信息一股脑儿倒出来,而是会说:"先从最左上角的房间说起,它有四个角,分别在坐标A、B、C、D,这是客厅;然后旁边那个房间有五个角,分别在E、F、G、H、I,这是卧室……"这就是Raster2Seq的"语言"——一种将空间结构变成时间序列的描述方式。
这种表达方式有一个非常重要的优点:它不要求你事先知道一张图上有多少个房间、每个房间有多少个角。传统方法往往需要预先设定一个"最多预测多少个房间"或"最多预测多少个角"的上限,一旦超出这个上限,模型就会出错。但Raster2Seq的序列可以根据实际情况自由延伸,就像写日记不需要提前规定今天要写多少个字一样。
除了普通的房间,这套表达方式还能同时处理窗户和门。在Raster2Seq的设计中,窗户和门被当作两种特殊的语义类别,它们的坐标序列会被追加在所有房间序列的末尾,形成一个完整的建筑描述。这种"先说房间,再说门窗"的顺序安排,在后续实验中被证明对模型的学习很有帮助——原因在于,模型在预训练阶段先学会了如何精准地描述房间,再在微调阶段将门窗信息自然地融入进来,避免了知识上的"混乱"。
---
**二、像建筑师一样,从左到右逐步作图**
有了这套"坐标语言",下一个问题是:AI怎么学会使用它?
研究团队的答案是:自回归解码(autoregressive decoding)。这个概念听起来很学术,但本质上就是一种"一步一步接着说"的生成方式。就像你在键盘上打字,每输入一个字,输入法就会根据前面已经打好的字来预测下一个最合适的字。Raster2Seq的解码器做的事情完全类似:它先"看"整张平面图,然后一个角点一个角点地往外"说",每说一个角点的坐标,就以此为基础预测下一个坐标,直到最终说出"结束"标记为止。
在这个过程中,模型需要同时参考两类信息:一是整张平面图的图像特征,二是已经生成的所有角点坐标。研究团队专门设计了一个名为**锚点引导的自回归解码器**(anchor-based autoregressive decoder)的核心模块来完成这个工作。
这个解码器包含三层相互协作的结构。第一层叫做"带遮罩的注意力层"(masked attention),它让每个角点只能"看到"在它之前已经生成的角点,而不能提前"偷看"后面的内容——这保证了生成过程是真正的从左到右、按顺序进行的,就像写文章不能先看结尾再写开头一样。
第二层叫做"可变形注意力层"(deformable attention),它让模型能够有针对性地在图像的某些特定区域仔细观察,而不是对整张图一视同仁。这有点像一个建筑师在描述某个房间时,会把目光集中在图纸上那个具体区域,而不是漫无目的地扫视整张图。
第三层是前馈网络层,负责整合前两层的信息并做出最终预测。整个解码器在完成每次预测后,还会经过三个轻量级的"头部模块":一个用来判断当前生成的是普通角点、分隔符还是结束符;一个用来预测当前角点所属房间的语义类别(比如卧室、厨房等);还有一个用来输出精确的二维坐标值。
---
**三、"可学习锚点"——让AI知道该看哪里**
在这套解码器设计中,有一个特别有意思的创新,叫做"可学习锚点"(learnable anchors)。
坐标预测是一件很难的事。直接让模型从零开始"猜"一个角点在图上的具体位置,就像让一个蒙着眼睛的人在地图上随手一指就精确指到目的地,成功率极低。为了解决这个问题,研究团队借鉴了目标检测领域的"锚框"概念——预先在空间中设置一些参考点,模型只需要预测实际位置相对于这些参考点的偏移量,而不需要从头开始预测绝对坐标。
Raster2Seq中的"锚点"是可以随着训练自动调整的。在训练开始时,这些锚点被随机初始化,分布在图像空间的各处。随着训练的进行,这些锚点会被反向传播的梯度"推着走",逐渐移动到平面图中那些最常出现角点的位置附近。训练完成后,这些锚点就像是一批"有经验的向导",能够引导模型的注意力集中在图像中最有价值的区域。
可变形注意力层就利用了这些锚点:它先把锚点坐标归一化到[0,1]区间,然后让模型在锚点附近预测少量"采样点",只关注这些采样点附近的图像特征,而不是整张图的所有像素。这种设计大大提升了模型的计算效率,也让坐标预测更加精准。
实验证明,可学习锚点的效果远超随机固定锚点。在没有任何锚点时,模型的房间检测F1分数是94.1;加入随机锚点后,几乎没有提升,依然只有94.4;但换成可学习锚点之后,分数直接跳升到了99.6,提升幅度非常显著。这充分说明,锚点的"可学习"属性是整个设计的关键所在。
---
**四、"特征融合"——让图像和历史坐标说同一种语言**
另一个重要的设计细节是研究团队称之为"FeatFusion"的特征融合机制。
在解码器的带遮罩注意力层中,模型需要同时处理两类信息:来自图像编码器的视觉特征,以及已经生成的角点坐标序列。一个直接但粗糙的做法是让这两类信息完全独立地运作。但Raster2Seq选择了一种更紧密的方式:把图像特征直接拼接到坐标序列的前端,形成一个统一的长序列,然后在这个统一的序列内部进行注意力计算。
这种设计的好处在于,每个角点在"思考"自己的下一步时,都能直接"看到"整张图的全局视觉信息,而不是经过多层间接转换才能获取图像信息。图像特征就像是一段"背景知识前缀",每个新生成的角点都站在这段背景知识的基础上继续推断,从而保证了坐标预测的精准度。
消融实验(ablation study,也就是"逐个拆掉某个组件看效果下降多少"的实验)验证了这一设计的价值:加入FeatFusion后,模型的房间F1从94.1提升到了96.3,角点F1从91.1提升到了93.7,效果提升清晰可见。
---
**五、按顺序生成:从左到右,不慌不忙**
除了模型结构本身,训练时对平面图中各个房间的排列顺序也有讲究。
研究团队发现,如果在训练时对平面图中的房间按照"从上到下、从左到右"的顺序排列,模型的学习效率和最终性能都会显著提升。这个排序策略被称为"左右顺序排列"(left-to-right ordering)。
直觉上,这种做法很有道理:就像我们用眼睛阅读一本书,从左到右、从上到下的顺序是人类最自然的信息处理方式,也是自然语言中最基本的句法规律。Transformer架构本身就对这种有序的、从左到右的生成模式有着天然的适应性。当平面图中的房间按照空间位置有序排列时,模型在生成序列时能够更容易地建立起"先描述左边的房间,再描述右边的房间"这样的规律,从而减少预测中的随机性和错误。
消融实验再次证明了这一点:在已有FeatFusion和可学习锚点的基础上,再加入左右顺序排列策略,房间F1从97.4进一步提升到了99.6,角点F1从95.3提升到了98.3,角度F1(衡量角点方向精度的指标)更是从86.0提升到了92.7。这三个组件——FeatFusion、可学习锚点、有序排列——共同构成了Raster2Seq性能优越的核心支柱。
---
**六、训练细节:先学走路,再学跑步**
Raster2Seq的训练过程采用了一种"两阶段"策略,类似于先学走路再学跑步。
第一阶段是"预训练",模型只需要学习如何精确地预测角点坐标和角点类型(是普通角点、分隔符还是结束符),暂时不需要预测房间的语义类别(比如"这是卧室"还是"这是厨房")。在这个阶段,模型集中精力学好最基本的几何预测任务。
第二阶段是"语义微调",在第一阶段的基础上,继续训练模型预测每个角点所属房间的语义类别。在这个阶段,门窗的坐标信息也被追加到训练数据中。
研究团队还发现一个有趣的细节:如果在微调阶段把门窗直接插入到房间序列的中间,效果反而不如把门窗追加到所有房间之后。他们推测,这是因为预训练阶段模型只接触过房间数据,对序列中间突然出现门窗这种"陌生内容"会感到困惑;而把门窗放在最后,相当于在已有的知识框架末端自然地扩展,模型接受起来更顺畅。实验数据也支持了这一判断:标准左右顺序(门窗插入中间)下,房间F1为97.7,角点F1为95.4,角度F1为85.1;而将门窗追加到末尾后,三项指标分别提升到了98.4、96.4和88.7。
整套训练流程在一块NVIDIA A6000显卡上完成,整个训练过程大约需要1到2天时间,计算代价相对合理。
模型的整体架构使用了ResNet-50作为图像特征提取器,加上一个Transformer编码器处理图像特征,总共12层网络平均分配给编码器和解码器各6层,模型的隐向量维度为256,注意力头数为8。坐标量化使用的是32×32的网格(即将图像坐标离散化为1024个格子),实验表明这个精度是性能与模型负担之间的最佳平衡点——更粗的16×16格子会损失精度,更细的64×64格子则引入不必要的计算负担。
---
**七、在四个真实数据集上,它的表现究竟如何?**
研究团队在四个数据集上评估了Raster2Seq的性能,覆盖了从合成数据到真实互联网图片的广泛场景。
第一个是**Structured3D**数据集,包含来自3D点云渲染的3000个训练样本、250个验证样本和250个测试样本,标注了16种房间类型。研究团队将这些点云渲染图转换成了黑白二值化的平面图图像来使用(称为Structured3D-B)。在这个相对"干净"的合成数据集上,Raster2Seq表现出色:房间检测F1达到了99.6,角点F1达到98.3,角度F1达到92.7,均优于所有对比方法。相比之下,此前最强的对比方法RoomFormer在这三个指标上分别只有95.1、91.7和83.2。
第二个是**CubiCasa5K**数据集,这是一个真实的光栅化平面图数据集,标注了11种类别。由于原始数据集中许多图片包含多个平面图实例,研究团队将其分割成独立图片,最终得到5267个训练样本、503个验证样本和511个测试样本。在这个更具挑战性的数据集上,Raster2Seq的房间F1为88.7,优于RoomFormer的83.5以及HEAT的78.2和FRI-Net的77.1。
第三个是**Raster2Graph**数据集,包含近一万个训练样本,标注了12种类别。Raster2Seq在房间F1(97.0)和语义分类F1(85.1)上均达到了最优水平,仅在角度F1指标上(66.6)与Raster2Graph原方法的67.3非常接近。
第四个是**WAFFLE**数据集,包含约两万张从互联网上收集的真实世界平面图——教堂、工厂、宫殿、历史建筑,应有尽有,只有大约100张有标注。研究团队用这个数据集测试模型在"从未见过的"真实场景下的泛化能力(也称为零样本泛化)。在这个最具挑战性的测试中,Raster2Seq以73.9的IoU分数(衡量预测区域与真实区域重叠程度的指标)大幅领先RoomFormer的60.5和FRI-Net的56.7。
---
**八、越复杂的平面图,优势越明显**
研究团队还专门考察了模型在不同复杂度平面图上的表现变化,结论非常有趣。
当一张平面图的房间数量不超过5个、或者总角点数不超过50个时,Raster2Seq和RoomFormer的表现相差不大。但随着复杂度的提升,两者的差距开始拉开,而且越复杂差距越大。当房间数量超过15个、或者角点总数超过150个时,RoomFormer的性能出现了明显下滑,而Raster2Seq依然保持相对稳定的高水平。
这背后的原因在于RoomFormer的架构设计缺陷:它使用一个固定数量的"房间查询"(最多2800个)来同时预测所有房间,一旦平面图的复杂度超过这个上限,内存就会溢出,预测质量就会大幅恶化;而且随着房间数量增加,注意力计算的代价会按平方级别增长。Raster2Seq不存在这个问题——它每次只预测一个角点,处理一百个房间和处理十个房间的基本计算方式完全一致,只是序列更长而已。
此外,跨数据集的泛化实验也展示了Raster2Seq的实力。研究团队在不同的训练集和测试集组合下对比了三个模型(FRI-Net、RoomFormer、Raster2Seq)的表现。结果显示,Raster2Seq在几乎所有训练-测试组合下都占据优势,尤其是在跨数据集评估(用一个数据集训练、在另一个数据集上测试)时,领先优势更加突出。
---
**九、语义理解:知道这里是"卧室",而不只是"一个多边形"**
相比纯粹的几何重建,Raster2Seq在语义理解上的设计也有独到之处。
大多数现有方法要么完全不预测语义类别,要么以一种间接的方式预测——比如RoomFormer,它把一个房间的所有角点特征取平均后再分类。但这种做法有个问题:为了统一序列长度,RoomFormer会在角点不够多的房间里补充"填充角点"(padding corners),这些虚假角点没有真实的几何意义,却会在取平均时拉低整体特征的质量,导致语义预测不准。
Raster2Seq的做法是"每个角点都自己预测语义类别",每个角点都直接被监督学习所属房间是什么类型,不经过任何平均操作。在推断整个房间的语义类别时,系统对该房间所有角点各自预测的类别进行投票,取票数最多的那个类别作为最终答案。这种"逐词表决"而非"取平均"的方式,让每个角点都对最终的语义预测贡献了真实的、高质量的信息。
在Structured3D-B数据集上,Raster2Seq的语义F1(房间类型分类)达到76.9,RoomFormer为74.2;在门窗检测上,Raster2Seq的F1高达98.5,RoomFormer为94.1。在CubiCasa5K上,Raster2Seq语义F1为63.8,RoomFormer为63.0。在Raster2Graph数据集上,Raster2Seq的语义F1达到85.1,高于Raster2Graph自身方法的83.4和RoomFormer的79.5。
值得一提的是,研究团队还专门测试了"加入语义预测是否会损害几何预测精度"这个问题。结果发现,对RoomFormer来说,加入语义预测后房间F1下降了约3.1个百分点;而对Raster2Seq来说,加入语义预测不仅没有损害几何预测,角点F1和角度F1甚至略有提升。这说明Raster2Seq的设计能够让几何学习和语义学习相互促进,而非相互竞争。
---
**十、用AI大模型来"精修"输出结果**
研究团队还设计了一个有趣的后处理流程:用一个大型视觉语言模型(VLM,也就是能同时理解图像和文字的AI)来对Raster2Seq的输出结果进行几何约束修正。
现实中的平面图有一套严格的几何规则:相邻房间必须共享边界,不能有缝隙;所有墙壁必须是水平或垂直的(也就是所谓的"曼哈顿风格");房间之间不能无故重叠。Raster2Seq本身并不显式地强制这些约束,因此在部分样本中(尤其是CubiCasa5K这种真实且嘈杂的数据集),输出的平面图可能存在轻微的重叠或缝隙。
为了解决这个问题,研究团队设计了一套流程:先将Raster2Seq的预测结果转换成结构化的JSON格式(一种便于计算机和AI读取的数据格式),然后连同原始光栅图、矢量化结果的可视化图和房间邻接关系图一起喂给Gemini 2.5 Pro(谷歌的多模态大模型)。同时,研究人员还精心设计了一段详细的指令提示(prompt),明确要求模型:调整坐标使相邻房间紧密接合无缝隙,保证所有边缘对齐到水平或垂直方向,不允许出现无结构依据的重叠。
在CubiCasa5K测试子集上(随机抽取30个样本),经过这套VLM精修后,角点F1从54.0提升到59.0,角度F1从33.0大幅提升到45.1。而且研究团队还发现,如果在提供给VLM的JSON中去掉语义类别标签,两项指标各会下降约3个百分点——这说明语义信息帮助VLM识别出了哪两个多边形是"卧室"和"客厅"(需要相邻),哪些是"阳台"(通常在外围),从而做出更准确的几何调整。
---
**十一、从平面图到3D场景:一个令人期待的下游应用**
Raster2Seq还展示了一个很有潜力的下游应用:用矢量化后的平面图来引导3D场景的生成。
研究团队将Raster2Seq输出的矢量化平面图沿垂直方向"拉伸",构建出一个粗粒度的3D几何体,然后将这个3D几何体作为空间约束,结合一张参考图片,输入到一个预训练的3D生成模型(TRELLIS)中,驱动该模型生成符合平面图布局的完整3D室内场景。
这个演示表明,平面图矢量化不只是"把图片转换成数据"这么简单的任务,它实际上是连接2D设计意图和3D空间生成之间的关键桥梁。随着3D生成技术的快速发展,这类应用将变得越来越重要。
---
**十二、坦诚的局限性:门窗还不够准**
任何研究都有其局限性,研究团队在论文中坦诚地指出了Raster2Seq目前的主要不足:门窗的定位精度还有提升空间。
由于门和窗在平面图中通常比房间小得多,数量也相对较少,模型在处理这类"稀有元素"时会遇到更大的挑战。研究团队在论文中展示了一个典型失败案例:模型有时会把窗户预测到房间内部,而不是正确地放置在墙壁上,形成所谓的"交叉重叠"窗户。
研究团队建议,未来的工作可以考虑将门窗与房间完全分开来处理,也许用专门针对这类元素设计的子模块,可能会取得更好的效果。
---
归根结底,Raster2Seq做的事情可以用一句话来概括:它教会了计算机"读懂"建筑平面图,而且读得相当精准。
这件事的意义远不止于技术层面的进步。历史上积累了海量的手绘或扫描建筑图纸——教堂、宫殿、历史街区,这些图纸里封存着人类建造空间的智慧与记忆。当AI能够自动地把这些图纸数字化、结构化,我们就拥有了一把打开历史建筑数字档案的钥匙。更实际的是,对于当下的建筑师、室内设计师和开发商来说,能够自动从任意一张平面图图片中提取出精确的房间布局和语义信息,将极大简化工作流程——不再需要手动重新绘制,只需扫描一下,AI自动帮你还原。
当然,这项研究还有很多值得继续探索的方向。比如:能不能在推断时直接指定"我想要卧室在左边"这样的语义条件?能不能让模型同时处理多层楼的平面图?随着生成式AI的快速发展,由矢量化平面图引导的建筑场景生成将会越来越精彩。有兴趣深入了解技术细节的读者,可以在arXiv上查阅编号为arXiv:2602.09016的完整论文,以及访问研究团队在康奈尔大学建立的项目主页,那里还有交互式可视化工具供体验。
---
Q&A
Q1:Raster2Seq是什么,能解决什么问题?
A:Raster2Seq是康奈尔大学研究团队开发的一种AI方法,专门用于将普通的建筑平面图图片(像JPG或PNG格式)转换回计算机可以直接操作的矢量格式。它能自动识别平面图中每个房间的边界轮廓和类型(比如卧室、厨房等),以及门窗的位置,解决了现有方法在处理复杂大型平面图时效果差的问题。
Q2:Raster2Seq和RoomFormer这类传统方法相比优势在哪里?
A:最主要的差别在于,RoomFormer需要预先设定一个"最多预测多少个房间"的上限,超出就会出错;而Raster2Seq采用逐步生成的方式,没有这个限制,因此在房间多、形状复杂的平面图上表现更好,而且越复杂的图两者的差距越大。此外,Raster2Seq的语义分类(识别房间类型)方式也更精准。
Q3:Raster2Seq能处理互联网上下载的真实建筑图纸吗?
A:能,而且效果相当好。研究团队在WAFFLE数据集上进行了零样本测试,模型完全没有在WAFFLE数据上训练过,但依然以73.9的IoU分数大幅领先其他对比方法(RoomFormer为60.5)。测试的建筑包括教堂、宫殿、工厂等风格迥异的历史建筑,模型展现出了较强的泛化能力。
好文章,需要你的鼓励
AWS AI Labs研究团队发布EvalAgent,这是一套通过"评估技能"自动生成AI智能体评测方案的系统,将首次运行成功率从17.5%提升至65%,并在人类专家评测中获得79.5%的偏好选择。
亚历山大大学提出M2Retinexformer,通过融合深度、亮度和语义三种辅助模态,让AI在增强暗光图像时兼顾几何结构与视觉自然度。
浙大、西湖大学等联合提出FAAST,无需反向传播,一次正向扫描将训练样本压缩为快速权重矩阵,推理时间和内存占用分别节省90%和95%以上。
慕尼黑工业大学发布RealICU基准,用专家后见之明评测大语言模型在ICU实时决策中的真实能力,发现现有顶级AI存在有害推荐率过高和锚定偏差两大安全隐患。