以下文章来源于深圳大学可视计算研究中心 ,作者王静
导读
本文是VCC王静同学对论文 Connecting the Dots: Floorplan Reconstruction Using Two-Level Queries 的解读,该工作来自 ETH Zurich 并已被发表在计算机视觉顶级会议 CVPR 2023 上。
项目主页:
https://github.com/ywyue/RoomFormer
该工作将平面图重建看作单阶段结构化预测任务:找到一组可变大小的多边形,而这些多边形又是可变长度的有序顶点序列。为了解决这个问题,本文开发了一种新颖的 Transformer 架构,该架构以整体方式并行生成多个房间的多边形,无需手工制作中间阶段。该模型具有针对多边形和角点的两级查询,并包括多边形匹配以使网络端到端可训练。在两个具有挑战性的数据集 Structured3D 和 SceneCAD 实现了最新的技术水平,并且推理速度比以前的方法快得多。此外,它可以很容易地扩展到预测其他信息,即语义房间类型和门窗等建筑元素。
注:本文
与视频均来自原论文与其项目主页。
I
引言
平面图重建的目标是将室内场景的观测转化为俯视视角的二维向量地图,其目标是将 3D 点云抽象成一组对应于房间的封闭多边形,可选地加入进一步的结构和语义元素,如门、窗户和房间类型标签。平面图是一种重要的表示形式,可以在机器人、增强现实/虚拟现实、室内设计等领域中应用。3D 点云可以使用 RGB-D 摄像机、激光扫描仪或 SfM 系统轻松捕获。之前的几个工作 [1-4]都已经证明了将原始 3D 点数据沿重力轴投影,以获得突出建筑结构元素(如墙壁)的 2D 密度图的有效性。本文方法也采用了这种方式将 3D 进行 2D 转换。生成的密度图紧凑且计算效率高,但继承了底层点云的噪声和数据间隙,因此平面图重建仍然是一项具有挑战性的任务。现有方法可以大致分为两类,两者均在两个阶段中操作:自上而下的方法首先使用神经网络(例如 Mask R-CNN [5])从密度图中提取房间掩模,然后使用优化/搜索技术(例如整数规划 [6],Monte-Carlo 树搜索 [7])提取多边形平面图。这些技术不可端到端地训练,它们的成功取决于手工优化如何捕捉关于房间形状和布局的领域知识。与之对应的,自下而上的方法首先检测角点,然后寻找角点之间的边(即墙壁段),最后将它们组成一个平面图形状。两种方法都要求严格的顺序,因此依赖于初始角点或房间探测器的质量,因此缺失或虚假检测可能会严重影响重建结果。
本次导读介绍的是一种名为 RoomFormer 的方法,它能够将室内密度图直接映射到一组房间多边形。该方法利用了 Transformers 的序列预测功能,直接输出每个房间可变长度、有序的顶点序列。与其他方法不同的是,RoomFormer 不需要手动调整中间规则以确定检测过程中输出哪些角点、墙壁或房间。该模型在推理时也非常快速,因为它在单阶段前馈模式下运行,没有优化或搜索,也没有任何后处理步骤。此外,RoomFormer 还非常灵活,可以通过少量简单的修改预测额外的语义和结构信息,例如房间类型、门和窗户。同时,它利用了 Transformer 架构的并行特性,能够同时预测构成平面图的所有房间。
II
技术贡献
本工作主要贡献如下:
提出了平面图重建的新公式,将房间角点的多个有序序列同时生成;
RoomFormer 模型,一种端到端可训练的 Transformer 类型架构,它通过预测一组多边形的两级查询来实现,每个多边形由一系列顶点坐标组成;
提高了 Structured3D [8] 和 SceneCAD [9] 上的平面图重建分数,推理时间更快;
能够预测语义房间、门窗。
如表1所示,RoomFormer 方法通过精度、召回率和F1分数来评估网络在房间、角点和角度方面的性能,提供了最先进的结果,也是测试方法中最快的一种,推理速度比 HEAT 快 10 倍以上。MonteFloor 还采用 Douglas-Peucker 算法 [10] 进行后处理,以简化输出多边形的拓扑结构。相比之下,RoomFormer 不依赖任何后处理步骤。测试运行时间是测试集的平均值。
表1 Structured3D 测试集上的平面图重建质量
III
方法介绍
Transformers [11],最初是为序列到序列的翻译任务而提出的,在许多视觉任务中表现出了良好的性能,例如对象检测 [12,13]、图像或视频分割 [14-16] 和跟踪 [17],表现出了在没有启发式设计的情况下进行结构化重建的巨大潜力,是否可以利用 Transformers 生成结构化多边形?与预测可以由固定数量的参数(例如,边界框、线、平面)表示的原始形状不同,由于任意数量的(有序的)顶点,多边形更具挑战性。虽然最近的一些工作 [18-20] 在实例分割或文本定位的上下文中利用 Transformers 生成多边形,有两个本质区别:(1) 它们假定固定数量的多边形顶点,这不适用于平面图。这会导致简单形状的顶点过多,而复杂形状的顶点不足。相反,本文的目标是生成与目标形状匹配且顶点数正确的多边形;(2) 他们依赖边界框检测作为实例初始化,而本文的单阶段方法直接并行生成多个多边形。
RoomFormer网络结构分成四个部分
(a) 提取图像特征的特征主干;
(b) 改进 CNN 特征的 Transformer 编码器;
(c) 使用两级查询进行多边形预测的 Transformer 解码器;
(d) 在训练期间,多边形匹配模块在预测多边形和真实多边形之间产生最佳分配,从而实现端到端监督。
图1 网络结构图
(a) 提取图像特征的特征主干
特征主干从密度图 提取像素级别的特征图,由于准确定位角点并捕获它们的顺序都需要局部和全局上下文,因此利用来自特征主干的每一个 组成的多尺度特征图
。
同时添加正弦/余弦位置编码 到每个像素中,将二者拼接在一起,作为 Transformer 编码器的多尺度输入。
(b) 改进 CNN 特征的 Transformer 编码器
Transformer 编码器将位置编码的多尺度特征图作为输入,并输出相同分辨率的增强特征图。每个编码器层由一个多尺度可变形自注意力模块 (MS-DSA) 和一个前馈网络 (FFN) 组成。在 MS-DSA 模块中,查询元素和关键元素都是来自多尺度特征图的像素特征。参考点是每个查询像素的坐标。将可学习的尺度级嵌入添加到特征表示中,以识别每个查询像素位于哪个特征级别。
(c) 使用两级查询进行多边形预测的 Transformer 解码器
Transformer 解码器堆叠有多个层,如图2(1)所示。每层由一个自注意力模块 (SA)、一个多尺度可变形交叉注意力模块 (MS-DCA) 和一个 FFN 组成。每个解码器层都接收来自编码器的增强图像特征和来自上一层的一组多边形查询。多边形查询首先在 SA 模块中相互交互。在 MS-DCA 中,多边形查询涉及密度图的不同区域。最后,解码器的输出被传递给一个共享的 FFN,以预测每个查询的二进制类标签 c,表明其作为角点的有效性。受 [13] 中迭代边界框细化的启发,RoomFormer 逐层细化解码器中每个多边形的顶点。使用预测头 (MLP) 从解码器embeddings中预测相对偏移量 (Δx, Δy) 并更新下一层的多边形查询。输入到第一层的解码器嵌入和多边形查询都是随机初始化的。在图2(2)中可视化了这个迭代优化过程。最终预测的标签用于选择有效查询并在每一层之后可视化它们的位置。
图2(1) Transformer解码器
图2(2) 每个解码器层输出的多边形可视化
(d) 多边形匹配模块
Transformer 解码器的预测头输出固定数量 M 个多边形和固定数量 N 个顶点(包括无效的,映射成 ),而 groundtruth 包含任意数量的多边形和任意数量的角点。挑战之一是将固定数量的预测与任意数量的 groundtruth 相匹配,以使网络端到端可训练。为此,RoomFormer 引入了一种策略来处理这两个级别的匹配:集合级别和序列级别。通过将预测输出和 groundtruth 进行固定数量的插值,并搜索具有最小损失函数值来找到预测多边形和 groudtruth 直接的二分匹配。闭合多边形是一个循环,因此存在多个等效参数化,具体取决于起始顶点和方向。在这里,RoomFormer 将 groundtruth 固定为始终遵循逆时针方向,但可以从任何顶点开始。最后计算 和 的所有可能排列之间的距离,并取最小值作为最终的
。
IV
部分结果展示
接下来展示在数据集 Structured3D 的定性评估。颜色是根据房间位置分配的,没有语义意义。使用两阶段生成的平面图的质量受第一阶段错误的强烈影响,例如,MonteFloor 缺少房间(第3、4行)和HEAT缺少角落和边缘(第5、6行)。相反,RoomFormer 单阶段模型能够产生更准确的预测,同时能够捕获几何细节。
图3 RoomFormer 在 Structured3D 数据集上的定性评估
接下来是在数据集 SceneCAD 上的定性评估。当输入点云稀疏(最后4行)时,HEAT 会丢失角点和边缘,而 RoomFormer 可以更稳健地处理这些情况。Floor-SP 强制生成的多边形完全包含其房间分割掩码,然而,这会导致冗余角(第4、5行)。相比之下,RoomFormer 在没有强加任何硬性约束的情况下产生了更合理的结果。
图4 RoomFormer在SceneCAD数据集上的定性评估
在图5中展示了语义丰富平面图重建的定性结果。出于可视化目的,使用弧形来表示门。有趣的是,RoomFormer 的单一解码器变体 (SD-TQ) 错误地将房间识别为“浴室”而不是“杂项”(第 3 列)。然而,这比实际情况更符合房屋设计原则,因为每个房屋通常都有一间浴室。
图5 平面图的语义结果
V
总结与展望
本次导读介绍了一种名为 RoomFormer 的方法,这是一种简单直接的 2D 平面图重建模型,实际是多边形估计问题。网络学习预测每个平面图的不同数量的房间,每个房间表示为不同长度的有序角点序列。RoomFormer 在单阶段、端到端可训练模型在性能和速度指标方面都比之前的多阶段和启发式驱动方法有显著改进。希望本文方法能激发更多在其他多边形重建任务中的应用。
VI
思考与讨论
Q: 我们可视化了 RoomFormer 在 Scene3D 和 Structured3D 数据集上的结果,如下所示,可以看出,RoomFormer 预测多边形(角点数大于4)的时候,还是难以将角点有效性预测正确,出现这一结果的原因是什么?
在 Scene3D 数据集上:
在 Structured3D 数据集上:
A: RoomFormer 是在解码器模块中,进行了两层查询,一层是针对房间多边形坐标位置的,一层是针对房间角点的。在预测该点是角点的情况下,对房间进行可微光栅化处理,从而计算损失函数,完成端到端的训练。当角点预测错误的时候,就会导致以上情况的出现。
以下是开放性问题,欢迎读者朋友留言讨论:
Q: 本论文采用二级查询去确定每个多边形的坐标和角点有效性,除此以外,还有什么好的方法可以将角点分类?是否可以增加角度约束?
转自:“arXiv每日学术速递”微信公众号
如有侵权,请联系本站删除!