基于投影变换的窗户提取方法
2019-05-24汪晓楚梁栋栋吴旭
汪晓楚 梁栋栋 吴旭
摘要:现代建筑物融合了越来越多的曲面元素,提高了窗户等细节特征的提取难度。本文提出了一种基于投影变换的曲面窗户的提取方法,本方法首先对点云曲面进行旋转变换和距离平移以选取简单的投影平面,将三维点云投影为平面点云,再利用alpha shapes算法提取点云边界点后,将边界点投影逆变换为曲面点云,最后基于特征提取方法进行分类进而提取出窗户边界点。本文以安徽师范大学花津校区图书馆圆形报告厅为例进行算法验证,证实了该算法的有效性。提出了一种基于投影变换的窗户提取算法,实现了曲面点云的窗户提取。
关键词:点云曲面;投影变换;平面点云;Alpha shapes算法;窗户提取
中图分类号:P232 文献标识码:A 文章编号:1009-3044(2019)04-0257-04
Abstract: Modern buildings integrate more and more cambered elements, which make the extraction of windows and other features more difficult. Therefore, this paper proposes a method of cambered window extraction based on projection transformation. First, the point cloud surface is transformed by rotation and distance translation to select a simpler projection plane, and the 3D point cloud is projected as a planar point cloud. Then, after that the alpha shapes algorithm extracts the boundary points of the point cloud, the boundary points are inversely projected into the cambered point cloud. Finally, it classifies and extracts the window boundary points based on the method of feature extraction. In this paper, we use the circular auditorium of Huajin Campus Library of Anhui Normal University as an example to test the algorithm, which proves the validity of the algorithm. A window extraction algorithm based on projection transformation is proposed, which realizes the window extraction of point cloud surface.
Key words: Point cloud surface; Projection transformation; Planar point cloud; Alpha shapes algorithm; Window extraction
建筑物三维可视化是“智慧城市”建设中的热点。随着三维激光扫描技术的发展,获取高精度的建筑物立面及局部细节信息(如窗户、门框等)成为可能,与以航拍为代表的其他方式获取的数据融合已经成为获取建筑物的几何数据和纹理信息的快速有效手段。
近年来,国内外学者基于三维激光点云数据提取建筑物几何特征的研究[1-5]已经能够很好地对建筑物的外部轮廓进行提取。但是,对于建筑物中窗户这种更高层次的细节特征[6],提取难度大、往往提取效果不佳。究其原因,在于利用激光扫描仪扫描建筑物时,窗户玻璃对激光的透射率强、反射率低,扫描仪将接收到很少的由窗户反射回来的激光甚至没有,导致窗户的三维点云数据缺失,使得在没有人机交互的情况下很难恢复可靠真实的窗户轮廓和位置[7]。但是仍有一些学者致力于从激光点云数据中提取窗户信息。Haider Ali[8]以窗户的光学影像信息为辅助,利用形态学方法分割点云,以等值线分析检测窗户的位置和形状,从而对窗户进行提取。Pu S.和Vosselman G.[9]通过建立不规则三角网(TIN),根据每个点对应的三角形个数来提取边界点,再利用不同边界点所表现的不同特征来区分窗户边界点、门或者屋顶边界点等。文献[10]提出了格网化的窗户识别方法。
目前已知研究都是提取矩形建筑物平面上的窗户,对存在于曲面建筑物上的窗户提取的相关研究较少。越来越多的现代建筑设计不再呈现出传统的矩形形态,更多地融合了曲面元素,使造型也越来越丰富。建筑物造型的多样化,在一定程度上增加了窗户等建筑物细节特征提取的难度。基于此,本文提出一种基于点云曲面的窗户提取算法。曲面相对于平面而言,几何特征复杂,窗户提取难度较大。为简化问题,本文通过对建筑物曲面点云进行旋转投影,然后利用alpha shapes算法对投影后的平面点云提取边界点,再根据窗户特征对点云进行分类,从而提取出窗户边界点。
1 点云投影变换
平面相较于空间曲面,进行边界提取操作更简单,已有的Alpha shapes算法研究均应用于平面的边界提取[11-13]。对于建筑物曲面边界点的提取,本文考虑先将点云曲面投影为平面,对平面点云进行边界提取,再通过投影逆变换,得到曲面边界点。
在对空间点云进行平面转换过程中,大都采用生成深度图像的方法。直接将空间曲面点云转换成深度图像可能会造成画面扭曲、几何失真以及信息丢失的现象。这是由于深度图像是以扫描仪中心为观察点,且是基于球面投影的缘故[7]。在对曲面建筑物进行窗户提取时,若深度图像与原点云的形状差距很大,不仅使得深度图像提取窗户变得困难,窗户信息还原到原点云上的难度也会增加。显然,这样的深度图像不能满足提取建筑物细节如窗户的要求。因此,本文选择用投影变换的方法代替生成深度图像,将三维空间点云经过一系列旋转和平移,投影到某一特定的平面上,這样每个空间点云在该平面上便有一个与之对应的二维平面投影点。
1.1 旋转变换与距离平移
为减少投影平面的选取难度,需先对整个点云做相应的角度旋转和平移操作。三维空间中的旋转变换较二维空间中的旋转变换复杂,除了需要指定旋转角外,还需指定旋转轴。点绕某个旋转轴旋转,则实际上只在坐标轴的垂直平面上作二维旋转,此时用二维旋转公式就可以直接推出三维旋转变换矩阵。因此本文规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看是逆时针方向。本文以z轴(如图1所示),为例采用4*4矩阵(公式1)来表示点云的坐标变换,相对于3*3矩阵,该矩阵不仅可以表示点云的旋转变换,还包含了点云沿着相应方向做的距离平移。
由平面方程一般式中系数取值的特殊情况,还可以得到特殊位置的三种投影平面情况:①若D=0,表示平面过原点。②若A、B、C中有一个为零,表示平面平行于相应的坐标轴,如A=0,表示平面平行于x轴;若同时 D=0,则平面过相应的坐标轴。③若A、B、C中有两个为零,表示平面平行于相应的坐标面,如A=0且B=0 表示平面平行于xoy面;若同时 D=0,则平面与相应的坐标面重合。在上述情况中,最简单的投影面就是坐标面。
通过对点云进行一定角度的旋转和合适距离的平移,可直接将坐标面作为投影面,减少了投影面的选取难度,继而通过投影公式,求出投影后点的坐标。
2 窗户边界点提取算法
Alpha shapes 算法最早由 Edelsbrunner等[14]提出。Alpha shapes 算法是一种确定性算法,有着严格的数学定义,具有完善的理论和较高的提取效率,能够处理较复杂的建筑物轮廓提取问题,使用该算法提取的任意一个有限点集 S的形状是确定的。用户还可以通过调整算法的唯一参数 α 来控制点集形状S的精细程度。鉴于Alpha shapes 算法的优良性能,国内外不少学者已经利用 Alpha shapes算法从机载激光点云数据提取建筑物外部轮廓。
本文提取窗户边界点分为两个步骤:首先是利用alpha shapes算法提取点云的所有边界点,再基于窗户位于曲面内部等特征来区分窗户边界点和其他轮廓边界点。
2.1 Alpha shapes算法
本文所要提取的窗户属于点集内部边界,凸包(convex hull)算法求取的是覆盖所有点的凸多边形,只是点集的外部边界,并不能解决此类问题,而alpha shapes算法能够满足。Alpha shapes算法是利用某些特征点来刻画点集直观轮廓的一种算法,利用Alpha shapes算法可以在离散的点云数据中进行几何外形的重建。Alpha shapes是在凸包基础上发展而来的,但它增加了一个可以设定的参数α,参数α使得alpha shapes重建形状的过程中不会像凸包一样选择相距过远的顶点,它的取值会决定alpha shapes的精细程度,参数α若趋于无穷大,则这个alpha shapes会无限接近凸包;而α取小了,则alpha shapes会倾向于在一定位置凹陷进去,以更加贴合点集;α趋于0的时候,则点集的每个点都是边界点。因此,选择合理的α值,才能够提取出符合点集形状的边界。
Alpha shapes算法的整个求解过程如下:首先,在点集S中任选两点P1(x1,y1)、P2(x2,y2),以α为半径作圆,设圆心为P3,坐标为 (x3,y3),该圆经过点P1、P2,利用距离交会法[15](见公式3)可以求得圆心P3的坐标(如图3所示),进一步可求得点集S内的其他点到圆心P3距离,若距离大于α,即其他点不在该圆内,则P1、P2即为该点集S的边界点。以此类推,求得点集S的所有边界点,图3为alpha shapes提取点集边界示意图。
3 实验结果
3.1 数据来源及预处理
本次实验的点云数据为安徽师范大学花津校区图书馆圆形报告厅的曲面部分(如图4),点云数据通过日本拓普康公司生产的型号为GLS2000三维激光扫描仪实地扫描获取。
将获取的点云数据导入Topcon ScanMaster点云处理软件,对不同测站获取的扫描数据进行拼接。激光扫描仪获取的点云数据的范围较广,测量时会将待测区周围地物一同获取,导致数据冗余。为了减少不必要的点云对实验造成的干扰,要对点云进行去噪处理,即去除点云数据中对实验数据造成影响的点云,选出所需的实验数据。由于本次研究使用的数据量较小,因此本文通过采用Geomagic Studio软件手动删除噪声点来完成点云的去噪过程。
本次研究涉及边界点提取的所有程序的编码和调试都是基于VS2010软件开发平台,用C++编程语言完成的。
3.2 实验过程
经过点云拼接及去噪等预处理过程后,数据现有42062个激光点(如图5(a)),窗户轮廓清晰可见。至此,便可对点云进行窗户提取,提取的具体过程如下:
首先,對点云进行一些旋转和平移操作,但由于建筑物都是垂直于地面,即点云数据构成的曲面垂直于xoy平面,所以只需对点云绕z轴旋转,并将其整体平移到正半轴位置。
然后,将三维空间点云转换成平面点云。采用深度图像(如图5(b))的转换方法后,不仅图像形状发生变形,点云数量也大大减少,只剩下90个激光点,与原点云差距很大,故选用投影变换的方法将三维点云转化成平面点云,由于旋转变换后改变了点云的视角,这也方便了点云的投影面选择。本文以平面yoz作为投影面,投影变换后的平面点云结果如图5(c)所示,与深度图像(图5(b))相比,完整保留了曲面的整体细节特征。
接着,对平面点云提取边界点,图5(d)中的红色部分即为利用alpha shapes算法,且经过多次实验决定采用参数α=0.09后得到的点云边界点提取结果。此时提取的边界点依然是投影平面上的点,需将它们投影逆变换回原曲面上,利用公式2中的相关关系进行转换,结果如图5(e)所示。图5(f)为基于特征提取后窗户边界点的最终结果。
4 结束语
本文提出一种从点云曲面上提取窗户边界点的算法,该算法是在alpha shapes算法提取平面边界点的基础上,在提取前后分别进行了投影和投影逆变换操作,从而获得曲面的边界点云,并进一步基于特征提取方法将窗户边界点提取出来。该算法主要有以下优点:
(1) 虽然该算法主要是为了提取曲面上的窗户点云,但是对于平面窗户点云的提取依然适用。
(2) 本文采用投影的方法代替深度图像生成平面点云,不仅算法逻辑简单,便于理解,而且能较好地保留点云的完整性,获得较高的几何精度。
(3) 本文采用alpha shapes算法提取边界点,相比于本文中提到的其他提取窗户的算法,因为参数α取值的灵活性,可以通过不断调整其值,以得到最接近点云形状的边界点。
采用實测的地面三维激光点云数据进行实验,验证了本文算法的有效性。在点云采集较好的情况下,窗户的提取正确率较高。在点云去噪环节中,由于本文的数据量较小,采用的是手动删除噪声点的方法,对于大范围建筑物群的自动去噪,本文作者已进行了相关研究,由于不是本文的重点,故没有具体介绍。本算法仍存在不足之处,比如当窗户点云缺失严重时,可能提取的效果跟实际有一些差别;本文的算法只是提取点云曲面的内部边界,针对门和窗还不能具体区分,这也正是下一步的研究方向。
参考文献:
[1] 李云帆, 谭德宝, 高广,等. 双阈值Alpha Shapes算法提取点云建筑物轮廓研究[J]. 长江科学院院报, 2016, (11): 1-4.
[2] 秦家鑫, 万幼川,何培培,等. 一种建筑物点云轮廓线的自动提取方法[J]. 遥感信息, 2015(4): 3-7+13.
[3] 程效军,方芳.基于形态学的散乱点云轮廓特征线提取[J].同济大学学报(自然科学版),2014(11):1738-1743.
[4] 蔡湛.机载LiDAR点云数据建筑物检测和屋顶轮廓线提取算法研究[D].辽宁工程技术大学,2014.
[5] 蔡湛,李如仁,李新科,吴华意.一种基于激光点云数据的房屋轮廓线提取方法[J].地理与地理信息科学,2013(5): 17-21+25.
[6] 杨洋,马一薇,杨靖宇.基于车载激光扫描数据的窗户提取与重建技术[J]. 海洋测绘, 2010, 03: 48-51.
[7] 贾凯华,李和志,吴泽敏.一种新的窗户特征提取方法研究[J]. 测绘工程, 2016, 10: 6-68. [8]Haider Ali, Basheer Ahmed. Robust Window Detection from 3D Laser Scanner Data[J]. Congress on Image and Signal Processing. IEEE, Computer Society.
[9] Pu S., Vosselman G., Extracting windows from terrestrial laser scanning, International Archives of Photogrammetry[J].Remote Sensing and Spatial Information Sciences,2007,6, part 3/W52, Espoo, Finland, Sep. 12-14.
[10] 杨洋.基于车载LIDAR数据的建筑物立面重建技术研究[D].郑州:信息工程大学,2010.
[11] 唐菲菲,阮志敏,张亚利,等.基于机载LiDAR和GIS数据的建筑物变化信息自动检测方法[J].国土资源遥感, 2016, (01): 57-62.
[12] 刘士程.基于LiDAR数据提取建筑物顶面轮廓线方法研究[D]. 西南交通大学, 2012.
[13] 周飞.利用Alpha Shapes算法提取离散点轮廓线[J]. 湖北广播电视大学学报, 2010(2):155-156.
[14] Herbert Edelsbrunner, David G. Kirkpatrick, Raimund Seidel. On the Shape of a Set of Points in the Plane [J]. IEEE Transactions on Information Theory, 1983.
[15] 张宏, 温永宁, 刘爱利,等. 地理信息系统算法基础[M].北京:科学出版社, 2006.
【通联编辑:梁书】