文章信息
- 庞世燕, 刘亚文, 左志奇, 陈正富
- PANG Shiyan, LIU Yawen, ZUO Zhiqi, CHEN Zhengfu
- 结合区域增长法和TIN边缘分割的建筑物立面几何特征提取
- Combination of Region Growing and TIN Edge Segmentation for Extraction of Geometric Features on Building Facades
- 武汉大学学报·信息科学版, 2015, 40(1): 102-106
- Geomatics and Information Science of Wuhan University, 2015, 40(1): 102-106
- http://dx.doi.org/10.13203/j.whugis20130183
-
文章历史
- 收稿日期:2013-05-29
2. 75719部队, 湖北 武汉, 430074;
3. 江苏易图地理信息工程有限公司, 江苏 扬州, 225009
2. Unit 75719, Wuhan 430074, China;
3. Jiangsu Yitu Geographic Information Engineering Co. Ltd., Yanzhou 225009, China
随着街景在城市规划、交通导航、虚拟现实等方面应用需求的不断增长,建筑物立面的快速获取与重建成为城市三维街景中亟待解决的问题,其中,建筑物立面几何特征(墙面、门窗等轮廓)的提取是建筑物立面三维重建的关键步骤,同时也决定了立面三维重建的精度。
常用的建筑物立面几何特征提取方法根据所用数据源的不同可分为基于影像的提取方法和基于点云数据的提取方法。基于影像的提取方法[1]常常会受到影像匹配结果的影响,而基于点云数据的提取方法由于直接从高精度、高密度的三维原始点云中提取建筑物立面几何特征,从而避免了空间点解算过程带来的误差。通常,由地面点云数据到建筑物立面几何特征要经过立面几何特征识别和轮廓提取两个步骤。
建筑物立面的几何结构主要由平面构成,所以立面几何特征的识别主要通过从无序的点云数据中提取平面结构来实现。常用方法[2]有区域增长法[3]、模型匹配法[4]、属性聚类法[5,6]等。区域增长法的关键在于种子点的选取和增长扩充的判断准则。模型匹配法中的典型算法是随机抽样一致性算法(random sample consensus,RANSAC)。RANSAC的主要优点为对噪声不敏感,估计模型参数的鲁棒性较强,能从包含大量局外点的数据集中估计出高精度的模型参数。属性聚类的分割方法对于数据中同质区域的识别效率较高,但处理大量数据的多维属性时,计算效率大大降低。
建筑物立面几何特征轮廓提取的主要方法有Alpha Shape 算法[7]、凸壳算法[8]、基于三角网的轮廓提取算法等[9]。由于遮挡等原因的影响,得到的建筑面点云密度有时会很不均匀,在遮挡区域往往只有很稀疏的点,而 Alpha Shape 算法和凸壳算法比较适用于点云密度均匀的情况。基于三角网的轮廓提取算法是根据构网后的邻近三角形来查找周围点,因此当点云密度不均匀时得到的结果仍比较稳定。
综上所述,目前从点云数据中提取建筑物立面几何特征尚存在一些未能解决的难题,其中,点云数据密度不均及漏洞存在导致提取立面几何特征准确度不高是难点之一。而本文的研究正是采用结合主成分分析(PCA)的区域增长法提取建筑物立面中的平面特征,并采用结合凸壳算法的三角网轮廓提取算法来实现点云密度不均匀情况下建筑物立面平面轮廓边的准确提取。 1 建筑物立面几何特征提取算法
本文算法流程见图 1,建筑物立面几何特征提取的精度关系到后续建筑物立面几何三维重建的精度。
1.1 建筑物立面点云数据提取本文借鉴已有的建筑物点云数据提取研究成果,即通过寻找最优路径的蚁群算法来实现自适应的建筑物立面点云数据提取。该方法可以避免遮挡物与建筑物点云数据分割阈值确定过程中的人工干预,且可以保证提取的建筑物点云数据结果的完整性,具体步骤见文献[10]。在此基础上,本文的重点将集中在建筑物立面几何特征提取部分。 1.2 建筑物立面几何特征提取 1.2.1 利用结合PCA的区域增长法分割结构面
PCA利用点云数据中某一 点P(xi,yi,zi)及其邻域所组成的点集Pk,Pk重心化后为矩阵 M ,通过计算 M T M 矩阵的正交特征向量和大于0的特征值确定该点的维数信息。本文主要目的在于利用PCA获得二维面状点,具体操作请参见文献[11]。
本文采用结合PCA的区域增长法分割点云数据中的平面。具体步骤为:
1) 对经过置平(置平是指使点云的Z轴垂直于地面,Y轴垂直于立面,X轴平行于立面)的点云数据集中的任一点,给定邻域半径(邻域半径根据经验值设置为0.5 m),根据PCA算法计算其对应的维数,并保留二维面状点。
2) 对二维面状点,根据矢量方向将其划分为属于平行于XZ、YZ及XY轴所在面的点云数据集。
3) 对于每一类点云数据集(如平行于XZ轴所在面),可能存在很多平行的平面,根据距离条件进行区域增长,获得不同的平面点集。
该方法通过PCA算法的预先点集维数分类和方向分类减少了区域增长法的有效处理点集,降低了平面分割的难度,提高了算法的工作效率。 1.2.2 结合凸壳算法的三角网轮廓提取
凸壳是一个计算几何中的概念,对于二维平面上给定的点集,将最外层的点连接起来后,构成一个凸多边形,它是包含点集中所有点的最小凸多边形,这个凸多边形称为凸壳(也叫凸包)[8]。
在利用凸壳算法提取平面轮廓时,查找边界点用来确定邻域的K值是关键因素,因为不同的K邻域得到的平面轮廓点不同。对于本文数据,建筑部分被树木遮挡,被遮挡区域的点较其他部分过于稀疏,且分布极不均匀,传统的K邻域查找算法很难满足要求。
本文提出了一种结合凸壳算法的三角网轮廓提取方法,通过结合构建三角网的方法来解决凸壳算法中的邻域查找问题,以此提高轮廓提取的速度和稳定性。具体步骤如下:
1) 构建三角网,并对每个点建立索引,索引内容为该点周围所有三角形的ID号。
2) 选定初始边缘点。寻找所有点集中最小 X值对应的点,认为是第一个边缘点,并建立该点索引。如图 2所示,点p0为第一边缘点,p1、p2、p3、p4、p5为其周围三角形的顶点。
3) 确定p0下一边缘点。由于p1和p5只与一个三角形连接,是p0下一个边缘点的候选点,以正北方向(或前一边缘)作为起始边,计算起始边pp0与p0p5及p0p1的夹角α和β,取夹角较小的点作为下一点边缘点,如图 2所示下一边缘点为p5。
4) 重复步骤3),直到遍历出所有边缘点。 2 实验与分析
实验数据为两组Riegl VZ-400 地面激光扫描仪获得的街景建筑物,其中第一组数据如图 3(a)所示,点云总数为1 400 059个,采样间隔为0.046°,建筑物主立面表现为与地面垂直,立面中央是伸出的外阳台,楼前存在大量的树木。第二组点云数据如图 4(a)所示,点云总数是1 836 734,采样间隔是0.057°,建筑物各主立面垂直于地面,建筑物立面前有大量遮挡物,包括树,车棚等。图 3、4中,对点云数据按高程进行了分色显示,紫色代表高程最低,红色值代表高程最高。
结合PCA算法和区域增长法进行建筑物立面结构面的分割(见图 5),区域增长的距离阈值为0.5 m。 图 5(a)中提取出了一个建筑物主立面(绿色)和三个阳台面(分别用红色、黄色和蓝色表示)。 图 5(b)中提取出了平行X轴的2个主立面(用黄色和湖蓝色表示)和3个平行Y轴的平面(分别用蓝色、绿色和红色表示)。
保留主立面后一定距离的点为窗户层所在平面,平面中窗户(门)的距离聚类阈值为1 m,轮廓通过其最小外接矩形提取,灰色矩形框为获得的窗户(门)轮廓,如图 6所示。
图 7为结合凸壳算法的三角轮廓提取结果,红色线为获取的平面矢量轮廓。
从整个算法的提取结果来看,数据的遮挡是影响提取结果的主要因素之一。如图 7(a)中白色箭头所示,由于车辆遮挡导致立面左下区域点云数据丢失,相应的左下边缘提取也不正确。图 7(b)中白色箭头所示,由于自行车车棚的遮挡,左下角的窗户分割成2个矩形。
错误数据点的存在同样会影响算法提取的结果。如图 7(b)中箭头所示,当两个窗户间存在错误点云数据时(主要是由于激光穿过窗户玻璃,返回位于其后面的数据),区域增长算法无法区分错误点的存在,导致两个窗户相连。
为进一步验证本文算法的有效性,将本文算法结果与利用PolyWorks商业软件提取的建筑物几何特征的结果进行对比。图 8中,红色线条表示为本文算法自动提取的立面轮廓、窗户和阳台结果,绿色线条表示人工利用PolyWorks软件提取结果。总体上,本文算法和PolyWorks提取的结果基本一致,但窗户和门轮廓的提取,本文算法明显要有效得多。如图 8(a)、(b)中白色椭圆所示,对于点云过于稀疏或部分遮挡区域,本文方法依然能提取出立面几何特征轮廓。
从上述实验结果的分析可以看出,当存在树木、行人等遮挡情况时,本文方法对建筑物立面几何特征的提取具有较好的适应性,立面轮廓、阳台和门窗提取的准确性和完整性都比较理想。但本文算法还存在需要改进和完善的地方,如对于遮挡或噪声导致的漏提取(图 8(b)中矩形区域1所示)或错误提取(图 8(b)中矩形区域2、3所示),应考虑结合建筑物立面结构知识(相似、重复性等)来进行更正和恢复。 3 结 语
本文在已实现建筑物立面点云数据提取的前提下,结合PCA空间点分类和区域增长法进行点云数据平面分割,并采用结合凸壳算法的三角网轮廓查找方法,实现了点云数据密度不均匀条件下建筑物立面几何特征轮廓的提取。
实验结果表明,本文方法可以将复杂场景下的建筑立面几何特征快速提取出来,包含建筑物立面外轮廓、外阳台和门窗,但提取结果的准确性与点云数据本身的质量有很大关系,尤其是点云数据的遮挡程度。今后的研究将集中在几个方面:建筑立面几何特征提取准确性的评价,点云数据漏洞补偿及消除其对立面特征提取的影响等。
[1] | Li Chang, Liu Yawen, Hu Min, et al. Study on Street Elevation 3D Reconstruction-Oriented Straight Line Matching for Close-Range Images[J]. Geomatics and Information Science of Wuhan University,2010,35(12):1 461-1 465(李畅,刘亚文,胡敏,等. 面向街景立面三维重建的近景影像直线匹配方法研究[J].武汉大学学报·信息科学版,2010, 35(12):1 461-1 465) |
[2] | Lari Z, Habib A F, Kwak E. An Adaptive Approach for Segmentation of 3D Laser Point Cloud[J]. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sociences, 2011, 38(1):1-6 |
[3] | Rabbani T, van den Heuvel F A, Vosselman G. Segmentation of Point Clouds Using Smoothness Constraint[J]. International Archives of Photogrammetry, Remote Sensing and Spatial Information Sciences, 2006, 36(5):248-253 |
[4] | Li Na, Ma Yiwei,Yang Yang, et al. Segmentation of Building Facade Point Clouds Using RANSAC[J].Survey Science, 2011,36(5):144-145(李娜,马一薇,杨洋,等. 利用RANSAC 的建筑物立面点云分割[J].测绘科学,2011,36(5):144-145) |
[5] | Filin S, Pfeifer N. Segmentation of Airborne Laser Scanning Data Using a Slope Adaptive Neighbourhood[J].ISPRS Journal of Photogrammetry and Remote Sensing, 2006, 60(2):71-80 |
[6] | Biosca J, Lerma J. Unsupervised Robust Planar Segmentation of Terrestrial Laser Scanner Point Clouds Based on Fuzzy Clustering Methods[J].ISPRS Journal of Photogrammetry and Remote Sensing, 2008, 63(1):84-98 |
[7] | Shen Wei, Li Jing, Chen Yunhao, et al. Algorithms Study of Building Boundary Extraction and Normalization Based on LIDAR Data[J]. Journal of Remote Sensing, 2008, 12(5): 692-698(沈蔚,李京,陈云浩,等. 基于LIDAR数据的建筑轮廓线提取及规则化算法研究[J].遥感学报, 2008,12(5):692-698) |
[8] | Sampath A, Shan J. Building Boundary Tracing and Regularization from Airborne LiDAR Point Clouds[J].Photogrammetric Engineering & Remote Sensing, 2007, 7(73):805-812 |
[9] | Xu Jingzhong, Yao Fang. Research on Extracting Multi-layer Roof Boundary from LiDAR Point Clouds[J]. Computer Engineering and Applications, 2010,46(32):141-143(徐景中,姚芳. Lidar点云中多层屋顶轮廓线提取方法研究[J].计算机工程与应用,2010,46(32):141-143) |
[10] | Liu Yawen, Pang Shiyan, Zuo Zhiqi. Ant Colony Algorithm for Building Facade Points Extraction [J].Geomatics and Information Science of Wuhan University,2012,37(11): 1 307-1 310 (刘亚文,庞世燕,左志奇.蚁群算法的建筑立面点云数据提取[J].武汉大学学报·信息科学版,2012, 37(11): 1 307-1 310) |
[11] | Demantke J, Mallet C, David N, et al. Dimensionality Based Scale Selection in 3D LIDAR Point Clouds[C]. The ISPRS Workshop on Laser Scanning Calgary, Canada, 2011 |
[12] | Jiang Jingjue. LiDAR Data Representation and Classification Based on Data Set[D]. Wuhan : Wuhan University, 2006(蒋晶钰. 数据基于点集的表示与分类[D]. 武汉:武汉大学, 2006) |
[13] | Martinez J, Medina A S, Arias P, et al. Automatic Processing of Terrestrial Laser Scanning Data of Building Facades[J].Automation in Construction, 2012, 22(3):298-305 |
[14] | Pu S, Vosselman G. Extracting Windows from Terrestrial Laser Scanning[J]. International Archives of Photogrammetry,Remote Sensing and Spatial Information Sciences, 2007, 36(3):320-325 |
[15] | Pu S, Vosselman G. Knowledge Based Reconstruction of Building Models from Terrestrial Laser Scanning Data[J].ISPRS Journal of Photogrammetry and Remote Sensing, 2009, 64(6):575-584 |