基于CPU+GPU的遥感影像多尺度异构并行分割方法技术

技术编号:9739054 阅读:136 留言:0更新日期:2014-03-06 19:19
本发明专利技术提供了一种针对遥感影像多尺度分割的高效的影像分割方法,包括读取待分割的原始遥感影像信息、设置分割参数和制定最优分割策略的CPU分割开始控制阶段;然后采用两层并行计算架构进行分割:第一层是基于影像块之间的粗粒度并行架构,解决存储空间的限制并保证了CPU和GPU之间的负载均衡;第二层是基于像元的细粒度并行架构,保证了CPU和GPU内部的负载均衡;最后是CPU保存结果阶段。该方法具有分割速度快、分割精度好、支持多种分割参数设置、支持超大遥感影像的分割、支持多种分割结果导出等多种优点。

【技术实现步骤摘要】
基于CPU+GPU的遥感影像多尺度异构并行分割方法
本专利技术涉及一种遥感影像并行分割方法,尤其涉及一种基于CPU+GPU异构平台采用区域增长算法实现的遥感多尺度并行分割的方法。
技术介绍
当前遥感影像空间分辨率和光谱分辨率变得越来越高,同时遥感影像获取能力远远大于影像的处理能力,急需对耗时较多的影像处理算法进行彻底改进。影像分割是面向对象的遥感影像信息提取中一个重要的步骤,其分割速度直接影响到信息提取的效率。常规串行分割算法受CPU频率的限制,效率低下;多核CPU平台下的并行分割算法受CPU架构和核心数量的影响,处理速度依然存在很大的提升空间。
技术实现思路
为了解决上述问题,本专利技术提出一种基于CPU+GPU的遥感影像多尺度异构并行分割方法,包括以下步骤: 步骤001,读取等待分割的原始遥感影像,获取影像基础信息和基本统计信息,同时获取运行计算机硬件CPU+GPU的计算性能信息; 步骤002,设置分割参数;步骤003,根据步骤001所获取的信息和步骤002所设置的分割参数制定最优的分割策略; 步骤004,实现第一层并行计算架构:将影像分割为若干大小均等的影像块,并将未处理的影像块加载到CPU内存中,将未分割的影像块加载到GPU显存中,并启动CPU和GPU的分割线程,实现影像块之间的并行分割; 步骤005,实现第二层并行计算架构:将影像块内的每一个像元看成一个独立的对象,每个分割线程对应的处理一个像元,在不断的迭代分割过程中,符合区域增长条件的对象被合并成一个对象; 步骤006,当对象的数量不会再产生变化时,则当前影像块分割完毕,将GPU显存中分割结果传送到CPU内存,并将CPU内存中的结果保存到文件中,同时启动下一个影像块的分割; 步骤007,重复步骤005、步骤006和步骤007,直到所有影像块分割完毕; 步骤008,对影像块结果后处理; 步骤009,将所有影像块的结果进行合并,并对影像对象进行统一的编号,CPU获取每个对象的信息,并将所有信息保存为对应的结果文件。进一步地,在步骤002中,用户可以设置影像分割时的计算机硬件资源配置,若用户放弃设置,则分割过程将会使用计算机最大的可利用资源。进一步地,在步骤008中包括检测影像块边界是否存在影像对象不匹配的情形,若存在,则对不匹配的影像对象的区域进行二次分割,即执行步骤005、步骤006和步骤007。特别地,步骤003中所述的分割策略包括任务分配策略、内存分配策略、线程划分策略,所述最优的分割策略的制定方法包括:将数据加载、线程调度、逻辑控制任务交由CPU处理,并行分割任务交由多核CPU和GPU同时处理;动态分配一块能保存一个影像块的全部数据以及它对应的分割辅助信息数据的内存或显存;在存储空间允许的条件下,将影像块设置最大;减少数据在CPU和GPU之间PC1-E通道的传输次数和传输量;将分割线程最大程度的细化。特别地,在步骤005包括: 步骤501,将影像块内的每一个像元初始化为一个对象,计算每一个对象的属性信息,所述属性信息包括对象光谱特征信息、空间特征信息、相邻对象的信息; 步骤502,计算每个像元的四个相邻方向上的对象的编号,按照规定的顺序将相邻对象的编号保存在大小为4的数组中,当某一方向不存在相邻对象时用O表示,影像的编号从I开始; 步骤503,统计每个对象与相邻对象的异质度,找到具有最小异质度的相邻对象,当该最小异质度小于分割尺寸时,将具有该最小异质度的相邻对象作为最佳相邻对象,否则将最佳相邻对象的编号赋值为O ; 步骤504,将所有最佳相邻对象的编号大于O的对象进行增长,合并当前对象和最佳相邻对象,包括将最佳相邻对象的编号修改为当前对象的编号以及计算合并后新对象的属性并替换当前对象的属性信息; 步骤505,计算每个像元的四个相邻方向上是否存在其他对象,只要存在一个或一个以上的其他对象,则当前像元点为边界点。特别地,在步骤501中,每个像元要保存每个像元点的四个相邻方向的对象编号、当前点是否为边界点以及此对象内下一个像元点的位置索引信息。特别地,在步骤503中,所述异质度的计算公式为:本文档来自技高网...

【技术保护点】
一种基于CPU+GPU的遥感影像多尺度异构并行分割方法,其特征在于,包括以下步骤:步骤001,读取等待分割的原始遥感影像,获取影像基础信息和基本统计信息,同时获取运行计算机硬件CPU+GPU的计算性能信息;步骤002,设置分割参数;步骤003,根据步骤001所获取的信息和步骤002所设置的分割参数制定最优的分割策略;步骤004,实现第一层并行计算架构:将影像分割为若干大小均等的影像块,并将未处理的影像块加载到CPU内存中,将未分割的影像块加载到GPU显存中,并启动CPU和GPU的分割线程,实现影像块之间的并行分割;步骤005,实现第二层并行计算架构:将影像块内的每一个像元看成一个独立的对象,每个分割线程对应的处理一个像元,在不断的迭代分割过程中,符合区域增长条件的对象被合并成一个对象;步骤006,当对象的数量不会再产生变化时,则当前影像块分割完毕,将GPU显存中分割结果传送到CPU内存,并将CPU内存中的结果保存到文件中,同时启动下一个影像块的分割;步骤007,重复步骤005、步骤006和步骤007,直到所有影像块分割完毕;步骤008,对影像块结果后处理;步骤009,将所有影像块的结果进行合并,并对影像对象进行统一的编号,CPU获取每个对象的信息,并将所有信息保存为对应的结果文件。...

【技术特征摘要】
1.一种基于CPU+GPU的遥感影像多尺度异构并行分割方法,其特征在于,包括以下步骤: 步骤001,读取等待分割的原始遥感影像,获取影像基础信息和基本统计信息,同时获取运行计算机硬件CPU+GPU的计算性能信息; 步骤002,设置分割参数; 步骤003,根据步骤001所获取的信息和步骤002所设置的分割参数制定最优的分割策略; 步骤004,实现第一层并行计算架构:将影像分割为若干大小均等的影像块,并将未处理的影像块加载到CPU内存中,将未分割的影像块加载到GPU显存中,并启动CPU和GPU的分割线程,实现影像块之间的并行分割; 步骤005,实现第二层并行计算架构:将影像块内的每一个像元看成一个独立的对象,每个分割线程对应的处理一个像元,在不断的迭代分割过程中,符合区域增长条件的对象被合并成一个对象; 步骤006,当对象的数量不会再产生变化时,则当前影像块分割完毕,将GPU显存中分割结果传送到CPU内存,并将CPU内存中的结果保存到文件中,同时启动下一个影像块的分割; 步骤007,重复步骤005、步骤006和步骤007,直到所有影像块分割完毕; 步骤008,对影像块结果后 处理; 步骤009,将所有影像块的结果进行合并,并对影像对象进行统一的编号,CPU获取每个对象的信息,并将所有信息保存为对应的结果文件。2.根据权利要求1所述的方法,其特征在于,在步骤002中,用户可以设置影像分割时的计算机硬件资源配置,若用户放弃设置,则分割过程将会使用计算机最大的可利用资源。3.根据权利要求1所述的方法,其特征在于,在步骤008中包括检测影像块边界是否存在影像对象不匹配的情形,若存在,则对不匹配的影像对象的区域进行二次分割,即执行步骤005、步骤006和步骤007。4.根据权利要求1所述的方法,其特征在于,步骤003中所述的分割策略包括任务分配策略、内存分配策略、线程划分策略,所述最优的分割策略的制定方法包括:将数据加载、线程调度、逻辑控制任务交由CPU处理,并行分割任务交由多核CPU和GPU同时处理;动态分配一块能保存一个影像块的全部数据以及它对应的分割辅助信息数据的内存或显存...

【专利技术属性】
技术研发人员:殷强
申请(专利权)人:武汉狮图空间信息技术有限公司
类型:发明
国别省市:

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

1