首页> 中国专利> 高分SAR图像分割计算性能和精度优化方法

高分SAR图像分割计算性能和精度优化方法

摘要

本申请高分SAR图像分割计算性能和精度优化方法,采用基于均匀非局部滤波的降噪前置处理、融合多重参考的分割以及基于CPU+GPU异构模式的实现,在降噪前置处理环节,通过对均匀非局部滤波进行改进,能够更好的作用于高分辨率SAR图像,在分割方法上采用JSM循环迭代的融合多重参考模型实现方法,运算效率更高,与此同时,采用基于CPU+GPU的异构模型,对降噪和分割这两个环节的计算进行加速,从而达到提升精度的同时提升性能的目的,通过实验数据的对比分析,得出在分割前进行降噪前置处理,能够使得分割结果更精确,且降噪效果越好,分割结果也越好;同时实验得出,基于GPU的并行化计算能够比串行运行速率有大幅度提升。

著录项

  • 公开/公告号CN113838057A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 刘文平;

    申请/专利号CN202111123415.4

  • 发明设计人 刘文平;

    申请日2021-09-24

  • 分类号G06T7/10(20170101);G06T7/143(20170101);G06T5/00(20060101);G06T5/20(20060101);G06T1/20(20060101);G06K9/62(20060101);

  • 代理机构

  • 代理人

  • 地址 325300 浙江省温州市文成县建设路317号

  • 入库时间 2023-06-19 13:49:36

说明书

技术领域

本申请涉及一种SAR图像分割性能精度优化方法,特别涉及一种高分SAR图像分割计算性能和精度优化方法,属于SAR图像分割性能优化技术领域。

背景技术

近年来,随着SAR技术的不断突破,以及高分辨率SAR技术的不断进步,通过商业手段获取的高分辨率SAR图像开始广泛的应用到各个遥感应用中。与中低分辨率SAR图像相比,高分辨率SAR图像包含的地物类别更加丰富,地表的目标问题以及形状特征更加清晰,且包含更多更丰富的可用信息。利用这些数据信息,能获得之前低分辨率SAR图像所不能获取的地面数据信息。但与此同时,高分SAR图像由于其图像细节更为复杂,对降噪的要求也更高,且现有技术的一套适用于低分辨率SAR图像的数据处理系统已不再适用,SAR图像分辨率的提升也对SAR图像处理提出新的挑战,针对高分辨率SAR图像的分析技术成为当前最为迫切解决的问题。

在对高分辨率SAR图像进行的一系列处理中,对高分辨率SAR图像进行分割处理是其中不可缺少的重要环节,也是其它高分SAR图像处理的前置步骤。对SAR图像进行分割,即把一幅完整的SAR图像,通过分解成若干个相互不重合且分割块内有相同属性的区域。一个好的分割算法至少要做到以下几点:一是经分割出的各个图像区域内部都具有某种近似性质;二是相邻图像区域之间对分割所依据的性质有明显差异;三是图像区域在边界上是明确和规整的。然而在实际的应用中,很难在区域间互异和区域内近似这两点上达到平衡,这同时也是SAR图像分割的难点。虽然在近些年SAR图像分割技术有了较大的发展,但分辨率的提高以及对分割精度的高要求,加上由于SAR图像分割的复杂性所遗留下来的许多问题,使得对SAR图像的分割在精度上和性能上仍然有迫切提高的需求,当前仍亟需探索更快捷、更准确、更通用且更有潜力的分割方法。

在分割精度上,通过以下两种方法来提高分割的准确性,即:在分割之前加入降噪前置处理步骤和对分割算法进行改进。由于SAR图像的数据格式分为复数和实数,于是针对这两种不同格式有着两种不同的降噪算法:目前在复数格式上SAR图像数据降噪算法基本可以分为两大类:基于贝叶斯的估算方法和基于最大熵原理的规则化方法。成像后进行降噪处理的方法,主要分为下列三类:一是基于估算理论的降噪算法,二是基于变换域的降噪算法,三是基于偏微分方法和变分方法的降噪算法。

现有技术图像分割方法有许多种,从不同角度来分析也可以分为许多类,根据是否需要训练样本,将SAR图像分割分为有监督分割和无监督分割;按照对先验知识的依赖程度,将SAR图像分割划分为基于数据驱动的SAR图像分割和基于模型驱动的SAR图像分割。有监督分割由于需要有相关的数据样本作为训练参数,因对训练样本的要求而有一定的局限性;无监督分割算法与有监督算法不同在于,它不需要相关的训练样本,而是根据图像数据自适应来调整参数,通过不断的迭代以此寻找最优分割,但由于需要不断迭代,也相对耗时。更具体的,将现有技术的SAR图像分割方法进行分类,得到以下几种方法:

临界值分割法:通过使用一个或者多个临界值,根据图像的灰度将图像分为多个等级,灰度值在同一个区间内,则将这些像素划分为同一类。这样做的缺点是分割精度不高,如一片房屋,由于房屋材质、布局及房屋阴影,在SAR图像中呈现出不同的灰度,如使用临界值分割法,则会把这片房屋分割的四分五裂,但实际上这片房屋应成为一个整体被分割出来。

聚类分割法:基于数据驱动的分割技术,且不需要训练样本,不需要指定类别数目,其原理是依据图像特征的近似程度来对图像的每个像素进行分类,以达到内部近似性高,类别之间差异性大的目的。算法抗噪性较差、忽略图像的空间信息。

基于偏微分方程的分割算法:由于SAR图像特有的乘性噪声特征,该方法运用在SAR图像的分割上有一定困难。

基于边缘检测的分割算法:边缘通常指图像灰度变化率最大的位置,通过找到这些位置,能够确定一副图像中的块,从而达到块内近似度打大,块间差异大。常用的边缘检测方法,无法解决SAR影响的乘性噪声污染。

基于Markov随机场模型的分割算法:由于SAR图像,尤其是高分辨率SAR图像与普通光学图像的不同,在高分辨率SAR图像的分割技术中运用Markov随机场模型存在一些实际问题,如观测数据建模、算法效率不高耗时大等。

分割性能上:现如今由于遥感技术的发展,海量的遥感数据对计算机性能要求也越来越高,如何能够在保证运行结果准确的情况下提升计算机的运行速度,成为了遥感领域研发的另一热点。目前针对运算速度提升有三种方式:改善硬件、优化算法、并行计算,其中前两者的实现难度远大于后者。并行计算是在计算机上,将一个任务划分为多个子任务,并使不同的处理器来分别处理这些子任务,即使得多个处理器能够同时处理一个任务。这样算法保持原有不变的情况下,能够并行的对其进行计算,提升计算性能。然而真正将并行化分割算法运用于数据量巨大的遥感领域的却很少。因此,针对需要大量计算的高分辨率SAR图像,对其分割处理进行并行化很有必要。

现有技术的没有高效的高分SAR图像分割计算性能和精度方法,本申请的难点和待解决的问题主要集中在以下方面:

第一,高分SAR图像由于其图像细节更为复杂,对降噪的要求也更高,且现有技术的一套适用于低分辨率SAR图像的数据处理系统已不再适用,SAR图像分辨率的提升也对SAR图像处理提出新的挑战,针对高分辨率SAR图像的分析技术成为当前最为迫切解决的问题,对高分辨率SAR图像进行分割处理是其中不可缺少的重要环节,也是其它高分SAR图像处理的前置步骤,现有技术很难在区域间互异和区域内近似这两点上达到平衡,这同时也是SAR图像分割的难点,分辨率的提高以及对分割精度的高要求,加上由于SAR图像分割的复杂性所遗留下来的许多问题,使得对SAR图像的分割在精度上和性能上仍然有迫切提高的需求,当前仍亟需探索更快捷、更准确、更通用且更有潜力的分割方法;

第二,现有技术图像有监督分割由于需要有相关的数据样本作为训练参数,因对训练样本的要求而有一定的局限性;无监督分割由于需要不断迭代,也相对耗时;临界值分割法分割精度不高;聚类分割法抗噪性较差、忽略图像的空间信息;基于偏微分方程的分割算法运用在SAR图像的分割上有一定困难;基于边缘检测的分割算法无法解决SAR影响的乘性噪声污染;基于Markov随机场模型的分割算法在高分辨率SAR图像的分割技术中运也存在一些实际问题,现有技术缺少有效的SAR图像分割精确方法;

第三,SAR图像分割性能上,现如今由于遥感技术的发展,海量的遥感数据对计算机性能要求也越来越高,现有技术很难在保证运行结果准确的情况下提升计算机的运行速度,目前针对运算速度提升有三种方式:改善硬件、优化算法、并行计算,其中前两者的实现难度远大于后者,并行计算是在计算机上,将一个任务划分为多个子任务,并使不同的处理器来分别处理这些子任务,即使得多个处理器能够同时处理一个任务。这样算法保持原有不变的情况下,能够并行的对其进行计算,提升计算性能。然而真正将并行化分割算法运用于数据量巨大的遥感领域的却很少,针对需要大量计算的高分辨率SAR图像,对其分割处理进行并行化很有必要,现有技术没有可靠的SAR图像分割计算性能提升方法。

发明内容

随着SAR影响分辨率的提升,SAR图像噪声也随之增强,如何能够在含有大量噪声的SAR图像中准确的对其进行分割是本申请解决的第一个问题,本申请在SAR图像分割处理之前,进行基于均匀非局部滤波降噪前置处理,通过降噪将噪声对分割结果的影响减到最小,使得分割结果更为准确,然而本申请的均匀非局部滤波适用于加性噪声,而非SAR影响含有的乘性噪声,因此在均匀非局部滤波进行降噪前置处理前,先将乘性噪声通过对数转换成加性噪声,在降噪前置处理后再经指数转换成乘性图像,且结合梯度分组,使之能够在图像冗余小的情况下也适用。本申请对降噪前置处理和融合多重参考模型的SAR图像分割算法进行了基于GPU的并行优化,GPU处理图像显示还能够进行许多并行计算工作,将一些相互之间无依赖的独立且大量的计算工作交由GPU来进行并行计算,则会节省很多时间,在图像较大的情况下,运算速度能够得以大幅提升。

为实现以上技术特征,本申请所采用的技术方案如下:

高分SAR图像分割计算性能和精度优化方法,分割精度上,在对SAR图像分割之前增加降噪前置处理环节,通过降噪减少SAR图像噪声对分割结果的影响,提升SAR图像分割的精度,降噪前置处理环节采用基于均匀非局部滤波的降噪方法,在降噪的同时能够充分利用图像中的信息保留纹理及边缘,通过将SAR图像乘性噪声经对数转化为加性噪声,将均匀非局部滤波作用在SAR图像上,此外,还通过梯度分组法确保在冗余较小的图像中,均匀非局部滤波也能得到良好的效果;

在SAR图像分割算法的性能优化上,采用融合多重参考模型的图像分割方法,本申请基于CPU+GPU异构模型,提高融合多重参考模型的图像分割方法的性能,有效利用GPU的资源,将大量重复且相互独立的计算部分放入GPU中并行计算;

高分SAR图像分割计算性能和精度优化方法整体架构包含两个模块:降噪前置处理和SAR图像分割:

降噪前置处理模块:基于均匀非局部滤波降噪法,通过对输入的含有噪声的SAR图像进行降噪处理,产出并生成降噪后的SAR图像,降噪前置处理关键步骤为梯度分组和像素单元近似度的计算,其中近似度计算交由GPU完成,实现CPU+GPU异构模式下串行和并行相结合的方法;

SAR图像分割模块:在基于前一个降噪前置处理模块产出的降噪SAR图像上,采用融合多重参考模型的分割方法,通过将图像分割问题转化为求解最大后验概率,并通过JSN迭代法来计算最大后验概率,而在JSN迭代中又通过计算每个像素点的代价来作为下次迭代的输入,其中每个像素单元代价的计算放入GPU中并行计算以获得性能的提升。

高分SAR图像分割计算性能和精度优化方法,进一步的,基于均匀非局部滤波的SAR图像降噪方法:在处理冗余小的图像的问题时,对SAR图像进行梯度分组,仅对梯度相近的点进行均匀非局部计算,点(x,y)的梯度值由下列式子计算得到:

其中g()表示梯度算子,f()表示图像函数,两点之间近似度越高,则梯度值越趋近0:

即点i和点k之间近似的前提为,在某梯度下两点之间的梯度差趋近于0,解决在冗余小的图像中,均匀非局部法无法得到满意的效果的问题,通过对图像中每个点进行梯度划分,只计算在同一梯度或相近梯度下点的权值,大幅降低计算量。

高分SAR图像分割计算性能和精度优化方法,进一步的,乘性噪声转化加性噪声:SAR图像的噪声为乘性噪声,用以下公式表达:

J=T×m

其中J表示实际观测得到的SAR图像,T表示未受到噪声影响的原始SAR图像,m表示与原始SAR图像相互独立的随机噪声,m服从伽玛分布,将上式进行数学对数转换:

In(J(x,y))=In(T(x,y))+In(m(x,y))

式中的x和y均代表像素单元,SAR回波数据近似于对数正态分布,通过对参数的调整,通过均匀非局部滤波来为转化为加性噪声后的SAR图像数据降噪,本申请最后还需要调整滤波结果,对其进行指数变换,从而恢复SAR图像的原始特性。

高分SAR图像分割计算性能和精度优化方法,进一步的,基于均匀非局部滤波的SAR图像降噪流程:

第一步,将受噪声影响的SAR图像乘性关系通过数学对数转化为近似高斯噪声的加性噪声;

第二步,对转化后的图像进行梯度分组;

第三步,经过梯度分组后,仅对梯度分组之差趋近于0的像素点进行像素近似度的计算与匹配,并进行降噪调整;

第四步,对经对数转化后的图像进行均值和方差的调整处理,以减少经对数转化的图像与原SAR图像之间的误差;

第五步,将经过降噪处理后的图片由数学指数再转化为SAR图像;

在第二步梯度分组中,本申请采用八个方向上的梯度算子,该八个方向的梯度算子分为1个平滑组Fc和16个方向组,在八个方向(上、下、左、右、左上、左下、右上、右下)分别对a

在第三步组内近似度计算中,本申请从全图片计算,缩小到以每个像素单元为中心,取19*19的窗口作为搜索范围,既能够保证图像结构的冗余性,又能减少计算量,其中,l是控制滤波平滑程度的参数,如果l过大,则会过于接近高斯滤波,导致降噪后的图像太平滑,如果l太小,降噪效果不明显,本申请根据噪声水平来确定平滑参数,即l=e2/2,e2是噪声方差;

本申请需要针对每个像素单元计算图像中其它像素单元的邻域近似性,计算量庞大,而所需计算的内容之间并无关联性,因此进行并行化计算以提升降噪处理速率。

高分SAR图像分割计算性能和精度优化方法,进一步的,融合多重参考模型的图像分割:SAR图像分割对给定的图像Y,估算对应于图像Y的分割图像X,找出随机场中最优配置,而估算分割图像X遵循最大后验准则,确定后验概率为:

估算分割图像X等价于估算出X

高分SAR图像分割计算性能和精度优化方法,进一步的,最优JSM迭代估算方法:基于局部条件概率,通过最大化局部后验概率对每个像素计算代价,在最大后验估算标注状态的基础上,该算法构建基础为:在给定配置时观测场各像素之间相互独立,属于同类标注的像素单元绝对服从相同的统计分布,像素单元的变化只和其邻域像素单元的局部配置相关,在此基础上根据贝叶斯定理,通过JSM求得最大后验概率。

高分SAR图像分割计算性能和精度优化方法,进一步的,融合多重参考的SAR图像分割方法采用JSM迭代法求最大后验概率,通过计算像素的代价并求得最小代价作为下次迭代的输入;

本申请采用在Matlab上JSM算法来求得最大后验概率,在其基础上进行二次开发,通过改变输入势能和其它参数,使得该算法适用于SAR图像;

融合多重参考模型的SAR图像分割方法流程为:

步骤一:设定初始势能、最大迭代次数,分类参数;

步骤二:将表示SAR图像像素的二维矩阵通过Matlab中的Reshape函数转化为一维数组,方便计算;

步骤三:计算每个像素的kmeans聚类;

步骤四:计算每个像素的GMM聚类;

步骤五:针对每个像素单元,计算其代价值,并取最小值作为下次迭代的重复值;

步骤六:判断当前是否满足迭代结束条件,如果不满足该条件,则重复步骤四和步骤五;

步骤七:将表示每个像素的结果一维数组转化为二维矩阵并生成图像输出。

高分SAR图像分割计算性能和精度优化方法,进一步的,融合多重参考模型的SAR图像分割方法实现:由main.m作为入口函数,在其中先设定势能参数potential、最大迭代次数mexiter,随后调用了JSM方法;在JSM.m文件中是SAR图像分割的主体部分,在JSM.m文件中首先通过size()函数获取图像的信息,并通过imstack2vectors.m文件将像素点二维矩阵通过reshape()函数转化为一维数组,简化对像素位置的计算;随后通过kmeans()函数,获取每个像素点的k均值聚类,作为迭代的初始值,Kmeans聚类算法采用矩阵将图像像素化为了K个类,按照最邻近规则把传入的所有像素单元样本分到各个类中,通过平均重新计算各个类的质心确定新的中心,直到某连续两次计算新中心时,中心的移动距离小于某给定值,该算法使得类内各对象之间距离最大,而类间对象之间距离最小;

在计算完k均值后,将结果作为第一次迭代的值,开始对各个像素进行代价的计算,首先通过GMM高斯聚类算法算出当前的mu和sigma值,随后将这两个值作为参数计算该像素的代价,随后取代价中的最小值作为下次迭代的输入,直到达到预设的最大迭代次数为止,GMM_paTameteT.m文件通过covmatTjx.m文件计算矩阵协方差实现GMM聚类算法。

高分SAR图像分割计算性能和精度优化方法,进一步的,基于改进均匀非局部滤波的SAR图像降噪并行化:在基于均匀非局部滤波的SAR图像降噪处理中,计算量最大最耗时的是梯度分组和像素近似度计算,这两个步骤均需要遍历整张SAR图像的每个像素单元,针对每个像素单元进行列的计算,这些计算相互之间并无联系,将其由串行计算改为并行计算;

经GPU并行化的均匀非局部滤波和非并行化的滤波相比,多出初始化显存、启动内核函数的部分,而内核函数就是GPU进行并行计算的函数,在原程序中,通过size(image)获取原图像像素的长n和宽m,在利用均匀非局部滤波时,通过循环for i=1:n里嵌套循环forj=1:m实现对每个像素单元的遍历,通过计算并比较每个像素的近似度,这一步每个像素独立,计算时可以并行化;

首先初始化GPU,cudaGetDeviceCount()函数返回拥有计算能力的设备数,将这些有计算能力的设备初始化,通过cudaMalloc()函数分配显存,cudaMemcpy()函数传递参数,如果最后一个参数为cudaMemcoyHostToDevice,则表示将参数从CPU Host端传递到GPUServer端,如果最后一个参数为cudaMemcoyDeviceToHost,则表示将参数,即GPU计算结果从GPU Server端传递到CPU Host;

size(image)函数得知图像像素的长n和高m,即一共存在n*m个像素点,给每个像素点分配一个单独的线程来计算近似度,通过kernel<<>>()函数启动内核kernel函数,其中<<<>>>中的n和m分别表示申请GPU中block数和线程数,n表示一共申请n个块,m表示每个块中有m个线程,随后通过cudaMemcpy()函数将GPU计算结果返回,设置最后一个参数值为cudaMemcoyDeviceToHost;

在kernel函数中,每个线程计算对应像素点的邻域内近似度值,这部分计算与原Matlab中嵌套for循环中的计算近似,但Matlab的for循环中是通过i和j的取值来确定每个像素点,kernel函数中i对应每个块block编号,j对应每个线程thread编号,最后定义一个mexFunction()函数,用于Matlab和C之间相互传值。

高分SAR图像分割计算性能和精度优化方法,进一步的,融合多重参考模型的SAR图像分割并行化:通过计算每个像素单元的代价,并取最小代价作为下一次迭代的参数,在Matlab串行代码中,JSM.m文件迭代循环体内,调用GMM_parameter.m、EnergyOfFeatureField.m和EnergyOfLabelField.m文件对应的GMM_parameter()、EnergyOfFeatureField()和EnergyOfLabelField()函数来计算每个像素单元的代价,而在这些函数中均存在一个for循环遍历每一个像素单元,进行代价的计算,因此通过改写文件GMM_parameter.m、EnergyOfFeatureField.m和EnergyOfLabelField.m,将其中的串行循环部分编程基于GPU的并行计算,提高计算效率;

在并行化时,将迭代计算中计算GMM均值和像素代价部分放入GPU进行并行处理,先进行GPU的初始化工作,随后使用cudaMalloc()函数分配显存,cudaMemcpy()函数传递参数,通过kernel<<>>()申请n个block块,每个block块中有m个线程,这n*m个线程分别对每个像素单元进行计算,随后将结果返回给CPU Host端,取最小值作为下一步迭代的参数,直到CPU端判定迭代结束,输出结果。

与现有技术相比,本申请的创新点和优势在于:

第一,本申请针对高分辨率SAR图像,基于均匀非局部滤波的降噪前置处理、融合多重参考的分割以及基于CPU+GPU异构模式的实现,在降噪前置处理环节,通过对均匀非局部滤波进行改进,能够更好的作用于高分辨率SAR图像,在分割方法上采用JSM循环迭代的融合多重参考模型实现方法,运算效率更高,与此同时,采用基于CPU+GPU的异构模型,对降噪和分割这两个环节的计算进行加速,从而达到提升精度的同时提升性能的目的,通过实验数据的原始图片、直接分割、降噪、降噪后的分割图片进行分析,得出在分割前进行降噪前置处理,能够使得分割结果更精确,且降噪效果越好,分割结果也越好;然后对串并行计算速率进行比较,得出基于GPU的并行化计算算法能够比串行运行速率有大幅度提升;

第二,分割精确度优化,通过降噪使得降噪后的高分SAR图像分割更为精确,本申请基于均匀非局部滤波对高分SAR图像进行降噪处理,该方法对加性噪声的降噪工作能够达到良好的效果,但并不适用于SAR图像的乘性噪声,因此本申请通过对SAR图像乘性噪声进行对数转换处理,将乘性噪声转化为加性噪声以适用于均匀非局部滤波降噪算法,与此同时,考虑到大多数SAR图像结构、纹理、边缘等冗余性小的情况,在采用均匀非局部滤波降噪之前先进行了梯度分组,通过加入降噪前置处理环节,大幅提升了SAR图像分割精度,具有巨大的实际意义和广泛的应用前景;

第三,分割计算性能优化,通过运算并行化使得降噪前置处理和分割计算效率更高,本申请采用融合多重参考模型的图像分割方法,但随着SAR图像分辨率的提升,大量计算使得该方法执行效率不够高,本申请基于CPU+GPU异构模型,提高融合多重参考模型的图像分割方法的性能,有效利用GPU的资源,将大量重复且相互独立的计算部分放入GPU中并行计算。大量实验结果表明,在分割之前加入降噪前置处理能够提升分割的精度和准确度,且在CPU+GPU异构模式下,融合多重参考模型的图像分割方法能够得到计算速度上成倍的提升。

附图说明

图1是高分SAR图像分割计算性能和精度优化方法的整体架构图。

图2是均匀非局部降噪法作用于SAR图像的过程示意图。

图3是本申请的梯度分组步骤示意图。

图4是融合多重参考模型的高分SAR图像分割局部流程图。

图5是并行化的改进均匀非局部滤波的SAR图像降噪流程图。

图6是本申请并行化的SAR影像分割流程图。

图7是分割精度优化实验结果对比示意图。

图8是大小为180*240的SAR图像降噪速度对比示意图。

图9是大小为260*125的SAR图像降噪速度对比示意图。

图10是在不同图像大小下串并行运行速度的比较折线图。

具体实施方法

下面结合附图,对本申请提供的高分SAR图像分割计算性能和精度优化方法的技术方案进行进一步的描述,使本领域的技术人员能够更好的理解本申请并能够予以实施。

分割在合成孔径雷达SAR图像的处理系统中非常重要,是不可缺少的一环,SAR图像分割结果的质量对后续分类、变化检测、目标解译等多个步骤产生重要影响。随着SAR图像分辨率的提升,分割精度以及分割算法的运行速度成为SAR图像分割的研发热点,本申请针对高分辨率SAR图像,进行分割精度和计算性能的优化。

分割精度上,本申请在对SAR图像分割之前增加降噪前置处理环节,通过降噪减少SAR图像噪声对分割结果的影响,提升SAR图像分割的精度,降噪前置处理环节采用基于均匀非局部滤波的降噪方法,在降噪的同时能够充分利用图像中的信息保留纹理及边缘,通过将SAR图像乘性噪声经对数转化为加性噪声,将均匀非局部滤波作用在SAR图像上,此外,还通过梯度分组法确保在冗余较小的图像中,均匀非局部滤波也能得到良好的效果。

在SAR图像分割算法的性能优化上,采用融合多重参考模型的图像分割方法,但随着SAR图像分辨率的提升,大量计算使得该方法执行效率不够高,本申请基于CPU+GPU异构模型,提高融合多重参考模型的图像分割方法的性能,有效利用GPU的资源,将大量重复且相互独立的计算部分放入GPU中并行计算。

大量实验结果表明,在分割之前加入降噪前置处理能够提升分割的精度和准确度,且在CPU+GPU异构模式下,融合多重参考模型的图像分割方法能够得到计算速度上成倍的提升。

一、整体架构设计

在高分SAR图像分割计算性能和精度优化方法中,包含两个模块:降噪前置处理和SAR图像分割,在降噪前置处理模块,基于均匀非局部滤波降噪法,通过对输入的含有噪声的SAR图像进行降噪处理,产出并生成降噪后的SAR图像,降噪前置处理关键步骤为梯度分组和像素单元近似度的计算,其中近似度计算由于计算量大,且像素相互之间并无依赖性,因此将此部分的计算交由GPU完成,实现CPU+GPU异构模式下串行和并行相结合的方法,提高运算效率。

SAR图像分割模块,在基于前一个降噪前置处理模块产出的降噪SAR图像上,采用融合多重参考模型的分割方法,通过将图像分割问题转化为求解最大后验概率,并通过JSN迭代法来计算最大后验概率,而在JSN迭代中又通过计算每个像素点的代价来作为下次迭代的输入,其中每个像素单元代价的计算同降噪中近似度的计算一样,放入GPU中并行计算以获得性能的提升。

整体结构设计如图1,梯度分组、近似度计算为基于均匀非局部滤波方法降噪前置处理的关键步骤,而JSN迭代、代价值计算为融合多重参考模型分割的关键步骤。

二、基于均匀非局部滤波的SAR图像降噪方法

SAR图像的噪声特征为乘性噪声,且均匀非局部滤波在图像冗余较大时,更能发挥其很好的利用空间局部近似性的优点,因此本申请对基于均匀非局部滤波的SAR图像降噪方法设计为:

(一)冗余小的图像

在处理冗余小的图像的问题时,对SAR图像进行梯度分组,仅对梯度相近的点进行均匀非局部计算,点(x,y)的梯度值由下列式子计算得到:

其中g()表示梯度算子,f()表示图像函数,两点之间近似度越高,则梯度值越趋近0:

即点i和点k之间近似的前提为,在某梯度下两点之间的梯度差趋近于0,其优点在于一是解决了在冗余小的图像中,均匀非局部法无法得到满意的效果的问题,二是通过对图像中每个点进行梯度划分,只计算在同一梯度或相近梯度下点的权值,大幅降低了计算量。

(二)乘性噪声转化加性噪声

SAR图像的噪声为乘性噪声,用以下公式表达:

J=T×m

其中J表示实际观测得到的SAR图像,T表示未受到噪声影响的原始SAR图像,m表示与原始SAR图像相互独立的随机噪声,m服从伽玛分布,将上式进行数学对数转换:

In(J(x,y))=In(T(x,y))+In(m(x,y))

式中的x和y均代表像素单元,SAR回波数据近似于对数正态分布,与均匀非局部滤波函数非常接近,因此通过对参数的调整,通过均匀非局部滤波来为转化为加性噪声后的SAR图像数据降噪,由于经过转换后的SAR图像噪声特性会发生相应变化,像素间差异变小,转化后会缺失部分精度,无法很好的保留原图中的纹理、边缘等重要信息,因此本申请最后还需要调整滤波结果,对其进行指数变换,从而恢复SAR图像的原始特性,本申请完整的降噪方法步骤如图2所示。

(三)基于均匀非局部滤波的SAR图像降噪流程

本申请在NLMF滤波的基础上做出改进,使之更适用SAR图像降噪,如图1,改进均匀非局部降噪法的整个流程描述为:

第一步,将受噪声影响的SAR图像乘性关系通过数学对数转化为近似高斯噪声的加性噪声;

第二步,对转化后的图像进行梯度分组;

第三步,经过梯度分组后,仅对梯度分组之差趋近于0的像素点进行像素近似度的计算与匹配,并进行降噪调整;

第四步,对经对数转化后的图像进行均值和方差的调整处理,以减少经对数转化的图像与原SAR图像之间的误差;

第五步,将经过降噪处理后的图片由数学指数再转化为SAR图像。

在第二步梯度分组中,本申请采用八个方向上的梯度算子,该八个方向的梯度算子分为1个平滑组Fc和16个方向组,在八个方向(上、下、左、右、左上、左下、右上、右下)分别分别对a

在第三步组内近似度计算中,本申请从全图片计算,缩小到以每个像素单元为中心,取19*19的窗口作为搜索范围,既能够保证图像结构的冗余性,又能减少计算量,其中,l是控制滤波平滑程度的参数,如果l过大,则会过于接近高斯滤波,导致降噪后的图像太平滑,如果l太小,降噪效果不明显,本申请根据噪声水平来确定平滑参数,即l=e2/2,e2是噪声方差。

本申请需要针对每个像素单元计算图像中其它像素单元的邻域近似性,计算量庞大,而所需计算的内容之间并无关联性,因此进行并行化计算以提升降噪处理速率。并行化的实现将在基于GPU的并行化方法中提出。

三、融合多重参考的高分SAR图像分割方法

(一)融合多重参考模型的图像分割

1.定义邻域与基团

图像中邻域表示图像像素之间的作用距离,分别表示出点(i,j)的一阶、二阶、三阶邻域,分别表示出一阶、二阶和三阶邻域的单点基团、双点基团和三点基团,图像的任意像素是各个一点、双点、三点基团之和,对于像素(i,j),其一阶邻域为{(i,j-1),(i,j+1),(i-1,j),(i+1,j)},其二阶邻域为{(i-1,j-1),(i-1,j),(i-1,j+1),(i,j-1),(i,j+1),(i+1,j-1),(i+1,j),(i+1,j+1)},对于图像的边界和角上的像素单元,其对应的邻域元素会相应减少。

2.最大后验概率

SAR图像分割对给定的图像Y,估算对应于图像Y的分割图像X,找出随机场中最优配置,而估算分割图像X遵循最大后验准则,确定后验概率为:

估算分割图像X等价于估算出X

3.最优JSM迭代估算方法

定义不同的风险函数,即定义不同的最大概率实现方法,本申请提出JSM迭代估算方法。

基于局部条件概率,通过最大化局部后验概率对每个像素计算代价,在最大后验估算标注状态的基础上,具有收敛速度块、容易实现的优点,但它也限制了初始状态,对初始状态敏感,如果初始状态没有选择好,则很容易陷入局部最优,该算法构建基础为:在给定配置时观测场各像素之间相互独立,属于同类标注的像素单元绝对服从相同的统计分布,像素单元的变化只和其邻域像素单元的局部配置相关,在此基础上根据贝叶斯定理,通过JSM求得最大后验概率。

(二)融合多重参考模型的高分SAR图像分割方法流程

融合多重参考的SAR图像分割方法采用JSM迭代法求最大后验概率,通过计算像素的代价并求得最小代价作为下次迭代的输入,局部流程如图4。

本申请采用在Matlab上JSM算法来求得最大后验概率,在其基础上进行二次开发,通过改变输入势能和其它参数,使得该算法适用于SAR图像。

融合多重参考模型的SAR图像分割方法流程为:

步骤一:设定初始势能、最大迭代次数,分类参数;

步骤二:将表示SAR图像像素的二维矩阵通过Matlab中的Reshape函数转化为一维数组,方便计算;

步骤三:计算每个像素的kmeans聚类;

步骤四:计算每个像素的GMM聚类;

步骤五:针对每个像素单元,计算其代价值,并取最小值作为下次迭代的重复值;

步骤六:判断当前是否满足迭代结束条件,如果不满足该条件,则重复步骤四和步骤五;

步骤七:将表示每个像素的结果一维数组转化为二维矩阵并生成图像输出。

(三)融合多重参考模型的SAR图像分割方法实现

由main.m作为入口函数,在其中先设定势能参数potential、最大迭代次数mexiter,随后调用了JSM方法;在JSM.m文件中是SAR图像分割的主体部分,在JSM.m文件中首先通过size()函数获取图像的信息,并通过imstack2vectors.m文件将像素点二维矩阵通过reshape()函数转化为一维数组,简化对像素位置的计算;随后通过kmeans()函数,获取每个像素点的k均值聚类,作为迭代的初始值,Kmeans聚类算法采用矩阵将图像像素化为了K个类,按照最邻近规则把传入的所有像素单元样本分到各个类中,通过平均重新计算各个类的质心确定新的中心,直到某连续两次计算新中心时,中心的移动距离小于某给定值,该算法使得类内各对象之间距离最大,而类间对象之间距离最小。

在计算完k均值后,将结果作为第一次迭代的值,开始对各个像素进行代价的计算,首先通过GMM高斯聚类算法算出当前的mu和sigma值,随后将这两个值作为参数计算该像素的代价,随后取代价中的最小值作为下次迭代的输入,直到达到预设的最大迭代次数为止。GMM_paTameteT.m文件通过covmatTjx.m文件计算矩阵协方差实现了高斯混合模型(GMM)聚类算法。

四、基于GPU的并行化方法

(一)并行优化可行性

如今,Matlab对图像的读取和处理越来越方便,然而Matlab是针对数学中的向量和矩阵设计的,因此在计算向量或者是矩阵时有非常快的运算速度,但在本申请SAR图像降噪方法和融合多重参考模型的SAR图像分割方法均有大量的循环体进行迭代计算,而Matlab对于循环的处理则要比对向量或者矩阵的处理慢很多,其运算速度难以让人接受,因此在遇到循环处理时,必须寻找一个更为快速的方法。

采用Matlab通过MEX文件形式调用C语言,将MEX文件作为一种在Matlab环境下调用C语言而衍生的程序,而本申请基于GPU的并行化也是使用C语言来为GPU分配计算,因此通过在Matlab中使用MEX文件调用采用CUDA编程的C函数,解决Matlab运行循环速度慢的问题。

C语言代码与MEX文件定义的专用接口函数mexFunction()共同组成MEX文件,即MEX文件提供一种在Matlab中的函数调用通过该接口调入了C函数的接口,待C语言函数得到返回值再通过该特定的接口传入Matlab程序,实现该接口时,定义一个包含mexFunction()函数和C语言函数的C文件,当Matlab需要调用函数时,通过参数传递给mexFunction()函数,mexFunction()函数把该参数再传值给C语言函数,待C语言函数运行出计算结果后将结果传给mexFunction()函数的另一个参数,mexFunction()函数将该参数作为Matlab中的函数调用的返回值。

mexFunction函数定义为:void mexFunction(int nlhs,mxArray*plhs[],intnrhs,const mxArray*prhs[]){},最开头的void表示该函数没有返回值的,通过参数*plhs[]的赋值把结果传给Matlab。

由于通过MEX文件机制对Matlab下循环体运行速度的改进涉及到更多参数值的传递,因此在这部分会消耗一定的时间,因此只有当运算量大,大到能忽略其中数据传递所消耗的时间,才能体现出基于该MEX文件机制使用C和CUDA进行计算对原本计算速度的提升优势。

(二)基于改进均匀非局部滤波的SAR图像降噪并行化

在基于均匀非局部滤波的SAR图像降噪处理中,计算量最大最耗时的是梯度分组和像素近似度计算,这两个步骤均需要遍历整张SAR图像的每个像素单元,针对每个像素单元进行列的计算,现有技术仍要串行的遍历整张图的每一个像素,进行梯度分组和近似度计算,而这些计算相互之间并无联系,完全可以将其由串行计算改为并行计算。

完整的并行化的改进均匀非局部滤波的SAR图像降噪流程图如图5。经GPU并行化的均匀非局部滤波和非并行化的滤波相比,多出初始化显存、启动内核函数的部分,而内核函数就是GPU进行并行计算的函数,在原程序中,通过size(image)获取原图像像素的长n和宽m,在利用均匀非局部滤波时,通过循环for i=1:n里嵌套循环for j=1:m实现对每个像素单元的遍历,通过计算并比较每个像素的近似度,这一步每个像素独立,计算时可以并行化。

首先初始化GPU,cudaGetDeviceCount()函数返回拥有计算能力的设备数,将这些有计算能力的设备初始化,通过cudaMalloc()函数分配显存,cudaMemcpy()函数传递参数,如果最后一个参数为cudaMemcoyHostToDevice,则表示将参数从CPU Host端传递到GPUServer端,如果最后一个参数为cudaMemcoyDeviceToHost,则表示将参数,即GPU计算结果从GPU Server端传递到CPU Host。

size(image)函数得知图像像素的长n和高m,即一共存在n*m个像素点,给每个像素点分配一个单独的线程来计算近似度,通过kernel<<>>()函数启动内核kernel函数,其中<<<>>>中的n和m分别表示申请GPU中block数和线程数,n表示一共申请n个块,m表示每个块中有m个线程,随后通过cudaMemcpy()函数将GPU计算结果返回,设置最后一个参数值为cudaMemcoyDeviceToHost。

在kernel函数中,每个线程计算对应像素点的邻域内近似度值,这部分计算与原Matlab中嵌套for循环中的计算近似,但Matlab的for循环中是通过i和j的取值来确定每个像素点,kernel函数中i对应每个块block编号,j对应每个线程thread编号,最后定义一个mexFunction()函数,用于Matlab和C之间相互传值。

通过程序并行化,将串行的计算复杂度为n*m,即O(m2)的串行算法变为O(1)的并行方法,计算速度理论提升n*m倍。

(三)融合多重参考模型的SAR图像分割并行化

通过计算每个像素单元的代价,并取最小代价作为下一次迭代的参数,在Matlab串行代码中,JSM.m文件迭代循环体内,调用GMM_parameter.m、EnergyOfFeatureField.m和EnergyOfLabelField.m文件对应的GMM_parameter()、EnergyOfFeatureField()和EnergyOfLabelField()函数来计算每个像素单元的代价,而在这些函数中均存在一个for循环遍历每一个像素单元,进行代价的计算,因此通过改写文件GMM_parameter.m、EnergyOfFeatureField.m和EnergyOfLabelField.m,将其中的串行循环部分编程基于GPU的并行计算,提高计算效率。整体的CPU+GPU计算部分的SAR图像分割流程如图6。

在并行化时,将迭代计算中计算GMM均值和像素代价部分放入GPU进行并行处理,先进行GPU的初始化工作,随后使用cudaMalloc()函数分配显存,cudaMemcpy()函数传递参数,通过kernel<<>>()申请n个block块,每个block块中有m个线程,这n*m个线程分别对每个像素单元进行计算,随后将结果返回给CPU Host端,取最小值作为下一步迭代的参数,直到CPU端判定迭代结束,输出结果。

五、实验与分析

(一)分割精度优化实验

基于实验数据,从降噪前后的分割结果、与其它降噪算法的比较等多方面来进行比较。图7中依次是原始含有噪声的图像、直接分割结果、使用本申请方法降噪后的图像、本申请降噪算法处理后的结果。从这组对比实验结果中得出结论:本申请经降噪处理后的SAR图像进行分割时,效果要明显好于未经降噪处理的SAR图像分割结果。

(二)性能优化实验

1.降噪

降噪由于理论上进行并行化后会将速度提升n*m倍,其中n是像素的长,m是像素宽,但实际上在CPU中运行的其它串行部分和CPU、GPU之间的数据传输本身就会消耗时间,因此实际上计算速度的提升与图像的尺寸相关。以下是对两个降噪实验数据在串并行下运行时间的对比。图8大小为180*240的SAR图像降噪速度对比,图9大小为260*125的SAR图像降噪速度对比。

2.分割

将GMM高斯聚类和每个像素的代价计算部分放入GPU中进行并行处理,在这部分中理论上虽然能够达到加速比n*m,但由于其它需要计算的串行部分的耗时、GPU和CPU之间数据的传输耗时等多种原因,整体并行加速离理想状态还有距离。图10是在不同图像大小下,串并行运行速度的比较折线图,通过该图能够直观的看出,随着图像越来越大,串行计算的耗时接近倍数增长,而并行计算耗时则只是线性增长,图像越大,串行和并行之间耗时的差异也就越明显。

通过两方面对本申请的试验数据进行分析,首先解析降噪对分割结果的影响,通过两个实验数据的原始图片、直接分割、降噪、降噪后的分割图片进行分析,得出在分割前进行降噪前置处理,能够使得分割结果更精确,且降噪效果越好,分割结果也越好;然后对串并行计算速率进行比较,得出基于GPU的并行化计算算法能够比串行运行速率有大幅度提升。

六、发明点总结

(1)随着SAR影响分辨率的提升,SAR图像噪声也随之增强,如何能够在含有大量噪声的SAR图像中准确的对其进行分割是本申请解决的第一个问题。本申请在高分辨率SAR图像的分割处理之前,进行基于均匀非局部滤波降噪前置处理,通过降噪将噪声对分割结果的影响减到最小,使得分割结果更为准确,然而本申请的均匀非局部滤波适用于加性噪声,而非SAR影响含有的乘性噪声,因此在均匀非局部滤波进行降噪前置处理前,先将乘性噪声通过对数转换成加性噪声,在降噪前置处理后再经指数转换成乘性图像,且结合梯度分组,使之能够在图像冗余小的情况下也适用。实验结果表明,在分割前进行降噪处理能够使得分割结果更为准确,本申请提出的基于均匀非局部滤波的改进降噪算法也比Lee降噪算法效果更优。

(2)对降噪前置处理和融合多重参考模型的SAR图像分割算法进行了基于GPU的并行优化,GPU处理图像显示还能够进行许多并行计算工作,而本申请中所采用的均匀非局部滤波降噪算法和基于JSM迭代的融合多重参考模型的分割算法都含有大量的针对像素重复计算的部分,如果将这些工作全部交由CPU串行计算,会消耗相当多的时间,而如果将一些相互之间无依赖的独立且大量的计算工作交由GPU来进行并行计算,则会节省很多时间。在图像较大的情况下,运算速度能够得以大幅提升。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号