法律状态公告日
法律状态信息
法律状态
2019-03-05
授权
授权
2016-08-10
实质审查的生效 IPC(主分类):G06K9/62 申请日:20151228
实质审查的生效
2016-04-27
公开
公开
技术领域
本发明涉及计算机图像处理和遥感技术领域,特别是一种高分 辨率遥感图像分类算法时空效率优化方法。
背景技术
随着卫星遥感技术的快速发展,遥感图像的数据量越来越大。比 如,SPOT-5卫星图像存储了5.76*108个像素,WorldView-2卫星图 像存储了2.62*108个像素。如此大的数据量给遥感数据处理带来极 大的压力和挑战,主要表现在程序运行时间过长、计算机内存不足。 当前计算机CPU主频和内存容量增长比较缓慢,因此依靠硬件性能的 提高解决遥感图像处理时间过长和内存不足的问题比较困难。如何提 高遥感图像处理的时间效率和空间效率,已成为遥感图像处理领域面 临的最紧迫的问题之一。
发明内容
本发明的目的在于提供一种高分辨率遥感图像分类算法时空效 率优化方法,保留了分块处理方法内存占用少的优点,而且提高了图 像文件访问速度,提高遥感图像处理的时间效率和空间效率。
为实现上述技术目的,达到上述技术效果,本发明公开了一种高 分辨率遥感图像分类算法时空效率优化方法,优化算法具体步骤为:
A:图像数据分成若干像素块;
B:使用GDAL函数库中的RasterIO函数逐块加载图像的像素集, 并利用内存映射文件技术逐块像素数据转存到新的磁盘文件中;
C:随机选取K个像素作为初始聚类中心;
D:利用内存映射文件技术从磁盘文件中读取第一个分块的像素 数据,并传输到设备端;
E:在设备端计算分块的各个像素与每一个聚类中心的距离,按 相近原则进行分类;
F:将分类结果传回主机端,并利用内存映射文件技术将结果数 据转存到磁盘文件;
G:如果步骤D中读取的数据是最后一个分块数据,则转至步骤 H,否则读取下一个分块数据并转至步骤E;
H:计算每一类中各个像素的平均值,并以此平均值作为新的聚 类中心;
I:比较新的聚类中心与旧的聚类中心是否相同,比较结束后用 新聚类中心替换旧聚类中心,比较结果不同则转至步骤D,相同则转 至步骤J;
J:将每一个聚类中心的像素值赋值给该类的每一个像素。
其中,图像数据分成若干像素块中,像素块大小为128*128、 256*256、512*512和1024*1024中的一种。
其中,比较新的聚类中心与旧的聚类中心,可采用绝对距离、欧 氏距离、马氏距离、曼哈顿距离、夹角余弦距离度量公式进行相似性 评价。
本发明具有以下有益效果:
1.本发明采用了对图像进行分块处理的策略,引入了CUDA并行化计 算和内存映射文件技术,避免磁盘的读写操作从而极大节省了算法的 运行时间。
2.经过合理优化的算法,保留了分块处理方法内存占用少的优点,而 且提高了图像文件访问速度,提高遥感图像处理的时间效率和空间效 率。
附图说明
图1为本发明的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合 附图及实施例,对本发明进行进一步详细说明。
实施例1
本发明公开了一种高分辨率遥感图像分类算法时空效率优化方 法,优化算法具体步骤为:
A:图像数据分成若干像素块,每块像素块为512*512;
B:使用GDAL函数库中的RasterIO函数逐块加载图像的像素集, 并利用内存映射文件技术逐块像素数据转存到新的磁盘文件中;
C:随机选取K个像素作为初始聚类中心;
D:利用内存映射文件技术从磁盘文件中读取第一个分块的像素 数据,并传输到设备端;
E:在设备端计算分块的各个像素与每一个聚类中心的距离,按 相近原则进行分类;
F:将分类结果传回主机端,并利用内存映射文件技术将结果数 据转存到磁盘文件;
G:如果步骤D中读取的数据是最后一个分块数据,则转至步骤 H,否则读取下一个分块数据并转至步骤E;
H:计算每一类中各个像素的平均值,并以此平均值作为新的聚 类中心;
I:比较新的聚类中心与旧的聚类中心是否相同,比较结束后用 新聚类中心替换旧聚类中心,比较结果不同则转至步骤D,相同则转 至步骤J;
J:将每一个聚类中心的像素值赋值给该类的每一个像素。
其中,比较新的聚类中心与旧的聚类中心,夹角余弦距离度量公 式进行相似性评价。
实施例2
实验目的及方法:为了评价本申请可行性和有效性,本实施例以 K-Means算法为例,使用了一幅裁切后的小图像(600*600像素)和 整景图像(6000*6000像素)进行了实验,对于600*600像素的图像, 对比了“CPU+内存”、“CUDA+内存”和“CUDA+MMF”三种策略单次迭 代花费的时间;对于6000*6000像素的SPOT-5整景图像,“CUDA+内 存”、“CUDA+MMF”和“CUDA+分块”三种策略单次迭代花费的时间。
实验结果:如表1所示:
表1K-Means聚类算法四种实现策略的执行时间(单位:ms)
可以看出,“CUDA+内存”和“CUDA+MMF”策略花费的时间远远小 于“CPU+内存”策略花费的时间,只有后者的3%左右,其中“CUDA+MMF” 策略花费的时间略高于“CUDA+内存”策略花费的时间。
可以看出“CUDA+内存”和“CUDA+MMF”策略花费的时间基本相 同,并且远远小于“CUDA+分块”策略花费的时间,也只有后者的3% 左右。由此可见MMF技术确实能够极大地提高K-Means聚类算法的时 间效率。
实施例3
实验目的及方法:为了评价本申请可行性和有效性,本实施例以 K-Means算法为例,对于600*600、3000*3000和6000*6000像素的 图像进行“CUDA+内存”、“CUDA+MMF”和“CUDA+分块”三种策略时内 存占用数量进行比较评测。
实验结果:
如表2中显示,对于600*600像素的小图像,“CUDA+MMF”和“CUDA+ 分块”策略占用的内存略小于“CUDA+内存”策略占用的内存;对于 3000*3000像素的中等大小图像,“CUDA+MMF”策略和“CUDA+分块” 策略占用的内存明显小于“CUDA+内存”策略占用的内存,只有后者 的25%左右;对于6000*6000像素的大图像,“CUDA+MMF”和“CUDA+ 分块”策略占用的内存远小于“CUDA+内存”策略占用的内存,只有 后者的10%左右。由此可见,遥感图像的尺寸越大,使用分块处理方 法的“CUDA+MMF”和“CUDA+分块”策略对内存数量的节省越明显。
表2K-Means聚类算法各种实现策略占用的内存数量(单位:KB)
实施例4
实验目的及方法:为了评价本申请可行性和有效性,本实施例以 K-Means算法为例,研究了瓦片大小对“CUDA+MMF”实现策略执行时 间的影响,总共做了5组对比试验。每一组实验中瓦片的大小分别设 定为128*128、256*256、512*512和1024*1024四种尺寸
实验结果:如表3所示:
表3各种瓦片大小下CUDA+MMF策略的执行时间(单位:ms)
可以看出,随着瓦片尺寸变大,“CUDA+MMF”策略的执行时间呈 下降趋势,但是下降幅度很小,通常情况下瓦片大小设定为512*512 像素或256*256像素即可。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范 围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技 术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围 之内。
机译: 一种针对能源效率的多压缩机系统的设计,计量和优化方法
机译: 一种旨在同时放大多个调制载波的放大器效率的优化方法
机译: 一种用于肉类,家禽类和其他类型的基于酸性克洛索喷洒消毒剂的效率的优化方法。