高分辨率遥感影像阴影检测与补偿系统的设计与实现

2015-03-10 01:50杨兴旺杨树文张黎明姚花琴李轶鲲
自然资源遥感 2015年3期
关键词:高分辨率阴影补偿

杨兴旺, 杨树文, 张黎明, 姚花琴, 李轶鲲

(兰州交通大学测绘与地理信息学院,兰州 730070)

高分辨率遥感影像阴影检测与补偿系统的设计与实现

杨兴旺, 杨树文, 张黎明, 姚花琴, 李轶鲲

(兰州交通大学测绘与地理信息学院,兰州 730070)

阴影检测与补偿涉及遥感影像的不确定性、算法复杂度高及提取自动化程度低等问题。基于ArcGIS Engine平台,结合Matlab和GDAL开发工具,根据构建的高分辨率遥感影像阴影检测和补偿算法设计了一体化的阴影检测与补偿系统。系统采用了数据分块读取、2%线性拉伸及DLL动态链接库等关键技术,解决了大数据量影像读取、影像不确定性及系统可扩展性等问题,实现了系统的集成和优化,提高了运行效率。测试结果表明,该系统在QuickBird、资源三号(ZY-3)等高分辨率遥感影像的阴影检测与补偿中具有较高的精度和效率,可用于数据批处理。

阴影检测;阴影补偿;高分辨率遥感影像;线性拉伸

0 引言

目前,高分辨率遥感影像阴影检测与补偿方法[1]主要分为基于模型和基于阴影性质2类。其中,基于模型的阴影检测与补偿方法需要场景、目标和光照等情况的先验知识,涉及的参数多,且其他影像数据不易获取,应用具有较大的局限性,因此对此进行的研究相对较少。基于阴影性质的检测与补偿方法则是利用阴影区域的光谱和几何特性来检测阴影,是目前研究和应用的主流。王玥[2]、虢建宏[3]等利用主成分分析的第一主分量与原始多光谱影像的蓝色分量进行比值运算,分割阴影区和非阴影区,然后根据阴影同质区特性对阴影区进行线性相关拉伸补偿;徐秋红等[4]用色彩转换法、归一化阴影指数法提取了阴影区,并利用明科夫斯基范式的颜色恒常性计算方法对阴影区域进行了信息补偿;高贤君等[5]选取有效的阴影特征条件组合结合Otsu阈值自动提取算法检测了阴影,并利用Wallis滤波原理进行阴影补偿;王蜜蜂等[6]基于C3和Sobel边缘检测相结合的方法检测和补偿了阴影区域。然而,上述方法和算法大多仍处于测试和完善阶段,较为完善的阴影检测与补偿系统鲜有提及,且自动化程度不高;另一方面,现有主流图像处理软件(如ENVI和ERDAS等)以常规处理为主,基于专题建模结合二次开发虽可以实现阴影检测与补偿,但是存在效率低、提取精度不高等方面的问题。

本文根据阴影区域的光谱特性和几何特性,依托现有高分辨率影像阴影检测与补偿算法,以QuickBird,资源三号(ZY-3)等遥感影像的城市高大地物的阴影检测与补偿模型为基础,采用C#语言,在NET Framework4.0环境下,研究、开发一体化的阴影自动检测与补偿系统,实现QuickBird,ZY-3等高分辨率遥感影像的阴影自动检测与补偿。

1 系统设计

遥感影像的处理不同于普通图像处理,它是大数据量的矩阵运算[7],而且数据结构复杂、数据类型多样。因此在进行遥感影像处理、相关系统开发过程中,需要根据需求和不同程序设计语言的特点,选择合适的平台、设计语言进行影像处理的系统开发。

1.1 系统结构设计

要实现对QuickBird,ZY-3等高分辨率遥感卫星多光谱影像、RGB彩色合成影像以及全色影像的阴影检测与补偿,首先需要根据影像类型选择不同的阴影检测专题模型检测阴影区域,然后根据检测结果补偿原始影像阴影区域,最后对阴影区域边界矢量化以供后期进一步处理分析。本文根据阴影检测与补偿系统的需求和Matlab,GDAL等程序设计工具特点,采用C#语言,在NET Framework4.0环境下开发,系统的具体结构如图1所示。

图1 高分辨率遥感影像阴影检测与补偿系统结构Fig.1 High-resolution remote sensing image shadow detection and compensation system structure

在本系统设计开发中,系统阴影检测算法、信息补偿算法、形态学滤波、阈值自动选取以及直方图势函数等图像处理算法涉及大数据量的矩阵运算,并且需要它独立于系统之中,便于后期系统维护和功能扩展。Matlab是集数值分析、矩阵运算和图形显示于一体的高性能数据计算和可视化软件[8-9],其编译成的COM组件和DLL组件可实现程序模块化,更容易实现功能更新而不影响系统其他模块,便于系统后期维护和功能扩展。基于以上系统需求、算法特点,在阴影检测与补偿算法设计与实现过程中采用Matlab即可以调用部分Matlab自带图像处理函数,又能方便地编译成DLL组件,达到快速开发的目的。

1.2 多类型遥感影像数据读取

遥感影像数据类型多样、结构复杂,其中还包含重要的地理信息,利用一般的程序设计语言读取影像中的信息需要知道图像格式的结构,然后再根据其结构定义不同的对象来读取,不同的影像格式给系统开发带来极大困难。GDAL是专业的遥感影像显示脚本,使用单一的抽象数据模型支持各种格式的栅格数据[10],具有开源的代码库,因此在遥感影像打开显示和矢量化等过程中利用它可以减少许多不必要的麻烦。

1.3 系统集成设计

ArcGIS Engine是用于构建定制应用的一个完整的嵌入式的GIS组件库,它包含构建定制应用的开发包。开发包中的运行库提供了ArcGIS应用的核心功能。利用ArcGIS Engine在阴影检测与补偿系统开发环境中添加控件、工具、菜单条和对象库,可以快速实现图像放大缩小、平移等简单操作和自定义组件的调用,减少开发工作量。

2 系统实现中的关键技术

1)遥感影像数据完整性处理技术。遥感影像中不仅包含了地物的光谱值,还包含了坐标系、卫星拍摄时间、经纬度、长度单位等影像物理信息,这些信息在影像处理中具有很重要的作用[11],而利用Matlab在实现阴影检测与补偿算法过程中使用imread和imwrite函数读写遥感影像数据会造成数据的地理信息丢失。Matlab自带的Mapping工具箱提供了函数geotiffread(用于读取图像的灰度值)、geotiffinfo(读取geotiff图像文件中包含的所有地理信息)和geotiffwrite(保存经过处理后的影像灰度值及地理信息),这样就保证了影像数据处理过程中影像地理信息的完整性问题。

2)影像数据处理过程中内存不足处理技术。遥感影像数据的数据量非常大,这一特点导致遥感影像处理要比常规图像处理复杂、效率低。在本系统设计中采用“化整为零”的思想[12],将大数据量的整幅影像分块处理,按照分块的顺序依次读取每一块数据进行处理并保存,直至整幅影像数据处理完毕,最后再将分块处理的结果数据全部合并。具体流程如图2所示。

图2 大数据量影像阴影检测与补偿分块处理流程图Fig.2 Block processing flow chart of shadow detection and compensation for large amount of data image

3)影像的不确定性处理技术。如果参与计算的矩阵中存在空值或异常值会影响计算结果,因此在数据处理之前先进行2%线性拉伸,即对影像直方图累积在2%~98%之间的像元值拉伸,取直方图累积在2%处或附近的对应光谱值为最小值Vmin,98%处或附近的对应光谱值为最大值Vmax,然后将小于Vmin或大于Vmax的光谱值全部设置为Vmin或Vmax,即可以将空值及异常值全部剔除,有利于提高影像数据处理结果的准确性。

4)软件系统的接口设计。在高分辨率遥感影像阴影检测与补偿系统中,阴影检测与补偿算法通过Matlab编译的DLL调用实现,在以后如果需要实现更多类型卫星影像的阴影检测与补偿,只需要将相关的影像阴影检测与补偿算法用Matlab编译成M文件,导入并重新编译DLL并替换即可实现系统功能的扩展,并且可以移植到其他开发环境的遥感影像处理系统中供其使用。

5)系统运行效率的优化。要提高运行效率,改进算法最为关键。在阴影检测过程中,为了解决计算过程数据量大的问题,在不影响最终结果的情况下将原来的数据类型转换为单精度,而不使用精度更高的双精度类型数据,这样既减小了数据运算量又降低了系统内存占用率,有利于系统更高效运行。在阴影补偿过程中,每补偿一个阴影区域都要遍历所有阴影区域一次,为了减少遍历次数,采用分块技术先将阴影区域图分割成合适大小的块,然后按照分块顺序依次补偿,这在很大程度上降低了系统时间复杂度。通过以上方法优化,不管是系统空间复杂度还是时间复杂度都得以降低,大大提高了系统的运行效率。

3 系统实现

3.1 系统集成

1)创建Matlab文件。根据阴影检测与补偿算法

创建相应的Matlab函数,此函数可以调用Matlab自带的函数,还可以调用自定义函数。

2)创建DLL。在Matlab中实现阴影检测与补偿算法后即可编译生成DLL,首先在Matlab窗口输入deploytool命令后回车打开如图3所示的窗口,然后在打开的Deployment Project窗口中输入项目名称,保存路径以及类型(在本系统中类型选择Net Assembly)后点击OK,再在打开的窗口中新建类名,将创建的所有Matlab函数(简称M函数)导入类中编译即可创建DLL动态链接库。

图3 Deployment Project 窗口Fig.3 Window of Deployment Project

3)导入DLL。创建的DLL是系统的核心,它包含了系统阴影检测算法、信息补偿算法、形态学滤波、阈值自动选取及直方图势函数等图像处理算法,因此实现阴影检测与补偿需要导入含有阴影检测与补偿算法的DLL文件和Matlab软件自带的用于矩阵运算的MWArray.dll文件。

4)引用DLL。在NET Framework4.0系统环境中引用DLL首先声明其中的类并新建对象,然后根据M函数中的输入参数、输出参数与对象的成员变量相匹配即可实现系统的功能。需要注意的是在参数传递过程中数据类型必须一致,否则无法实现参数的相互传递。

3.2 系统效果测试

遥感影像阴影检测与补偿专题系统功能主要是阴影检测与补偿、影像显示与浏览。系统界面和部分功能模块如图4所示。图4(a)为基本的系统界面,

(a) 系统界面 (b) 波段选择 (c) 阴影检测与补偿

图4 系统模块

Fig.4 System module

它可以对图像进行放大、缩小、平移等操作,也可以显示出当前影像的所有信息及当前比例尺;图4(b)为遥感影像波段选择对话框,它可以选择影像的任意1个波段或多波段合成显示的灰度图像或RGB彩色合成图像;图4(c)为阴影检测与补偿对话框,它可以选择QuickBird,ZY-3等类型的遥感影像以及选择影像的全色影像、RGB影像及多光谱影像类型进行阴影检测与补偿。

阴影检测与补偿系统主要对QuickBird,ZY-3等高分辨率遥感影像阴影进行检测及补偿。系统通过浏览输入高分辨率遥感影像数据,经过自动处理将结果图像保存到原始图像所在文件夹下的temp目录中,其中结果图像包括检测到的阴影栅格图像、阴影矢量图像及根据阴影栅格图像对原始图像进行补偿后的图像。图5为QuickBird多光谱遥感影像阴影检测及补偿结果图。

(a) 原始RGB合成影像 (b) 检测到的栅格阴影区(c) 阴影区域边界矢量图 (d) 根据阴影区域对原始图像补偿后的RGB图像

图5 QuickBird多光谱遥感影像阴影检测及补偿结果

Fig.5 Shadow detection and compensation results for QuickBird multi-spectral image

图6为ZY-3多光谱影像阴影检测及其补偿效果图。

(a) ZY-3原始RGB(b) 系统检测到的栅格(c) 系统原始影像与阴(d) 根据阴影区信息的合成影像 阴影区域影区域矢量的叠加结果补偿结果

图6 ZY-3遥感影像阴影检测及补偿效果图

Fig.6 Shadow detection and compensation results for ZY-3 satellite image

4 结论

本文基于ArcGIS Engine平台,结合Matlab和GDAL开发工具,依据构建的高分影像阴影检测和补偿算法设计、开发了一体化的阴影检测与补偿系统。该系统能够对QuickBird和ZY-3等类型的全色、RGB及多光谱类型影像进行阴影检测及必要信息补偿,经过大量数据测试具有较高的精度和效率,达到了设计效果,满足了实际生产应用的需求。

构建的阴影检测与补偿系统虽然取得了较好的检测和补偿效果,但由于涉及的复杂算法多、且阴影检测模型具有很强的针对性,其检测、补偿的精度和运行效率在一定程度上受到了影响。为此,需要在算法改进、系统集成等方面进一步研究,以显著提高阴影检测和补偿系统的精度和效率。

[1] 田原.遥感影像的阴影检测算法研究[D].西安:西安电子科技大学,2013. Tian Y.Research on Shadow Detection Algorithm in Remote Sensing Images[D].Xi’an:Xidian University,2013.

[2] 王玥,王树根.高分辨率遥感影像阴影检测与补偿的主成分分析方法[J].应用科学学报,2010,28(2):136-141. Wang Y,Wang S G.Dection and compensation of shadows in high resolution remote sensing images using PCA[J].Journal of Applied Sciences-Electronics and Information Engineering,2010,28(2):136-141.

[3] 虢建宏,田庆久.一种IKONOS影像阴影检测与去除的方法[J].遥感信息,2005(4):32-34. Guo J H,Tian Q J.A shadow detection and removal method for IKONOS images[J].Remote Sensing Information,2005(4):32-34.

[4] 徐秋红,叶勤.一种基于颜色恒常性理论的城市高分辨率遥感影像阴影消除方法[J].遥感信息,2010(4):13-17. Xu Q H,Ye Q.A method of shadow elimination from city high resolution remote sensing images based on colour constancy[J].Remote Sensing Information,2010(4):13-17.

[5] 高贤君,万幼川,郑顺义,等.航空遥感影像阴影的自动检测与补偿[J].武汉大学学报:信息科学版,2012,37(11):1299-1302. Gao X J,Wan Y C,Zheng S Y,et al.Automatic shadow detection and compensation of aeral remote sensing images[J].Geomatics and Information Science of Wuhan University,2012,37(11):1299-1302.

[6] 王蜜蜂.遥感影像的阴影检测与补偿方法研究[D].西安:西安电子科技大学,2013. Wang M F.Research on Shadow Detection and Compensation in Remote Sensing Images[D].Xi’an:Xidian University,2013.

[7] 冈萨雷斯,伍兹,埃丁斯.数字图像处理:MATLAB版[M].北京:电子工业出版社,2005:8-28. Gonzalez R C,Woods R E,Eddins S L.Digital Image Processing Using MATLAB[M].Beijing:Publishing House of Electronics Industry,2005:8-28.

[8] 梁原.基于MATLAB的数字图像处理系统研究[D].长春:长春理工大学,2008:4. Liang Y.The Research of Digital Image Processing Based on MATLAB[D].Changchun:Changchun University of Science and Technology,2008:4.

[9] 王海岗,张坤宇,张雁佳,等.VC与MATLAB混合编程在图像处理中的应用[J].计算机应用与软件,2012,29(1):273-275. Wang H G,Zhang K Y,Zhang Y J,et al.Application of mixed programming with VC and MATLAB in image processing[J].Computer Applications and Software,2012,29(1):273-275.

[10]李芳,邬群勇,汪小钦.基于GeoRaste的多源遥感数据存储研究[J].测绘科学,2009,4(3):150-151. Li F,Wu Q Y,Wang X Q.Storage of multi-source remote sensing data based on GeoRaster[J].Science of Surveying and Mapping,2009,4(3):150-151.

[11]牛芩涛,盛业华.GeoTIFF图像文件的数据存储格式及读写[J].四川测绘,2004,27(3):105-108. Niu Q T,Sheng Y H.The storage and read/write of GeoTIFF image file[J].Surveying and Mapping of Sichuan,2004,27(3):105-108.

[12]靖常峰,刘仁义,刘南.大数据量遥感图像处理系统算法模块的设计及实现[J].浙江大学学报:理学版,2005,32(4):471-474. Jing C F,Liu R Y,Liu N.Design and development of algorithm module for a remote sensing image processing system[J].Journal of Zhejiang University:Science Edition,2005,32(4):471-474.

(责任编辑:李瑜)

Design and development of the shadow detection and compensation system for high-resolution remote sensing images

YANG Xingwang, YANG Shuwen, ZHANG Liming, YAO Huaqin, LI Yikun

(FacultyofGeomatics,LanzhouJiaotongUniversity,Lanzhou730070,China)

Shadow detection and compensation involve such problems as the uncertainty of remote sensing images, the complexity of algorithm and the low degree of automatic extraction. In view of this situation, the authors have designed an integrated experimental system based on the algorithm built for high-resolution remote sensing image shadow detection and compensation on the ArcGIS Engine platform. The system also utilizes Matlab and GDAL. Some key technologies such as data block reading, 2% linear stretch and DLL are used in the shadow detection and compensation system implementation, which solves some problems such as reading large quantities of data, uncertainty of image, and extensibility of the system. The system achieves the integration and optimization of the system, and improves the operating efficiency. Experimental results show that the system performs higher precision and efficiency in shadow detection and compensation for high-resolution remote sensing images such as QuickBird and ZY-3. Therefore, the system can be used for batch processing of remote sensing image data.

shadow detection; shadow compensation; high-resolution remote sensing image; linear stretch

2014-04-25;

2014-06-04

中国测绘科学研究院科研专项项目“多源多时相高分辨率影像高大地物阴影检测算法研究”(编号:513157)、甘肃省高等学校基本科研业务费项目“甘南地区滑坡泥石流信息遥感自动提取与危险性评价研究”(编号:212091)及中国博士后科学基金项目“基于高分辨率遥感影像的滑坡自动提取方法研究”(编号:2014M552558XB)共同资助。

10.6046/gtzyyg.2015.03.28

杨兴旺,杨树文,张黎明,等.高分辨率遥感影像阴影检测与补偿系统的设计与实现[J].国土资源遥感,2015,27(3):177-181.(Yang X W,Yang S W,Zhang L M,et al.Design and development of the shadow detection and compensation system for high-resolution remote sensing images[J].Remote Sensing for Land and Resources,2015,27(3):177-181.)

TP 79

A

1001-070X(2015)03-0177-05

杨兴旺(1989-),男,硕士研究生,主要从事遥感影像处理和遥感应用系统研发等方面的研究。Email:593310474@qq.com。

杨树文(1975-),男,博士,副教授,主要从事遥感数字图像处理和遥感信息识别及提取方面的研究。Email:ysw040966@163.com。

猜你喜欢
高分辨率阴影补偿
你来了,草就没有了阴影
高分辨率合成孔径雷达图像解译系统
基于西门子VCS的大型五轴机床空间误差补偿
解读补偿心理
阴影魔怪
高分辨率对地观测系统
基于Curvelet-Wavelet变换高分辨率遥感图像降噪
高分辨率遥感相机CCD器件精密热控制
离婚时,能否要求家务补偿