一种基于多层无监督稀疏学习网络的云图云量计算方法与流程

文档序号:13343074阅读:218来源:国知局

本发明属于云图像处理技术领域,特别涉及了一种基于多层无监督稀疏学习网络的云图云量计算方法。



背景技术:

云覆盖了50%以上的地球表面,是重要的气象和气候要素之一。为了获取准确的云量分布,先要对卫星云图进行云的检测和分类,再在云分类的基础上进行云量计算。目前,国际上卫星云量计算方法主要有isccp方法、clavr方法、apollo方法等,isccp算法假设观测辐射值仅来自于云和晴空两者之一,像元观测辐射值与晴空的辐射值相比对,若两者之间的差值大于晴空辐射本身的最大变化幅度时候,判定该像元是云;clavr算法是以2x2矩阵块作为检测单位,四个像素都没通过云检测时候,判定矩阵无云,全都通过检测时判为有云,否则认为是混合型。对于混合型矩阵,如果有云及晴空共同存在的矩阵满足其他如冰/雪等晴空判决条件,该矩阵重新被判为晴空;apollo算法采用逻辑与的形式,即只有当像元满足所有阈值检测条件的时候,才认为该像元为晴空,否认认为该像元是云。另外还有modis、nir/vis等方法。

上述云量计算方法主要可分为两类:一是通过区域内有云像素点与总像素点之比计算云量;二是通过像素点辐射量与反射率之比计算等效云量。第一种方法操作方便,但由于不能分析亚像元云量,会造成云量计算结果偏高;第二种方法虽然一定程度上解决了亚像元云量问题,但有些情况仍不太适用,比如区域内有多层云或地表类型变化剧烈等。云检测是云量计算的基础,因此要想提高云量计算的准确率必须先取得较好的云检测结果。

目前云检测的技术主要分为两类:阈值法和聚类分析法。阈值法主要采用红外温度阈值、可见光阈值等,但是由于卫星图像非常复杂多变,采用固定全局阈值对图像进行检测会产生比较大的误差。聚类分析方法主要有直方图聚类、自适应阈值聚类、动态阈值聚类等,但是云的类别通常具有好多特征,现阶段的研究主要针对云的某一特征进行,不能很好的提取云图像上的有效信息,因此以上方法的云检测效果不是很好。另外基于机器学习的云检测方法也被大量应用,主要包括支持向量机、k近邻、模糊策略以及神经网络,其中神经网络的检测精度要比其他方法效果更好,但其同样存在缺陷,主要表现为没有充分运用云图特征,有效信息提取不够。近年来深度学习发展非常迅速,其中就包括由极限学习机发展而来的深度极限学习机,其在很多应用领域都表现出强大的适应性和鲁棒性,并且学习速度快。深度极限学习机作为特殊设计的含多隐层的多层感知器,能够充分提取有效特征,对云图进行分类。但是目前的应用的最多的深度卷积神经网络由于需要误差反向传播,并且参数量特别大,因此学习和分类的效率很低,影响了该方法的在线应用。



技术实现要素:

本发明的目的是克服上述背景技术的不足,提供一种基于多层无监督稀疏学习网络的云图云量计算方法,克服了传统神经网络对云图特征利用率不够的缺陷。为了实现上述技术目的,本发明的技术方案为:

基于多层无监督稀疏学习网络的云图云量计算方法,包括如下步骤:

(1)多层无监督稀疏学习网络模型结构的训练:设定神经网络为一个含m个隐层的网络,利用已标注的样本(xi,yi)的图像块,对该神经网络进行学习,使用极限学习机模型进行多层无监督特征学习,得到最优的网络参数,其中,xi为一个n×n的图像块,yi表示xi对应的云的分类,n满足10≤n≤50,i代表第i个样本,i=1,2,3,...,p,p为样本总数;所述网络模型的输出层采用监督学习的方式实现云的分类学习;

(2)卫星图片云分类:将卫星图片分成每个像素大小为n×n的小块,作为神经网络的输入数据,并得到整个神经网络的输出,通过输出值进行最终分类,根据输出的最大值判定云的种类;

(3)卫星图片云云量计算:根据步骤(2)中云的种类,采用空间相关方法计算云图上的总云量。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,所述多层无监督特征提取网络模型包括:

多层无监督特征提取部分,包括以极限学习为基础的自动稀疏编码实现特征的无监督提取,通过稀疏连接提取输入数据的特征;

基于极限学习机的监督学习部分,将隐含层的最后一层提取的特征向量作为最后一层的输入,基于极限学习机理论进行特征分类学习,得到最后一层的网络参数,

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,步骤(1)的多层无监督特征提取网络模型含m个隐层,其中第i个隐层使用具有vi个隐含节点的极限学习机进行自动稀疏编码学习,并将该极限学习机的隐含层输出作为多层无监督特征提取网络第i+1层的输入,将极限学习机的隐含层和输出层之间的连接权值作为多层无监督特征提取网络第i层和第i+1之间的连接权值。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,每层网络进行特征提取具体包括如下步骤:

a)输入的卫星图片样本x经过h1(x)=g(w1·x+b1)·β1后得到随机特征映射,其中w1是无监督多层特征提取网络中第一个自动编码极限学习输入层和隐含层之间的权值,b1是偏置,g是激励函数,β1是隐藏层和输出层之间的权重;

b)极限学习机的隐含层的输出能够通过隐藏层和输出层之间的连接进行输入的重构,即使得h1(x)=x;

c)通过极限学习及稀疏编码的方式得到β1的估计值β1,无监督多层特征提取网络第一层的特征输出k1=g(w1·x+b1)就作为无监督多层特征提取网络第二层的输入,β1就作为无监督多层特征提取网络第一层和第二层之间的连接权值;

d)无监督多层特征提取网络第j层的输出kj可作为无监督多层特征提取网络第j+1层的输入,βj作为无监督多层特征提取网络第j层和无监督多层特征提取网络第j+1层之间的连接权值,重复该步骤d)网络进行特征提取完毕。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,所述步骤c)中稀疏编码的具体算法如下:

首先,设定编码输入为r,有l个隐层节点,w为输入层和隐含层之间的连接权值,β为隐含层和输出层之间的连接权值,bi是第i个隐含节点的偏置(b=(b1,b2,...,bl))且满足g(w·r+b)β=x;

接着,根据采用l1范数约束β,使得β为稀疏,其中w和b是任意给定的0到1之间的值;

最后,通过快速收缩阈值迭代法得到估计值β。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,所述云的分类学习,具体步骤为:将多层无监督特征提取网络第m个隐层的特征输出作为监督学习部分的输入,用样本的标注y作为监督学习的目标输出,并通过极限学习机方法得到监督学习部分的网络参数。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,所述神经网络输出的云分类结果包括三种:晴空、薄云和厚云。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,所述神经网络输出的云分类的结果有三种,设定输出样本设定为对应的三维向量。

所述基于多层无监督稀疏学习网络的云图云量计算方法的进一步设计在于,步骤(3)的具体包括:通过神经网络输出的云分类结果得到厚云像素亮度的下界icld和晴空像素亮度的上界iclr,icld是所有厚云的亮度的最小值,iclr是所有晴空亮度的最大值,云图上每个像素的云量根据下式求得:

ac=(i-iclr)/(icld-iclr)

其中i为单个像素接收机的亮度,最终得到云图上所有像素的总云量。

本发明的有益效果为:

本发明通过逐层前向稀疏学习的多层无监督特征提取保证了网络具有良好的泛化性能,充分提取了云图中的云特征,采用改进的空间相关方法计算云量,计算结果更加精确。本发明利用极限学习的思想实现特征的自动编码,并利用l1范数约束实现稀疏编码,本发明不需要反向误差学习,是一种无监督的前向编码方式,改变了传统深度学习需要误差反向传播的方式,并且能够实现稀疏编码。该方式在准确度提高的前提下,在同等硬件条件下样本的训练速度比传统的深度卷积神经网络提高100倍以上,样本的分类速度提高10倍以上。

附图说明

图1是本发明的基本流程图。

图2是本发明中用到的逐层前向稀疏学习的多层无监督特征提取网络结构图。

具体实施方式

下面结合附图和具体实施方式对本申请作进一步详细的说明。

以下将结合附图,对本发明的技术方案进行详细说明。

如图1所示,本实施例的逐层前向稀疏学习的多层无监督特征提取网络的卫星云图云量计算方法,包括以下步骤:

步骤1:多层无监督稀疏学习网络模型结构的训练:设定神经网络为一个含m个隐层的网络,利用已标注的样本(xi,yi),xi为一个n×n(10≤n≤50,n为正整数)的图像块,示xi对应的云的分类(本发明中分为厚云、薄云及晴空),i代表第i个样本,i=1,2,3,...,p,p为样本总数)对该网络进行学习,使用极限学习机及稀疏表示模型进行多层无监督特征学习,得到最优的网络参数。输出层采用监督学习的方式实现云的分类学习。多层无监督特征提取网络模型主要由多层无监督特征提取部分与基于极限学习机的监督学习部分组成。多层无监督特征提取部分,包括以极限学习为基础的自动稀疏编码实现特征的无监督提取,通过稀疏连接提取输入数据的特征。监督学习部分,将隐含层的最后一层提取的特征向量作为最后一层的输入,基于极限学习机理论进行特征分类学习,得到最后一层的网络参数,如图2给出了逐层前向稀疏学习的多层无监督特征提取网络的结构。

在多层无监督特征提取部分输入的卫星图片样本x经过h1(x)=g(w1·x+b1)·β1后得到随机特征映射,其中w1是多层无监督特征提取网络中第一个自动编码极限学习输入层和隐含层之间的权值,b1是偏置,g是激励函数(本发明可选用常用的神经网络激励函数),β1是隐藏层和输出层之间的权重;在本发明中极限学习机自动编码器采用自编码模式,也就是说极限学习机的隐含层的输出能够通过隐藏层和输出层之间的连接进行输入的重构,即使得h1(x)=x。在这个学习过程中w1以及b1是随机给定的0到1之间的值。为了使得网络的效率更高,运算速度更快,本发明采用l1范数来约束β1,使得β1为稀疏的。通过快速收缩阈值迭代法1求β1的估计值β1使得最小。那么多层无监督特征提取网络第一层的特征输出k1=g(w1·x+b1)就作为多层无监督特征提取网络第二层的输入,β1就作为多层无监督特征提取网络第一层和第二层之间的连接权值。

多层无监督特征提取网络第j层的输出kj可作为多层无监督特征提取网络第j+1层的输入,βj(通过极限学习机自动稀疏编码得到的估计值)可作为多层无监督特征提取网络第j层和多层无监督特征提取网络第j+1层之间的连接权值。那么多层无监督特征提取网络第j+1层的输出为kj+1=g(wj+1·kj+bj+1)。仍然对x进行重构即使得g(wj+1·x+bj+1)·βj+1=x,通过快速收缩阈值迭代法求βj+1的估计值βj+1使得最小。那么kj+1=g(wj+1·kj+bj+1)可以作为多层无监督特征提取网络第j+2层的输入,βj+1可以作为多层无监督特征提取网络第j+1层和多层无监督特征提取网络第j+2层之间的连接权值。

在监督学习部分,将多层无监督特征提取网络第m个隐层的特征输出作为监督学习的输入,用样本的标注y作为监督学习的目标输出。利用极限学习机方法得到监督学习部分的网络参数。

步骤2:卫星图片云分类,将卫星图片分成每个像素大小为n×n(10≤n≤50,n为正整数)的小块,作为神经网络的输入数据,并得到整个网络的输出。通过输出值进行最终分类,本发明采用softmax方法进行分类,即根据输出的最大值判定云的种类。本实施例中神经网络输出的云分类结果包括三种:晴空、薄云和厚云。且设定输出样本设定为对应的三维向量。

步骤3:卫星图片云云量计算,根据步骤(2)中云的分类结果,采用空间相关方法计算云图上的总云量。具体方法如下:通过神经网络输出的云分类结果

得到厚云像素亮度的下界icld和晴空像素亮度的上界iclr,icld是所有厚云的亮度的最小值,iclr是所有晴空亮度的最大值,此处主要将薄云进行区分。那么卫星图像上所有的像素均可由下式求得:

ac=(i-iclr)/(icld-iclr)

上式中i为单个像素接收机的亮度。如果计算结果大于1则认为是1,如果计算结果小于0则认为是0。这种情况下,厚云的云量被默认为1,晴朗的天空云量被设置为零。

本实施例利用极限学习的思想实现特征的自动编码,并通过稀疏约束实现连接权值的稀疏化。本发明不需要反向误差学习,是一种无监督的前向编码方式,改变了传统深度学习需要误差反向传播的方式,并且能够实现稀疏编码。该方式在准确度提高的前提下,在同等硬件条件下样本的训练速度比传统卷积深度学习提高100倍以上,样本的分类速度提高10倍以上。在云检测结果的基础上,本发明总云量计算方法采用“空间相关法”。实验结果表明,本发明得到的结果较好,适合卫星云图的云量计算研究。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1