
摘要:针对传统室内建筑三维重建模型大多仅能重建表面结构且缺乏语义信息等的问题,提出一种以墙线二值图为基础,通过墙线边界规则化与房间聚类语义信息进行约束的室内建筑三维重建方法。通过壁面检测、二值化、直线拟合来获取墙线,通过提取墙壁厚度并利用规则化手段结合语义信息来构建房间边界,舍弃纯粹描述建筑物外形具备高度可视化的表面重建,转而专注于观察数据体积,获取房间参数,重建具有连接关系的墙壁模型,通过具有约束条件的墙壁模型来表达房间,最终实现构件化的室内三维重建。通过对不同场景下室内点云数据进行实验分析,实验结果展示了本文方法在复杂现实世界仍具备适应性与鲁棒性,所获模型能很好地与输入点云贴合并表达房间特征。
引用:[1] 黄明,高远,杨震卿,等. 语义信息与边界规则化的室内三维重建研究[J]. 测绘科学, 2024, 49 (11): 186-196. DOI:10.16251/j.cnki.1009-2307.2024.11.018.
引言
随着数字技术的不断发展和城市化进程的加速推进,数字城市已成为当今社会发展的重要趋势之一。数字城市以数字化、智能化和信息化技术为支撑,致力于将城市各个方面的数据、资源和功能进行整合和优化,实现城市的智能化管理、高效运行和可持续发展。在数字城市建设中,室内空间的三维重建是一个关键环节,它不仅能够为城市规划、建设和管理提供重要参考,还能够为人们提供更加智能、便捷和个性化的城市生活体验 [1] 。以点云为基础的三维重建作为一种重要的数字化城市建模手段,近年来得到了广泛关注和应用。点云是由大量离散点组成的空间数据集合,能够以高精度、高密度的方式描述物体表面的形状和结构,因此在室内三维重建中具有独特的优势。通过激光扫描 [2] 、摄影测量 [3] 等手段获取的点云数据,能够准确、快速地捕捉到室内空间的细节信息,这为物体的建模和分析提供了有效手段。
传统的三维重建方法通常从点云数据出发,通过显式 [4-5] 或隐式 [6-7] 的方式将这些点云整理成多边形表面,以重建物体的表面形状。然而,这类方法常常存在一些问题。首先,对于给定的一组离散点,受到噪声点、采样密度不均匀、传感器误差以及杂物遮挡等因素的影响,可能存在多种不同的连续表面,因此重建结果可能不唯一。其次,传统方法通常只能重建表面,缺乏室内场景的语义信息,像墙壁厚度等重要参数无法直接从中获取。
随着深度学习方法的发展,越来越多的研究开始利用深度神经网络模型从点云中解码表面形状 [8] ,有些方法通过生成隐式场 [9] ,将其零水平等面作为重建的结果。然而,这些方法仍然无法完全解决语义信息缺失所带来的问题。
在实际的生产活动中,室内竣工模型扮演着规划和维护的重要角色 [10-11] 。通过这种模型,人们可以深入了解建筑元素和不同房间之间的连接关系,并且可以直接利用其中存储的壁厚墙高等的信息。但以往的体积模型很少能做到构件的全局对齐以保持几何一致性 [12-13] ,构件之间的连接也没有严格约束以保证拓扑的一致性 [14] 。因此,建立一个全局相关的、包含语义信息的室内模型具有重要意义 [15] ,同样也是一个巨大的挑战。
针对上述问题,本文从点云数据出发,通过提取墙壁点云进行二值化,并结合语义等关键信息,建立起全局的连接关系。最终的目标是生成一个直接可用的、包含建筑物结构和语义信息的室内三维模型,以满足实际生产活动中的需求。这种方法不仅能够克服传统方法中存在的问题,而且能够为建筑工程师等相关专业人员提供更直观、更丰富的信息,从而提高工作效率和质量。
1 点云的语义分割与空间聚类
本文提出一种以二值图墙线为核心的结合规则化手段与房间聚类语义信息的室内建筑三维重建方法。本节先对输入的原始点云进行去噪与精简处理,目的是有效地消除离散点的影响,减少数据处理的复杂性,对处理后的点云根据其法向量差异与体素z轴密度直方图结合进行点云的语义分割,将点云分割为天花板、地板与墙壁,对天花板、地板点云用最小二乘算法拟合平面获取高度信息,同时根据天花板受遮挡较少的特性进行房间分割获取聚类信息。本节具体技术流程如图1所示。

1.1 顾及法线方向与体素密度的分割
在室内建筑三维重建过程中,点云语义分割是关键步骤,旨在增强数据组织性和可管理性,优化建模效率并提高模型精度。本文采取一种综合点云法向量与体素z轴密度直方图的方法分割点云,利用z轴密度直方图排除杂物平面干扰,同时通过点云法向量排除噪声点干扰进而进行房间的分割。满足曼哈顿假设的建筑点云,其天花板与地板法向量应相对且近似竖直,墙壁点云法向量则近似平行于XOY平面。同时考虑到作为真实建筑物的点云内部往往存在大量的杂物干扰,如桌椅和柜子,直接利用法向量特征进行分割效果不理想,影响后续重建 [16] 。天花板,地板作为建筑物点云中最大的平面,通常在z轴直方图中具有最高密度 [17-18] ,但由于采集设备的测量距离和次数等影响,点云模型的密度分布不均匀,因此需用体素代替点云进行处理。
n z 为法线向量的z分量,D为z轴体素直方图上密度。通过判断D>0.3的点云的n z <-0.9,n z >0.9来区分天花板和地板点云,并通过-0.2<n z <0.1提取墙壁点云。结合法线方向与z轴密度直方图,可以有效地避免室内杂物的干扰,准确分割出天花板、墙壁和地板点云,分割结果如图2所示。

1.2 平面拟合与高度提取
在对天花板点云和地板点云进行有效分割后,由于天花板和地板的点云并不都在同一平面内,为了找到正确的天花板和地板平面,下一步是利用这些数据来拟合几何精确的平面模型,通常采用的方法是最小二乘法拟合平面。
拟合后的平面具备重要的高度信息,该参数将被用于后续的建模工作。最终拟合平面结果见图3,绿色为天花板处点云拟合的平面。

1.3 基于区域生长算法的房间聚类
由于地面杂物的存在,地板的点云数据往往会受到较为严重的遮挡,因此利用分割后的天花板点云进行进一步的房间聚类分割会取得更好的效果。在房间聚类过程中,法线提供了点云表面方向信息,曲率则表现表面的弯曲程度。本文采用基于KD树的近邻搜索方法构建法线估计的搜索结构。考虑到室内建筑点云具有数目多、噪声多、结构复杂等特点,为了更好地捕捉细节,同时兼顾到计算结果的抗噪性,我们将邻域大小设置为75进行法线和曲率的计算。
将曲率最小的点作为种子点,检查其邻域点,并依据平滑度阈值S(即两点法线间的夹角)向外扩展聚类。对于加入聚类的点,通过曲率阈值C(即表面弯曲程度)寻找小于该阈值的邻域点,将其加入种子序列继续生长。当一个区域生长完成后,继续对剩余点重复上述步骤,直至遍历所有点并最终获得房间聚类数据。平面拟合和房间分割如图3所示,不同颜色代表不同的房间聚类。
2 语义与边界规则约束的墙线构建
本节对墙壁点云投影为二值图进行霍夫(Hough)变换拟合墙线,提取其中心线并保留厚度信息,对中心线规则化后延长与包围盒相交构建最小矩形,通过将房间聚类结果投影二值图,建立二维占用位图获取最简墙线,根据墙线信息与相关联参数进行参数化的墙面模型构建。本节具体技术流程如图4所示。

2.1 墙壁二值化与厚度提取
进行点云二值化时,需要识别并选取墙壁上部范围内的点云数据来避免房间中下部杂物干扰,通过设置一个垂直高度阈值Δh,提取只包括天花板下此阈值范围内的点云。随后,将这些选定的点云投影到预设的XOY平面上,将投影后的数据转换为二值图像。在这一过程中,墙面被标记为一种值(通常为1或白色),而背景则被标记为另一种值(通常为0或黑色)。二值化处理的目的是显著简化原始的点云数据,从而使后续的处理步骤更加高效和精确 [19] 。此外,二值化还强化了墙面的轮廓和结构,使墙面与非墙面区域之间的对比更加明显,这为后续的图像处理和分析工作提供了便利。
为了进一步处理二值化后的墙壁点云数据,通过Hough变换技术,将图像坐标空间转换到参数空间,利用点与线的对偶性,将原始图像空间中给定的曲线转换为参数空间中的一个点。在室内建模中,Hough变换可以用于拟合二值化的墙壁点云,将其转换为直线表达形式,即墙线。
Hough变换通过检测二值化图像中的直线段,生成一系列线段参数,这些参数代表潜在的墙壁。
在笛卡尔坐标系中一条直线y=kx+q对应霍夫空间的一个点(k,q)。即若在笛卡尔坐标系下有n个点共同构成一条墙线,那么它在霍夫空间就表现为n条线交于同一点形成峰值。
考虑到墙体在现实中往往具备一定的厚度,需要从拟合后的墙线中提取出墙壁的中心线,并保留其欧式距离作为厚度信息,以确保所建立的模型墙具备真实的特征。观察到具有厚度的墙线往往近似平行且距离相近,这为提取墙线的中心线提供了便利。通过识别墙线之间的这些相似特征,可以实现中心线的提取,并将相邻线段间的距离作为厚度信息提取出来。墙壁厚度的提取过程应在规定的厚度阈值ΔT内进行,以排除由于噪声点导致的同一面墙壁拟合出多根临近线以及房屋两侧边界墙线同样具备相似特征的干扰。对于那些无法提取中心线的墙线,例如外边界墙或一些杂乱的墙线,将根据经验赋予它们一个默认的厚度参数,并将其视为待进一步处理的对象。这一处理过程可以分为3步。
1)对已经拟合出的墙线进行特征提取,以识别出具有近似平行且距离相近的墙线对。
2)在识别出的墙线对中,计算墙线间的中心线,这可以通过简单地取两条墙线的中点,并拟合出一条直线来实现。
3)测量墙线间的欧式距离,判断是否满足阈值ΔT,若满足将其作为墙线的厚度信息T 0。最后,对于那些无法提取中心线的墙线,将为其赋予一个默认的厚度信息T 1。操作示意如图5所示,图5(a)中红色区域为可以提取壁厚的墙壁,蓝色为需要赋予默认壁厚的墙壁,在图5(b)和(c)中可以看到成功的获取到了不同厚度的墙壁。

2.2 墙线规则化
在实际的三维建模过程中,拟合后的墙线往往受到像噪声点、点云配准不准确以及房间复杂度等因素造成的影响,导致拟合后的墙线存在各种与实际不符的情况,制定合理的规则化策略显得尤为关键。为了消除这些不应存在的干扰线,应采取一系列的修正方法,进行边界规则化操作后再进行方向归正,期望能最大化地保留符合建筑物结构的墙线。修正方法归纳如图6所示,左侧(a)图内为真实拟合后的墙线二值图,对于图6(a)中存在的四处典型错误,错误1(一处完整墙线中间出现缺口),错误2(邻近墙线出现错位),错误3(出现杂乱干扰),错误4(出现缺口且一长一短),通过(b)中红线的修正规则可以有效的加以改正。

对墙线的修正,尽可能地以长边为主,即对于一短一长的墙线,尽可能将短边修正到长边上,通过应用这些修正方法,能够更准确地获取建筑物的墙线。
2.3 结合语义信息的墙线确定
在对多组数据进行实验中我们发现房间走廊的错综关系常导致墙线交点的延伸情况错综复杂。拟合出的墙线,尤其是交点处,几乎不存在完美的相交,即使出现两墙线首尾点相同的情况,它们往往也只是在二值图上相近而表现出近似相交的表象,尤其是如图7所示意的情况下,交点处的墙线延长情况多,难以判断。如果只是简单地将没有构成交点的直线延长相交,会出现多个不被期望地交点情况,如一些墙线会与对侧的墙壁相交从而将走廊分成一段段不被期望出现的空间。

为了解决这一问题,选择讨论所有可能的相交情况并一一加以改正是不明智的,行之有效的方式是保留所有的相交情况,并结合语义信息加以约束,如图8所示。这一过程可以分为4个步骤。
1)计算出房间的包围盒,并将所有墙线延长至其与包围盒相交,以确保覆盖了整个房间和走廊的空间,如图8(a)中的黑线范围。这一步骤保证了捕捉到了房间走廊的全部结构。
2)将墙线延长后形成的矩形建立起一个矩形的集合。每个矩形代表了房间走廊中的一个区域,即每个房间走廊可能由一个或者多个矩形构成。最终的目标是将这些矩形归类,并找到最简单的房间边界线。
3)在矩形的集合中建立二维占用位图,并设置阈值M p ,依据1.3中获取的聚类信息,将不同房间聚类的点云作投影,如果矩形区域内占有率超过M p ,就将该矩形分配给相应的房间,并移除集合。当所有聚类点云投影完毕后,若仍存在矩形不满足阈值条件,视为室外空集并将其舍去,如图8(b)所示。
4)根据相邻矩形的连接关系,将拥有同一房间标签的矩形合并,获得房间的最终区域如图8(c)所示。

这一过程的关键步骤在于建立二维占用位图,它允许我们以高效的方式确定每个矩形的归属和组合关系。通过这样的分析和处理,能够得到准确且简洁的房间区域信息,并获取到最简的墙线。有最简墙线与天花板与地板拟合平面的信息和厚度参数就可以进行室内模型的构建。
3 实验与结果分析
3.1 实验数据
本文采用4套数据集进行实验,数据集a为网上公开数据集S1包含一个L型走廊以及3个房间,点数442 506。数据集b为北京建筑大学测绘学院楼一楼点云集,包括入门大厅一条长廊和5个房间,点数619 180。数据集c、d来自ISPRS所提供的公共基准数据集,其中点云集c由澳大利亚墨尔本大学工程大楼B座的传感器获得,包含一条长廊与7个房间和不同厚度的墙壁,点云数量702 088。点云集d为德国布伦瑞克技术大学包含一条很长的长廊与拥有不同厚度墙壁的房间,点云数量1 946 745,实验数据如图9所示。

3.2 参数设置
两组数据所采取的参数如表1所示。
其中:slo为提取墙壁中心线的斜率差阈值,Δd为边界规则化时的像素距离阈值,参数名与算法流程中参数名对应。

3.3 实验结果
图10分别展示了本文所提算法流程对4组数据集的重建效果,本文算法流程能正确识别墙壁范围,取得墙壁厚度并进行构件化的三维重建工作,对走廊房间等的结构有很好的区分。

生成的房间模型如图既有提取壁厚的真实厚度墙体,同时也有外表面无法提取壁厚的默认厚度墙体,细节见图11所示。对于图11(a)这种质量较好的数据,能较好地识别房屋边界以及壁厚,对于(b)、(c)这种较为杂乱的点云本文方法也同样具备一定程度的鲁棒性。

3.4 实验分析
本文算法所得到的体积模型,相较于其他学者最突出的点在于从全局出发,约束了构件之间的连接,保证了拓扑关系。在几何方面,曼哈顿假设严格的限制了建筑的空间位置进行了几何约束,通过房间分割结果的投影使模型同时拥有了语义信息。拓扑、几何和语义3种类型的约束使本文算法具备很好的鲁棒性,算法所得模型与室内环境高度一致。
图12展示了本文所得模型与文献 [13,17]所得模型的对比,文献 [17]所得模型中存在游离在房间边界外、未构成连接关系的墙壁,导致模型结构的不完整性。而文献 [13]所生成的墙壁模型则普遍存在超伸现象,即墙壁延伸超出实际边界,造成空间布局的错误表示。本文提出的方法通过结合语义信息进行模型优化,成功修正了上述模型的缺陷,通过规则化手段和语义信息的约束不仅有效避免了墙壁的游离现象,还克服了超伸问题,确保了墙壁的正确连接和合理延伸,从而实现了更加准确的三维重建。

为了评估本文算法的准确性和有效性,从点云数据出发分别建立参考模型R与源模型S,根据另一学者所提出的完整性、正确性和准确性作为评判指标 [20] ,对建模结果进行综合评价,结果如表2所示。

值得注意的是,仍然存在一些无法正确识别墙壁厚度的情况,如图13所示。这一问题的主要原因在于对墙壁厚度的提取依赖于限差内平行墙线的检测。而在实际情况下,扫描得到的点云数据往往包含大量噪声点,此外,点云配准拼接误差以及柜子等杂物的遮挡也会影响墙壁处点云的质量。杂乱的点云所拟合的墙线直接影响了壁厚的提取。

在处理室内大场景的点云数据时,不可避免地会遇到干扰墙壁处点云的因素。尽管通过规则化的方法可以尽可能减少这些干扰的影响,但仍然会有一些难以通过几何手段加以约束的干扰项出现。在这种情况下,作为一个构件化的独立模型展现出独特的优势,方便人工进行修正。相比于其他重建表面的模型,构件化模型可以更容易地进行调整和校正,以提高最终模型的准确性和质量。
图14展示了数据c点云与其生成模型的不一致现象。在图14(a)的整体视图中,可以看到红框标注的局部区域,而图14(b)和图14(c)则是这些局部区域的放大视图。从图14(b)和图14(c)中可以观察到,模型在这些区域忽略了点云的结构变换,导致不一致的现象。产生这一问题的原因在于当前的方法无法准确判断这些区域的形成是由于柜子等物体的遮挡,还是由于真实墙壁本身具有这种细微结构。

在2.2节的规则化处理部分,通过采用规则化手段对可能由柜子遮挡引起的墙壁局部凹凸进行了修正,这在一定程度上有效改善了一些墙壁的凹凸不平。然而,要准确判断这些突然的凹凸转折是由墙体本身的结构(如柱子)引起的,还是由多余的结构(如柜子)引起的,仍然是非常困难的。正是由于这种判断上的困难,导致了模型在这些细节区域忽略了点云的结构变换。
为了进一步提高模型的精度和可靠性,需要优化算法使能够更准确地区分墙体本身的结构与外界遮挡物引起的局部变换的差异。
4 结束语
本文算法通过语义分割、壁面二值化、直线拟合及规则化手段寻找所有可能的房间墙线,然后利用语义信息进一步确定房间的最简边界来构建室内建筑的构件化模型,经过实验测试,结论如下。
1)本文的算法能够很好地创建符合曼哈顿假设的室内建筑,构建后的模型具备正确的拓扑信息,其表面也符合建筑的几何特征。
2)构建所得的建筑模型可以做到以房间为单位的划分,相较于其他方法语义信息更加丰富。
3)本文算法相较传统手工、半手工作业省时省力,同时采用三维转二维的降维思路进行重建,对比从三维出发的方法更有优势。
综上所述,本文提出的算法在室内点云三维重建方面简化了人工操作并优化了处理方法。然而,算法仍需在噪声点等复杂情况下正确提取墙壁厚度以及尽可能保留局部细节方面加以研究。此外,如何将该方法拓展应用到非曼哈顿假设的房屋中,也是一个亟待研究的问题。
- END -


空域申请 | 无人机航测UOM系统合法飞行申请流程




