基于多模型联合学习网络的PolSAR图像分类方法
技术领域
本发明属于图像处理
技术领域
,具体涉及一种PolSAR图像分类方法,可用于图像识别。背景技术
极化合成孔径雷达PolSAR采用多频率、多通道的成像方式,几乎能够在所有条件下不分昼夜地进行对地监测,同时还具有穿透力强、分辨率高的优点。在多种收发组合下,PolSAR能够全面地描述地物目标的散射特性,并且能够更加精确地反演目标的物理特性、几何特性和电解因子等参数。作为PolSAR影像解译的关键技术之一,PolSAR图像分类一直是近些年来研究的热点。PolSAR图像分类是根据极化信息和空间位置将每个像素划分为不同的类,例如农田、草地、城市、河流等。一般来说,属于同一地形的像素具有相似的物理特征并且在空间上具有连续性。按照近些年来PolSAR图像研究的趋势,将PolSAR图像分类方法可以分为三大类:基于目标分解的分类方法、基于统计分析的分类方法和基于机器学习的分类方法,其中基于机器学习的分类方法是近些年研究的重点。机器学习利用实例数据和过去的经验使计算机学习或者模拟人的行为的研究,已经发展为人工智能领域的研究热点,吸引着越来越多研究者的注意。而深度学习作为机器学习的一个重要分支,提供了一个强大的框架,通过多层表示学习自动提取更深层次的特征并且能够发现高维数据中的复杂结构,进一步推动了PolSAR图像分类的发展。
Chen等人在2018年提出的将卷积神经网络CNN应用到PolSAR图像分类时,存在两个问题:第一个问题是忽略了PolSAR图像中相位信息的重要性,相位信息对于PolSAR图像的分类效果具有重要的作用;第二个问题是CNN对于PolSAR图像分类是将每一个像素的邻域作为输入用于模型的训练和预测,因此存在重复计算和内存占用的缺点。为了解决第一个问题,Zhang等人在2017年充分利用PolSAR图像的幅值和相位,将CNN的各个要素拓展到复数域,提出了基于复值卷积神经网络的PolSAR图像分类方法,但是该方法仍然没有解决重复计算和内存占用的缺点。为了解决第二个问题,Li等人在2018年将端到端、像素到像素的密集分类网络—全卷积神经网络FCN应用于PolSAR图像分类,提出基于稀疏编码和滑窗全卷积神经网络的PolSAR图像分类方法,但是该方法没有考虑PolSAR图像的相位信息,导致PolSAR图像的分类精度不佳。为此,2019年Cao等人将全卷积神经网络的各个要素拓展到复数域,提出复值全卷积神经网络CVFCN,但是该方法依然存在对于连续的下采样引起的PolSAR图像细节信息损失过多的问题,导致PolSAR图像的分类结果图不够精细。除此之外,以上方法均提取的是单一的特征,无法充分地挖掘PolSAR图像的多尺度特征,导致PolSAR图像的分类效果不够理想。
发明内容
本发明的目的在于针对上有技术存在的不足,提供一种基于多模型联合学习网络的PolSAR图像分类方法,以通过利用PolSAR图像的幅值信息和相位信息,将多个模型提取到的不同特征进行融合,提高PolSAR图像的分类精度。
为实现上述目的,本发明的技术方案包括:
1.一种基于多模型联合学习网络的PolSAR图像分类方法,其特征在于,包括:
(1)输入待分类的极化合成孔径雷达PolSAR图像,利用半监督模糊聚类算法对PolSAR图像的标签矩阵进行扩充,以得到待分类PolSAR图像中无类标像素的伪类标,将扩充后的标签矩阵记为lp;
(2)分别提取PolSAR图像中每个像素的相干矩阵Ti的向量,即先提取Ti上三角元素的实部和虚部构成9维向量xi1,再提取Ti的上三角元素构成6维向量xi2;再对xi1和xi2向量的每一维度均使用z-score函数进行归一化,得到归一化后的9维向量x'i1和6维向量x'i2;
(3)对x'i1、x'i2以及lp均使用相同的滑窗操作分别得到三个对应的数据集s1,s2和sl,再将这三个数据集以同样的方式进行随机打乱,并从s1和s2中均选取前5%的数据得到训练样本集s1 T、s2 T,再从sl中选取前5%的数据得到s1 T和s2 T对应的标记矩阵sl T;
(4)利用均值为0、标准差为0.02的高斯分布随机初始化9维卷积核和6维卷积核,并根据初始化后的9维卷积核和6维卷积核分别构造全卷积神经网络FCN模型和复值全卷积神经网络CVFCN模型,该FCN模型和CVFCN模型均包括7层卷积层,且前四层卷积层后面均依次级联有池化层、Relu激活函数层及Batch归一化层;
(5)构造空洞卷积层,即将空洞因子分别为1、2、3的空洞卷积依次级联,并将CVFCN中前四层中的卷积层替换成空洞卷积层构成复值堆栈空洞全卷积神经网络CVSDFCN模型;
(6)将上述FCN模型、CVFCN模型和CVSDFCN模型分别作为联合学习网络的子模型,并将9维训练样本集s1 T和其对应的标记矩阵sl T均输入到FCN模型,将6维训练样本集s2 T和其所对应的标记矩阵sl T均输入到CVFCN和CVSDFCN模型,对这三个子模型均利用前向传播算法和反向传播算法进行特征学习,得到三种不同的期望结果矩阵xa,xb,xc;
(7)将得到的三种期望结果矩阵xa,xb,xc进行融合得到一个3维矩阵M,并初始化一个3×1的权值N,再将M和N相乘得到最终的分类结果。
本发明与现有技术相比,具有以下优点:
第一,本发明将半监督模糊聚类引入PolSAR图像的预处理,得到了无类标标签的伪类标从而扩充了标记样本。
第二,本发明构造空洞卷积层来提取PolSAR图像的多尺度特征,提高了PolSAR图像的分类精度。
第三,本发明将三个独立的全卷积神经网络FCN、复值全卷积神经网络CVFCN和复值堆栈全卷积神经网络CVSDFCN进行融合,能够进一步得到比单一模型更好的分类结果。
附图说明
图1为本发明的实现流程图;
图2为用本发明和现有方法对西安渭河地区PolSAR图像的分类结果对比图;
图3为用本发明和现有方法对德国ESAR地区PolSAR图像的分类结果对比图;
图4为用本发明和现有方法对美国旧金山地区PolSAR图像的分类结果对比图。
具体实施方式
以下结合附图对发明的实施和效果作进一步详细描述:
参见图1,本实例的实现步骤包括如下:
步骤1:输入待分类的PolSAR图像X和其所对应的人工标记矩阵l,进行数据预处理。
1.1)利用半监督模糊聚类对PolSAR图像进行标签扩充:
1.1.1)设置参数:分类数为C,最大迭代次数为50;
1.1.2)在已标记的像素中随机选取1%的像素作为监督信息,根据监督信息得到PolSAR图像的监督隶属度矩阵
其中,表示第i个像素xi属于第j个聚类中心vj的监督隶属度,表示作为监督信息的像素,表示监督信息之外的其余像素,N是输入的PolSAR图像X的像素总个数;
1.1.3)通过最大熵正则化构造类内紧致目标函数,并在目标函数中引入监督信息,得到引入监督信息后的目标函数J:
其中,d(xi,vj)表示第i个像素xi和第j个聚类中心vj之间的Wishart距离,λ表示模糊因子,uij表示第i个像素xi属于第j个聚类中心vj的隶属度,表示第i个像素xi属于第j个聚类中心vj的监督隶属度,i∈{1,···,N},j∈{1,···,C},λ=2;
1.1.4)对公式2)分别求关于隶属度uij和聚类中心vj的偏导数,得到uij和vj的更新公式分别如下:
1.1.5)根据式3)和式4)分别更新隶属度uij和聚类中心vj,直到迭代次数达到50次时,得到最终更新后的隶属度uij'和聚类中心vj’;
1.1.6)根据最终更新后的隶属度uij'和聚类中心vj’,对输入的PolSAR图像X进行聚类得到结果矩阵l';
1.1.7)根据结果矩阵l',在人工标记矩阵l中设置未标记像素的伪类标,得到扩充后的标记矩阵lp;
1.2)对输入的PolSAR图像X进行归一化:
1.2.1)PolSAR图像X中的每个像素是由3×3的相干矩阵Ti表示,分别提取相干矩阵Ti上三角元素的实部和虚部,构成9维向量xi1:
xi1=[Ti 11,Ti 22,Ti 33,Re(Ti 12),Re(Ti 13),Re(Ti 23),Im(Ti 12),Im(Ti 13),Im(Ti 23)],
其中,Re(·)表示复数域的实部,Im(·)表示复数域的虚部,
1.2.2)提取Ti的上三角元素,构成6维向量xi2:
xi2=[Ti 11,Ti 12,Ti 13,Ti 22,Ti 23,Ti 24],
其中,Ti 11,Ti 12,Ti 13表示相干矩阵Ti的主对角线元素,Ti 22,Ti 23,Ti 24表示相干矩阵Ti的副对角线元素;
1.2.3)对xi1和xi2向量的每一维度均使用z-score进行归一化,分别得到归一化后的9维向量x'i1和6维向量x'i2;
步骤2:从归一化后的9维向量x'i1、6维向量x'i2和扩充后的人工标记矩阵l'中选取训练样本集。
2.1)对归一化后的9维向量x'i1、6维向量x'i2以及人工标记矩阵lp均使用相同的滑窗操作分别得到三个对应的数据集s1,s2和sl,滑窗操作的公式如下:
Num=(ceil((H-W)/S)+1)·(ceil((W-L)/S)+1)
其中,ceil表示向上取整函数,H和W分别表示输入的PolSAR图像X的高和宽,L为滑动窗口的大小,S表示滑动步长,本实例取但不限于W=128,S=32;
2.2)将上述三个数据集s1,s2和sl中的数据随机打乱;
2.3)从s1和s2中均选取前5%的数据得到训练样本集s1 T、s2 T,再从sl中选取前5%的数据得到s1 T和s2 T对应的标记矩阵sl T。
步骤3:分别构建全卷积神经网络FCN模型、复值全卷积神经网络CVFCN模型和堆栈空洞全卷积神经网络CVSDFCN模型。
3.1)构建全卷积神经网络FCN模型:
3.1.1)设置FCN模型的超参数:学习率为10-3,批大小为32;
3.1.2)利用均值为0、标准差为0.02的高斯分布随机初始化9维卷积核;
3.1.3)根据初始化后的9维卷积核构造全卷积神经网络FCN模型,该FCN模型包括7层卷积层,且前四层卷积层后面均依次级联有池化层、Relu激活函数层及Batch归一化层,具体结构如下:
9维卷积层→第一池化层→第一Relu激活函数层→第一Batch归一化层→60维卷积层→第二池化层→第二Relu激活函数层→第二Batch归一化层→120维卷积层→第三池化层→第三Relu激活函数层→第三Batch归一化层→240维卷积层→第四池化层→第四Relu激活函数层→第四Batch归一化层→240维卷积层→1024维卷积层→1024维卷积层;
每个卷积层中的卷积核的大小均为3×3,每个池化层的步长均为2;
3.2)构建复值全卷积神经网络CVFCN模型:
3.2.1)设置CVFCN模型的超参数:学习率为10-3,批大小为32;
3.2.2)利用均值为0、标准差为0.02的高斯分布随机初始化6维卷积核;
3.2.3)根据初始化后的6维卷积核构造复值全卷积神经网络CVFCN模型,该CVFCN模型均包括7层卷积层,且前四层卷积层后面均依次级联有池化层、Relu激活函数层及Batch归一化层,具体结构如下:
6维卷积层→第1池化层→第1Relu激活函数层→第1Batch归一化层→60维卷积层→第2池化层→第2Relu激活函数层→第2Batch归一化层→120维卷积层→第3池化层→第3Relu激活函数层→第3Batch归一化层→240维卷积层→第4池化层→第4Relu激活函数层→第4Batch归一化层→240维卷积层→1024维卷积层→1024维卷积层;
每个卷积层中的卷积核的大小均为3×3,每个池化层的步长均为2;
3.3)构建复值堆栈空洞全卷积神经网络CVSDFCN模型:
3.3.1)设置CVFCN模型的超参数:学习率为10-3,批大小为32;
3.3.2)构造空洞卷积层,即将空洞因子分别为1、2、3的空洞卷积依次级联,得到空洞卷积层;
3.3.3)将CVFCN中前四层中的卷积层替换成空洞卷积层构成CVSDFCN模型,具体结构如下:
6维空洞卷积层→第1池化层→第1Relu激活函数层→第1Batch归一化层→60维空洞卷积层→第2池化层→第2Relu激活函数层→第2Batch归一化层→120空洞维卷积层→第3池化层→第3Relu激活函数层→第3Batch归一化层→240维空洞卷积层→第4池化层→第4Relu激活函数层→第4Batch归一化层→240维卷积层→1024维卷积层→1024维卷积层;
每个空洞卷积层中的卷积核的大小均为3×3,每个池化层的步长均为2。
步骤四:利用上述三个模型得到最终的分类结果。
4.1)将9维训练样本集s1 T和其对应的标记矩阵sl T均输入到全卷积神经网络FCN模型;
4.2)将6维训练样本集s2 T和其所对应的标记矩阵sl T均输入到复值全卷积神经网路CVFCN模型和复值堆栈空洞全卷积神经网络CVSDFCN模型;
4.3)将全卷积神经网络FCN、复值全卷积神经网络CVFCN和复值堆栈全卷积神经网络CVSDFCN这三个模型均利用前向传播算法和反向传播算法进行特征学习,得到三种不同的期望结果矩阵xa,xb,xc,其中xa表示全卷积神经网络FCN模型的期望结果矩阵,xb表示复值全卷积神经网络CVFCN模型的期望结果矩阵,xc表示复值堆栈全卷积神经网络CVSDFCN模型的期望结果矩阵;
4.4)将得到的三种期望结果矩阵xa,xb,xc使用Stacking方法进行融合,得到一个3维矩阵M,表示为M(i,j,3):
其中,i,j表示这三种不同的期望结果矩阵xa,xb,xc第i行和第j列的位置;
4.5)初始化一个3×1的权值N,再将3维矩阵M和权值N相乘得到最终的分类结果。
以下结合仿真实验,对本发明的技术效果作进一步说明:
1.仿真条件:
仿真实验在计算机Inter(R)Core(TM)i9-9900K 3.60GHZ CPU,32G内存,Tensorflow1.13.1软件环境下进行。
2.仿真内容:
仿真1,选取西安渭河地区PolSAR图像,用本发明与现有SVM方法、Wishart方法、Bagging方法、CNN方法、FCN方法、CVFCN方法分别对西安渭河地区PolSAR图像进行分类,结果如图2所示,其中:
2(a)是西安渭河地区PolSAR图像的人工标记图;
2(b)是用现有SVM方法对西安渭河地区PolSAR图像的分类结果图;
2(c)是用现有Wishart方法对西安渭河地区PolSAR图像的分类结果图;
2(d)是用现有Bagging方法对西安渭河地区PolSAR图像的分类结果图;
2(e)是用现有CNN方法对西安渭河地区PolSAR图像的分类结果图;
2(f)是用现有FCN方法对西安渭河地区PolSAR图像的分类结果图;
2(g)是用现有CVFCN方法对西安渭河地区PolSAR图像的分类结果图;
2(h)是用本发明对西安渭河地区PolSAR图像的分类结果图;
从图2可以看出,使用SVM、Wishart和Bagging得到的分类结果图存在大量的错分像素,且存在大量的独立像素点;CNN模型的分类结果虽说相比于前三种算法更加连续,独立的像素点明显减少,比如由椭圆框出来的草地地物,但是仍然存在很多的错分像素;FCN模型的结果图整体上相比于前几种方法更加清晰,但是在河流地物的分类中仍然存在很多错分像素;CVFCN在椭圆突出显示的水域比使用FCN表现得更好;本发明分类结果图相较于其它方法更加平滑,能够清晰地分出西安数据集的每一类地物,尤其在用椭圆和正方形框出来的区域表现更为突出。
仿真2,选取德国ESAR地区PolSAR图像,用本发明与现有SVM方法、Wishart方法、Bagging方法、CNN方法、FCN方法、CVFCN方法分别对其进行分类,结果如图3所示,其中:
3(a)是德国ESAR地区PolSAR图像的人工标记图;
3(b)是用现有SVM方法对德国ESAR地区的分类结果图;
3(c)是用现有Wishart方法对德国ESAR地区的分类结果图;
3(d)是用现有Bagging方法对德国ESAR地区PolSAR图像的分类结果图;
3(e)是用现有CNN方法对德国ESAR地区PolSAR图像的分类结果图;
3(f)是用现有FCN方法对德国ESAR地区PolSAR图像的分类结果图;
3(g)是用现有CVFCN方法对德国ESAR地区PolSAR图像的分类结果图;
3(h)是用本发明对德国ESAR地区PolSAR图像的分类结果图;
从图3可以看出,使用SVM、Wishart和Bagging算法的分类结果图在建筑区、开放区和林区三种地物之间混合十分严重;CNN的分类结果图从整体上来说该结果图要比前三幅结果图清楚,但是仍然存在许多错分像素,例如,用椭圆框起来的区域中,建筑区地物的很多像素被错分成开放区和林区地物;使用FCN模型的分类结果图整体上比前四中算法平滑,尤其是在连续区域地物的分类中表现更为明显,但是对于建筑区地物,比如用矩形框出来的区域,仍然存在很多的错分像素;CVFCN模型的分类结果优于FCN模型;本发明的分类结果图更接近于的人工标记图,且相对于其它算法更加平滑。
仿真3,选取美国旧金山地区PolSAR图像,用本发明与现有SVM方法、Wishart方法、Bagging方法、CNN方法、FCN方法、CVFCN方法分别对其进行分类,结果如图3所示,其中:
4(a)是美国旧金山地区PolSAR图像的人工标记图;
4(b)是用现有SVM方法对美国旧金山地区的分类结果图;
4(c)是用现有Wishart方法对美国旧金山地区的分类结果图;
3(d)是用现有Bagging方法对美国旧金山地区PolSAR图像的分类结果图;
4(e)是用现有CNN方法对美国旧金山地区PolSAR图像的分类结果图;
4(f)是用现有FCN方法对美国旧金山地区PolSAR图像的分类结果图;
4(g)是用现有CVFCN方法对美国旧金山地区PolSAR图像的分类结果图;
4(h)是用本发明对美国旧金山地区PolSAR图像的分类结果图;
从图3可以看出,SVM和Wishart的分类结果图中的错分现象非常严重,例如用矩形框出来的区域,很多的发达城市地物中的像素被错分成植物地物;Bagging的分类结果图在低密度城市和高密度城市地物中存在很多的错分像素;从CNN的结果图中可以明显地看到CNN的结果图的轮廓相比前三种算法清楚,但是在高密度城市和发达城市地物中仍存在很多错分像素;FCN的分类结果图在发达城市地物的分类效果较差;CVFCN在低密度城市的分类有效性优于前几种算法;本发明的分类结果图在连续区域中更加清楚和平滑,也更加接近于人工标记图。