时间:2024-07-28
卜 坤, 王治良, 王卷乐, 张树文, 杨久春, 于灵雪
(1.中国科学院东北地理与农业生态研究所,长春 130102; 2.齐齐哈尔大学理学院,齐齐哈尔 161006;3.中国科学院地理科学与资源研究所,北京 100101)
遥感影像镶嵌中平面剖分模型的应用及实现
卜 坤1, 王治良2,3, 王卷乐3, 张树文1, 杨久春1, 于灵雪1
(1.中国科学院东北地理与农业生态研究所,长春 130102; 2.齐齐哈尔大学理学院,齐齐哈尔 161006;3.中国科学院地理科学与资源研究所,北京 100101)
针对目前遥感商用软件影像镶嵌过程中人工干预过多、自动化程度不高和不易修改等问题,提出了基于平面剖分的遥感影像镶嵌模型。模型基于开源类库空间数据抽象库(geospatial data abstraction library,GDAL),在GNU/Linux平台下,使用Python语言,实现了遥感影像按研究区域进行掩模及镶嵌的功能,并采用模型—视图—控制器(model view controller,MVC)的设计模式,应用跨平台的图形用户界面(graphical user interface,GUI)库wxPython实现了软件的封装,提供了完整的、功能键全的GUI用户界面。程序可以基于GUI界面或命令行方式运行,参数简单、可定制性强、可以批处理数据,提高了影像镶嵌自动化水平,在东北土地利用数据库更新中被用于Landsat5 TM影像镶嵌。
遥感影像镶嵌; 平面剖分模型; GNU/Linux平台; Python语言
遥感影像作为遥感信息的主要载体,是地物电磁波谱特征的实时记录,可以作为对地物进行定性或定量研究的资料[1]。但是由于卫星遥感图像每景的覆盖范围有限,研究区往往需要多幅图像才能完全覆盖,所以图像镶嵌技术一直是遥感应用的主要环节之一,也是当前计算机视觉和计算机图形学领域的研究热点之一[2]。利用图像序列间重叠区域内对应点的关系模型,如刚性变换模型、仿射变换模型、投影变换模型和双线性变换模型等[3],采用基于区域[4-5]、特征[6-8]、混合模型[9]或物理模型[10]等的配准方法,可以将图像序列拼成一幅大型无缝的全景图。如微软公司2006年公布的以全景镶嵌技术为核心的Photosynth产品,给公众带来了全新的视觉体验。该产品在对现有镶嵌技术提出了考验的同时,也为开发镶嵌技术提供了空间[11]。
现在图像镶嵌领域仍存在着的2个关键技术问题: ①如何高精度地将多幅图像从几何上拼接起来; ②如何消除几何拼接后图像上因灰度差异造成的拼接缝[12-13]。遥感影像是在不同大气条件下、不同卫星轨道上、不同姿态的传感器获取的地面反射或地面辐射电磁波的强度数据,数据含有多个波段。为了满足后续解译和定量反演,对遥感影像镶嵌的几何精度和数据处理速度要求更高,常用的镶嵌算法难以满足要求,特别是在重叠区域大时,严重消耗内存。早期的大部分商业遥感影像处理系统等提供的图像镶嵌功能,通常工作效率不够高、功能固定,难以按照用户要求定制影像切割、镶嵌等处理服务,而且软件功能繁多、操作复杂、不易进行再开发,再则软件价格昂贵,很多数据存储、管理系统可能为这单一业务购买大量额外的不常用功能,造成资金的浪费与资源的闲置,不适用于中小型用户。
与商用GIS和RS软件相比,开源空间信息软件(如GRASS,GDAL,Openlayers,MapGuid,MapServer等)开发灵活,成本较低,规范统一,已成为近年开发者关注的焦点,其竞争力日益增强。正如开源促进会曾指出的: 开放标准、开源理念、开源解决方案将成为各国政府在实施几乎所有政务上的潜在优势[14]。开源是中国软件创新的机遇,是推动国产地理空间信息产业发展的有利资源[15]。经过多年发展,各种开源软件和开源类库已经得到了广泛的应用,尤其是开源类库,在RS与GIS行业二次开发中的应用已经比较广泛[16-22]。
针对目前遥感影像镶嵌过程中人工干预过多、自动化程度不高和不易修改等问题,本研究提出了自顶向下平面剖分的遥感影像镶嵌模型。基于开源类库空间数据抽象库(geospatial data abstraction library,GDAL),在GNU/Linux系统下,使用Python语言进行二次开发,完成了遥感影像自动拼接处理的功能,用于解决因镶嵌方案、影像增强方案调整以及影像更新而造成的影像再镶嵌过程,提高了遥感影像镶嵌的工作效率,并且在一定程度上保证了数据镶嵌的标准化。本研究主要解决遥感影像高精度几何镶嵌的问题,镶嵌结果主要用于人机交互解译,为避免信息变异,影响后期遥感定量反演,没有进行影像的色调均衡。
本研究采用GNU/Linux操作系统(Debian Wheezy系统)作为试验平台,Python语言作为开发语言,GDAL开源栅格空间数据转换库为数据处理工具,完成了多幅Landsat5 TM遥感影像镶嵌的批处理,并采用模型—视图—控制器(model view controller,MVC)的设计模式,使用wxPython实现了软件的封装。对各开源软件和类库简介如下:
1)Python是一种面向对象、直译式计算机程序设计语言,是一种功能强大而完善的通用型语言,已经具有十多a的发展历史,成熟且稳定[23],几乎可以在所有的操作系统中运行。
2)GDAL开源类库,可以利用抽象数据模型(abstract data model)来表达所支持的各种文件格式,如asc,tif,img,dem等格式,还有一系列命令行工具进行数据转换和处理[24]。作为一个优秀的开源库,提供了完全公开的源代码,用户据此可以进行二次开发和底层的功能扩展,包括读取、写入、转换和处理等多种栅格数据格式[25]。
3)程序界面使用wxPython开发。wxPython将跨平台的图形用户界面(graphical user interface,GUI)库wxWidgets,以Python封装和Python模块的方式提供给用户,大量的内在功能允许Python程序员很方便地创建完整的、功能键全的GUI,是基于Python语言的一套优秀的GUI图形库[26]。
4)MVC软件设计模式把交互系统的组成分解成模型、视图和控制3种部件[27]。使用cfg文件来存储工作空间和文件路径等信息核心功能,GUI与数据处理代码分离,不仅简化了程序开发过程,提高了代码的可重用性,而且还可以进行批处理,可以使用Python写脚本来对程序进行拓展。
本研究从应用中碰到的实际问题出发,提出了基于平面剖分的遥感影像镶嵌模型,实现流程如图1所示。
图1 平面剖分模型技术流程Fig.1 Flow chart of plane split model
1)首先,针对定义好的研究区域U,建立与其对应的shape文件,为此多边形要素添加一个字符型字段,用来保存二级多边形要素对应的遥感影像名称; 然后,进行二维平面的初次分割,形成多个区域,要保证区域之间无重叠,并能铺满整个范围; 使每个区域与遥感影像对应,并定义遥感影像的感兴趣区域(region of interest,ROI),这意味着要用多个ROI来拼合形成研究范围的整个影像。
2)通过比较分析区域内的多景遥感影像,对原二维平面剖分方案进行调整,将按最佳方案生成的多边形定义为二级多边形要素。
3)将该多边形所覆盖的影像名称赋给这一字段,用来定义其所要用到的遥感影像。
4)shape文件中每一多边形都生成单独的shape文件,即ROI。
5)使用Python的Pillow扩展模块,将shape文件对相应的影像进行掩模处理,每一剖分只保留有用部分。
6)最后,应用GDAL类库,依据shape文件结果进行影像镶嵌处理。为了批处理数据,采用MVC的设计模式,应用wxPython对程序进行集成、封装。
实验采用同一地区不同时期的4幅Landsat5 TM影像作为源数据,来源于国家地球系统科学数据共享平台。遥感影像按标准1∶25万比例尺的图幅(L51C003004)图框进行了裁剪,生成的文件名分别为: L51C003004_LT51180282007273MGR01.tif,L51C003004_LT51190282007248IKR00.tif,L51C003004_LT51180292007273MGR01.tif和L51C003004_LT51190292007248IKR00.tif。
现在一般遥感影像处理系统都使用掩模技术来获取ROI,即将非ROI区域使用某种颜色当作无数据区或背景数据区。栅格数据集可以以多种多样的文件格式存储,如GeoTIFF,ESRI GRID,ERDAS Imagine等。选取的实验图像以tif格式存储,ROI区使用单个shape文件标识,或使用满足shape文件中某些条件的要素,生成文件与输入文件格式一致。
使用shape文件将研究区域分成4部分,每一部分使用与文件名对应的字段值进行标识,来说明生成的结果是如何映射到原始的影像文件(图2)。
图2 影像有效范围及标识Fig.2 Mark valid area of images
2.3.1 坐标转换
本研究采用大多数系统(如开源栅格图像处理系统GDAL模型、GeoTIFF模型及ArcGIS,ERDAS,ENVI等GIS与遥感图像处理系统)使用的6参数模型对栅格数据进行坐标变换,将图像的栅格坐标转换为地理空间坐标[28]。
2.3.2 掩模处理算法
按指定范围获取遥感影像ROI部分是遥感影像处理中经常会遇到的问题。本研究使用Python中用来进行图像处理的Pillow扩展模块进行影像掩模处理。但是Pillow不具有处理地理坐标空间的功能。因此,为了使用Pillow对影像进行掩模处理,需要将遥感影像与shape文件都转换为图像坐标。使用Pillow的多边形画图功能,假设有一矩形(B1,B2,B3,B4)范围大于这二者,则此矩形与多边形围成一多边形环。使用此多边形环对影像进行描画,可以完成掩模处理(此过程不会增加图像范围)。为了正确画出此多边形,需要确定画多边形时点的顺序,其算法如下:
1)选择多边形上一点A1与外框上一点B1,使得多边形上所有点均在此2点连线一侧。
2)以A1为起点,沿多边形顶点顺序选点,并在结束时包含A1点; 下一点为B1点,按顺序遍历外框上点,并在结束时包含B1点。
3)这样选择的点应构成如下形式:A1,A2,…,An,A1,B1,B2,B3,B4,B1。
使用该算法确定的多边形,可以使用Pillow模块,完成对遥感影像的掩模处理(图3)。
图3 掩模处理示意图Fig.3 Mask processing by Pillow
2.3.3 影像掩模处理
首先,通过对不同遥感影像的质量进行比较和选取,按照选择的影像边界对原始的多边形shape文件进行裁剪操作,划分为多个多边形; 然后,使用上述Pillow模块进行掩模处理。掩模过程中注意进行一个像元大小的缓冲,避免出现镶嵌后的黑线。
由于这些影像是已经通过掩模处理完毕的,因此影像镶嵌过程中不需要再定义范围等参数,可以自动化处理。镶嵌过程中定义背景值为0,可以直接使用GDAL的程序gdal_merge.py完成,影像的镶嵌效果见图4。
图4 影像镶嵌结果Fig.4 Remote sensing image mosaicking
最后,采用MVC的设计模式,在GNU/Linux平台上应用跨平台的GUI库wxPython对程序进行集成,实现了软件的封装,如图5。
图5 程序界面Fig.5 Software GUI
通过实例验证,本文提出的基于平面剖分的遥感影像镶嵌模型,具有一定的可行性和实用性。全程使用开源技术包括操作系统、类库及开发语言等进行了实现,不仅可以有效地解决各步骤之间的耦合性,方便针对每个步骤进行修改,而且设计的程序软件可以基于GUI界面或在命令行方式下运行,参数简单、可定制性强,最重要的是可以进行数据的批处理,经济可靠。本软件为大批量遥感影像镶嵌工作提供了处理平台,并在2008年、2010年东北地区土地利用数据库更新中被用于Landsat5 TM影像镶嵌。但软件应用于其他影像镶嵌时,还需要进一步的验证与讨论,今后还要解决几何拼接后图像拼接缝的消除问题。
志谢: 数据来源于国家科技基础条件平台——国家地球系统科学数据共享平台/沼泽湿地数据资源点(http: //www.geodata.cn); 中国科学院东北地理所土地遥感学科组在东北地区土地利用数据库更新中使用该软件,并给予验证和反馈意见,在此一并表示感谢。
[1] 卜 坤,张树文,颜凤芹,等.一种基于矢量数据记录的遥感影像镶嵌处理方法:中国,2013101483527[P].2013-08-28.
Bu K,Zhang S W,Yan F Q,et al.Remote-sensing image mosaic processing method based on vector data recording:China,2013101483527[P].2013-08-28.
[2] 宋 利,周源华,周 军.基于特征匹配的鲁棒图像镶嵌[J].上海交通大学学报,2004,38(5):783-786.
Song L,Zhou Y H,Zhou J.Feature-based robust image mosaicking[J].Journal of Shanghai Jiaotong University,2004,38(5):783-786.
[3] Mann S,Picard R W.Video orbits of the projective group a simple approach to featureless estimation of parameters[J].IEEE Transactions on Image Processing,1997,6(9):1281-1295.
[4] Johnson K,Cole-Rhodes A,Zavorin I,et al.Mutual information as a similarity measure for remote sensing image registration[C]//Proceedings of the SPIE 4383,Geo-Spatial Image and Data Exploitation II.Orlando,FL,United States:SPIE,2001,4383:51-61.
[5] Thangavel P,Kokila R.An extension of FFT based image registration[M]//Meghanathan N,Nagamalai D,Chaki N.Advances in Intelligent Systems and Computing.Berlin,Heidelberg:Springer,2013,177:729-737.
[6] Liu X Z,Tian Z,Leng C C,et al.Remote sensing image registration based on KICA-SIFT descriptors[C]//Proceedings of the Seventh International Conference on Fuzzy Systems and Knowledge Discovery.Yantai,China:IEEE,2010:278-282.
[7] Cao X Y,Shao X X,Li X Y,et al.Research on the image registration algorithm based on regional feature[M]//Ma M.Communication Systems and Information Technology.Berlin,Heidelberg:Springer,2011:795-801.
[8] 辛 亮,张景雄.共轭面状特征的快速提取与遥感影像精确配准[J].武汉大学学报(信息科学版),2011,36(6):678-682.
Xin L,Zhang J X.Fast extraction of conjugated area features and accurate registration of remote sensing image[J].Geomatics and Information Science of Wuhan University,2011,36(6):678-682.
[9] Sedaghat A,Mokhtarzade M,Ebadi H.Uniform robust scale-invariant feature matching for optical remote sensing images[J].IEEE Transactions on Geoscience and Remote Sensing,2011,49(11):4516-4527.
[10] 张泽旭,李金宗,李冬冬.基于光流场分析的红外图像自动配准方法研究[J].红外与毫米波学报,2003,22(4):307-312.
Zhang Z X,Li J Z,Li D D.Research of automated image registration technique for infrared images based on optical flow field analysis[J].Journal of Infrared and Millimeter Waves,2003,22(4):307-312.
[11] 张登荣,俞 乐,张汉奎,等.光学遥感影像快速镶嵌方法[J].浙江大学学报(工学版),2009,43(11):1988-1993.
Zhang D R,Yu L,Zhang H K,et al.Fast mosaic method for optical remote sensing images[J].Journal of Zhejiang University(Engineering Science),2009,43(11):1988-1993.
[12] 刘 坡,匡纲要.遥感图像的图像镶嵌方法[J].电脑知识与技术:学术交流,2007,1(1):197-198.
Liu P,Kuang G Y.Image mosaicing of remote image[J].Computer Knowledge and Technology,2007,1(1):197-198.
[13] 张登荣,张汉奎,俞 乐,等.基于有效区域自动判断的多幅遥感图像镶嵌方法[J].国土资源遥感,2010,22(1):39-43.doi:10.6046/gtzyyg.2010.01.06.
Zhang D R,Zhang H K,Yu L,et al.Multi remote sensing image mosaic based on valid area[J].Remote Sensing for Land and Resources,2010,22(1):39-43.doi:10.6046/gtzyyg.2010.01.06.
[14] 陆首群.开源软件更安全[EB/OL].[2009-12-24].http://blog.sina.com.cn/s/blog_4b8a02690100gip6.html.
Lu S Q.Open-source software is more secure[EB/OL].[2009-12-24].http://blog.sina.com.cn/s/blog_4b8a02 690100gip6.html.
[15] 郝玉凤.利用开源推动国内地理空间信息产业发展[J].中州大学学报,2010,27(4):118-120.
Hao Y F.Application of open source in the development of national geo-spatial information industry[J].Journal of Zhongzhou University,2010,27(4):118-120.
[16] 胡庆武,陈亚男,周 洋,等.开源GIS进展及其典型应用研究[J].地理信息世界,2009,7(1):46-55.
Hu Q W,Chen Y N,Zhou Y,et al.An overview on open source GIS software with its typical applications[J].Geomatics World,2009,7(1):46-55.
[17] 赵 岩,王思远,毕海芸,等.基于GDAL的遥感图像浏览关键技术研究[J].计算机工程,2012,38(23):15-18,23.
Zhao Y,Wang S Y,Bi H Y,et al.Research on key technology of remote sensing images browse based on GDAL[J].Computer Engineering,2012,38(23):15-18,23.
[18] 刘亚东,李青元,谭 海,等.开源库GDAL及其在影像拼接中的应用[J].数字技术与应用,2010(2):88-89.
Liu Y D,Li Q Y,Tan H,et al.Remote sensing images mosaicking based on GDAL[J].Digital Technology and Application,2010(2):88-89.
[19] 郭 亮,龚建华,孙 麇,等.基于ArcGIS Server与AJAX的WebGIS设计与实现[J].测绘科学,2011,36(3):210-212,209.
Guo L,Gong J H,Sun J,et al.Design and implementation of WebGIS based on ArcGIS server and AJAX[J].Science of Surveying and Mapping,2011,36(3):210-212,209.
[20] 熊 静,张 箐.基于MapServer的遥感影像发布系统的研究[J].遥感信息,2007(1):53-57,75.
Xiong J,Zhang Q.A research on remote sensing image publishing system based on MapServer[J].Remote Sensing Information,2007(1):53-57,75.
[21] 韦 胜.ArcEngine环境下实现瓦片地图的访问与拼接[J].武汉大学学报(信息科学版),2012,37(6):737-740.
Wei S.Implementation of access to and mosaicing tile map based on ArcEngine[J].Geomatics and Information Science of Wuhan University,2012,37(6):737-740.
[22] 胡自和,刘 坡,龚建华,等.基于虚拟地球的台风多维动态可视化系统的设计与实现[J].武汉大学学报(信息科学版),2015,40(10):1299-1305.
Hu Z H,Liu P,Gong J H,et al.Design and implementation of multidimensional and animated visualization system for typhoon on virtual globes[J].Geomatics and Information Science of Wuhan University,2015,40(10):1299-1305.
[23] 赫特兰M L.Python基础教程[M].司 维,曾军崴,谭颖华译.2版.北京:人民邮电出版社,2010.
Hetland M L.Beginning Python:From Novice to Professional[M].Translated by Si W,Zeng J W,Tan Y H.2nd ed.Beijing:Posts and Telecom Press,2010.
[24] GDAL.GDAL-geospatial data abstraction library[EB/OL].[1998-12-19].http://www.gdal.org/.
[25] 陈文彬.基于GDAL的遥感影像快速裁切技术[J].测绘与空间地理信息,2016,39(4):150-152.
Chen W B.The remote sensing image based on GDAL rapid cutting technology[J].Geomatics and Spatial Information Technology,2016,39(4):150-152.
[26] Hellmann D.Python标准库[M].刘炽译.北京:机械工业出版社,2012.
Hellmann D.The Python Standard Library by Example[M].Translated by Liu C.Beijing:China Machine Press,2012.
[27] 何玉云,张友生.MVC模式在网络中的应用[J].微计算机信息,2006,22(22):248-249,196.
He Y Y,Zhang Y S.Application in network of MVC pattern[J].Microcomputer Information,2006,22(22):248-249,196.
[28] 卜 坤,张树文,杨久春,等.栅格数据坐标变换模型在数据集成中的应用[J].测绘科学,2008,33(2):207-209.
Bu K,Zhang S W,Yang J C,et al.Application of raster data coordination transformation model in data integration[J].Science of Surveying and Mapping,2008,33(2):207-209.
Implementationofplanesplitmodelinremotesensingimagemosaicking
BU Kun1, WANG Zhiliang2,3, WANG Juanle3, ZHANG Shuwen1, YANG Jiuchun1, YU Lingxue1
(1.NortheastInstituteofGeographyandAgroecology,ChineseAcademyofSciences,Changchun130102,China; 2.ScienceCollege,QiqiharUniversity,Qiqihar161006,China; 3.InstituteofGeographicSciencesandNaturalResourcesResearch,ChineseAcademyofSciences,Beijing100101,China)
A plane split model was designed to resolve the problems of manual intervention dependency, low automation and difficulty in modification during remote sensing image mosaicking. Based on the GNU/Linux system, segmentation and mosaicking of experimental remote sensing images were carried out by Python and open source geospatial data abstraction library(GDAL). The set of algorithms was encapsulated by wxPython in the model view controller(MVC) framework. The design of the software with graphical user interface(GUI) is so perfect that it not only can be operated by GUI or command line, but also can process large numbers of images in batch. It has been well
to mosaic Landsat5 TM images in Land Cover Database Updated Program of Northeast China.
remote sensing image mosaicking; plane split model; GNU/Linux; Python
10.6046/gtzyyg.2017.04.34
卜坤,王治良,王卷乐,等.遥感影像镶嵌中平面剖分模型的应用及实现[J].国土资源遥感,2017,29(4):225-230.(Bu K,Wang Z L,Wang J L,et al.Implementation of plane split model in remote sensing image mosaicking[J].Remote Sensing for Land and Resources,2017,29(4):225-230.)
TP 751
A
1001-070X(2017)04-0225-06
2016-05-31;
2016-08-04
国家自然科学基金项目“基于GIS的景观指数空间展布研究”(编号: 41301510)、国家科技基础性工作专项项目“格网化资源环境综合科学调查规范”(编号: 2011FY110400)、黑龙江省哲学社会科学研究规划青年项目“嫩江流域湿地生态系统服务价值评估”(编号: 16JLC01)和齐齐哈尔市科技局软课题项目“嫩江流域湿地自然保护区空间格局优化”( 编号: RKX-201406)共同资助。
卜 坤(1981-),男,高级工程师,主要从事GIS开发与应用。Email: bukun@osgeo.cn。
王治良(1981-),男,博士后,主要从事资源环境遥感研究。Email: jodver@163.com。
(责任编辑:张仙)
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!