文章目录
- 概要
- 概述
- 实验
- 总结
概要
本文提出了一种从原始传感器数据自动重建室内环境平面图的新方法。现有的方法是通过检测角点并将它们连接起来,以平面图形的形式生成平面图,与此相反,本文采用了一种策略,将空间分解为多边形分区,并通过能量最小化来选择属于墙壁结构的边缘。通过高效的空间划分数据结构而不是传统的精细角点检测任务,本文的方法对不完美的数据提供高鲁棒性。
题目:Floorplan Generation from 3D Point Clouds:a space partitioning approach
作者:Hao Fang, Florent Lafarge, Cihui Pan, Hui Huang
论文链接:
https://www.sciencedirect.com/science/article/pii/S0924271621000538
概述
本文所描述的算法旨在将现实世界室内场景的点云和相关的像素级房间实例标签映射作为输入,这种映射通常由最先进的实例语义分割技术得到。为了更好地描述室内场景的几何形状,本文算法首先对输入的点云进行配准,使其向上方向与世界坐标中的z轴对齐,并使用标准方法将点云转换成密集的三角形网格。这种转换对描述室内场景点云数据的丢失和遮挡更具鲁棒性。
该算法分为三个步骤:形状检测、平面投影和马尔可夫随机场问题求解。首先,通过传统的形状检测方法检测一组局部几何基元,例如垂直平面。对提取的平面进行过滤和正则化,得到更规则的平面构型。其次,将所有剩余的壁面投影到X-Y平面上,并将2D空间划分为一组切面、边缘和顶点。然后,使用受限的全局能量最小化公式,通过选择2D排列边缘子集来恢复室内场景的边界形状,这一步将整个场景划分为内部和外部空间。最后,通过求解马尔可夫随机场问题为边界内的每个面分配一个标签配置,具有相同标签的相邻切面被分组在一起,并被视为一个单独的房间。
这种算法可以有效地提取室内场景的几何信息,将其转化为平面图形的形式,并为每个房间分配标签。这些信息可以用于室内导航、环境建模和虚拟现实应用等领域。
3.1 基元检测
室内场景中最具代表性的结构是墙平面。它们将内部空间与外部空间分隔开来,并分隔相邻的房间。因此,本文算法的第一阶段旨在从密集的三角形网格中提取具有代表性的壁面。
平面提取和过滤。首先使用区域生长算法检测所有平面,每个平面保留相应的内层三角形切面和顶点。然后,提取其中的地板和天花板平面,其法线与z轴拟平行,靠近3D边界框。剔除法向量与z轴不拟正交的平面p,剩下的平面被认为是垂直平面。然而,考虑到室内场景往往布局复杂,可能会存在一些并非墙壁真实部分的噪声平面,例如家具的垂直部分。为了避免这些有噪声的垂直平面对后续操作的负面影响,本文过滤掉满足以下任何条件的平面:(a)内三角面的数量小于2000;(b)内层顶点到平面的平均距离大于0.15m;©内线点到楼板、顶板的最小距离大于0.5m;(d)内切面面积小于0.5m^2。到目前为止,所有剩余的平面都可以看作是墙体组件。
平面正则化。对室内场景结构的先验知识也应该考虑在内。在大多数情况下,墙平面与地板和天花板平面垂直。所以用一个新的垂直于地板的法线重新定位所有的墙平面,使拟正交平面对直正交。最后,如果墙壁平面是平行的,或者它们之间的距离小于0.3m,则合并共面壁面,如图1c所示。
二维空间划分。由于平面图可以看作是一个平面图形,其中每个房间都是一个闭环,本文将二维空间离散为基本的几何元素,即顶点、边缘和切面。为了解决这个问题,本文将墙平面投影到X-Y平面上,并使用动态数据结构划分二维空间(如图1d所示)。与传统的排列技术相比,这种数据结构可以大大减少后续步骤的解空间。
3.2 边界提取
这一步的目标是提取出最能代表室内空间轮廓的室内场景的边界形状。注意,边界形状也应该符合流形假设,其中每个顶点只连接到两个相邻的边。给定上一步生成的边集E,本文通过使用约束整数规划公式选择这些边的子集来实现这一点。
如图3所示,与其相关的壁面重叠的噪声边缘进行了很大的惩罚。图片是控制这两项权值的参数。
复杂度项。为了控制最终边界形状的复杂度,本文引入复杂度项,定义为:
v是前一步计算的顶点集合。如果(i)顶点vi的两个入射边是激活的,并且(ii)这两个边来自不同的壁面,则该指示器返回true。此项倾向于返回具有少量角顶点的紧凑边界形状多边形。图4说明了参数λ如何影响数据保真度和输出复杂度之间的权衡。
硬约束。由于输出的边界形状必须满足流形特性,本文必须约束边界形状的每个顶点包含两个相邻的边。通过以下硬约束来实现这一点:
优化。在方程6给出的约束下,本文通过最小化方程1中的能量公式来寻找最佳激活状态配置图片。此约束整数规划问题由SCIP算法解决。然后激活边组成输出边界形状(参见图1e中的绿色边)。
3.3 房间分割
前一步恢复的边界形状将二维空间划分为内外域。本节只关注内部域并将其划分为不同的房间。给定边界形状内的facet集合,本文分配一个房间实例标记。特别是,本文通过标准形式的能量将该问题转换为马尔可夫随机场方法:
一元项。图片的目的是鼓励为每个面分配一个与输入房间实例标签映射一致的标签:
成对项。图片的设计有两个目的:(i)返回一个低复杂性的平面图,(ii)通过边界形状内的墙平面分隔房间。为了做到这一点,本文惩罚边缘,其相邻的切面保留不同的房间实例标签,不与其相关的墙平面重叠:
房间分割。本文提出的MRF模型是通过标准的图切优化技术来求解的。本文将所有相邻的面合并为一个大的多边形面,每个面代表一个房间,如图1f所示。最后通过删除连接到两个共线边的顶点来简化平面图。请注意,可能会有一些没有任何像素的带有非背景房间实例标签的切面。在这种情况下,可以选择将这些面合并到具有最长公共边的相邻房间中。
实验
实现细节。给定输入点云,计算投射到X-Y平面上的所有点的轴向包围框。然后将2D边界框扩展0.5m,并将其离散为密度图。如果有一个点落在里面,每个像素值等于1(见图1c)。因为本文方法最重要的目标之一是恢复具有详细结构的平面图,所以选择了1cm的精细分辨率,在这种情况下,一些小而重要的墙体结构也可以恢复。
评价指标:
• 房间指标。根据Floorsp的定义,预测房间图片为真阳性,当且仅当(i)图片不与任何其他预测房间重叠,且(ii)存在IOU大于0.5的真值房间。
• 几何参数。由于大多数人为注释的真值平面图与实际墙壁位置并不完全一致(参见图5的第3列),因此预测模型与真值之间的几何度量不能完美地反映所提出算法的几何精度。因此,本文将2D平面图转换为3D CAD模型,并计算3D模型与输入点之间的均方根和倒角距离。
RGBD场景的比较。将本文算法与流行的Douglas-Peucker算法、对象矢量化算法ASIP和当前最先进的平面图生成方法FloorSP进行比较。图5说明了各种方法在硬情况下的定性比较,特别是在非曼哈顿世界场景中。ASIP和Douglas-Peucker输出一组孤立的facet,这是由房间实例标记地图中每个区域的断开引起的。相比之下,FloorSP能够通过房间最短路径优化策略填补这一空白。本文方法还通过自然恢复边界形状并将内部域划分为不同的多边形面来返回二维平面图。此外,由于本文方法和ASIP捕获了场景中墙壁的确切位置,因此重建的平面图比FloorSP和Douglas-Peucker更符合输入数据。最后,由于本文的边界形状提取机制,本文的平面图比其他方法保留了更多的结构细节。
图6从数量上说明了每种方法的几何精度。由于保留了小细节,本文算法给出了输入点和输出模型之间最小的倒角距离。此外,表1显示了平均评价指标,图7显示了所有方法在100个RGBD场景中的几何指标分布。本文的方法在房间指标上提供了最好的分数。这一进展主要来自于本文两步重建方法,它将点的分布、墙平面的位置和房间实例标记图结合在一起。相比之下,其他方法对于房间实例标记图中包含的缺陷的鲁棒性较差。此外,对于几何指标,本文方法也实现了最小均方根和最小倒角误差。这些分数可以通过两步优化策略的稳健性来解释,该策略鼓励平面图与小墙体组件很好地对齐。
激光雷达场景对比。
为了评估每种方法300在不同传感器源上的鲁棒性,本文还收集了88个由激光雷达扫描的生产级室内场景。定性地,图8显示了通过每种方法从LIDAR点重建的平面图。对于所有方法返回的输出平面图的质量,可以得出类似的结论,如图5所示。本文的算法在几何精度方面仍然优于其他方法。
定量地,图9说明了每种方法生成的3D模型与输入点之间的几何度量。本文算法优于其他方法,因为3D平面图形是由检测到的墙壁重建的,其中成功地恢复了场景中一些微小但重要的结构细节。表2和图10分别给出了激光雷达数据集中四种方法的平均度量分数及其分布。对于RGBD数据,本文方法获得了最好的评价分数。
总结
本文提出了一种基于室内场景点云的平面自动重建算法,从检测墙面开始,将空间划分为几何元素。然后通过约束整数规划公式恢复边界形状。使用求解多类标记机制将内部域划分为房间。
在今后的工作中有几个方面需要改进:
首先,ASIP中提出的分裂算子可以潜在地解决壁面缺失问题。
其次,本文希望利用点的法向量和可见性信息来减少输入房间实例标签地图不精确的影响。
最后,还可以推广本文的方法,通过检测高阶几何基元来提取自由形式场景的形状。