|
|
|

利用三维城市模型自动提取侧视地图中建筑物范围轮廓线的方法

传统二维正视地图难以对空间对象间的垂向关系进行有效表达,无法有效表达建筑物高度和立面纹理信息 [1-3],而基于B/S模式的三维地图在效率等方面具有较大的技术难度,且成本较高[4]。高效直观的侧视地图在网络环境下的大众化应用日益普及[5],典型的侧视地...

作者:朱园媛,朱 庆,张叶廷,彭明军,高 山来源:2014测绘学会|2014年12月28日

传统二维正视地图难以对空间对象间的垂向关系进行有效表达,无法有效表达建筑物高度和立面纹理信息 [1-3],而基于B/S模式的三维地图在效率等方面具有较大的技术难度,且成本较高[4]。高效直观的侧视地图在网络环境下的大众化应用日益普及[5],典型的侧视地图网站如都市和都市圈,百度地图也提供了城市侧视地图功能。侧视地图是固定视角下的三维地图(对三维模型进行投影变换所产生的具有三维视觉效果的二维地图),其本质为栅格地图,无法直接操作单个对象。但作为面向公众服务的地图产品,必须对每个建筑物标注必要的个性化属性信息才更有价值,这就需要在栅格地图上叠加建筑物的范围轮廓矢量线。

侧视地图中建筑物范围轮廓线是地图中建筑物的外边界轮廓线,用以表征建筑物的地图空间范围。现有基于高分辨影像自动提取建筑物轮廓的方法[6-9],都是针对建筑物顶部轮廓的,无法适用于任意视角下建筑物范围轮廓线的提取。城市侧视地图包含丰富的内容,单纯基于侧视地图难以自动精确提取建筑物范围轮廓线[11]。因此,侧视地图中建筑物的范围轮廓线通常都是人工交互提取的,且轮廓较为粗糙。面对一个城市范围海量的建筑物模型,需要花费大量的人工和物力。并且,如今的城市建设及更新的速度日益加快,对地图的更新速度提出了更高的要求。人工交互提取城市侧视地图上的建筑物范围轮廓线已明显不能满足要求,急需自动提取的方法。

由于越来越多的城市都已经建立了日益精细化的三维城市模型,本文充分利用了三维城市模型数据,提出一种自动提取侧视地图中建筑物范围轮廓线的方法。

侧视地图中建筑物范围轮廓线提取的原理

首先,基于投影面分块加载三维城市模型。再利用深度缓冲区分割算法,获得顾及建筑物遮挡的单个建筑物对象的颜色缓冲区,实现当前提取对象与周围环境的分离。若存在建筑群,则先将建筑群内的各单体建筑组合成一个复杂对象。然后,再基于单个对象的颜色缓冲区提取建筑的范围轮廓线。最后,利用基于投影面分块加载三维城市模型所带来的便利,将基于屏幕空间的范围轮廓线与侧视地图进行分块匹配。



15建筑物范围轮廓线提取的流程图


建筑物范围轮廓线提取的算法流程

利用三维城市模型自动精确提取建筑物范围轮廓线的方法流程如15所示,包括以下几方面内容:

1.基于投影面分块加载三维城市模型。一次性将一个城市的所有三维城市模型都加载至计算机内存既是不现实的,也是不必要的。因此,需要分块加载三维城市模型数据。为实现基于屏幕空间提取出的范围轮廓线与侧视地图匹配,本文提出了基于投影面分块加载法。依据侧视地图的空间分辨率及帧缓冲区大小确定投影面分块的大小。利用基于R树索引的三维可视化查询方法,查询投影面各分块内对应的三维城市模型,并将查询结果加载至内存。

2.将内存中的三维城市模型投影至屏幕空间。投影参数取决与视点的方位角和俯仰角。

3.利用深度缓冲区分割算法,实现当前提取对象与周围环境的分离。为了提取每个建筑物模型投影到屏幕空间后的目标的范围轮廓线,必须先实现目标与周围环境的分离,本文提出了行之有效的深度缓冲区分割算法,该算法能够充分顾及建筑物间的遮挡及存在建筑群的情况。

4.获取分离出的单个建筑物对象的颜色缓冲区。将其二值化,基于二值图像追踪建筑物的范围轮廓线。

5.利用基于投影面分块加载三维城市模型所带来的便利,将建筑物范围轮廓线与侧视地图分块匹配。同时,还要消除跨块对象在分块拼接处的产生虚假轮廓线。

基于投影面分块加载三维城市模型的方法

考虑到基于三维模型空间分块加载三维城市模型不利于矢量范围轮廓线与栅格地图匹配。本文提出了基于投影面分块加载三维城市模型的方法(15为其示意图),实现各分块整体匹配,降低了范围轮廓线与侧视地图匹配的难度,提高了匹配的精度。

三维城市模型的范围用最小轴向包围盒MMBminimum bounding box)来表示。MMB的八个顶点A~H分别投影到投影面上,获得八个投影点A~H’。计算投影点A~H’的最小轴向包围矩形MMRminimum bounding rectangle)。将MMR均等分,分块大小为视域大小,视域的宽高比等于视口的宽高比,视域大小取决于侧视地图的空间分辨率(即一个像素代表实际地物的大小)和帧缓冲区的大小。

假设侧视地图的空间分辨率为r/像素,帧缓冲区的大小为m像素×n像素,那么分块大小为W米×H米。

W = r * m

H = r * n

MMR表示为(),则分块的数目为R行×C列。

R =/ H

C =/ W

对于每个分块,利用基于R树索引的三维可视化查询方法[10],查询分块内所对应的三维城市模型。当然,前提是需要为三维城市模型建立三维R树索引[11]

加载查询到的三维城市模型并将其投影至屏幕空间。为保证比例一致,侧视地图一般采用平行投影。投影参数取决与视点的方位角和俯仰以及视距。



16基于投影面分块加载三维城市模型


基于投影面分块加载三维城市模型还有更深一层次的考虑,就是能够在生成侧视地图的同时就提取建筑物范围轮廓线。因为基于投影面分块加载三维城市模型还可以实现自动生成无缝侧视地图,解决基于模型空间分块所面对的前期人工分块、后期人工拼接,且拼接结果易出现地物遮挡错误等问题。

顾及建筑物遮挡和建筑群的深度缓冲区分割算法

若建筑物被另一个建筑物遮挡,那么提取出的两个轮廓线所围成的多边形就会存在重叠区域。当鼠标落在该区域时,将无法确定是哪个建筑物被选中。因此,建筑物范围轮廓线间不该存在重叠区域。针对被其他建筑物部分遮挡的建筑物如何提取未被遮挡部分的范围轮廓线的问题,本文提出了深度缓冲区分割算法。算法原理是先将当前待提取对象周围的其他建筑物模型投影至屏幕空间,深度值记录到深度缓冲区,保留深度缓冲区,清空颜色缓冲区,再将当前对象投影至屏幕空间,此时颜色缓冲区中非背景值所对应的区域就是当前对象未被遮挡部分在屏幕空间的投影。

深度缓冲区是帧缓冲区的组成部分,深度缓冲区记录着屏幕视口上每个像素点的深度值。若视口的宽为M个像素,高为N个像素,那么对应的深度缓冲区的尺寸就为M×N

绘制除当前对象之外的其他建筑物时(如17(b)所示),对应的深度缓冲区记为Depth_buffer1= {}。只绘制当前对象时(如17(c)所示),对应的深度缓冲区记为Depth_buffer2= {}

清除深度缓冲区,绘制除当前对象之外的其他建筑物,获取深度缓冲区Depth_buffer1。清除颜色缓冲区但不清除深度缓冲区,再绘制当前对象,只有当深度值小于当前深度缓冲区中对应像素的深度值才绘制,并更新深度值,绘制完成后的深度缓冲区记为Depth_buffer3 = {},颜色缓冲区记为Colour_buffer = {}为整数,且

 = 

 = {}

代表黑色时为背景,非黑色时为对象,此时的颜色缓冲区中非黑色像素所连成的区域就是当前对象未被遮挡的部分在屏幕空间的投影(如17(d)所示)。


17深度缓冲区分割算法示意图


基于颜色缓冲区的范围轮廓线提取方法

基于颜色缓冲区Colour_buffer提取出当前建筑物模型的范围轮廓线的思路是将颜色缓冲区Colour_buffer转换成二值图像<建筑物对象,背景>,再基于该二值图像追踪目标边界。二值图像上的边界主要有两类基于像素的边界和基于裂缝的边界[12]。由于基于裂缝的边界数据量较大,本文追踪的目标边界是基于像素的边界。

基于像素的边界由边界像素点构成,包括两种:4-边界点和8-边界点。4-边界点与背景至少共享一条边,8-边界点与背景至少共享一条边或一个顶点[13]。直接边界是8-边界点的集合而间接边界是4-边界点 的集合[12]。对于同一目标,间接边界比直接边界的边界点要少。而且,对于某些8-连通区域,直接边界无法闭合,或者闭合了但不是所希望的边界。本文追踪的目标边界是间接边界。

基于像素的间接边界追踪算法主要分三个组成部分:寻找起始点、追踪下一点以及终止条件。经典的算法有:爬虫算法、Moore邻域算法、辐射扫描算法及TP算法等[13],但这些算法都不能够追踪带洞目标的内部边界。本文采用文献[14]所设计的算法,能够有效基于8-连通区域追踪带洞目标的内外边界,及有多个连通区域的目标的边界。

建筑物范围轮廓线与侧视地图分块匹配

对于各分块中的建筑物范围轮廓线与其对应的分块侧视地图之间不存在旋转和缩放,只有平移。因此,只需要将分块中的范围轮廓线整体平移至所对应的分块侧视地图所在的位置,即能实现建筑物范围轮廓线与侧视地图的匹配。平移量()由分块所在的行列号(i,j)及分块的尺寸决定。

j * W

i * H

对于跨分块的建筑物对象,还必须将分块拼接处产生的虚假轮廓线(如18所示)消除。由于处理方法比较简单,本文不在此赘述。

 

18剔除虚假轮廓线

实验与分析

利用武汉市三维城市模型数据进行实验,并将提取的范围轮廓线与E都市地图上人工交互提取的范围轮廓线进行对比分析。

19(a)所示,是E都市地图上人工交互提取的范围轮廓线,轮廓线粗糙,忽略很多细节,例如拐角处(红色椭圆内)。采用本文方法提取的单体建筑范围轮廓线如19(b)所示,轮廓线更加精细,准确。


20(a)所示,E都市地图上人工交互提取的建筑群范围轮廓线将不属于该建筑群的像素点(红色椭圆内)包围其内。而利用本文方法提取建筑群范围轮廓线如20(b)所示。

21(a)所示,E都市手工提取的建筑物范围轮廓线遮挡处理效果很不理想,将属于遮挡建筑物的像素点包含在范围轮廓线内(左边红色椭圆内),而部分像素点却没能包含在范围轮廓线内。21(b)中黄色轮廓线,是利用本文方法对建筑物范围轮廓线进行遮挡处理后的效果,可以看出,被遮挡建筑物和遮挡建筑物之间边界准确程度很高。

 

 

19单体建筑范围轮廓线效果对比


 

20建筑群范围轮廓线效果对比

 

21遮挡处理效果对比


结语

E都市、都市圈为代表的城市侧视地图正被人们广泛使用。然而,该类地图上的建筑物范围轮廓线的提取是采用人工交互的方法。本文提出的自动提取建筑物范围轮廓线的方法能够很好地改善目前人工交互提取成本高昂、效率低下且精细程度和准确程度不高的现状。该方法可以提取任意视角下任意复杂建筑物的范围轮廓线。本文提取建筑物范围轮廓线的方法可以推广至其他地物。文中提出的基于投影面分块加载三维模型的方法不仅利于矢量范围轮廓线与栅格地图匹配,还可应用于自动生成无缝侧视地图。

 

参考文献

[1] Terribilini A. Maps in transition:development of interactive vector-based topographic 3D-maps [C]. The 19th International Cartographic Conference,1999, 993-1001.

[2] SchobesbergerD,PattersonT.Evaluating the effectiveness of 2D vs. 3D trailhead maps: A study conducted at Zion National Park, Utah [C]. The 6th ICA Mountain Cartography Workshop, Mountain Mapping and Visualisation, 2007, 201-205.

[3] Petie G. Systematic oblique aerial photography using multiple digital Frame cameras[J]. Photogrammetric Engineering and Remote Sensing. 2009, 75(2): 102-107.

[4] Harrower M. A look at the history and future of animated maps [J].Cartographica, 2004, 39(3): 33-42.

[5] Adabala N. A technique for building representation in oblique view maps of modern urban areas [J]. The Cartographic Journal, 2009, 46(2), 104-114.

[6] 吴炜,骆剑承,沈占锋,.光谱和形状特征相结合的高分辨率遥感图像的建筑物提取方法[J].武汉大学学报信息版,2012,37(7):800-805.

[7] Xiaoying Jin, Davis C H. Automated Building Extraction from High-Resolution Satellite Imagery in Urban Areas Using Structural, Contextual, and Spectral Information [J]. EURASIP Journal on Applied Signal Processing, 2005, 14(1): 2196-2206.

[8] 程亮,龚健雅.LiDAR辅助下利用超高分辨率影像提取建筑物轮廓方法[J].测绘学报, 2008,37(3):391-393.

[9] 程亮,龚健雅,李满春,集成多视航空影像与LiDAR数据重建3维建筑物模型[J].测绘学报,2009,38(6):494-501.

[10] 龚俊,谢潇.基于树索引的三维可视化查询方法武汉大学学报信息版,2011,36(10):1140-1143.

[11] Qing Zhu, Jun Gong, Yeting Zhang.An efficient 3D R-tree spatial index method for virtual geographic environments[J].ISPRS Journal of Photogrammetry and 

Remote Sensing, 62(3): 217-224.

[12] WagenknechtG. A contour tracing and coding algorithm for generating 2D contour codes from 3D classified objects[J].Pattern Recognition,40 (2007):1294-1306.

[13]http://www.imageprocessingplace.com/downloads_V3/root_downloads/tutorials/contour_tracing_Abeer_George_Ghuneim.

[14]Mingwu Ren, Jingyu Yang, Han Sun,Tracing boundary contours in a binary image[J].Image and Vision Computing. 20 (2002):125-131.

 

Automatic Extraction of Buildings’ Contours on oblique view maps based on 3D City Model

ZHU Yuanyuan1,ZHU Qing1,2*,ZHANG Yeting2,PENG Mingjun3,GAO Shan3

1 State Key Laboratory of Information Engineering in Surveying,Mapping and Remote Sensing, Wuhan University,Wuhan 430079,China

2 Faculty of Geosciences and Environmental Engineering

Southwest Jiaotong University, Chendu 611756,China

3 Wuhan Land Resources and Planning Bureau,Wuhan 430079,China

Abstract:Effective and intuition oblique view maps are widely used on internet. Aiming to deal with the problem that manual extraction of buildings’ contours on those maps are expensive and ineffective with low accuracy and coarse detail, we present a method for automatic extraction of buildings’ contours on oblique view maps based on 3D city model. We employ depth-buffers to obtain one building objects color-buffers concerning shielded by other building and the existence of groups of buildings, and then we trace buildings’ contours based on color-buffers. And in order to match the traced contours with map, we propose loading 3D city model by block based on projection plane. Finally, the validity and feasibility of this method are proved through the experiments on 3D city model of Wuhan City.

Keywords:420.30; buildings’ contours; 3D City Model; oblique view maps; buffer


上一篇:济南市建成区城市用地布局与历史变迁研究

下一篇:面向服务的地下管线信息管理