欢迎大家来到IT世界,在知识的湖畔探索吧!
文:缘一说
编辑:缘一说
引言
遥感大数据时代,卫星遥感数据量持续增长,数据来源呈多样化发展趋势且更新速度不断加快。
对这些大量遥感影像数据进行快速、准确的处理和分析变得越来越重要,几何校正是对卫星影像进行位置精确度的修正。
目的是将影像中的每个像元与地球表面相应的地理位置对应,以消除地球曲率和地形变化等因素对影像位置精度的影响,为后续遥感数据的分析和应用提供准确的地理信息。
当前不同传感器的遥感数据不断增加,快速几何校正可以使不同传感器获取的影像具有一致的地理坐标系,从而为遥感数据的融合分析创造条件。
在环境变化、资源管理和城市规划等领域,研究者们需要对长时间序列的遥感数据进行分析,快速几何校正可以消除不同时间和空间的遥感数据之间的位置误差,使得时序数据具有可比性。
RPC(RationalPolynomialCoefficients)模型是一种广泛应用于卫星影像几何校正的方法,通过多项式拟合实现像方坐标与物方坐标转换。
无法获得高精度数字正射影像等参考数据时,基于RPC模型对遥感影像进行校正能够获得可信的精度。
RPC模型具有较高的精度和通用性,在遥感领域的多种应用场景中发挥着重要作用,随着遥感数据量的快速增长,传统的串行处理方法已经难以满足实时性和高效性的需求。
因此,针对RPC校正模型开发并行算法具有重要意义,并行算法可以充分利用多核处理器和GPU等并行计算资源,显著缩短遥感影像几何校正的处理时间,提高数据处理效率。
采用并行算法可以克服单机内存和计算能力的限制,支持大规模遥感数据的快速几何校正,为遥感大数据时代的应用需求提供技术支撑。
随着GPU和多核CPU技术的发展,它们在遥感影像处理中的应用得到了广泛的关注。
在遥感影像分类、正射校正、特征匹配、特征检测、影像融合等多个方面开发了并行算法。
在海量遥感影像处理及分析任务中,GPU及多核CPU的应用提供了更高的计算效率,确保了数据的实时性,为了提高处理效率,一些研究人员对RPC校正的并行算法进行了研究。
比如,为缩短影像校正时间,使用GPU实现了宽幅遥感影像的并行RPC校正,在高分二号多光谱影像和全色影像上的计算上获得了3.71及8.27的加速比。
虽然GPU在RPC模型进行卫星影像校正并行算法方面具有优势,但目前的并行算法仍存在一些不足之处,缺少对内存限制、通信开销、负载均衡、资源利用率等方面的系统研究。
因此对GPU及多核CPU基于RPC模型卫星影像校正并行算法的设计及算法优化进行研究,以进一步提高并行算法的效率以及算法的适用性。
方法
RPC模型,基于RPC(有理多项式系数)模型的卫星影像校正是一种广泛应用的方法,RPC模型通过有理多项式函数描述地面坐标和像素坐标之间的映射关系。
RPC模型通常包括两个有理多项式方程,一个用于计算像素的行坐标,另一个用于计算像素的列坐标。
假设地面坐标为(X,Y,Z),影像坐标为(x,y),RPC模型的基本形式如式(1)—式(6):
其中,Ox,Oy均为平移系数Sx,Sy均为缩放系数aijk,bijk,cijk,dijk均为PRC模型参数,i,j和k的取值范围为0~3。
这些系数通常由卫星影像供应商提供,使用这些系数可以通过上述公式将地面坐标(X,Y,Z)转换为影像坐标(x,y),然后,利用这些影像坐标进行影像校正。
GPU并行算法设计:CUDA(ComputeUnifiedDeviceArchitecture)是NVIDIA推出的一种并行计算框架,可以充分利用GPU的计算能力,加速影像处理过程,基于CUDA进行GPU并行算法及其优化研究。
以下是算法关键步骤的具体细节。
RPC读取:读取由卫星影像数据提供商提供的RPC模型参数文件(如*.rpb),获取平移系数、缩放系数及多项式参数数据。
CUDA核函数设计:核函数处理单元为单个像素,根据当前线程像素坐标和RPC模型参数计算地面坐标,然后将地面坐标转换为输出影像的像素坐标,最后将输入影像的像素值复制到输出影像的相应位置。
线程块和网格大小确定:为了充分利用GPU的计算能力,需要合理地选择线程块和网格大小。
线程块大小通常为16×16或32×32,应确保每个线程块中的线程数量是warp大小的整数倍,网格大小根据影像尺寸和线程块大小来确定,以确保所有像素点都被处理。
GPU内存分配及数据拷贝:为输入影像和输出影像分配GPU内存,然后将输入影像从主机内存复制到GPU内存。
核函数调用:调用核函数进行RPC变换,核函数在GPU上并行执行,每个线程处理一个像素点。
GPU内存数据输出:核函数执行完成后,将输出影像从GPU内存复制回主机内存并保存至磁盘。
优化:使用共享内存、常量内存来加速内存访问,并进行多流优化、多线程多流优化、对边界和异常值进行处理,具体优化策略包括:a.将RPC模型参数存储在常量内存中,以减少全局内存访问。
b.使用CUDA多流技术实现任务并行执行,将影像分割成多个子区域,并为每个子区域创建一个CUDA流。
c.针对大影像,影像分割为大小相等的子区域,以确保每个线程处理的任务量相似。
d.根据GPU的计算能力动态调整线程块和网格大小,充分利用GPU资源。
e.根据GPU内存容量采用拷贝数据最大化策略,在GPU上完成所有计算任务,再将输出影像复制回主机内存。
f.异步数据传输与计算策略,使用cudaMemcpyAsync函数实现异步数据传输,在数据传输过程中同时执行其他任务。
CPUs并行算法设计OpenMP(OpenMulti-Processing)是一种支持多平台共享内存并行编程API,它采用基于指令的方法简化并行程序的开发。
OpenMP使用编译器指令(#pragmaomp)来实现并行化,使得将串行代码转换为并行代码变得相对简单。
通过在适当的位置添加指令,开发人员可以在不修改原始代码结构的情况下实现并行处理。
此外OpenMP还具有可移植性、兼容性、可扩展性、支持多种并行模式以及自动化并行任务管理等特点和优势,使得它成为多核CPU并行编程的理想选择。
RPC模型遥感影像校正的最小处理单元为像素,可以将不同的像素分配给不同的CPU线程进行处理,这种任务分解方法便于使用OpenMP的并行计算能力。
由于OpenMP并行实现相对简单,以下通过伪代码的形式来说明本文的并行算法设计及优化方法。
在代码中,对于并行算法的优化主要采用以下策略:使用高效数学库,提高数学运算性能。
采用一维数组存储影像数据,通过计算索引值来访问像素,减少内存访问开销,设计RPC模型参数结构体来组织数据,使用OpenMP的“collapse”将嵌套循环合并为一个并行循环,以提高线程利用率。
实验及分析
实验数据及环境采用高分一号卫星(GF-1)、高分6号卫星(GF-6)、高分7号卫星(GF-7)影像进行实验,高分系列卫星遥感影像标准产品中提供了全色及多光谱影像数据及*.rpb文件(RPC参数)。
本次总计开展了4组实验,影像数据量介于0.69GB~1.81GB之间,实验结果本文采用加速比评价并行算法的加速效果,加速比计算如式(7)所示。
S=T1T(7)其中,S为加速比T1为单线程算法的执行时间T为并行算法的执行时间。
表3为4组实验分别采用CPU、多核CPU,GPU进行计算的时长统计,以及多核CPU,GPU与单线程CPU计算的加速比统计情况。
由表3可以看出,本文提出的并行算法在计算效率上提升明显,其中GPU的加速比介于22.9~71.5之间,多核CPU的加速比介于5.4~5.7之间在综合效率上,GPU的加速比介于2.4~32.4之间,多核CPU的加速比介于2.1~5.0之间。
其中第4组加速效果最为明显,主要原因是第4组数据为单波段数据,大幅缩短了数据I/O操作的时间,从而体现了并行算法在整体时间上的优势。
为了优化数据I/O操作,本文针对波段数多于1的情况,对算法进行了进一步优化,按照波段逐一进行处理,然后再将各波段写入同一影像。
表4是按照新的优化策略,GPU计算时间及总处理时间的统计情况,从表4可以看出,该策略取得了明显的数据处理效率提升效果。
相对GPU并行,基于OpenMP进行多核并行的开发十分简单,仅用几行代码即可实现算法的并行,而且在读写密集型并行计算中,可以获得与GPU并行相当的加速比。
为了进一步了解多核CPU并行加速的效果,本次对使用不同线程数量对加速结果的影响进行了实验。
线程数量较少时处理效率提升明显,当线程数量接近处理器核心数时,处理效率提升趋于平缓。
因此选择合适的线程数量十分重要,通常可以将线程数量设置为处理器核心数或者稍多于核心数以获得相对理想的性能提升。
结论
本文针对卫星遥感影像RPC几何校正问题,提出了基于GPU和多核CPU的并行算法并进行了优化。
通过对比实验,验证了该算法计算性能的优势。具体来说,本文的主要贡献包括以下几点:
提出了一种基于RPC模型卫星影像几何校正的GPU并行优化算法,获得了22.9~71.5的计算加速比及2.4~32.4的综合加速比,加速效果明显。
提出了一种基于RPC模型卫星影像几何校正的多核CPU并行优化算法,获得了5.4~5.7的计算加速比及2.1~5.0的综合加速比。
针对多波段数据I/O操作压力大的情况,提出分波段处理的优化策略,进一步获得了1.8倍~2.0倍的加速效果。
提出的并行算法可大幅提升遥感影像计算速度,为诸如生态环境监测、城市应急、智慧农业、灾害监测等领域提供更快的数据处理支持。
尽管本次提出的并行算法在遥感影像RPC几何校正上取得了显著效果,但是仍有以下几个方面的改进空间:
进一步优化负载均衡策略,提高多核CPU和GPU之间的协同效率进一步研究遥感数据的I/O优化方法,降低I/O对整体处理效率的影响针对特定应用场景和硬件配置进行算法定制,以满足不同用户的需求。
参考文献
[1]一种基于3-RPC并联机构的新型步行机器人.张成军;李艳文.机械工程学报,2011
[2]4-RPC并联机构及其衍生机构的运动学研究.孙磊;郝秀清;徐宗刚.山东理工大学学报(自然科学版),2008
[3]3—RPC并联机构运动学研究.王晶星;张勇;杨灏泉;崔俊博.机械传动,2010
[4]基于3-RPC并联机构的三维振动隔离系统的动力学建模与控制研究.赵伟;陈伟;李兵.振动与冲击,2017
[5]高分辨率卫星影像定位精度分析方法及RPC参数的精化研究.郭楠;赵辉.信息技术与信息化,2020
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/87510.html