基于区域生长算法的复杂建筑物屋顶点云分割
1.
2.
3.
Point cloud segmentation on the roof of complicated building based on the algorithm of region growing
1.
2.
3.
通讯作者: 王 雷(1994-),男,硕士研究生,研究方向为点云数据处理。Email:794007279@qq.com。
责任编辑: 张仙
收稿日期: 2018-10-8 修回日期: 2019-01-4 网络出版日期: 2019-12-15
基金资助: |
|
Received: 2018-10-8 Revised: 2019-01-4 Online: 2019-12-15
作者简介 About authors
朱军桃(1968-),男,教授,研究方向为工程测量与测绘数据处理。Email:glzjt@163.com。 。
精确分割建筑物屋顶激光雷达(light detection and ranging,LiDAR)点云是三维模型重建的重要环节。针对现有算法分割复杂建筑物屋顶面结构精度差的问题,提出一种以三角面为基元的基于区域生长算法的复杂建筑物屋顶点云分割方法。首先,构建Delaunay三角网建立各激光点间相互关系,计算各三角面法向量,利用同一建筑物面片上各三角面法向量基本一致的特征对点云进行初步划分; 然后,由于点云散乱性及误差影响产生诸多散乱三角面,对各构成散乱三角面的点进行剖分,并基于具有良好鲁棒性的随机采样一致性算法(random sample consensus,RANSAC),结合Alpha Shape算法获取建筑物各面片边界,合并过度分割的面片及孤立点,完成建筑物屋顶点云分割。实验结果表明,该方法对复杂建筑物屋顶点云分割的完整性、正确性及质量均较为理想。
关键词:
Segmenting light detection and ranging (LiDAR) point cloud of building accurately is the important section in the reconstruction of three-dimensional model. In view of the complex roof structure of complex buildings and poor segmentation accuracy of the existing algorithms, the authors put forward a kind of algorithm of region growing with the basic element of triangles to segment the point cloud of the building. First of all, Delaunay triangulation network is constructed, correlation is set up among laser points, unit normal vectors of triangles are calculated, initial partition is conducted on point cloud with the character that vectors in unit vector approach of triangles on the same plane of the building are basically consistent; then, because dispersion and deviation of point cloud could produce many disheveled triangles, dissection is conducted on points that are composed of disheveled triangles; based on good robustness of random sample consensus (RANSAC) algorithm, boundaries of planes of the building combining are obtained with Alpha Shape algorithm, plane and isolated point are combined in over-segmentation. The test result shows that the point cloud segmentation on the roof of the building is ideal in integrity, accuracy and quality with the method put forward in this paper.
Keywords:
本文引用格式
朱军桃, 王雷, 赵传, 郑旭东.
ZHU Juntao, WANG Lei, ZHAO Chuan, ZHENG Xudong.
0 引言
随着机载激光雷达(light detection and ranging, LiDAR)测量技术的不断突破,其应用前景广为人们关注。利用高密度的LiDAR数据构建3D城市模型相比于影像匹配更加容易,而对城市中的建筑物进行模型重建无疑需要对复杂的建筑物屋顶进行精细化分割。由于复杂建筑物的屋顶存在较多大小不一的面片,其点云分布散乱且存在噪声等问题,使现有算法在精确分割建筑物屋顶面时仍面临着严峻挑战。
对建筑物屋顶点云进行分割方法主要包括3类: ①基于模型匹配的算法,由于实际中建筑物往往包含多个顶面,随机采样一致性算法(random sample consensus,RANSAC) [1,2,3]以迭代的方式从含有大量局外点中获得最优的模型参数从而受到广泛关注,但局外点所占比例往往需要以很高迭代次数才能获得最优模型参数,导致时间成本巨大,不利于对复杂建筑物的屋顶面点云分割; ②基于特征聚类的算法[4,5],此类方法通过采样点邻域计算出采样点微分几何属性,几何属性的估算受采样点邻域大小以及测量误差影响,同时其阈值敏感性高,若设置不当就会造成建筑物屋顶面分割效果不理想甚至分割失败; ③基于区域生长算法[6,7,8]的算法,区域生长算法可简单描述为从某种子点开始,以种子点与邻域内点具有某种一致关系划分点集,其中以法向量及曲率划分方式居多,同特征聚类方法一样,由于单个激光点不存在矢量属性,往往以种子点邻域内激光点采用拟合或计算特征值等方式近似表达种子点的法向量或曲率信息等,而邻域的选取与测量误差会直接影响所表征点的矢量信息,种子点的生长过程中邻近点的搜索方式同样可能影响生长结果,此类问题导致了区域生长算法在分割建筑物屋顶点云时易产生错误分割,且各屋顶面交界处采样点难以准确分割。
针对上述区域生长算法中存在激光点矢量信息需要通过邻域估算,生长过程中邻域点选取不当的问题,本文提出一种以三角面为基元的基于区域生长算法的复杂建筑物屋顶点云分割算法。通过构建Delaunay三角网的方式,将屋顶面点云划分至不规则三角网内,以区域生长算法划分各三角面,避免了各激光点逐点进行矢量估算和邻域点选取问题; 然后合并各过度划分的面片集合及孤立点,完成对建筑物屋顶面点云的精确分割。
1 研究方法
1.1 面片划分
图1
最终同属相同屋顶面片内的三角面会被划分到同一面片集合中。但测量误差、点云散乱性分布等问题会造成诸多法向量异常的三角面。图2为一人字形屋顶,同一面片集合中出现了异常三角面,且在2个屋顶面交界处数量明显增加。为解决此类过度划分问题,需要对面片集合进行合并。
图2
1.2 面片合并
依据以三角面为基元的方式,可以部分解决屋顶交界处法向量分布散乱问题。2个屋顶面相交处三角面的3个激光点分别属于不同平面,由于激光点以相邻共边三角形为种子面的邻近面,孤立的三角面各边被不同面片集合所剖分,即将异常三角面上各点划分至不同面片集合,但仍存在未被划分的点与过度分割的面片集合。考虑到测量误差及生长角度阈值α所造成的影响,为更精确获得各面片平面方程,即
式中A,B,C,D为系数。
采用RANSAC算法计算各面片集合的平面方程。因已经过初步划分的点云极少含有局外点,即少量的迭代次数就能得到最优平面方程,减少时间成本。
在不考虑房屋附属的情况下,认为激光点数量越少的集合越有可能为过度分割的平面,其中具有较大误差点可能性越高,因此本文采取以下策略解决过度分割问题:
1)边界获取。采用Alpha Shape算法获得各集合非凸边缘,具体方法见文献[10]。
2)孤立点合并。将构成平面最少激光点数小于3的点集作为孤立点处理,计算孤立点P到各Alpha Shape边缘距离,若P在Alpha Shape边缘内,距离为0; 若P至最近Alpha Shape边缘距离小于阈值Б,则计算点到平面距离L,即
设定阈值δ,若L≤δ,则将P合并至此面片集合,并更新此集合Alpha Shape边缘; 若L>δ,则将P作为噪声点剔除。
3)面片合并。统计各面片集合激光点数量,由大到小排列,并认为激光点数量最多的集合为标准平面。计算标准面至各Alpha Shape边缘距离,若平面在Alpha Shape边缘内,距离为0; 若距离小于阈值Б,则计算平面夹角,即
对于平面夹角阈值,若设置太大,则容易造成某些夹角小的面片过度合并; 若设置太小,则容易造成过度剖分的面片难以融合。因此本文依据点集数量对阈值进行改进,计算公式为
式中:
2 实验
2.1 实验数据与参数
本文实验数据来自国际摄影测量与遥感学会(International Society for Photogrammetry and Remote Sensing,ISPRS)提供的德国Vaihingen地区的机载LiDAR点云,点云平均密度约4个/m2,并使用由Yang等[11]分类的建筑物点云数据,使用CloudCompare软件剔除分类错误的激光点。依据文献[4],法向量角度阈值α选取范围一般为5°~10°,本文选取5°; 孤立点与平面到各Alpha Shape边界距离阈值Б应大于点云平均距离,本文选取2倍点云平均距离,为1 m; 为保证孤立点与面片正确合并,孤立点到各平面距离阈值δ选取应小于点云平均距离,本文取1/2点云平均距离,设置为0.25 m; 2个平面夹角阈值ρ应大于α,本文取10°。
2.2 算法对比
通过对比RANSAC算法与区域生长算法分割的建筑物点云,定量评价本文方法对建筑点云的分割效果。
由图3可以看出,RANSAC算法分割建筑物点云,仅追求数学上的一致性,导致平面过度分割,如图3(c)中框选区域; 以区域生长算法分割建筑点云,在处理屋脊时处效果欠佳; 而以本文方法所获得结果均避免了上述问题。但本文方法在图3(b)中框选处,将本应处于同一平面上的点簇划分成2个平面; 由图3(c)和(d)可知,RANSAC算法同样发生此问题,而区域生长算法在此处将大量屋顶面过度融合。在对建筑物2的划分中,图3(f)中各屋檐处存在狭窄平面,最终被划分为主屋顶面的一部分。由此发现,本文处理狭长区域时,由于三角面法向量敏感性,容易导致三角面的关联被异常面截断甚至难以构成三角面,导致狭长的点簇被划分为孤立点而被划分到其他屋顶面上。图3(k)框选处,存在较多误差较大的激光点,RANSAC算法在此处分割出错误平面; 图3(l)中此处错分现象更为严重; 而图3(j)采用本文方法未受到误差较大的激光点干扰,正确分割了此平面,说明本文方法较RNASAC算法与区域生长算法的抗噪能力更强。
图3
图3
不同算法对建筑物分割效果对比
Fig.3
Comparison between different algorithms on segmentation of buildings
为更加准确地评价本文方法精度,采取文献[12]的评价准则分别对本文方法、RANSAC算法与区域生长算法的分割完整率C、正确率A及分割质量Q进行评估。计算公式分别为
式中: TP为正确分割激光点数量; FN为漏提激光点数量; FP为错误分割激光点数量。
表1 算法精度对比
Tab.1
建筑物 | 本文方法 | RANSAC算法 | 区域生长算法 | ||||||
---|---|---|---|---|---|---|---|---|---|
C | A | Q | C | A | Q | C | A | Q | |
1 | 98.90 | 95.85 | 94.85 | 95.30 | 86.73 | 83.18 | 71.50 | 80.24 | 60.79 |
2 | 97.58 | 82.40 | 80.72 | 98.06 | 92.45 | 90.79 | 89.25 | 82.11 | 74.72 |
3 | 98.05 | 99.01 | 97.10 | 94.67 | 98.83 | 93.55 | 71.82 | 88.13 | 65.48 |
4 | 97.17 | 97.89 | 95.18 | 96.29 | 96.16 | 92.73 | 78.53 | 98.15 | 77.40 |
表2 建筑物屋顶面分割数量对比
Tab.2
建筑物 | 实际顶 面数量 | 本文方法 分割数量 | RANSAC算 法分割数量 | 区域生长算 法分割数量 |
---|---|---|---|---|
1 | 20 | 22 | 23 | 14 |
2 | 11 | 9 | 12 | 10 |
3 | 8 | 7 | 7 | 6 |
4 | 2 | 2 | 2 | 2 |
3 结论
本文提出了一种以三角面为基元的基于区域生长算法的复杂建筑物屋顶点云分割算法,以构建Delaunay三角网方式构建建筑物点云之间关系,并以各三角面片单位法向量作为判别条件,依据共边三角面单位法向量的相似性对建筑物屋顶点云进行分割。
1)本文方法避免了对各激光点进行法向量估算,且无需建立激光点间的邻近关系,一定程度上简化了传统区域生长算法步骤。
2)虽然本文在屋顶面交界处同区域生长算法一样出现了法向量异常的三角面,但以三角面为基元的分割方式使法向量异常三角面被其邻近面片所剖分,部分地解决了屋顶交界处采样点异常问题。
3)对于仍然存在的一部分孤立点与过度分割的面片,通过RANSAC算法,快速获取各平面方程系数,结合Alpha Shape算法判断孤立点及各平面邻近关系,精确合并了孤立点与过度分割面片。比较于RANSAC算法与传统的区域生长算法,本文方法所获取结果在分割精度与屋顶面分割数量上均更为理想。
4)本文方法不足之处在于,以三角面为基元的分割方式对于狭长的建筑物屋顶面分割效果不理想。该问题将在今后学习研究中完善解决。
参考文献
Urban building roof segmentation from airborne LiDAR point clouds
[J].
Random sample consensus:A paradigm for model fitting with applications to image analysis and automated cartography
[J].
顾及建筑物屋顶结构的改进RANSAC点云分割算法
[J].
An improved RANSAC algorithm for building point clouds segmentation in consideration of roof structure
[J].
基于法向量密度聚类的LiDAR点云屋顶面提取
[J].
Roof extract using LiDAR point clouds based on normal vector density-based clustering
[J].
一种利用点云邻域信息的建筑物屋顶面高精度自动提取方法
[J].
Accurate and automatic building roof extraction using neighborhood information of point clouds
[J].
基于改进的区域生长三维点云分割
[J].
Three-dimensional point cloud segmentation algorithm based on improved region growing
[J].
机载LiDAR数据建筑物顶面点云分割方法研究
[J].
Building top segmentation with airborne LiDAR point cloud data
[J].
Segmentation of point clouds using smoothness constraint
[C]//
一种新的点云数据特征骨架提取方法
[J].<p><font face="宋体">为解决点云数据的线骨架提取问题,为点云数据的后续几何处理的奠定基础,提出了一种新的点云数据骨架提取方法</font><span lang="EN-US">.</span><span style="font-family: 宋体">通过对点云数据的空间层次剖分后建立其简化模型,可有效地避免噪声点对骨架的干扰;根据离散</span><span lang="EN-US">Morse</span><span style="font-family: 宋体">理论,从简化模型中提取主要的特征点</span><span lang="EN-US">,</span><span style="font-family: 宋体">用测地线连接这些主要特征点可得到模型的初步骨架</span><span lang="EN-US">.</span><span style="font-family: 宋体">采用可见反力场方法将初步骨架内推至模型内部,对内推后的骨架光顺及聚类后形成最终骨架</span><span lang="EN-US">.</span><span style="font-family: 宋体">该方法能够直接处理带噪声数据的大规模点云数据,所形成的骨架连续</span><span lang="EN-US">.</span></p>
A new method for extracting feature skeleton from point cloud
[J].
On the shape of a set of points in the plane
[J].
A convolutional neural network-based 3D semantic labeling method for ALS point clouds
[J].
An automatic and threshold-free performance evaluation system for building extraction techniques from airborne LiDAR data
[J].
/
〈 |
|
〉 |
