遮挡检测算法分析比较研究

2015-09-11 14:51王玉锋等
科技视界 2015年26期

王玉锋等

【摘 要】真正射影像不仅具有地图的几何精度,可以直接进行地物尺寸和距离的测量,而且具有更好的视觉效果。有效的遮挡检测是真正射影像制作关键环节,国内外学者提出了许多遮挡检测算法,在进行遮挡区域检测的过程中各有优劣。通过对主要的遮挡检测算法原理和处理过程进行对比分析,总结了各个算法的优缺点,为寻求高效准确的遮挡检测算法提供参考,并提供了一些可以改进的建议。

【关键词】真正射影像;遮挡检测;Z-Buffer算法;PBI算法

A Comparative Study of Occlusion Detection Algorithm

WANG Yu-feng QUAN ji-cheng LIU Yu WANG Hong-wei ZHAO Xiu-ying

(Aerospace Intelligence department, The aeronautical university of the China People Liberation Airforce, Changchun Jilin 130022, China)

【Abstract】True orthophoto has not only the geometric accuracy of map, can be directly measured object size and distance, and has better visual effect. Effective occlusion detection is a key link in true orthophoto production, domestic and foreign scholars have put forward a lot of occlusion detection algorithm, in each have advantages and disadvantages in the process of the occlusion detection. Based on the comparative analysis of the main occlusion detection algorithm principle, summarizes the advantages and disadvantages of each algorithm, for reference to the efficient and accurate occlusion detection algorithm, and provide some suggestions for improvement of occlusion detection Algorithm.

【Key words】True orthophoto;Occlusion detection;Z-Buffer method;PBI Algorithm

0 前言

正射影像在保持地图的几何精度下具有更好的影像视觉特征[1],在正射影像上,用户可以直接进行地物尺寸和距离的量测等。在GIS数据库中,正射影像的地位越来越重要,但在地形起伏大,大比例尺的城市地区航空影像来说,由于相机倾斜及高层建筑物的原因致使其存在严重的遮蔽现象。传统的正射校正只考虑地形的产生的像点位移,不考虑地形和地面目标产生的遮挡现象,在城市大比例尺正射影像上建筑物倾斜遮挡的情况非常严重,影响了影像信息的有效解译和利用。20世纪90年代以来,随着对数字地图质量的要求越来越高,真正射影像的制作方法引起了国内外学者的广泛关注。真正射影像生成的过程中,需要解决的核心问题是高效稳健的遮蔽检测过程[2],在相关的研究中学者们提出了许多算法,本文旨在通过对这些算法的分析比较,找到这些算法的共同特点和优缺点,以寻求更准确高效的遮挡检测算法。

目前,遮蔽检测算法根据处理时采用的地表数据形式的不同,可分为基于栅格数据的遮挡检测算法和基于矢量数据的遮挡检测算法;根据基本原理的不同,可分为Z-buffer算法、基于角度的遮挡检测算法和基于高程的遮挡检测算法,以及基于这些算法和数据特点的衍生算法。

1 Z-Buffer算法

Z-Buffer算法[3]的依据是:在同一条投影光线上的所有地物点,距离摄影中心近的地物点离投影中心远的地物点。在进行遮挡检测时,需要记录原始影像上各个像点对应的Z-Buffer矩阵和DSM网格的可见性矩阵,分别记为p_buffer和P_visible,其中p_buffer记录了对应物点P和像点p的距离D和该物点P的坐标。采用Z-Buffer算法进行遮挡检测的过程为:首先将p_buffer的深度都设置成无穷远,DSM网格的可见性都设置成可见,对DSM网格上的点P根据共线方程进行校正时,计算点P对应的像点p和它们的距离D,根据p的坐标取出对应的p_buffer,假如0

Z-Buffer算法思路简单、计算量小、效率高,但这种算法也存在致命的缺陷,只有在一个物点对应一个像点的前提下才能得到理想的效果,当一个物点覆盖多个像点时就可能导致伪可见和M-Portion问题,当一个像点覆盖多个临近物点时就可能导致伪遮挡的问题。因此Z-Buffer算法很难适应成像倾角大和地形起伏较大的影像。

从Z-Buffer算法进行遮挡检测的过程可以看出,只有遮挡检测全部完成以后才能确定所有地物点的可见性,遮挡检测和灰度赋值必须单独依次进行,这两个过程中都需要根据共线方程计算像点坐标,出现了严重的重复计算。因此,学者们提出了许多Z-Buffer的改进算法,主要包括优化扫描方式的Z-Buffer算法,基于DSM排序的遮蔽检测算法和基于最小边界扇区的遮蔽检测(MBS)算法。

优化扫描方式的Z-Buffer算法[4]的基本思想是:离地底点较远的点不可能遮挡离像底点较近的点,采用适当的扫面方式(比如螺旋扫描方式、径向扫描方式等),可以先对离地底点较近的点进行遮挡检测,因后续处理的物点都不会遮挡当前点,可直接对该点进行灰度赋值。基于DSM排序的遮蔽检测算法的基本思想是:只有比地物点高的地物才可能遮挡该地物点,可以对所有DSM进行从大到小的排序,然后依次对排好序的DSM进行遮挡检测,同时进行灰度赋值。基于最小边界扇区的遮蔽检测(MBS)算法[5]的基本思想是:建筑物产生的遮挡区域可认为是以地底点为中心的扇形区域,利用DBM在极坐标系下找到可能存在遮挡现象的候选区域,以减少遮挡判断的区域从而提高整个检测过程的效率。这些算法都避免了重复计算像点坐标,进一步减少了计算量,并且在内存要求上更少,但不能消除Z-Buffer算法所产生的伪遮挡、伪可见和M-Portion问题。

2 基于角度的遮蔽检测算法

基于角度的遮蔽检测算法由Habib等[6]提出,算法的基本原理是:在地底点和待检测点的水平连线上,每个地物点对应的投影光线与水平面都有一个夹角,根据夹角的变化来分析待检测点的可见性。在地物点与地底点的水平连线上,逐渐远离地底点的方向上,如果投影光线与水平面的夹角逐渐变小,则没有遮挡;如果在某一位置突然变大,而后又变小恢复或小于原来的角度,则该段区域被遮挡。

如图1所示,地物点1~3的对应的夹角满足φ1>φ2>φ3,说明地物点1,2,3之间不存在遮挡,而地物点3~11对应的夹角满足φ3<φi(i=4,5,6,7,8,9,10)且φ3>φ11,说明地物点4~10被地物点3遮挡。

该算法具有简单明了、理论严密的特点,能适用于各种复杂的环境,不会存在Z-Buffer算法的伪遮蔽、伪可见和M-Portion问题。但也因为对每一个地物点都要进行角度的比较来分析其可见性,频繁的角度计算使得处理效率低,耗时长。同Z-Buffer算法一样,如果不通过先验的信息确定合适的扫描方式,将会存在严重的重复计算,因此快速高效的扫描方式也是该算法需要解决的关键问题,Habib采用螺旋扫描的方式来提高效率,同样,Z-Buffer算法的改进算法也都适用该算法以提高处理的效率。

3 基于高程的遮蔽检测算法

基于高程的遮蔽检测算法[7]的基本原理是:在对某一地物点进行可见性分析时,如果该地物点可见则该地物点与投影中心的连线在地形数据的上方。如图2所示,在判断点P0是否可见时,在P0和PS的连线上,设定一定的变化量,根据比例可以计算出连线上的点的高程Hit(i=1,2,3,…,n),与该点水平面坐标的DSM实际高程Hi(i=1,2,3,…,n)进行比较,若任意一点HitHi(i=1,2,3,…,n)都成立则说明点P0可见。

该算法与基于角度的遮挡检测算法相似,具有理论直观严密的特点,也能有效解决Z-Buffer算法的伪遮挡、伪可见和M-Portion问题,并且该算法不用计算角度,在离地底点较进的区域执行效率很高,但在离地底点较远的区域,只有被遮挡或是搜索到达地底点才能判断该点的可见性,由于距离较远造成效率的降低。

图2 基于高程的遮蔽检测算法

任东风等[8]注意到该算法的优越性,通过利用内层物点的可见性信息,提出了一种基于高程约束的遮挡检测算法。该改进算法采用螺旋扫描方式,由内向外逐层判断所有物点的可见性,判断的过程为:首先,地底点位置的物点可见;其次,判断某一点的可见性时,计算内层点的位置,并根据内层点的可见性分析该点的可见性。分析方法为:如果内层点可见,并且该物点对应的投影光线在内层点的上方,则该点可见,否则不能判断该点的可见性,继续再与更内层的点进行比较;如果内层点不可见,并且该点对应的投影光线在内层点的下方,则该点不可见,否则不能判断该点的可见性,继续再与更内层的点进行比较;如果搜到到达地底点,则该点可见。该算法兼顾了基于高程的遮挡检测算法的所有优点,并且提高了影像边缘位置的处理效率,具有很好的应用前景。

4 结论

在真正射校正中,遮挡检测的有效进行是非常关键的环节,通过对当前主要的遮挡检测算法的基本原理及其实施过程的分析,可以看出:这些算法对于栅格数据和矢量数据都可以进行可见性分析,采用栅格地表数据时,具有算法形式简单、可见性分析方便等优点,但在建筑物边缘很容易产生毛刺现象,这主要因为舍入误差造成的。采用矢量地表数据时,具有精度高、边缘连续、便于控制尺度等优点,但分析过程复杂、计算量大。Z-Buffer算法虽然具有算法简单、效率高等优点,但在复杂地形条件或倾角较大的情况下很容易产生伪遮挡、伪可见等问题。基于高程和角度的遮挡检测算法具有高精度的优点,但计算量大,执行效率方面仍需要进一步改进。

从上述的分析对比可以看出,大多遮挡检测算法在处理中存在着严重的重复分析和重复计算现象,没有将已经分析计算完成的信息用于后续的处理,严重影响了处理的效率。同时,如何将更多的先验信息应用于处理计算中,也是提高处理效率的有效手段。

【参考文献】

[1]王潇,江万涛,谢俊峰.一种新的真正射影像生成算法[J].武汉大学学报:信息科学版,2009,32(10):1250-1254.

[2]钟成,李卉,黄先锋.面向大规模真正射影像生成的快速遮挡检测方面[J].同济大学学报:自然科学版,2013,41(4):614-618.

[3]Amhar F, Jansa J, Ries C. The Generation of True Orthophotos using a 3D Building Model in Conjunction With a Conventional DTM[J]. Stuttgart Germany: IAPRS Commission IV “GIS Between Visions and Applications”,1998(32):16-22.

[4]王仁礼,王一,隋春玲,等.基于底点辐射距的真正射影像遮挡区自动检测算法[J].测绘科学技术学报,2013,30(2):149-153.

[5]Ki-In Bang, Ayman F. Habib. Comprehensive Analysis of Alternative Methodologies for True Orthophoto Generation from High Resolution Satellite and Aerial Imagery[C]//ASPRS 2007 Annual Conference. Tampa, Florida,2007.

[6]谢文寒,周国清.城市大比例尺真正射影像阴影与遮挡问题的研究[J].测绘学报,2010,39(1):52-58.

[7]王涛,蒋大鹏,王伟超,等.一种基于共线方程的正射影像遮蔽区查找方法[J].测绘标准化,2010,26(2):10-12.

[8]任东风,许彪,路海洋.基于高程约束的真正射影像遮挡检测算法[J].测绘通报,2012,6(6):39-42.

[责任编辑:刘展]