文章:City3D: Large-Scale Building Reconstruction from Airborne LiDAR Point Clouds
作者:Jin Huang , Jantien Stoter , Ravi Peters and Liangliang Nan
编辑:点云PCL
来源:arXiv2023
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。
摘要
本文提出了一种完全自动的方法,用于从大规模航空LiDAR点云中重建稠密的3D建筑模型,从航空LiDAR点云进行城市重建的主要挑战在于垂直墙壁通常缺失。然而城市建筑通常由与地面相连的平面屋顶和垂直墙壁组成,因此提出了一种直接从数据中推断垂直墙壁的方法,通过对屋顶和墙壁的平面片段进行假设,我们推测建筑表面的平面,并使用扩展的基于假设和选择的多边形表面重建框架得到最终模型。具体而言是引入了一个新的能量项来促进对屋顶的偏好,并在优化步骤中引入了两个额外的硬约束,以确保正确的拓扑结构和增强细节恢复能力。在各种大规模航空LiDAR点云上的实验证明,该方法在重建精度和鲁棒性方面优于现有方法。此外,使用该方法生成了一个包含2万个真实世界建筑的点云和3D模型的新数据集,我们相信这个数据集可以促进基于航空LiDAR点云的城市重建研究以及在城市应用中使用3D城市模型的研究。
主要贡献
从航空LiDAR点云进行大规模城市重建面临以下挑战:
建筑实例分割。城市场景中存在着各种各样的物体,如建筑物、树木、城市家具和动态物体(例如车辆和行人),城市场景的混乱性给从海量点云中识别和分离个别建筑物带来了严峻挑战,近年来引起了相当大的关注。
数据不完整。由于航空扫描仪的位置和移动轨迹受限,一些重要结构(如垂直墙壁)通常无法在航空LiDAR点云中捕获到。
复杂结构。真实世界的建筑物展现出复杂的结构和不同的风格,然而,从稀疏且带有噪声的点云中提取有关结构的信息有限,这进一步导致在获取拓扑正确的表面模型方面存在歧义。
图1. 从AHN3数据集中的大场景中自动重建的所有建筑物结果。
这项工作通过以下策略应对上述挑战,首先利用越来越可用的矢量化建筑物轮廓数据来解决建筑物实例分割的挑战,将个别建筑物进行分离,其次利用有关建筑结构的先验知识来推断它们的垂直平面。基于航空LiDAR点云中垂直平面通常是将分段平面屋顶与地面连接的墙壁的事实,我们提出了一种从不完整点云中推断垂直平面的算法。我们的方法可以直接从给定的建筑物轮廓中延伸外墙。最后通过将推断的垂直平面作为约束引入现有的基于假设和选择的多边形表面重建框架,来进行表面重建。该框架偏好与输入点云拟合良好、稠密性,并确保最终模型的流形性(见图1)。本文的主要贡献包括:
一个强大的框架,用于从航空LiDAR点云完全自动重建大规模城市建筑物。
对于建筑物的一种现有假设和选择的表面重建方法的扩展,通过引入新的能量项来鼓励屋顶偏好,并引入两个额外的硬约束以确保正确的拓扑和增强细节恢复能力。
一种从航空LiDAR点云中推断建筑物垂直平面的新方法,其中我们引入了一种最优输运方法来从2D边界轮廓中提取多段线。
一个新的数据集,包含了20,000个真实世界建筑物的点云和重建的表面模型。
主要内容
概述
所提出的方法以大型城市场景的原始空中LiDAR点云及其对应的建筑物轮廓作为输入,并输出场景中建筑物的二维流形和封闭的三维多边形模型,图2展示了所提方法的流程。首先,它通过将所有点投影到地面平面并收集位于每个建筑物轮廓多边形内的点,提取出各个建筑物的点云。然后,我们从每个建筑物的点云重建一个紧凑的多边形模型。其中单个建筑物重建基于PolyFit [20]的基于假设和选择的框架,该框架用于从点云中提取的一组平面段重建一般的分段平面对象。该方法不仅利用直接从点云中提取的平面段,还利用从点云中推断出的垂直面。基于这两种类型的平面基元,我们对建筑物的面进行假设,通过优化选择最佳的面子集,最终得到模型。 本文的方法与PolyFit的区别在于:
(1)该方法专门用于重建城市建筑,利用垂直面作为硬约束条件,针对此我们提出了一种新颖的算法,用于推断常常在空中LiDAR点云中缺失的建筑物的垂直面。
(2)在优化过程中引入了新的屋顶偏好能量项和两个额外的硬约束条件,以确保正确的拓扑结构和增强细节恢复。
图2. 所提出方法的流程(仅选择一个建筑物来说明工作流程)。(a) 输入点云和对应的轮廓数据。(b) 通过建筑物的轮廓多边形从输入点云中提取的建筑物。(c) 从点云中提取的平面段。(d) 从TIN生成的高度图(右侧),TIN着色为高度场(左侧)。(e) 从高度图中提取的折线。(f) 通过推断的折线外推得到的垂直面。(g) 使用提取的平面和推断的垂直面生成的假设建筑物面。(h) 通过优化得到的最终模型。
推断垂直平面
在空中LiDAR点云中,建筑物的重要结构,如垂直墙壁,通常会因为扫描仪的限制定位和移动轨迹而被遗漏,相反屋顶表面通常能够被较好地捕捉到,而我们希望能够从包含屋顶表面的可用点云中推断出遗漏的墙壁。我们推断垂直平面不仅代表外墙,还代表建筑物轮廓内的垂直墙壁。为此通过从高度值有显著变化的轮廓中生成2D栅格化高度图来实现,我们提出了一种最优传输方法,用于从轮廓中提取闭合折线,然后将这些折线外推以获取垂直墙壁,垂直平面推断的过程如图2d-f所示。通过规则,聚类,多次调整来优化提取的折线,在规则性增强之后,可以通过垂直延伸规则化的折线来获得建筑物的垂直面,规则性增强的效果在图3中展示,从中可以看出它显著改善了结构规则性,并减少了建筑物轮廓的复杂性。
图3. 基于聚类的规则性增强对推断垂直墙面的折线的效果影响。(a)规则性增强之前。(b)规则性增强之后。
重建
表面重建涉及两种类型的平面基元,即在前一步中推断出的垂直平面和直接从点云中提取的屋顶平,与PolyFit计算所有平面基元的两两相交来推断面不同,我们仅使用屋顶平面计算两两相交,然后将得到的面与外部垂直平面进行裁剪。这个过程确保了重建建筑物的屋顶边界可以精确地连接到推断出的垂直墙面上。此外,由于要重建的对象是现实世界中的建筑物,这里引入了一个屋顶偏好能量项和一组针对建筑物特别设计的硬约束条件到原始公式中。这个约束条件解决了两个假设的面近似共面且彼此接近时的模糊性,从而保留了更精细的几何细节,这个约束条件的效果在图4中有所展示。
图4. 面先验约束的效果
实验与分析
我们的方法使用CGAL在C++中实现,所有实验都在一台搭载3.5 GHz AMD Ryzen Threadripper 1920X处理器和64 GB内存的台式电脑上进行。在三个包含超过20,000座建筑物的大规模城市点云数据集上测试了我们的方法。
图1和图5展示了从AHN3数据集中的两个大场景中所有建筑物的3D重建结果,在图1中重建的建筑物模型是简化的多边形网格,平均面数为34。为了更好地展示我们重建的建筑物模型的质量,我们在图6中展示了从三个测试数据集中重建的一组单独建筑物。从这些视觉结果中可以看到,尽管建筑物具有不同风格的多样化结构,输入的点云具有不同的密度和不同级别的噪声、离群值和缺失数据,但该方法成功地获得了视觉上合理的重建结果。这些实验证明了我们的方法在从空中LiDAR点云中推断建筑物的垂直面方面的成功,并且在城市建筑物的3D重建中将这些面包含进去是有效的。
图5. AHN3数据集中一个大场景的重建结果。
图6. 来自不同数据集的一组建筑物的重建结果,其中(1-14)来自AHN3数据集,(15-22)来自DALES数据集(23-28)来自Vaihingen数据集。
在表1中,我们报告了在图6中显示的建筑物上的定量结果的统计数据,可以看到,我们的方法获得了良好的重建精度,即所有建筑物的均方根误差(RMSE)在0.04米至0.26米之间,这对于从嘈杂和稀疏的航空LiDAR点云中进行真实世界建筑物的三维重建来说是非常有希望的。从表1的面数列可以观察到,我们的结果是简化的多边形模型,比常用方法(如Poisson表面重建方法)更稠密。
检测到平面片段数量与建筑物重建时的运行时间。
图7显示了根据检测到的平面片段数量进行建筑物重建时的运行时间。
将我们的方法与两种成功的开源方法进行了比较,即2.5D Dual Contouring(专门用于城市建筑)和PolyFit(用于一般分段平面对象),在AHN3 、DALES和Vaihingen数据集上进行了比较如下图。
表2报告了比较的统计数据,从中可以看出,我们的方法重建的建筑模型具有最高的精度。就运行时间而言,我们的方法比其他两种方法慢,但在实际应用中仍然可以接受(平均每个建筑物4.9秒)。
还与BAG3D的3D建筑模型进行了广泛的定量比较,BAG3D是一个公共的3D城市平台,提供LoD2级别的城市建筑的3D模型,对于这个比较,我们从BAG3D中选择了四个不同的区域,总共包含1113座建筑物。在图9中,我们展示了一个视觉比较,从中可以看出我们的模型更具规律性。
图9. 与BAG3D的视觉比较,显示了表3中的一座建筑物
定量结果报告在表3中,从中可以看出我们的结果具有更高的精度。
图10. 使用(b)和不使用(c)建筑足迹数据对来自AHN3数据集的两座建筑物进行重建的比较。每个模型下方的数字表示均方根误差(RMSE),使用推断的垂直平面略微增加了重建误差。
图11. 从航空点云中进行重建。在这些点云中,可以从点云中提取垂直墙壁并直接用于重建,因此跳过了垂直平面推断步骤。
总结
本文提出了一种从航空LiDAR点云进行大规模城市建筑物3D重建的完全自动化方法,提出了推断常常在航空LiDAR点云中缺失的建筑物垂直平面的方法,在重建过程中,推断得到的垂直平面扮演着两种不同的角色,外部垂直平面直接成为建筑物外墙的一部分,而内部垂直平面通过在适当位置分割屋顶平面和形成必要的内部墙壁,丰富了建筑物的细节,我们的方法还可以结合给定的建筑物足迹进行重建,使用足迹信息,它们会被用于构建模型的外墙,而推断得到的内部平面则丰富了建筑物的细节,对不同数据集的广泛实验表明,从航空LiDAR点云中推断垂直平面是一种有效的建筑物重建策略,并且所提出的屋顶优先能量项和新颖的硬约束确保了拓扑正确和准确的重建结果。目前的框架仅使用了平面基元,足以重建大多数城市建筑物。然而,在现实世界中仍然存在具有曲面的建筑物,而我们目前的实现无法处理这种情况。因此我们的假设和选择策略是通用的,可以扩展到处理不同类型的基元。作为未来的工作方向,我们的方法可以扩展到包括其他几何基元,如球体、圆柱体甚至参数曲面。通过这样的扩展,可以对具有曲面的建筑物进行重建。
更多详细内容后台发送“知识星球”加入知识星球查看更多。
3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。
为分享的伙伴们点赞吧!