基于最大似然法的遥感图像分类技术研究

更新时间:2023-05-10 19:29:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

遥感影像监督分类中的最大似然法进行地物分类

2010年第1期福建电脑

7

基于最大似然法的遥感图像分类技术研究

涛1,孙忠林1,2,孙

林2

(1、山东科技大学信息科学与工程学院山东青岛266510

2、山东科技大学测绘科学与工程学院山东青岛266510)

【摘要】:针对大遥感图像在单机分类方法中存在分类效率低、准确度差的问题,本文研究了网格环境下的最大似然分类技术在大遥感图像分类的应用。文中提出的方法充分利用了网格技术的分布式计算和协同共享等能力,采用最大似然法,给出了网格环境下大遥感图像的分类方法,并实验验证了该方法的有效性。

【关键词】:网格;最大似然法;遥感图像;分类

1、引言

分类是遥感研究的一个重要领域,常见的分类主要包括K近邻法、最小距离法、平行六面体法、支持向量机[1]、神经网络[2]等。当前遥感图像分类主要是在单机上实现,对多波段、宽视场、高空间分辨率的遥感数据存在着效率低、速度慢等缺点,不利用复杂算法的应用,限制了准确率的提高。网格技术可以方便的进行网络资源管理、有效的支持广域分布的、多领域的科学与工程问题的解决。论文研究了利用网格技术结合最大似然法完成大遥感图像的分类方法。使大遥感图像的分类速度加快,准确率提高。

论文通过对较大遥感图像的分析和分块,设计出在网格环境中以分布式、多线程并行计算,实现对大遥感图像的分类,减少了分类的时间,为复杂分类算法的应用提供了便利。2、最大似然法分类技术

最大似然分类法(MaximumLikelihoodClassification,简称MLC)有严密的理论基础,对于呈正态分布的类别判别函数易于建立,综合应用了每个类别在各波段中的均值,方差以及各波段之间的协方差,有较好的统计特性,一直被认为是较先进的分类方法[3]。

在传统的遥感图像分类中,最大似然法的应用比较广泛。该方法通过对感兴区域的统计和计算,得到各个类别的均值和方差等参数,从而确定一个分类函数,然后将待分类图像中的每一个像元代入各个类别的分类函数,将函数返回值最大的类别作为被扫描像元的归属类别,从而达到分类的效果[4]。

其主要过程如下:

1)确定需要分类的地区和使用的波段和特征分类数,检查所用各波段或特征分量是否相互已经位置配准;

2)根据已掌握的典型地区的地面情况,在图像上选择训练区;

3)计算参数,根据选出的各类训练区的图像数据,计算和确定先验概率;

4)分类,将训练区以外的图像像元逐个逐类代入公式,对于每个像元,分几类就计算几次,最后比较大小,选择最大值得出类别;

5)产生分类图,给每一类别规定一个值,如果分10类,就定每一类分别为1,2……10,分类后的像元值使用类别值代替,最后得到的分类图像就是专题图像.由于最大灰阶值等于类别数,在监视器上显示时需要给各类加上不同的彩色;

6)检验结果,如果分类中错误较多,需要重新选择训练区再作以上各步,直到结果满意为止。3、遥感图像分类器模型设计

基于网格技术[5]的分类模型的设计,就是要将在单机上的分类工作分散到各个空闲的网络资源中进行[6]。最大似然分类器包括五个主要模块:遥感图像预处理;分类参数初始化;感兴区域选择;数据传输;分类计算。如图1所示。

基金项目:山东科技大学研究生创新基金

图1最大似然分类器功能模块图

遥感图像预处理中的几何纠正和辐射校正主要是为了消除遥感图像获取过程中产生的图像真实度问题,提供给用户的是一幅和真实地物地貌的形状、空间位置以及色调吻合度较高的图像,格式转换是将多种格式的遥感图像转换成分类所需的格式。初始化模块确定分类的类别个数以及网格环境的初始化和对数据的分块。感兴区域选择模块是用户根据自身需求以及经验知识,对不同的地物进行划分,并且统计其中的像元个数,计算均值和方差等参数。数据传输模块是用户将分块数据传输到各个网格节点的过程,需要建立连接,然后进行传输。分类计算模块是网格站点对分块数据进行分类计算,最后将计算结果返回给主机。

4、最大似然分类流程

基于网格技术的最大似然分类器模型的建立是在监督分类中最大似然法的基础上建立的。在分类之前,需要部署好网格环境,并且测试好网格环境间的通讯是否正常,然后再进行分类,其主要流程如下:

Begin

1)对图像进行预处理;

2)初始化分类个数,以及训练参数,确定数据分块和线程

数;

3)建立并初始化网格线程及每个线程所要计算的数据量;4)检测网络及网格节点连通性,向网格添加网格计算线程

模型;

5)每一线程根据样本子集数据分别进行循环网格计算,将

网格单元中的所有数据通过计算得到所属类别,存储至本节点;

6)将各个网格站点中计算的结果传输至主机,合并网格计算结果;

7)释放网格资源,将分类结果输出至文件。

End

5、实验结果及分析

试验是在IntelP4,512M内存,MicrosoftVisualStudio2005,Alchemi1.06局域网环境下进行的。所用实验数据为2000*2000*7,4000*4000*7,6000*6000*7,8000*8000*7,其中

遥感影像监督分类中的最大似然法进行地物分类

8

福建电脑2010年第1期

第一部分为图像的行数,第二部分为图像的列数,第三部分为图像的波段数。在计算过程中,将图像分成5类。通过对比来看,单机分类和网格环境下分类有一定差距,原因是分类当中感兴区域选择的时候有一定的不同,但是结果总体较好。运行时间和节点个数图如图2所示。

图2时间节点图

据量较小时,减少时间不明显。这是因为数据在传输过程中需要建立连接,传输数据,消耗了一定的时间。对于网格节点的个数来说,网格节点个数越少,效果越明显,网格节点数越多,结果越不明显,而且随着节点个数的增多,时间差越来越小。因为,网格节点数量增多,建立连接以及传数据,分析数据所用时间就越多。从效率节点图来看,随着网格节点的增多,单台计算机计算平均所消耗CPU越来越少,减少量随着节点数量的增多越来越少,最后大致持平。最后结果如图3所示。6、结束语

通过对实验结果的分析来看,将网格技术应用于遥感图像分类,大大的减少了计算所用时间以及CPU使用率,提高了分类的精度。由于计算过程受到网络带宽以及连接时间的限制,对于不同大小的图像得到的结果也不尽相同。因此,网格技术可以在最大似然分类法中得到良好的应用。

参考文献:

[1]曾联明,吴湘滨,刘鹏.网格环境下分布式SVM遥感图像分类器模型研究[J].计算机工程与应用,2009,45(5):195-206.

[2]邓松,王汝传.基于网格服务的分布式BP分类算法研究[J].计算机应用研究,2009,5:40-45.

[3]吴学军,王修信.城市TM遥感图像分类方法研究[D].地方:大学,2007.

[4]钱巧静,谢瑞.面向对象的土地覆盖信息提取方法研究[J].遥感技术与应用,2005,20(3):338-342.

[5]邰晓亮,苏铁明.基于网格的协同设计平台关键技术研究[D].大连:大连理工大学,2008.

[6]曾联明,吴湘滨,刘鹏.新的分布式遥感图像分类器系统开发[J].计算机应用研究,2009,5:1944-1954.

CPU使用率和网格节点关系图如图3所示。

图3效率节点图

通过结果来看,当数据量较大时,节省时间较为明显。当数

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

(上接第4页)

NmrJsContext类实现了包括对脚本命令执行范围的定义、脚本

变量的作用范围、各种参数的绑定等功能。对参数及参数范围的绑定是通过NmrJsBinding类完成的。4.2命令行模块的实现

命令行模块的界面实现如图3所示。

HashMap<String,Object>()),ScriptContext.GLOBAL_SCOPE);//绑定脚本引擎的上下文环境的引擎域hashmap

engine.getContext().setBindings(newEngineScopeBinding(newHashMap<String,Object>()),ScriptContext.ENGINE_SCOPE);}

其中类ScriptNotBinding与EngineScopeBinding的作用均是

定义绑定范围,只是范围的作用域不同。

小结5.

本文简单介绍了NMR谱仪软件系统及脚本语言的基本概念,并以提高脚本语言在NMR谱仪软件系统的应用为研究目标,通过定义通用命令行模块,以简单的实例描述了脚本语言在软件系统中的具体运用。

本文重点描述了通用命令行模块中脚本语言的各种具体应用及软件系统的独特运用,并进行了详细的说明。各种运用提高了软件系统的可操作性、人机交互性,并为人性化设计做了初步的探讨。

最后,本文结合图例和代码对通用命令行模块的设计与实现进行了详细说明。

参考文献:

[1]LiGY,JiangY,YanXL,etal.Digitalnuclearmagneticresonancespec-trometer[J].RevSciInstrument,2001,72(12):4460-4463.

[2]黄玮伟.通用命令行模块的设计及实现[D].浙江大学,2007年5月.[3]王映,于满泉,李盛韬,王斌,余智华.JavaScript引擎在动态网页采集技术中的应用[J].计算机应用,2004,24(2):33-36.

[4]严莉萍,鲍敢峰,尤晋元.一种基于分布组件协调的脚本语言Concerto[J].上海交通大学学报2001(2)。

图3命令行模块界面

命令行模块的引擎初始化代码示例如下://初始化脚本上下文环境

NmrJsContextscontext=newNmrJsContext();//初始化引擎工厂管理类

ScriptEngineManagermanager=newScriptEngineManager();//调用函数设置脚本引擎与上下文环境

setEngine(manager.getEngineByName("JavaScript"),scontext);

命令行模块的上下文环境初始化代码示例如下:

publicvoidsetEngine(ScriptEngineeng,NmrJsContextscontext){

//全局脚本引擎变量赋初值engine=eng;

//设置脚本引擎的上下文环境engine.setContext(scontext);

//绑定脚本引擎的上下文环境的全局hashmap

engine.getContext().setBindings(newScriptNotBinding(new

本文来源:https://www.bwwdw.com/article/t0we.html

Top