【技术实现步骤摘要】
基于栈式稀疏自编码网络的多时相PolSAR散射特征的降维算法
本专利技术属于微波遥感数据处理及应用领域,更进一步涉及雷达遥感领域中的多时相极化合成孔径雷达(PolarimetricSyntheticapertureApertureRadar,PolSAR)高维散射特征的降维方法和数据应用。本专利技术可以得到优于传统降维方法的数据压缩效果,结合现有的极化目标分解方法可以充分的挖掘多时相PolSAR数据中的分类特征,进而从一定程度上提高了多时相PolSAR数据的应用效率,具体在作物分类的多时相PolSAR数据应用上,实验表明采用降维特征结合分类器能够得到优于多时相复Wishart分类方法的分类精度。
技术介绍
农作物种植结构,是一个区域的作物类型、分布及面积等信息的综合,是作物估产、区域农业种植结构调整的基础,也是确保国家粮食安全和发展精准农业的主要依据。因此,在大尺度的农业遥感中,获取更高精度的农作物分类信息具有极其重要的意义。PolSAR作为一种遥感手段,凭借其全时相,全天候的高分辨对地观测能力,农作物分类成为了极化SAR主要应用之一。如今,对于PolSAR数据已经开发了很多的分类算法,大体可以分为三类,基于统计模型的算法,基于电磁波散射机制的算法,基于先验知识的算法,这些方法有监督型和非监督型,虽然在分类精度上取得了一定的提升,但这些算法仍存在一定的缺点:(1)算法大多数集中在单时相PolSAR数据的分析来对目标进行分类,但因为不同类型的农作物在不同的生长周期具有不同的散射特性,所以单时相的数据并不 ...
【技术保护点】
1.基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算法,包括如下步骤:/n(1)输入S个时相,大小为N1×N2的PolSAR图像数据;/n(2)通过原始的PolSAR图像数据计算出每个像素的极化协方差矩阵[C]和极化相干矩[T];/n(3)采用多种极化分解方法对每个时相的PolSAR数据中[C]和[T]矩阵的进行特征分解,然后将每个时相中每个像素分解得到的M个特征以矩阵形式保存,将会得到一个N1×N2×M大小的三维特征矩阵[A];/n(4)将S个时相所获得的三维特征矩阵进行再次堆叠,形成N1×N2×(M*S)大小的高维特征矩阵[B];/n(5)建立地面真值分布图,结合高维特征矩阵选择训练样本;/na)在高在高维特征矩阵中随机抽取m个无监督训练样本,获得大小为(M*S)×m的无监督训练样本矩阵[D];/nb)结合地面真值分布图,对随机抽取的m个有无监督训练样本添加标签;/n(6)构建降维至L维的S-SAE网络,使用训练样本对S-SAE网络进行训练;/na)将无监督训练样本[D]作为S-SAE网络的输入进行逐层训练,并得到降维至L维的训练数据[E],其大小为L×m;/nb)使用降维 ...
【技术特征摘要】
1.基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算法,包括如下步骤:
(1)输入S个时相,大小为N1×N2的PolSAR图像数据;
(2)通过原始的PolSAR图像数据计算出每个像素的极化协方差矩阵[C]和极化相干矩[T];
(3)采用多种极化分解方法对每个时相的PolSAR数据中[C]和[T]矩阵的进行特征分解,然后将每个时相中每个像素分解得到的M个特征以矩阵形式保存,将会得到一个N1×N2×M大小的三维特征矩阵[A];
(4)将S个时相所获得的三维特征矩阵进行再次堆叠,形成N1×N2×(M*S)大小的高维特征矩阵[B];
(5)建立地面真值分布图,结合高维特征矩阵选择训练样本;
a)在高在高维特征矩阵中随机抽取m个无监督训练样本,获得大小为(M*S)×m的无监督训练样本矩阵[D];
b)结合地面真值分布图,对随机抽取的m个有无监督训练样本添加标签;
(6)构建降维至L维的S-SAE网络,使用训练样本对S-SAE网络进行训练;
a)将无监督训练样本[D]作为S-SAE网络的输入进行逐层训练,并得到降维至L维的训练数据[E],其大小为L×m;
b)使用降维至维的训练数据[E]作为softmax分类器的输入,结合训练标签样本对softmax分类器进行预训练;
c)将逐层训练完成的S-SAE网络与训练完成的softmax分类器进行结合,然后使用有标签的训练样本对S-SAE网络进行优化训练;
(7)使用优化训练后的S-SAE网络参数,对高维散射特征[B]进行降维运算,得到指定降维维度的多时相散射降维特征矩阵[F],其大小为N1×N2×L;
(8)结合降维特征和地面分布真值,随机选取支持向量机SVM(SupportVectorMachine,SVM)分类器的训练样本;
(9)采用SVM分类器对多时相散射特征的降维特征[F]进行分类;
(10)输出分类后的农作物分布图。
2.根据权利要求1所述的基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算其特征在于:(均使用matlab语言实现)
步骤(1)输入S个时相,大小为N1×N2的PolSAR图像数据具体步骤如下:
第一步,按照下式,先将每个时相的PolSAR数据读入,生成一个行向量。
tem1=fread(fid,num1·num2·BandNo,'double','ieee-le');
其中,num1和num2表示该图像在二维平面上纵向和横向的像素点个数,BandNo表示该SAR图像数据的层数
第二步,通过下式将读取进来的SAR数据进行维数的变化,使其变为BandNo·num2行,num1列,然后通过矩阵转置,使读取的数据变为num1行,BandNo·num2列
xx=reshape(tem1,BandNo*num2,num1);
xx=xx’;
其中,reshape表示将tem1进行维数变化,行数列数分别对应后边两个输入,xx=xx'表示矩阵的转置
第三步,通过循环语句,将转置后的PolSAR数据,存入目标矩阵中去,目标矩阵具有和xx相同的列数和行数,目标矩阵的层数与PolSAR图像的层数相同
fori=1:BandNo
PolSARData(:,:,i)=xx(:,1+(i-1)·num2:i·num2);
end
其中PolSARData为目标矩阵,按照层的顺序存储xx中的PolSAR数据,使其变为具有,num1行,num2列,BandNo层的一个三维矩阵,在这样的矩阵中,PolSARData(:,:,i)即在二维的横向和纵向相等的情况下,每层的数据都对应着PolSAR图像中同一个像素点。
3.根据权利要求1所述的基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算法,其特征在于:
步骤(3)中对于多个单时相PolSAR数据进行了多种极化目标分解算法包括(Huynen分解,Freeman-Durden分解,Yamaguchi分解,Cloude分解,等),获取了36个散射特征,对散射分解特征使用了以下方式进行存储利用;
Dataset1=zeros(num1,num2,36);
dataset1(:,:,1)=F1;
………
Dataset1(:,:,36)=imag(Ps_y);
其中dataset是每个时相分解后的特征所要存储的地方。通过这种操作可以得到单时相PolSAR数据的分解特征矩阵[A],整个矩阵dataset共有36层,每层分别存储该类样本像素点对应的36个分解特征。
4.根据权利要求1所述的基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算法,其特征在于:
步骤(4)对每个时相分解的dataset数据进行再次堆叠储存得到高维特征矩阵[B],其利用以下方式实现。
All_feature=zeros(num1,num2,252);
All_feature(:,:,1:36)=dataset1;
………
All_feature(:,:,217:252)=dataset7;
其中All_feature是所有时相数据分解后的特征所要存储的地方,最后通过堆叠的方式可以存储多个时相PolSAR数据分的所有分解特征,得到高维的特征矩阵[B]。整个矩阵共有252层,每层分别存储该类样本像素点对应的一种分解特征。
5.根据权利要求1所述的基于栈式稀疏自编码网络的多时相PolSAR散射特征降维算法,其特征在于:
步骤(6)所述使用训练样本对S-...
【专利技术属性】
技术研发人员:郭交,李恒辉,刘健,韩文霆,秦立峰,
申请(专利权)人:西北农林科技大学,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。