一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

建筑物点云轮廓提取方法及装置与流程

2021-11-24 21:16:00 来源:中国专利 TAG:


1.本公开的实施例一般涉及遥感数据处理领域,并且更具体地,涉及一种建筑物点云轮廓提取方法、装置、设备和计算机可读存储介质。


背景技术:

2.从机载激光雷达(light detection and ranging,lidar)点云数据中自动检测城区目标是近几十年来研究的一个重要课题。
3.经典的建筑物检测方法可分为以下几类:基于拟合的方法、数学形态学方法、数字图像处理方法、模式识别方法及融合lidar数据和其它类型的航空影像或gis数据的方法。
4.但是,由于点云数据具有离散、不规则分布的特点,即,点云并不是总分布在建筑物的轮廓上,因此,当建筑物形状较为复杂时,通过上述算法提取的建筑物轮廓,往往不能得到较好的提取效果。


技术实现要素:

5.根据本公开的实施例,提供了一种建筑物点云轮廓提取方案。
6.在本公开的第一方面,提供了一种建筑物点云轮廓提取方法。该方法包括:
7.获取建筑物激光点云数据;
8.对所述点云数据进行处理,生成体元数据集;
9.对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割;
10.对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓。
11.进一步地,所述对所述点云数据进行处理,生成体元数据集包括:
12.根据所述点云数据中最大和最小的三维坐标的值,构建轴向包围盒;
13.根据体元分辨率将所述轴向包围盒划分为一系列规则的体元,得到体元数据集;所述体元分辨率根据点云之间的平均点间距确定。
14.进一步地,还包括:
15.对所述体元数据集中的体元进行赋值,将包含激光点的体元赋值为1,不包含激光点的体元赋值为0。
16.进一步地,所述对所述体元数据集中的体元进行赋值,将包含激光点的体元赋值为1,不包含激光点的体元赋值为0包括:
17.基于所述体元分辨率、激光点的三维坐标和体元的行、列、层,确定所述激光点在所述体元数据集中的位置,将包含激光点的体元赋值为1,不包含激光点的体元赋值为0;所述体元的行、列、层用于表示激光点的三维坐标。
18.进一步地,所述对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割包括:
19.在所述体元数据集中,将所有体元的状态均设置为未处理,选取任一体元作为种
子体元,将所述种子体元的状态设置为已处理并进行标号;
20.搜索所述种子体元的邻域,将邻域中数值为1的体元压入堆栈,标记上和所述种子体元相同的标号,并将压入所述堆栈的体元的状态设置为已处理,从所述堆栈从选取任一体元作为种子体元,重复本步骤,直到堆栈为空;
21.将所述标号 1,重复上述步骤直到所述体元数据集中的所有体元均被标号。
22.进一步地,
23.若所述种子体元的26邻域中,邻域体元的数值均为0,则重新选取种子体元,标号 1。
24.进一步地,所述对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓包括:
25.基于已分割完成的建筑物体元单体的行列值构建第一点集;
26.从所述第一点集中选取任一点p1,搜寻与所述p1距离小于阈值的点,构建第二点集;
27.从所述第二点集中选取任一点p2,通过预设公式计算得到经过所述p和p2且半径的值为所述阈值一半的圆心p3;
28.遍历所述第二点集,得到除所述p1和p2外,其它点到所述p3的距离,若所述其它点到所述p3的距离均大于所述半径,则所述p1和p2均为建筑物轮廓上的点,进行提取;
29.重复上述操作,直到所述第一点集中所有的点均遍历完成,得到建筑物点云轮廓。
30.在本公开的第二方面,提供了一种建筑物点云轮廓提取装置。该装置包括:
31.获取模块,用于获取建筑物激光点云数据;
32.生成模块,用于对所述点云数据进行处理,生成体元数据集;
33.分析模块,用于对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割;
34.处理模块,用于对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓。
35.在本公开的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
36.在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本公开的第一方面的方法。
37.本技术实施例提供的建筑物点云轮廓提取方法,通过获取建筑物激光点云数据;对所述点云数据进行处理,生成体元数据集;对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割;对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓,利用了体元数据中各体元间隐含的邻域关系,从空间几何的角度进行建筑物轮廓提取,提升了建筑物轮廓的提取精度,不仅可以提取简单建筑物的轮廓,还可以提取大型、复杂建筑物的轮廓。
38.应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
39.结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
40.图1示出了根据本公开的实施例的建筑物点云轮廓提取方法的流程图;
41.图2示出了根据本公开的实施例的建筑物点云示意图;
42.图3示出了根据本公开的实施例的建筑物轮廓提取结果示意图;
43.图4示出了根据本公开的实施例的建筑物轮廓叠加示意图;
44.图5示出了根据本公开的实施例的建筑物点云轮廓提取装置的方框图;
45.图6示出了能够实施本公开的实施例的示例性电子设备的方框图。
具体实施方式
46.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
47.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
48.图1示出了根据本公开实施例的建筑物点云轮廓提取方法100的流程图。所述方法100,包括:
49.s110,获取建筑物激光点云数据。
50.在一些实施例中,所述建筑物激光点云数据,通常可通过对原始机载lidar点云数据(原始点云)进行滤波,得到非地面点云,从所述非地面点云中提取得到所述建筑物激光点云。
51.定义所述原始机载lidar点云数据集为:
52.p={p
i
(x
i
,y
i
,z
i
),i=1,
……
,n}
53.其中,所述i表示激光脚点的索引;
54.所述p
i
表示第i个激光脚点的坐标;
55.进一步地,在所述点云数据集p中,点云数据(x
max
,y
max
,z
max
)和(x
mix
,y
mix
,z
mix
)分别代表在所述p中x、y和z的最大、小值。
56.s120,对所述点云数据进行处理,生成体元数据集。
57.在一些实施例中,根据所述点云数据中最大和最小的三维坐标的值,构建轴向包围盒,即,所述包围盒的左下角坐标为(x
mix
,y
mix
,z
mix
),右上角坐标为(x
max
,y
max
,z
max
)。
58.在一些实施例中,根据体元分辨率将将所述轴向包围盒划分为一系列规则的体元,生成体元数据集;所述体元分辨率根据所述原始机载lidar点云数据平均点间距确定。
59.所述体元分辨率的选择决定了后续建筑物提取的精度,若选取的分辨率过小,则会使每个体元都包含激光角点,达不到检索的目的;若选取的分辨率过大,则会出现大量的空白体元,浪费存储空间。
60.在本技术中,通过如下方法进行体元分辨率的选取:
61.定义体元在x、y和z方向上的格网间距分别为d
x
、d
y
和d
z
;点云之间的平均点间距为d;
62.所述d可通过如下公式进行表示:
[0063][0064]
其中,所述s
xy
={(x
i
,y
i
),i=1,
……
,n}表示点云在xy平面上的投影;
[0065]
所述c(
·
)表示点集s
xy
的凸壳;
[0066]
所述a(
·
)表示所述凸壳c的面积。
[0067]
进一步地,通过如下公式定义体元分辨率(d
x
、d
y
,d
z
):
[0068][0069][0070]
其中,所述s
xz
={(x
i
,z
i
),i=1,
……
,n};
[0071]
所述s
yz
={(y
i
,z
i
),i=1,
……
,n},分别表示点云在xz平面和yz平面上的投影。
[0072]
在一些实施例中,建立所述点云数据中的激光点和所述体元之间的索引关系,并根据所述索引关系对所述激光点进行赋值。
[0073]
具体地,用所述体元的行、列、层表示激光点的三维坐标,再根据体元中是否包含激光点对其进行赋值,将包含激光点的体元赋值为1,不包含激光点的体元赋值为0,即,若所述体元数据的行、列、层与激光点的x,y,z坐标重合,则将所述体元赋值为1,反之,赋值为0。
[0074]
进一步度,所述激光点与所述体元的位置关系可通过如下公式进行确定:
[0075][0076][0077][0078]
其中,所述c、r、l分别表示体元的行、列、层。
[0079]
s130,对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割。
[0080]
在一些实施例中,对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割包括:
[0081]
a,将所述体元数据集中的所有体元均设置为未处理状态(标号均为0);
[0082]
b,选取任一未处理体元为种子体元,将所述种子体元的状态设置为已处理并进行标号;
[0083]
c,搜索所述种子体元的邻域(例如6、18、26和/或56邻域等,根据应用场景设定),将邻域中数值为1的体元压入堆栈,标记上和所述种子体元相同的标号,并将压入所述堆栈的体元的状态设置为已处理,从所述堆栈从选取任一体元作为种子体元,重复本步骤,直到
堆栈为空;
[0084]
若在所述种子体元的邻域中,邻域体元的数值均为0,则重新选取种子体元,标号 1,返回步骤b。
[0085]
d,标号 1,重复步骤b和c直到所述体元数据集中的所有体元均被标号(标号均不为0),完成对建筑物体元单体的分割。
[0086]
s140,对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓。
[0087]
在一些实施例中,对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓包括:
[0088]
1)基于已分割完成的建筑物体元的行列值构建第一点集s1;
[0089]
从所述s1中选取任一点p1,搜寻与所述p1距离小于阈值(2α)的点,构建第二点集s2;
[0090]
从所述s2中选取任一点p2,根据如下公式计算经过点p1和p2且半径为α的圆心p3:
[0091][0092]
其中,所述
[0093]
所述
[0094]
2)遍历所述点集s2,计算得到除所述p1和p2外,其它点到所述p3的距离d;
[0095]
若所述其它点到所述p3的距离(d)均大于所述半径α,则所述p1和p2均为建筑物轮廓上的点,进行提取;反之,则不进行提取,停止遍历并执行步骤3)。
[0096]
3)从所述点集s2中选取除所述p2外的任一点,重复执行步骤1)、2),直到点集s2中的所有点均遍历判断完毕。
[0097]
4)从所述点集s1中选取除所述p1外的任一点,重复执行步骤1)、2)、3),直到所述s1中的所有点均遍历判断完毕,即,将所述点集s1中的边缘点提取完毕。
[0098]
下面通过一个具体的实例,对公开的提取效果进行说明:
[0099]
如图2所示,采用isprs commission iii working group iii/3(国际摄影测量与遥感歇会)提供的滤波测试数据,选取了位于vaihingen/enz和stuttgart市中心的3个典型的样本数据;所述样本数据中包含简单、多层以及复杂建筑物。
[0100]
通过本公开的轮廓提取方法,对上述样本数据进行处理,得到如图3所示的建筑物轮廓。
[0101]
可见,通过本公开提供的轮廓提取方法,参考图3和图4,不仅能有效地将简单建筑物点云的轮廓提取出来,还能提取圆形广场、不规则建筑物点云的轮廓,同时适用于凸多边形和凹多边形,且不受建筑物形状和类型的限制,具有非常好的普适性。
[0102]
根据本公开的实施例,实现了以下技术效果:
[0103]
本公开提供的轮廓提取方法,利用了体元数据中各体元间隐含的邻域关系,从空间几何的角度进行建筑物轮廓提取,提升了建筑物轮廓的提取精度,不仅可以提取简单建筑物的轮廓,还可以提取大型、复杂建筑物的轮廓。
[0104]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0105]
以上是关于方法实施例的介绍,以下通过装置实施例,对本公开所述方案进行进一步说明。
[0106]
图5示出了根据本公开的实施例的建筑物点云轮廓提取装置500的方框图。如图5所示,装置500包括:
[0107]
获取模块510,用于获取建筑物激光点云数据;
[0108]
生成模块520,用于对所述点云数据进行处理,生成体元数据集;
[0109]
分析模块530,用于对所述体元数据集进行连通成分分析,根据分析结果对建筑物体元单体进行分割;
[0110]
处理模块540,用于对分割完成的建筑物体元单体进行处理,得到建筑物点云轮廓。
[0111]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0112]
图6示出了可以用来实施本公开的实施例的电子设备600的示意性框图。如图所示,设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的计算机程序指令或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序指令,来执行各种适当的动作和处理。在ram603中,还可以存储设备600操作所需的各种程序和数据。cpu 601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
[0113]
设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0114]
处理单元601执行上文所描述的各个方法和处理,例如方法100。例如,在一些实施例中,方法100可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由cpu 601执行时,可以执行上文描述的方法100的一个或多个步骤。备选地,在其他实施例中,cpu 601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法100。
[0115]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)等等。
[0116]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0117]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0118]
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
[0119]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献