教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

基于Matlab的高光谱遥感数据降维并行计算分析

来源:网络收集 时间:2026-09-08
导读: 理论研究 适意信息 基于Matlab的高光谱遥感数据降维并行计算分析 刘春①~,陈燕①,辛亮① (①同济大学测量与国土信息工程系,上海200092,②现代工程测量国家测绘局重点实验室,上海200092) 摘要:对于海量遥感数据的计算而言,串行运

理论研究

适意信息

基于Matlab的高光谱遥感数据降维并行计算分析

刘春①~,陈燕①,辛亮①

(①同济大学测量与国土信息工程系,上海200092,②现代工程测量国家测绘局重点实验室,上海200092)

摘要:对于海量遥感数据的计算而言,串行运算对计算机性能要求高,而且耗时长。为此本文提出引用并行运算方法,不仅可以降低对计算机性能的要求,还可以大大提高运行和计算速度。为此,首先介绍了基于MPI

(MessagePassingInterface)的并行运算机制,且以Matlab为例给出了它的并行模式,并详细介绍了将现有串行

运算代码改造成并行运算的流程。以海量高光谱影像数据为例,将本征维数估计的串行运算修改为并行运算,实验分析并测试了其运行效率。结果表明,并行计算较串行计算可大大缩短本征维数的计算时问。

关键词:并行计算;MATLAB;高光谱遥感;本征维数

doi:10.3969/j.issn.1000--3177.2010.03.003中图分类号:TP791

文献标识码:A

文章编号:1000一3177(2010)109—0013—05

引言

评估等。随着PC机运行速度的大幅度提高,成本的不断降低,再加上局域网技术的不断发展,以PC机为主题的局域网多机并行Matlab计算将成为并行计算技术的一个新的发展点。因此本文以Mat-lab为编程语言,并行计算了高光谱数据的本征维数,并对其运行效率与串行运算进行比较,论证将串行运算改造成并行运算的必要性。

随着科学技术的飞速发展,越来越多的大规模科学和工程计算问题对计算机的速度提出了非常高的要求。在图像处理方面,大规模的地形匹配、神经网络计算及其他计算量大的任务都需要计算机具有强大的计算性能。虽然,微处理器的性能不断提高,但单机的性能仍跟不上计算需求的发展,并行计算即成为充分利用硬件资源并结合算法安排求解大规模问题的解决方法之一[1]。

高光谱遥感具有“图谱合一”的特点,它利用成像光谱仪纳米级的分辨率,以几十或几百个波段同时对地表地物成像,获取地物连续光谱信息,实现了地物空间信息、辐射信息、光谱信息的同时获取[2 ̄4]。由于波段数目众多,数据量巨大,因此导致对高光谱影像数据的计算量大,计算耗费时间长。目前,国内外学者对于高光谱影像数据进行降维方法的研究比较多,提出了很多本征维数的估计方法,如主分量分析方法[5],极大似然方法‘引,碎片方法[7],熵估计方法[8]等,而对于如何提高高光谱影像数据本征维数估计的运算速度的研究涉及的比较少。MatlabEgl是一种跨平台的软件,且具有高效性,被广泛用于算法研究、仿真、数据恢复、测试和系统

收稿日期:2009一05—11

修订日期:2009一06一03

2基于MPI的并行计算

2.1

进程

进程(process)是一个程序,同时包含它的执行环境(内存、寄存器、程序计数器等),是操作系统中独立存在的可执行的基本程序单位。对于串行应用程序编译形成的可执行代码,分为“指令”和“数据”两个部分,并在程序执行时“独立地申请和占有”内存空间,且所有计算均局限于该内存空间。如图1(a)所示。事实上,多个进程可以同时存在于单机内同一操作系统,由操作系统负责调度分时共享处理机资源(CPU、内存、存储、外设等)。进程间相互独立(内存空间不相交),在操作系统调度下各自独立地运行,如图1(b)所示,例如多个串行应用程序在同一台计算机中运行。进程间可以相互交换信息:例如数据交换、同步等待,消息是这些交换信息的基

基金项目:国家自然科学基金项目(40501061)和海岛(礁)测绘技术国家测绘局重点实验室资助项目(2009810).作者简介:刘春,男(1973~),教授、博士生导师,主要研究方向为GIS空间数据不确定性与LIDAR数据的融合处理。E-mail:E-mall:liuchun@tongji.edu.cn

13

适意信息

理论砷究

本单位,消息传递是指这些信息在进程间的相互交换,是实现进程间通信的唯一方式。最基本的消息传递操作:发送消息(send)、接受消息(receive)、进程同步(barrier)、规约(reduction)。共享内存常用干消息侉涕的实现。

图1串并行进程示意图

2.2

MPI并行环境

在消息传递库方法的并行编程中,一组进程所执行的程序是用标准串行语言书写的代码加上用于消息接收和发送的库函数调用。目前,MPI(Mes-

sage

Passing

Interface)[10]是比较流行的并行计算

开发环境之一。MPI是一个并行计算消息传递接口标准,由MPI论坛(MPIForum)推出,制定该标准的目的是提高并行程序的可移植性和开发效率。MPI论坛是由欧美主要的并行计算机生产商、大学、政府实验室和工厂研究人员组成的一个非官方组织。MPI论坛在1994年6月正式推出了MPI的第一个版本MPI1.0,又于1995年6月推出了MPI1.1,对原有的版本进行了修改、完善和补充[1¨。1997年7月推出的MPl2.0版本中,又加入了远程存储访问、并行I/0、动态进程管理等内容。MPI现在已经成为产业界广泛支持的并行计算标准[121。

在基于MPI编程模型中,计算是由一个或多个彼此通过调用库函数进行消息收、发通信的进程所组成。在绝大部分MPI实现中,一组固定的进程在程序初始化时生成,一般情况下,一个处理器只生成一个进程。这些进程可以执行相同或不同的程序(相应地称为单程序多数据(SPMD)或多程序多数据(MPMD)模式)。进程间的通信可以是点到点的,也可以是集合的。

MPI是目前应用最广的并行程序设计平台,几

14

乎被所有并行计算环境(共享和分布式存储并行机、MPP、机群系统等)和流行的多进程操作系统(UNIX、WindowsNT)所支持,基于它开发的应用程序具有最佳的可移植性。Matlab2007b开始推出并行计算的函数便是基于MPI开发的,随后

Matlab2008a正式推出基于MPI的并行计算工具

箱(ParallelComputingToolboxTM)。

Matlab并行计算实现

Matlab2008a开始推出的ParallelComputing

ToolboXTM是基于MPI开发的用于加强硬件多线程处理能力,解决密集数据处理和并行计算的工具箱。该工具箱拓展了Matlab高性能并行处理的能力,用户可以根据这些工具箱提供的功能,针对过去基于串行计算的代码,不需要做很大修改就可以使原代码满足并行处理的要求,大大提高数据处理能力和

效率。Parallel

Computing

ToolboxTM在单个处理

工作站上执行并行程序,如果联合Matlab的分布计

算服务器(Distributed

Computing

ServerTM)就可以

实现在一个计算机簇中进行分布式并行计算,这对于海量数据和复杂计算来说,是一个很经济实用的解决方案。

3. …… 此处隐藏:6502字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于Matlab的高光谱遥感数据降维并行计算分析.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1581694.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)