BIM与点云:一种基于航空LiDAR点云的大规模建筑重建

news2024/11/28 22:43:23

文章: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点云中捕获到。 

  • 复杂结构。真实世界的建筑物展现出复杂的结构和不同的风格,然而,从稀疏且带有噪声的点云中提取有关结构的信息有限,这进一步导致在获取拓扑正确的表面模型方面存在歧义。

61aa314bd5f6b72185d477e861acce92.png

图1. 从AHN3数据集中的大场景中自动重建的所有建筑物结果。

这项工作通过以下策略应对上述挑战,首先利用越来越可用的矢量化建筑物轮廓数据来解决建筑物实例分割的挑战,将个别建筑物进行分离,其次利用有关建筑结构的先验知识来推断它们的垂直平面。基于航空LiDAR点云中垂直平面通常是将分段平面屋顶与地面连接的墙壁的事实,我们提出了一种从不完整点云中推断垂直平面的算法。我们的方法可以直接从给定的建筑物轮廓中延伸外墙。最后通过将推断的垂直平面作为约束引入现有的基于假设和选择的多边形表面重建框架,来进行表面重建。该框架偏好与输入点云拟合良好、稠密性,并确保最终模型的流形性(见图1)。本文的主要贡献包括: 

  • 一个强大的框架,用于从航空LiDAR点云完全自动重建大规模城市建筑物。

  • 对于建筑物的一种现有假设和选择的表面重建方法的扩展,通过引入新的能量项来鼓励屋顶偏好,并引入两个额外的硬约束以确保正确的拓扑和增强细节恢复能力。

  •  一种从航空LiDAR点云中推断建筑物垂直平面的新方法,其中我们引入了一种最优输运方法来从2D边界轮廓中提取多段线。

  •  一个新的数据集,包含了20,000个真实世界建筑物的点云和重建的表面模型。

主要内容

概述 

所提出的方法以大型城市场景的原始空中LiDAR点云及其对应的建筑物轮廓作为输入,并输出场景中建筑物的二维流形和封闭的三维多边形模型,图2展示了所提方法的流程。首先,它通过将所有点投影到地面平面并收集位于每个建筑物轮廓多边形内的点,提取出各个建筑物的点云。然后,我们从每个建筑物的点云重建一个紧凑的多边形模型。其中单个建筑物重建基于PolyFit [20]的基于假设和选择的框架,该框架用于从点云中提取的一组平面段重建一般的分段平面对象。该方法不仅利用直接从点云中提取的平面段,还利用从点云中推断出的垂直面。基于这两种类型的平面基元,我们对建筑物的面进行假设,通过优化选择最佳的面子集,最终得到模型。 本文的方法与PolyFit的区别在于:

(1)该方法专门用于重建城市建筑,利用垂直面作为硬约束条件,针对此我们提出了一种新颖的算法,用于推断常常在空中LiDAR点云中缺失的建筑物的垂直面。

(2)在优化过程中引入了新的屋顶偏好能量项和两个额外的硬约束条件,以确保正确的拓扑结构和增强细节恢复。

83c795aea0554433b2a5dc5962d61a13.png

图2. 所提出方法的流程(仅选择一个建筑物来说明工作流程)。(a) 输入点云和对应的轮廓数据。(b) 通过建筑物的轮廓多边形从输入点云中提取的建筑物。(c) 从点云中提取的平面段。(d) 从TIN生成的高度图(右侧),TIN着色为高度场(左侧)。(e) 从高度图中提取的折线。(f) 通过推断的折线外推得到的垂直面。(g) 使用提取的平面和推断的垂直面生成的假设建筑物面。(h) 通过优化得到的最终模型。

推断垂直平面 

在空中LiDAR点云中,建筑物的重要结构,如垂直墙壁,通常会因为扫描仪的限制定位和移动轨迹而被遗漏,相反屋顶表面通常能够被较好地捕捉到,而我们希望能够从包含屋顶表面的可用点云中推断出遗漏的墙壁。我们推断垂直平面不仅代表外墙,还代表建筑物轮廓内的垂直墙壁。为此通过从高度值有显著变化的轮廓中生成2D栅格化高度图来实现,我们提出了一种最优传输方法,用于从轮廓中提取闭合折线,然后将这些折线外推以获取垂直墙壁,垂直平面推断的过程如图2d-f所示。通过规则,聚类,多次调整来优化提取的折线,在规则性增强之后,可以通过垂直延伸规则化的折线来获得建筑物的垂直面,规则性增强的效果在图3中展示,从中可以看出它显著改善了结构规则性,并减少了建筑物轮廓的复杂性。

85fa35aab36a55f48ddeb644dbcfcd43.png

图3. 基于聚类的规则性增强对推断垂直墙面的折线的效果影响。(a)规则性增强之前。(b)规则性增强之后。

重建 

表面重建涉及两种类型的平面基元,即在前一步中推断出的垂直平面和直接从点云中提取的屋顶平,与PolyFit计算所有平面基元的两两相交来推断面不同,我们仅使用屋顶平面计算两两相交,然后将得到的面与外部垂直平面进行裁剪。这个过程确保了重建建筑物的屋顶边界可以精确地连接到推断出的垂直墙面上。此外,由于要重建的对象是现实世界中的建筑物,这里引入了一个屋顶偏好能量项和一组针对建筑物特别设计的硬约束条件到原始公式中。这个约束条件解决了两个假设的面近似共面且彼此接近时的模糊性,从而保留了更精细的几何细节,这个约束条件的效果在图4中有所展示。

ac37f3593620c241ed79b2e31eb759cc.png

图4. 面先验约束的效果

实验与分析

我们的方法使用CGAL在C++中实现,所有实验都在一台搭载3.5 GHz AMD Ryzen Threadripper 1920X处理器和64 GB内存的台式电脑上进行。在三个包含超过20,000座建筑物的大规模城市点云数据集上测试了我们的方法。

图1和图5展示了从AHN3数据集中的两个大场景中所有建筑物的3D重建结果,在图1中重建的建筑物模型是简化的多边形网格,平均面数为34。为了更好地展示我们重建的建筑物模型的质量,我们在图6中展示了从三个测试数据集中重建的一组单独建筑物。从这些视觉结果中可以看到,尽管建筑物具有不同风格的多样化结构,输入的点云具有不同的密度和不同级别的噪声、离群值和缺失数据,但该方法成功地获得了视觉上合理的重建结果。这些实验证明了我们的方法在从空中LiDAR点云中推断建筑物的垂直面方面的成功,并且在城市建筑物的3D重建中将这些面包含进去是有效的。

f67419f4f98cdae4cdb5bd26bce2bf50.png

图5. AHN3数据集中一个大场景的重建结果。

058cf3b2ec7d701c4ead734ae66e96fc.png

图6. 来自不同数据集的一组建筑物的重建结果,其中(1-14)来自AHN3数据集,(15-22)来自DALES数据集(23-28)来自Vaihingen数据集。

在表1中,我们报告了在图6中显示的建筑物上的定量结果的统计数据,可以看到,我们的方法获得了良好的重建精度,即所有建筑物的均方根误差(RMSE)在0.04米至0.26米之间,这对于从嘈杂和稀疏的航空LiDAR点云中进行真实世界建筑物的三维重建来说是非常有希望的。从表1的面数列可以观察到,我们的结果是简化的多边形模型,比常用方法(如Poisson表面重建方法)更稠密。

647b64170769483ecc9e5987115542ee.png

检测到平面片段数量与建筑物重建时的运行时间。

b64d81b8268d2af2dbb25ebd2f4b64b1.png

图7显示了根据检测到的平面片段数量进行建筑物重建时的运行时间。

将我们的方法与两种成功的开源方法进行了比较,即2.5D Dual Contouring(专门用于城市建筑)和PolyFit(用于一般分段平面对象),在AHN3 、DALES和Vaihingen数据集上进行了比较如下图。

3410dcaf0e83e8310cdf4a9c503b4a00.png

表2报告了比较的统计数据,从中可以看出,我们的方法重建的建筑模型具有最高的精度。就运行时间而言,我们的方法比其他两种方法慢,但在实际应用中仍然可以接受(平均每个建筑物4.9秒)。

ba21814263decaebf4067d7a7f0098ed.png

还与BAG3D的3D建筑模型进行了广泛的定量比较,BAG3D是一个公共的3D城市平台,提供LoD2级别的城市建筑的3D模型,对于这个比较,我们从BAG3D中选择了四个不同的区域,总共包含1113座建筑物。在图9中,我们展示了一个视觉比较,从中可以看出我们的模型更具规律性。

ff80e0d7594d4469faf6eb045bead6d3.png

图9. 与BAG3D的视觉比较,显示了表3中的一座建筑物

定量结果报告在表3中,从中可以看出我们的结果具有更高的精度。

3136b1aa6317e5bcadf3f582d21b4a62.png

d1552f2b072af646523f21e4e984f551.png

图10. 使用(b)和不使用(c)建筑足迹数据对来自AHN3数据集的两座建筑物进行重建的比较。每个模型下方的数字表示均方根误差(RMSE),使用推断的垂直平面略微增加了重建误差。

2bd25c16e6074889545d0ed1f2890a05.png

图11. 从航空点云中进行重建。在这些点云中,可以从点云中提取垂直墙壁并直接用于重建,因此跳过了垂直平面推断步骤。

总结

本文提出了一种从航空LiDAR点云进行大规模城市建筑物3D重建的完全自动化方法,提出了推断常常在航空LiDAR点云中缺失的建筑物垂直平面的方法,在重建过程中,推断得到的垂直平面扮演着两种不同的角色,外部垂直平面直接成为建筑物外墙的一部分,而内部垂直平面通过在适当位置分割屋顶平面和形成必要的内部墙壁,丰富了建筑物的细节,我们的方法还可以结合给定的建筑物足迹进行重建,使用足迹信息,它们会被用于构建模型的外墙,而推断得到的内部平面则丰富了建筑物的细节,对不同数据集的广泛实验表明,从航空LiDAR点云中推断垂直平面是一种有效的建筑物重建策略,并且所提出的屋顶优先能量项和新颖的硬约束确保了拓扑正确和准确的重建结果。目前的框架仅使用了平面基元,足以重建大多数城市建筑物。然而,在现实世界中仍然存在具有曲面的建筑物,而我们目前的实现无法处理这种情况。因此我们的假设和选择策略是通用的,可以扩展到处理不同类型的基元。作为未来的工作方向,我们的方法可以扩展到包括其他几何基元,如球体、圆柱体甚至参数曲面。通过这样的扩展,可以对具有曲面的建筑物进行重建。

更多详细内容后台发送“知识星球”加入知识星球查看更多。

3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

df134085ef04b0e93dcf5e46945249dc.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

e1b11e905067f10644c9db64b4f729cd.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/626538.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GeoServer SQL注入漏洞复现(CVE-2023-25157)

0x01 产品简介 GeoServer是一款开源的地理数据服务器软件,主要用于发布、共享和处理各种地理空间数据。它支持众多的地图和空间数据标准,能够使各种设备通过网络来浏览和使用这些地理信息数据。 0x02 漏洞概述 GeoServer在预览图层的时候,可…

Ubuntu20.04平台下使用二进制包部署MongoDB-6.0.4单实例

文章目录 1.1 准备服务器的基本信息1.2 操作系统上创建其用户1.3 部署MongoDB服务端1.4 部署MongoDB客户端1.5 部署MongoDB 27017实例1.5.1 创建相关目录1.5.2 准备配置文件1.5.3 准备启停脚本1.5.4 进行启停测试1.5.5 加入开机自启动 1.6 创建超级管理员用户1.6.1 创建本地的超…

do..while、while、for循环反汇编剖析

1、循环语句重要特征提取 循环语句最重要的特点就是执行的过程中会往上跳&#xff01;&#xff01;&#xff01; 箭头往上跳的一般都是循环语句&#xff0c;比如下面的for循环&#xff1a; 2、do..while语句反汇编 #include<iostream> using namespace std; #pragma …

【SpinalHDL快速入门】2、新建SpinalHDL工程,通过计数器Demo快速上手

文章目录 新建工程各个工具版本build.sbt 示例build.properties 示例如何在IEDA中更新 SpinalVersion 并 Reload sbt Project SpinalHDL入门例子&#xff1a;计数器demo1demo2&#xff08;支持reset信号异步复位&#xff0c;低电平有效&#xff09;demo3&#xff08;一个文件&a…

Flume学习--1、Flume概述、Flume入门、

1、Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用&#xff0c;高可靠的&#xff0c;分布式的海量日志采集、聚合和传输的系统。Flume基于流式结构&#xff0c;灵活简单。 Flume最主要的作用就是实时读取服务器本地磁盘的数据&#xff0c;将数据写入到HDFS。 1.2…

C#winform多国语言应用实例

我们在开发项目中,一般需要软件支持多种语言,供不同客户使用。本文实例讲解实现办法。 1 窗体项目创建 添加控件MenuStrip、comboBox及Button,并修改对应显示文本,combobox编辑项输入英语 确定窗体的Localizable属性为true,自动创建Form1.resx,为False时,没有Form1.r…

基站机房:保障通信网络稳定,如何解决安全隐患?

基站机房作为无线通信网络的关键组成部分&#xff0c;承载着大量的网络设备和通信设施&#xff0c;对于运营商和通信服务提供商来说具有重要意义。 无论是大型运营商还是通信服务提供商&#xff0c;动环监控系统都将成为他们成功运营和管理通信网络的关键工具。 客户案例 案例…

vue使用高德地图--附带移动获取当前城市信息

高德地图 1.使用准备申请密钥vue使用 2.移动地图获取城市案例(注意事项)3.总结 1.使用准备 申请密钥 登录注册高德开放平台进入控制台 创建应用 申请key–生成key和安全密钥(2021之后key需要配合安全密钥使用) 注意&#xff1a;安全密钥需要在key之前 vue使用 首先在pubil…

一款功能强大的报表引擎-VeryReport报表引擎

在企业管理中&#xff0c;数据分析和决策制定是非常重要的环节。而报表则是这个过程中最常用的工具之一。但是&#xff0c;传统的报表设计与展现方式已经无法满足企业对于数据分析和报表展示的需求。为了解决这些问题&#xff0c;我们向大家推荐一款新一代Web报表软件——VeryR…

越是大型企业越需要企业内部知识库?

随着信息时代的到来&#xff0c;越来越多的企业开始注重知识管理。知识管理是一种通过有效地捕捉、共享和利用企业内部的知识资源&#xff0c;促进企业创新和发展的方法。而企业内部知识库作为知识管理的一种重要方式&#xff0c;对于大型企业来说尤为重要。 一、大型企业内部…

苹果相关网站和服务器状态

https://www.apple.com.cn/cn/support/systemstatus/

googlecloud谷歌云的初学体会(1)

googlecloud谷歌云入门&#xff08;1&#xff09; 一、纯小白自述二、云是个什么云三、装一个软件&#xff08;资源、服务&#xff09;四、服务器&#xff08;爷爷提供服务的电脑&#xff09;五、PGSQL的安装六、总结 一、纯小白自述 自己是个小白&#xff0c;仅仅懂得几句sql…

华为OD机试真题 Java 实现【寻找密码】【2023Q1 100分】,附详细解题思路

一、题目描述 小王在进行游戏大闯关,有一个关卡需要输入一个密码才能通过,密码获得的条件如下: 在一个密码本中,每一页都有一个由 26 个小写字母组成的若干位密码,从它的末尾开始依次去掉一位得到的新密码也在密码本中存在。 请输出符合要求的密码,如果由多个符合要求…

爬虫如何选择工具和编程语言

爬虫选择工具和编程语言需要根据具体的需求和技术水平来决定。以下是一些常用的工具和编程语言&#xff1a; 工具&#xff1a; Scrapy&#xff1a;一个基于Python的高级爬虫框架&#xff0c;可用于快速开发和部署爬虫。Beautiful Soup&#xff1a;一个Python库&#xff0c;用…

基于“三维六类”干扰分析模型进行FDD900干扰规避优化指导

1.概述 随着网络发展&#xff0c;鉴于900M覆盖上的优势&#xff0c;为增强深度覆盖及竞对提升&#xff0c;当前FDD 900M已在加快部署&#xff0c;但随之也带来了干扰问题。当前&#xff0c;干扰排查成为FDD 900M部署过程中大量存在的难题。由于干扰排查难度大&#xff0c;且排…

线程池和使用

tip: 作为程序员一定学习编程之道&#xff0c;一定要对代码的编写有追求&#xff0c;不能实现就完事了。我们应该让自己写的代码更加优雅&#xff0c;即使这会费时费力。 推荐&#xff1a;体系化学习Java&#xff08;Java面试专题&#xff09; 文章目录 线程池的目的线程池的参…

360,可真小看你了:耍流氓耍到日本人身上,凌晨2点笑得我胃疼

天下苦流氓软件久矣 大厂的软件&#xff0c;都有点牛皮癣特性&#xff1a;捆绑安装广告推广&#xff0c;简直无所不用其极&#xff0c;身为用户着实无可奈何。 此处点名四大全家桶家族——360、鲁大师、金山毒霸、2345。 说来好笑&#xff0c;之前发的文章不是有关于金山的嘛…

Cefsharp-Winform-113.3.50(chromium5672)最新版体验兼容性测试

一、下载nupkg包(4个)提示:(不支持H264,支持MP3,WEBGL,WEBGL2等)支持H264最新版本109.*自行搜索 winform包地址(依赖包下载地址如下):NuGet Gallery | CefSharp.WinForms 113.3.50 https://globalcdn.nuget.org/packages/cefsharp.winforms.113.3.50.nupkg https://…

仓库拣货标签10代—电子料架

CK_Label_v10 无线电子标签拣货系统特点与效益 无线通信&#xff0c;极简快速部署 超低功耗&#xff0c;墨水屏显示 多彩指示灯&#xff0c;支持24V外接供电 按键及三色高亮LED指示灯指示 3位0.8寸高亮LED数码管显示 提升作业速度与品质 实现无纸化标准化作业 缩短操…

怎么快速掌握Python爬虫技术?

Python总的来说是一门比较容易入门的编程语言&#xff0c;因为它的语法简洁易懂&#xff0c;而且有很多优秀的教程和资源可供学习。相比其他编程语言&#xff0c;Python 的学习曲线较为平缓&#xff0c;初学者可以很快上手&#xff0c;但要想深入掌握 Python&#xff0c;还需要…