一种高分辨率遥感图像分类算法时空效率优化方法技术

技术编号:13187213 阅读:65 留言:0更新日期:2016-05-11 17:14
本发明专利技术涉及计算机图像处理和遥感技术领域,公开了一种高分辨率遥感图像分类算法时空效率优化方法,采用了对图像进行分块处理的策略,引入了CUDA并行化计算和内存映射文件技术,避免磁盘的读写操作从而极大节省了算法的运行时间,经过合理优化的算法,保留了分块处理方法内存占用少的优点,而且提高了图像文件访问速度,提高遥感图像处理的时间效率和空间效率。

【技术实现步骤摘要】

本专利技术设及计算机图像处理和遥感
,特别是一种高分辨率遥感图像分类 算法时空效率优化方法。
技术介绍
随着卫星遥感技术的快速发展,遥感图像的数据量越来越大。比如,SP0T-5卫星图 像存储了 5.76* 108个像素 ,Wor IdVi ew-2卫星图像存储了 2.62* 108个像素。如此大的数据量 给遥感数据处理带来极大的压力和挑战,主要表现在程序运行时间过长、计算机内存不足。 当前计算机CPU主频和内存容量增长比较缓慢,因此依靠硬件性能的提高解决遥感图像处 理时间过长和内存不足的问题比较困难。如何提高遥感图像处理的时间效率和空间效率, 已成为遥感图像处理领域面临的最紧迫的问题之一。
技术实现思路
本专利技术的目的在于提供,保留 了分块处理方法内存占用少的优点,而且提高了图像文件访问速度,提高遥感图像处理的 时间效率和空间效率。 为实现上述技术目的,达到上述技术效果,本专利技术公开了一种高分辨率遥感图像 分类算法时空效率优化方法,优化算法具体步骤为: A:图像数据分成若干像素块; B:使用GDAL函数库中的RasterIO函数逐块加载图像的像素集,并利用内存映射文 件技术逐块像素数据转存到新的磁盘文件中; C:随机选取K个像素作为初始聚类中屯、;[000引D:利用内存映射文件技术从磁盘文件中读取第一个分块的像素数据,并传输到设 备端; E:在设备端计算分块的各个像素与每一个聚类中屯、的距离,按相近原则进行分 类; F:将分类结果传回主机端,并利用内存映射文件技术将结果数据转存到磁盘文 件; G:如果步骤D中读取的数据是最后一个分块数据,则转至步骤H,否则读取下一个 分块数据并转至步骤E; H:计算每一类中各个像素的平均值,并W此平均值作为新的聚类中屯、; I:比较新的聚类中屯、与旧的聚类中屯、是否相同,比较结束后用新聚类中屯、替换旧 聚类中屯、,比较结果不同则转至步骤D,相同则转至步骤J; J:将每一个聚类中屯、的像素值赋值给该类的每一个像素。 其中,图像数据分成若干像素块中,像素块大小为128*128、256*256、51巧512和 1024*1024 中的一种。 其中,比较新的聚类中屯、与旧的聚类中屯、,可采用绝对距离、欧氏距离、马氏距离、 曼哈顿距离、夹角余弦距离度量公式进行相似性评价。 本专利技术具有W下有益效果:[001引1.本专利技术采用了对图像进行分块处理的策略,引入了 CUDA并行化计算和内存映射 文件技术,避免磁盘的读写操作从而极大节省了算法的运行时间。 2.经过合理优化的算法,保留了分块处理方法内存占用少的优点,而且提高了图 像文件访问速度,提高遥感图像处理的时间效率和空间效率。【附图说明】 图1为本专利技术的流程示意图。【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本专利技术进行进一步详细说明。 实施例1 本专利技术公开了,优化算法具体 步骤为: A:图像数据分成若干像素块,每块像素块为51巧512; B:使用GDAL函数库中的RasterIO函数逐块加载图像的像素集,并利用内存映射文 件技术逐块像素数据转存到新的磁盘文件中; C:随机选取K个像素作为初始聚类中屯、; D:利用内存映射文件技术从磁盘文件中读取第一个分块的像素数据,并传输到设 备端; E:在设备端计算分块的各个像素与每一个聚类中屯、的距离,按相近原则进行分 类; F:将分类结果传回主机端,并利用内存映射文件技术将结果数据转存到磁盘文 件; G:如果步骤D中读取的数据是最后一个分块数据,则转至步骤H,否则读取下一个 分块数据并转至步骤E; H:计算每一类中各个像素的平均值,并W此平均值作为新的聚类中屯、; I:比较新的聚类中屯、与旧的聚类中屯、是否相同,比较结束后用新聚类中屯、替换旧 聚类中屯、,比较结果不同则转至步骤D,相同则转至步骤J; J:将每一个聚类中屯、的像素值赋值给该类的每一个像素。 其中,比较新的聚类中屯、与旧的聚类中屯、,夹角余弦距离度量公式进行相似性评 价。 实施例2 实验目的及方法:为了评价本申请可行性和有效性,本实施例WK-Means算法为 例,使用了一幅裁切后的小图像(600*600像素)和整景图像(6000*6000像素)进行了实验, 对于600*600像素的图像,对比了乂PU+内存"、乂UDA+内存"和乂UDA+MMF" S种策略单次迭 代花费的时间;对于6000*6000像素的SPOT-5整景图像/'CUDA+内存"、"CUDA+MMF"和"CUDA+ 分块种策略单次迭代花费的时间。 实验结果:如表1所示:[003引表化-Means聚类算法四种实现策略的执行时间(单位:ms) 可W看出/'CUDA+内存"和乂 UDA+MMF"策略花费的时间远远小于乂 PU+内存"策略 花费的时间,只有后者的3 %左右,其中乂UDA+MMF"策略花费的时间略高于乂UDA+内存"策 略花费的时间。[004。 可W看出"CUDA+内存"和"CUDA+MM户'策略花费的时间基本相同,并且远远小于 乂 UDA+分块"策略花费的时间,也只有后者的3 %左右。由此可见MMF技术确实能够极大地提 局K-Means聚类算法的时间效率。 实施例3 实验目的及方法:为了评价本申请可行性和有效性,本实施例WK-Means算法为 例,对于600*600、3000*3000和6000*6000像素的图像进行乂UDA+内存"、乂UDA+MM户'和 "CUDA+分块"S种策略时内存占用数量进行比较评测。 实验结果; 如表2中显示,对于600*600像素的小图像/'CUDA+MMF"和"CUDA+分欺'策略占用的 内存略小于乂UDA+内存"策略占用的内存;对于3000*3000像素的中等大小图像,"CUDA+ MMF"策略和"CUDA+分欺'策略占用的内存明显小于"CUDA+内存"策略占用的内存,只有后者 的25 %左右;对于6000*6000像素的大图像/'CUDA+MMF"和乂UDA+分块"策略占用的内存远 小于"CUDA+内存"策略占用的内存,只有后者的10%左右。由此可见,遥感图像的尺寸越大, 使用分块处理方法的"CUDA+MMf'和"CUDA+分块"策略对内存数量的节省越明显。 表2K-Means聚类算法各种实现策略占用的内存数量(单位:邸)[004引实施例4 实验目的及方法:为了评价本申请可行性和有效性,本实施例WK-Means算法为 例,研究了瓦片大小对乂UDA+MMF"实现策略执行时间的影响,总共做了 5组对比试验。每一 组实验中瓦片的大小分别设定为128*128、256*256、512*512和1024*1024四种尺寸 实验结果:如表3所示: 表3各种瓦片大小下CUDA+MMF策略的执行时间(单位:ms) 可W看出,随着瓦片尺寸变大/'CUDA+MMF"策略的执行时间呈下降趋势,但是下降 幅度很小,通常情况下瓦片大小设定为512*512像素或256*256像素即可。 W上所述,仅为本专利技术较佳的【具体实施方式】,但本专利技术的保护范围并不局限于此, 任何熟悉本
的技术人员在本专利技术掲露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本专利技术的保护范围之内。【主权项本文档来自技高网
...

【技术保护点】
高分辨率遥感图像分类算法时空效率优化方法,其特征在于,所述的优化算法具体步骤为:A:图像数据分成若干像素块;B:使用GDAL函数库中的RasterIO函数逐块加载图像的像素集,并利用内存映射文件技术逐块像素数据转存到新的磁盘文件中;C:随机选取K个像素作为初始聚类中心;D:利用内存映射文件技术从磁盘文件中读取第一个分块的像素数据,并传输到设备端;E:在设备端计算分块的各个像素与每一个聚类中心的距离,按相近原则进行分类;F:将分类结果传回主机端,并利用内存映射文件技术将结果数据转存到磁盘文件;G:如果步骤D中读取的数据是最后一个分块数据,则转至步骤H,否则读取下一个分块数据并转至步骤E;H:计算每一类中各个像素的平均值,并以此平均值作为新的聚类中心;I:比较新的聚类中心与旧的聚类中心是否相同,比较结束后用新聚类中心替换旧聚类中心,比较结果不同则转至步骤D,相同则转至步骤J;J:将每一个聚类中心的像素值赋值给该类的每一个像素。

【技术特征摘要】

【专利技术属性】
技术研发人员:崔宾阁马秀丹赵法喜
申请(专利权)人:山东科技大学
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1