遥感图像PCA融合的并行算法研究与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i=1 i=1
=
1 s- 1
&
)
’
*
! ! ! (’
’ ’
Xi Yi +
Xi Yi +…+
Xi Yi )-
* * *
’ ’
1
2
n
* *
’
*
’
*
! ! ! ! ! ! ’
1’
( ’
s’’
(
1
Xi +
2
Xi +…+
n
Xi )(
1
Yi +
2
Yi +…+
n
*
Y )*
i
* **
+
( 4)
S/N
2S/N
2S/N
( 4) 将 P1 用 经 过 拉 伸 后 的 全 色 图 像 pan 的 数 据进行替换,得到新的 P 矩阵。
( 5) v 矩阵的转置 v’乘以 P 矩阵, 反变换回 RGB 坐标系统。
分析上述串行算法, 可以看出在第 3 步和第 5 步中, 存在着大量的矩阵乘法, 是串行算法的计算 瓶颈。而在第 1 步中, 由于需要多次扫描整个全局 的数据进行计算, 计算量更是相当大。
在 遥 感 图 像 融 合 技 术 中 , 主 成 分 分 析 PCA (Principal- Component- Analysis) 是一种经典的融合 方法, 然而由于实现运算量大, 计算复杂度高, 随着 所获取的遥感图像数据量的不断增大, 该方法无法 满足一些时效性要求, 从而影响了 PCA 融合方法的 广泛应用。因此, 随着并行化技术的发展, 研究高效 实用的 PCA 融合并行算法具有较高的理论与实用 价值。本文针对已有的 PCA 融合串行算法, 提出了 一种新的 PCA 融合并行算法 P- PCA(Parallel Prin-
i=1
i=S/N+1
i=(N- 1)S/N+1
( 5) 在各个结点进程上, v 矩阵的转置 v’乘以 P
矩阵, 反变换回 RGB 坐标系统。此步骤不涉及到各
个结点进程间的通信, 可以完全并发的执行。
3.3 并行算法的优化
由上述分析可知, 在 PCA 融合并行算法中的第
1 步中, 算式( 2) 是在数据并行的编程模型下, 由协
endnum 为该结点所读取图像的结束象素的标号。然
后将局部值传给 root 进程, 再由 root 进程算出整幅
图像的 R、G、B 后广播给其它结点。其它结点按照
endnum
! 算式( 2) 计算, 得到一个结点局部的
(Xi- X )(Yi-
i=beginnum
Y )值, 再次传入主结点, 由主结点进行加法及剩余计
行宽, 也即每一维波段数据的长度。具体可分为计
算每个波段的平均值和计算每两个波段间的协方
154
微电子学与计算机
2006 年第 23 卷第 10 期
差两步。 ( 2) 计算协方差矩阵的特征向量 v 及特征值 d ( 3) 将特征向量矩阵 v 乘以 MS 数据矩阵得到
主成分矩阵 P, 记 P 中对应于最大特征值的一行 P1 为第一主成分。
将数据间的相关性减少到最小, 减少了通信次数,
满足了并行实现的要求, 公式( 4) 如下所示:
2006 年第 23 卷第 10 期
微电子学与计算机
155
S
!(Xi- X )(Yi- Y )
COV(X, Y)= i = 1 s- 1
" # ! =
1 s- 1
S
XiYi+X Y - XiY - X Yi
3 PCA 融合并行算法 P- PCA 及其优化 为了提高算法效率, 满足实时性要求, 我们设
计了可扩展性能好、执行效率高的 PCA 融合并行算 法 P- PCA( Parallel Principal- Component- Analysis) 。 3.1 数据划分
常用的并行编程模型主要有: 任务并行, 流水 线并行和数据并行三类。由于 PCA 融合方法对各个 象素单元的操作基本相同, 因此我们选择数据并行 模型。对数据集的划分采用的是垂直分割方法, 将 图像以水平线分割到每个结点, 保证每个进程间的 交互尽量少。设结点数为 N, 图像的总行数值为 m, 若 m 能整除 N, 则每个结点分配到的图像行数为 m/ N; 若不能整除, 则非 root 进程的结点分配到的图像 行数为 m/N, 剩余的行数分配给 root 结点进程, 为 m- m/N×( N- 1) 。这种数据划分简单易行, 且满足负 载均衡的要求。 3.2 并行算法流程
( 4) 对每个结点, 将 P 矩阵的第一主成分用经
过拉伸后的全色图像 pan 的数据替换。由于 pan 图
像 拉 伸 需 要 用 到 panmax, panmin, 以 及 P1max, P1min, 如 何 计算出全局的最大最小值有多种方法。我们采用的
方法是: 各个结点先计算本结点上的最大最小值,
收稿日期: 2006- 04- 28 基金项目: 国家发改委 CNGI 专项基金项目( CNGI- 04- 15- 7A)
cipal- Component- Analysis), 并且进行了优化以减少 通信时间, 在机群系统上进行了实现。实验结果表 明该算法获得了良好的加速比, 可扩展性能好, 并 行效率较高。
其中, !表示!, !表示 ! , !表示 ! 。
1
i=1
2
i=1+s/N
n
i=(N- 1)S/N+1
由上式可推得, 对于每个结点来说, 只需要计算∑
XY、∑X、∑Y 三项的值, 再传递给主进程, 主进程便
能够由此计算出协方差矩阵。即主进程与其他进程
间的通信由原有的 3 次减少到一次即可, 比优化前
i=1
"! ! ! $ =
1 s- 1
S
S
S
XiYi+sX Y - Y Xi- X Yi
i=1
i=1
i=1
% $ ! =
1 s- 1
S
XiYi+sX Y - Y sX- X sY
i=1
" $ ! =
1 s- 1
S
XiYi- sX Y
i=1
"! ! ! $ =
1 s- 1
S
1S
S
s XiYi-
i=1
Xi Yi
算, 得到最终的协方差矩阵。这一步骤涉及到 root
进程和其他进程间的通信有 3 次。
( 2) 计算协方差矩阵的特征向量 v 及 特 征 值
d。因为这一步骤的计算量较小, 所以由主进程完
成, 并将计算结果广播到其他非主进程结点。
( 3) 在 每 个 结 点 上 进 行 R、G、B 向 P1、P2、P3 的 转换, 记 P 中对应于最大特征值的一行 P1 为第一主 成分。
2 PCA 融合的串行算法
主成分分 析 在 数 学 上 称 为 K- L 变 换[2], 是 在 统
计 特 征 基 础 上 进 行 的 一 种 多 维 (多 波 段 )正 交 线 性 变
换。实际操作是将原来的各个变量(这些变量中部分
有相关关系)重新组合, 组合后的新变量是互不相关
的。此方法用于对全色图像和多光谱图像数据进行
0.1155 0.4265 1.7089 6.6135
8
0.0594 0.2151 0.8538 3.2810
16ຫໍສະໝຸດ Baidu
0.0352 0.1258 0.4906 1.8266
间, 加快了执行速度。 对于整个过程而言, 进程间的通信次数由原有
然后再将这些值传入 root 结点, 由 root 结点比较出
全局的最大、最小 值 , 并 且 广 播 到 所 有 其 他 非 主 结
点进程。计算公式为( 其他公式类推)
panmax=
" ! ! ! $ S/N
2S/N
2S/N
MAX MAX pani +MAX pani +…+MAX
pani ( 3)
PCA, 并对该并行算法进行了通信优化, 在机群系统上进行了实现。针对 IKONOS 图像进行实验的结果表明该算法
可获得良好的并行加速比, 并行效率较高, 为遥感图像的实际应用提供了有益的指导和借鉴。
关键词: 遥感图像融合, PCA, 并行算法
中图分类号: TP31
文献标识码: A
文章编号: 1000- 7180( 2006) 10- 0153- 03
融合时, 具有显著的优势[3]。为了更好的理解本文提
出的并行算法, 首先简要介绍 PCA 串行算法的主要
步骤。
( 1) 将 MS 图像作为矩阵输入, 计算输入矩阵
的协方差矩阵, 计算公式为:
s
!(Xi- X )(Yi- Y )
σxy=COV(X,Y)= i = 1 S- 1
( 1)
X、Y 分别表示不同的波段, s 表示 输 入 矩 阵 的
减少了进程间的通信量, 减少了无谓的通信等待时
表 1 各种图像的执行时间( 单位 s)
进程数/图 1024×1024 2048×2048 4096×4096 8192×8192
像大小
1
0.4258 1.6723 6.7360 26.1631
2
0.2226 0.8652 3.4739 13.4593
4
(Xi- X )(Yi- Y )
i=1
i=(N- 1)S/N+1
i=(N- 1)S/N+1
(s- 1)
( 2)
每个结点先分别计算该结点上图像的局部
endnum
! xi, 其中 x 表示 R、G、B 三 个 波 段 中 的 一 个 ,
i=beginnum
beginnum 为该结点所读取图像的起始象素的标号,
2006 年第 23 卷第 10 期
微电子学与计算机
153
遥感图像 PCA 融合的并行算法研究与实现
胡 冰 周海芳 王攀峰 刘衡竹
( 国防科技大学 计算机学院, 湖南 长沙 410073)
摘 要: 文章针对已有的遥感图像 PCA 融合串行算法, 提出了一种基于数据并行的新的 PCA 融合并行算法 P-
A Par allel Algor ithm of PCA Image Fusion in Remote Sensing and Its Implementation
HU Bing, ZHOU Hai-fang, WANG Pan-feng, LIU Heng-zhu
( School of Computer Science, National University of Defense Technology, Changsha 410073, China)
按照传统的并行算法, PCA 并行融合算法的流 程图见图 1, 关键步骤说明如下:
( 1) 计算协方差矩阵。按照一般的并行程序实
现方法, 协方差公式( 1) 在分布式系统中变形为:
COV(X, Y)=
"! ! ! # S/N
2S/N
2S/N
(Xi- X )(Yi- Y )+
(Xi- X )(Yi- Y )+…+
方差串行计算式 ( 1) 所得到的最直接最简易的变
形, 在式( 2) 中计算协方差矩阵时需要很多全局数
据, 因而要求各进程间进行多次数据通信来交换数
据, 但是频繁的数据通信会严重的影响并行效率。
为使并行程序的执行效率更高, 我们针对第 1 步进
行通信优化处理, 经过数学变形后得到算式( 4) , 它
Abstr act: This paper discusses a new parallel algorithm of PCA image fusion P- PCA, based on the traditional PCA im- age fusion algorithm, and modifies some details to improve the efficiency. We also test the parallel algorithm with the MS image and Pan image of the IKONOS on the pc clusters system with good results, which can be a valuable reference for practical applications in remote sensing. Key wor ds: Remote sensing image fusion, PCA, Parallel algorithm
1 引言 全 色 ( Pan) 图 像 和 多 光 谱 ( MS) 图 像 是 最 常 见
的 两 种 遥 感 图 像 。 MS 图 像 包 含 了 地 面 目 标 丰 富 的光谱信息, 但它的空间分辨率不高; 另一方面, Pan 图 像 尽 管 具 有 非 常 丰 富 的 空 间 细 节 信 息 , 却 不包含光谱信息。实际应用中往往需要能同时具 备较高空间分辨率和光谱分辨率的遥感图像。多 源遥感图像的融合技术是解决这一问题的有效 途径, 能产生具有高空间分辨率的多光谱图像, 对 于 从 图 像 中 提 取 更 丰 富 、更 有 用 信 息 , 它 是 一 种 既 有 效 又 经 济 的 方 法[1]。
=
1 s- 1
&
)
’
*
! ! ! (’
’ ’
Xi Yi +
Xi Yi +…+
Xi Yi )-
* * *
’ ’
1
2
n
* *
’
*
’
*
! ! ! ! ! ! ’
1’
( ’
s’’
(
1
Xi +
2
Xi +…+
n
Xi )(
1
Yi +
2
Yi +…+
n
*
Y )*
i
* **
+
( 4)
S/N
2S/N
2S/N
( 4) 将 P1 用 经 过 拉 伸 后 的 全 色 图 像 pan 的 数 据进行替换,得到新的 P 矩阵。
( 5) v 矩阵的转置 v’乘以 P 矩阵, 反变换回 RGB 坐标系统。
分析上述串行算法, 可以看出在第 3 步和第 5 步中, 存在着大量的矩阵乘法, 是串行算法的计算 瓶颈。而在第 1 步中, 由于需要多次扫描整个全局 的数据进行计算, 计算量更是相当大。
在 遥 感 图 像 融 合 技 术 中 , 主 成 分 分 析 PCA (Principal- Component- Analysis) 是一种经典的融合 方法, 然而由于实现运算量大, 计算复杂度高, 随着 所获取的遥感图像数据量的不断增大, 该方法无法 满足一些时效性要求, 从而影响了 PCA 融合方法的 广泛应用。因此, 随着并行化技术的发展, 研究高效 实用的 PCA 融合并行算法具有较高的理论与实用 价值。本文针对已有的 PCA 融合串行算法, 提出了 一种新的 PCA 融合并行算法 P- PCA(Parallel Prin-
i=1
i=S/N+1
i=(N- 1)S/N+1
( 5) 在各个结点进程上, v 矩阵的转置 v’乘以 P
矩阵, 反变换回 RGB 坐标系统。此步骤不涉及到各
个结点进程间的通信, 可以完全并发的执行。
3.3 并行算法的优化
由上述分析可知, 在 PCA 融合并行算法中的第
1 步中, 算式( 2) 是在数据并行的编程模型下, 由协
endnum 为该结点所读取图像的结束象素的标号。然
后将局部值传给 root 进程, 再由 root 进程算出整幅
图像的 R、G、B 后广播给其它结点。其它结点按照
endnum
! 算式( 2) 计算, 得到一个结点局部的
(Xi- X )(Yi-
i=beginnum
Y )值, 再次传入主结点, 由主结点进行加法及剩余计
行宽, 也即每一维波段数据的长度。具体可分为计
算每个波段的平均值和计算每两个波段间的协方
154
微电子学与计算机
2006 年第 23 卷第 10 期
差两步。 ( 2) 计算协方差矩阵的特征向量 v 及特征值 d ( 3) 将特征向量矩阵 v 乘以 MS 数据矩阵得到
主成分矩阵 P, 记 P 中对应于最大特征值的一行 P1 为第一主成分。
将数据间的相关性减少到最小, 减少了通信次数,
满足了并行实现的要求, 公式( 4) 如下所示:
2006 年第 23 卷第 10 期
微电子学与计算机
155
S
!(Xi- X )(Yi- Y )
COV(X, Y)= i = 1 s- 1
" # ! =
1 s- 1
S
XiYi+X Y - XiY - X Yi
3 PCA 融合并行算法 P- PCA 及其优化 为了提高算法效率, 满足实时性要求, 我们设
计了可扩展性能好、执行效率高的 PCA 融合并行算 法 P- PCA( Parallel Principal- Component- Analysis) 。 3.1 数据划分
常用的并行编程模型主要有: 任务并行, 流水 线并行和数据并行三类。由于 PCA 融合方法对各个 象素单元的操作基本相同, 因此我们选择数据并行 模型。对数据集的划分采用的是垂直分割方法, 将 图像以水平线分割到每个结点, 保证每个进程间的 交互尽量少。设结点数为 N, 图像的总行数值为 m, 若 m 能整除 N, 则每个结点分配到的图像行数为 m/ N; 若不能整除, 则非 root 进程的结点分配到的图像 行数为 m/N, 剩余的行数分配给 root 结点进程, 为 m- m/N×( N- 1) 。这种数据划分简单易行, 且满足负 载均衡的要求。 3.2 并行算法流程
( 4) 对每个结点, 将 P 矩阵的第一主成分用经
过拉伸后的全色图像 pan 的数据替换。由于 pan 图
像 拉 伸 需 要 用 到 panmax, panmin, 以 及 P1max, P1min, 如 何 计算出全局的最大最小值有多种方法。我们采用的
方法是: 各个结点先计算本结点上的最大最小值,
收稿日期: 2006- 04- 28 基金项目: 国家发改委 CNGI 专项基金项目( CNGI- 04- 15- 7A)
cipal- Component- Analysis), 并且进行了优化以减少 通信时间, 在机群系统上进行了实现。实验结果表 明该算法获得了良好的加速比, 可扩展性能好, 并 行效率较高。
其中, !表示!, !表示 ! , !表示 ! 。
1
i=1
2
i=1+s/N
n
i=(N- 1)S/N+1
由上式可推得, 对于每个结点来说, 只需要计算∑
XY、∑X、∑Y 三项的值, 再传递给主进程, 主进程便
能够由此计算出协方差矩阵。即主进程与其他进程
间的通信由原有的 3 次减少到一次即可, 比优化前
i=1
"! ! ! $ =
1 s- 1
S
S
S
XiYi+sX Y - Y Xi- X Yi
i=1
i=1
i=1
% $ ! =
1 s- 1
S
XiYi+sX Y - Y sX- X sY
i=1
" $ ! =
1 s- 1
S
XiYi- sX Y
i=1
"! ! ! $ =
1 s- 1
S
1S
S
s XiYi-
i=1
Xi Yi
算, 得到最终的协方差矩阵。这一步骤涉及到 root
进程和其他进程间的通信有 3 次。
( 2) 计算协方差矩阵的特征向量 v 及 特 征 值
d。因为这一步骤的计算量较小, 所以由主进程完
成, 并将计算结果广播到其他非主进程结点。
( 3) 在 每 个 结 点 上 进 行 R、G、B 向 P1、P2、P3 的 转换, 记 P 中对应于最大特征值的一行 P1 为第一主 成分。
2 PCA 融合的串行算法
主成分分 析 在 数 学 上 称 为 K- L 变 换[2], 是 在 统
计 特 征 基 础 上 进 行 的 一 种 多 维 (多 波 段 )正 交 线 性 变
换。实际操作是将原来的各个变量(这些变量中部分
有相关关系)重新组合, 组合后的新变量是互不相关
的。此方法用于对全色图像和多光谱图像数据进行
0.1155 0.4265 1.7089 6.6135
8
0.0594 0.2151 0.8538 3.2810
16ຫໍສະໝຸດ Baidu
0.0352 0.1258 0.4906 1.8266
间, 加快了执行速度。 对于整个过程而言, 进程间的通信次数由原有
然后再将这些值传入 root 结点, 由 root 结点比较出
全局的最大、最小 值 , 并 且 广 播 到 所 有 其 他 非 主 结
点进程。计算公式为( 其他公式类推)
panmax=
" ! ! ! $ S/N
2S/N
2S/N
MAX MAX pani +MAX pani +…+MAX
pani ( 3)
PCA, 并对该并行算法进行了通信优化, 在机群系统上进行了实现。针对 IKONOS 图像进行实验的结果表明该算法
可获得良好的并行加速比, 并行效率较高, 为遥感图像的实际应用提供了有益的指导和借鉴。
关键词: 遥感图像融合, PCA, 并行算法
中图分类号: TP31
文献标识码: A
文章编号: 1000- 7180( 2006) 10- 0153- 03
融合时, 具有显著的优势[3]。为了更好的理解本文提
出的并行算法, 首先简要介绍 PCA 串行算法的主要
步骤。
( 1) 将 MS 图像作为矩阵输入, 计算输入矩阵
的协方差矩阵, 计算公式为:
s
!(Xi- X )(Yi- Y )
σxy=COV(X,Y)= i = 1 S- 1
( 1)
X、Y 分别表示不同的波段, s 表示 输 入 矩 阵 的
减少了进程间的通信量, 减少了无谓的通信等待时
表 1 各种图像的执行时间( 单位 s)
进程数/图 1024×1024 2048×2048 4096×4096 8192×8192
像大小
1
0.4258 1.6723 6.7360 26.1631
2
0.2226 0.8652 3.4739 13.4593
4
(Xi- X )(Yi- Y )
i=1
i=(N- 1)S/N+1
i=(N- 1)S/N+1
(s- 1)
( 2)
每个结点先分别计算该结点上图像的局部
endnum
! xi, 其中 x 表示 R、G、B 三 个 波 段 中 的 一 个 ,
i=beginnum
beginnum 为该结点所读取图像的起始象素的标号,
2006 年第 23 卷第 10 期
微电子学与计算机
153
遥感图像 PCA 融合的并行算法研究与实现
胡 冰 周海芳 王攀峰 刘衡竹
( 国防科技大学 计算机学院, 湖南 长沙 410073)
摘 要: 文章针对已有的遥感图像 PCA 融合串行算法, 提出了一种基于数据并行的新的 PCA 融合并行算法 P-
A Par allel Algor ithm of PCA Image Fusion in Remote Sensing and Its Implementation
HU Bing, ZHOU Hai-fang, WANG Pan-feng, LIU Heng-zhu
( School of Computer Science, National University of Defense Technology, Changsha 410073, China)
按照传统的并行算法, PCA 并行融合算法的流 程图见图 1, 关键步骤说明如下:
( 1) 计算协方差矩阵。按照一般的并行程序实
现方法, 协方差公式( 1) 在分布式系统中变形为:
COV(X, Y)=
"! ! ! # S/N
2S/N
2S/N
(Xi- X )(Yi- Y )+
(Xi- X )(Yi- Y )+…+
方差串行计算式 ( 1) 所得到的最直接最简易的变
形, 在式( 2) 中计算协方差矩阵时需要很多全局数
据, 因而要求各进程间进行多次数据通信来交换数
据, 但是频繁的数据通信会严重的影响并行效率。
为使并行程序的执行效率更高, 我们针对第 1 步进
行通信优化处理, 经过数学变形后得到算式( 4) , 它
Abstr act: This paper discusses a new parallel algorithm of PCA image fusion P- PCA, based on the traditional PCA im- age fusion algorithm, and modifies some details to improve the efficiency. We also test the parallel algorithm with the MS image and Pan image of the IKONOS on the pc clusters system with good results, which can be a valuable reference for practical applications in remote sensing. Key wor ds: Remote sensing image fusion, PCA, Parallel algorithm
1 引言 全 色 ( Pan) 图 像 和 多 光 谱 ( MS) 图 像 是 最 常 见
的 两 种 遥 感 图 像 。 MS 图 像 包 含 了 地 面 目 标 丰 富 的光谱信息, 但它的空间分辨率不高; 另一方面, Pan 图 像 尽 管 具 有 非 常 丰 富 的 空 间 细 节 信 息 , 却 不包含光谱信息。实际应用中往往需要能同时具 备较高空间分辨率和光谱分辨率的遥感图像。多 源遥感图像的融合技术是解决这一问题的有效 途径, 能产生具有高空间分辨率的多光谱图像, 对 于 从 图 像 中 提 取 更 丰 富 、更 有 用 信 息 , 它 是 一 种 既 有 效 又 经 济 的 方 法[1]。