结合双边滤波的三维卷积神经网络高光谱影像分类方法与流程

文档序号:17697880发布日期:2019-05-17 21:49阅读:382来源:国知局
结合双边滤波的三维卷积神经网络高光谱影像分类方法与流程

本发明涉及信息处理技术领域,具体涉及一种结合双边滤波的三维卷积神经网络高光谱影像分类方法。



背景技术:

高光谱成像技术是上世纪80年代逐渐发展起来的一种新技术,是一种将传统二维成像技术和一维光谱检测技术相结合的多维信息获取技术,具有“图谱合一”的特点,即可同时探测目标的二维几何空间信息与一维光谱信息,获取高光谱分辨率的、连续的、窄波段的影像数据。与全色影像和多光谱影像相比,高光谱影像具有更高的光谱分辨率和信息丰富度,可以更详实准确地反映目标物体的诊断性光谱特征,因此,高光谱影像被广泛应用于军事、农业、医学、采矿等诸多领域。

高光谱影像分类技术是高光谱成像技术中一项重要内容,是能够发挥高光谱成像技术高分辨率光谱信息优势的重要技术,是研究人员快速了解高光谱影像中所包含的内容的重要手段。高光谱影像分类技术的具体任务是对高光谱影像中的每一个像素所代表的目标进行分类。高光谱影像的高光谱分辨率是以较高的数据维、较大的数据量为代价的,这给高光谱影像分类带来了很多问题,例如信息的冗余度增大、数据的处理时间长等。

传统的高光谱图像分类技术,比如支持向量机(svm)等,仅使用了高光谱影像中的光谱信息,而没有考虑高光谱影像在空间上所具有的很强的相关性,导致分类时容易出现错分的现象,且会产生噪声散点。近几年,随着深度学习在图像、视频分类和目标检测中的广泛应用,以及取得的良好效果,深度学习中的栈式自编码网络、深度置信网络、卷积神经网络等被引入高光谱影像分类中,在传统分类算法只考虑光谱特征的基础上,这些算法引入高光谱影像的空间特征,有效地提高了高光谱影像的分类精度。

然而现有的大多数深度模型在提取高光谱影像的光谱-空间特征时做法较为复杂,需要先对高光谱影像采取主成分分析法(pca)等方法进行降维,然后进行特征提取。pca处理不仅加大计算量,还会损失光谱域的信息量,对分类精度造成一定的影响。此外,现有的大多数深度学习算法尚未考虑对高光谱影像中的噪声进行处理,这对分类精度以及训练模型所需时间和功耗产生较大影响。

西北工业大学李映、张号逵等人在其申请的专利文献“基于3dcnn的高光谱图像空谱联合分类方法”(申请号:201610301687.1,公布号cn106022355a)中提出了一种基于三维卷积神经网络的高光谱分类方法。该方法首先对待分类高光谱数据进行归一化,将其数值归一化到[0,1]的范围之内,其次提取高光谱影像的中心像素及一定邻域范围内像素向量作为原始空谱特征,并结合待分类像元的标签训练已经构造好的3dcnn,最后利用训练好的3dcnn完成高光谱影像的空谱联合分类。该方法存在的不足之处是:由于各种因素的影响,高光谱遥感影像在空间域上会存在噪声,作者在进行3dcnn模型训练时,没有考虑这些噪声的影响,这会对高光谱影像的分类产生较大的影响。在学术论文“spectral–spatialclassificationofhyperspectralimagerywith3dconvolutionalneuralnetwork”(《remotesensing》,2017,9(1),67)中,李映、张号逵等人对该方法的实验过程进行了详细的论述,由文中论述可知该模型对高光谱影像典型数据集indianpinesscene的训练需要进行100000的迭代,迭代次数多,训练时间过长,因此还存在改进的空间。

因此,当下还需要寻找一种不仅考虑了高光谱影像光谱特征和空间特征的相关性,还考虑了高光谱影像自身噪声对分类精度、训练耗时和耗能影响的高光谱影像分类方法,进而快速、准确地完成高光谱影像的分类任务。



技术实现要素:

本发明针对上述技术不足,提出了一种结合双边滤波的三维卷积神经网络高光谱影像分类方法。

本发明采用的双边滤波是一种非线性滤波器,是在高斯滤波器基础上提出的一种改进的双边滤波算法,能够考虑高光谱数据空间和幅值的相关性。双边滤波采用加权平均的方法,其权重不仅考虑了像素的欧氏距离,还考虑了像素范围域中的幅值差异。因此双边滤波器可以在保持图像细节信息,即能保持图像边界信息的同时,对空间域的噪声进行平滑处理。对高光谱影像完成滤波后,每个像素的光谱信息上都融合了其邻域像素的光谱信息,从而将光谱和空间信息结合了起来。因此对高光谱数据采用双边滤波进行处理有利于提高分类的精度,减少训练时间,降低训练功耗。

本发明与现有其他高光谱影像分类方法相比,不仅充分考虑了高光谱影像的光谱特征和空间相关性,还考虑了高光谱影像自身噪声对分类精度、训练耗时和耗能的影响,实现了快速、准确的高光谱影像分类。

发明所采用的技术方案是结合双边滤波的三维卷积神经网络高光谱影像分类方法,包括以下步骤:

步骤s1:使用双边滤波器对高光谱影像数据进行边缘保持滤波,去除无关噪声,并保持边缘信息,同时将数据的光谱信息和空间信息融合起来。双边滤波器是一种非线性滤波器,是一种边缘保持滤波方法,能够在去除无关噪声的同时,保持较好的边缘信息。

具体操作为:

输入高光谱影像数据,对其所有波段处的图像使用双边滤波器进行滤波。其中,双边滤波器的计算公式为:

式中,i是某一波段处的原始图像;ifiltered是该原始图像经过双边滤波后的结果;x是当前进行滤波的像素,i(x)是像素x处的幅度值;ω是以像素x为中心的具有一定范围的滤波窗口;xw是滤波窗口ω内的某一像素,i(xw)是像素xw处的幅度值。gs(||xw-x||)是空间域核函数,fr(||i(xw)-i(x)||)是像素幅值域核函数,二者均采用高斯函数形式;设像素x和xw的空间坐标分别为(i,j),(k,l);则对像素x进行双边滤波时,滤波窗口ω中像素xw的权重系数为:

其中,i(i,j),i(k,l)分别是像素x=(i,j)和xw=(k,l)处的幅度值;σd和σr分别是空间域和像素幅值域的sigma平滑参数;

通过对滤波窗口ω中不同像素的加权平均,中心像素x=(i,j)经过双边滤波后的幅值为:

通过改变ω的直径、平滑参数σd和σr可以调节双边滤波器对高光谱影像的滤波效果。

步骤s2:对双边滤波后的高光谱影像进行归一化处理。其中,归一化处理过程中的归一化公式为:

式中xijd和分别代表归一化处理前后的高光谱影像数据;(i,j)代表高光谱影像像素的空间位置坐标;d代表高光谱影像的第d个波段;xmax和xmin分别代表三维高光谱影像数据中的最小值和最大值;a和b均为常数,使得归一化后的数值在(0,1)范围内,且不包括0和1;

步骤s3:生成训练数据和测试数据;步骤s3分为两步操作,具体如下:

(3a):对高光谱影像空间域的边沿进行扩充,扩充的宽度为使其维度由(h,w,l)扩展成为边沿扩展层的数值均为0;

(3b):提取以待分类像元为中心的m×m×l邻域范围内的数据块hm×m×l作为输入端数据,并以待分类像元所属标签为对应数据块的标签,生成大量维度为m×m×l的带标签的数据块,作为训练数据和测试数据;

其中,(h,w,l)分别代表高光谱影像空间域的长、宽值和光谱域的光谱通道数;m代表数据块在空间域的长宽值;

步骤s4:从步骤s3提取出来的带有标签的数据块中随机抽取一半或更少的数据块作为三维卷积神经网络的训练数据,其余作为测试数据;

步骤s5:设计并搭建基于三维卷积神经网络的分类模型;其中,网络整体由4大层构成,其结构为:输入层→3d-cnn层→全连接层→输出层。三维卷积神经网络各层的具体结构及构建步骤如下所示:

(5a):输入层,输入维度为m×m×l的高光谱数据块,其中m代表数据块在空间域的长宽值,l代表高光谱影像在光谱域的光谱通道数;

(5b):3d-cnn层,用于提取高光谱影像的光谱特征和空间特征;

(5c):全连接层,3d-cnn层的输出进入全连接层,将3d-cnn层学习到的特征映射到样本的标记空间中,即将3d-cnn输出的三维特征立方体转化成一个一维向量;

(5d):输出层,全连接层的输出进入输出层;输出层使用softmax分类器对全连接层输出的一维向量进行处理,得到不同类别的概率,选取概率最大的类别作为预测结果;其中,softmax分类器的假设函数是:

其中,x代表分类层的输入数据;y∈{1,...,n},是输入数据的类别标签;n代表类别总数;θ代表模型参数,θ(j)代表第j类物体的模型参数;p(y=j|x;θ)代表第j类物体的概率。

步骤s6:利用训练数据训练网络,利用测试数据进行检验;具体步骤如下:

(6a):利用步骤s4得到的训练数据对步骤s5设计并搭建的三维卷积神经网络分类模型进行训练,采用随机梯度下降算法训练网络参数,参数更新公式为:

其中,l代表迭代次数;α表示学习速率;为交叉熵损失函数,用来计算模型预测标签与真实标签之间的误差。如果训练样本集中有k组数据和标签{(x(i),y(i));i=1,...,k},那么交叉熵损失函数的计算公式为:

其中,y(i)代表第i个输入数据的真实标签,y(i)是第i个输入数据的预测标签,n代表类别总数,通过最小化就可以得到模型的最优参数。

(6b):将测试数据输入训练好的三维卷积神经网络分类模型,对模型的分类效果进行检验;

步骤s7:将待分类数据输入三维卷积神经网络分类模型,完成对高光谱影像的全波段光谱-空间联合分类。

更进一步,所述步骤(5b)中的3d-cnn层由6小层构成,依次为:三维卷积层i→池化层i→非线性激励层i→三维卷积层ii→池化层ii→非线性激励层ii,其中,非线性激励层i和非线性激励层ii均采用线性修改单元激活函数relu进行非线性操作,其公式为:

y=max(x,0)

其中,x代表函数max()的输入数据,y代表函数max()的输出结果。

本发明与现有技术相比具有以下优点:

第一,由于各种因素的影响,高光谱影像在空间和光谱域上都会存在噪声,为了消除空间域上噪声的影响,本发明引入双边滤波算法对高光谱影像的每个波段图像在空间域上进行滤波,同时达到保持影像细节信息,并提高影像数据信噪比的功能。滤波之后,每个像素上的光谱信息都融合了其邻域像素的光谱信息,从而将图像的空间信息和光谱信息结合了起来;双边滤波的引入,有助于提升分类精度、缩短构造具备同等分类精度的模型的训练时间和功耗;

第二,采用三维卷积神经网络提取高光谱影像的全波段光谱-空间联合特征,充分利用了高光谱影像的丰富信息,提高了高光谱影像的分类精度。

附图说明

图1是本发明的流程图;

图2是本发明实施例中高光谱影像数据第150个波段处的原始图像;

图3是本发明实施例中高光谱影像数据经过双边滤波后第150个波段处的图像;

图4是本发明实施例中高光谱影像数据的地面实况标注;

图5是本发明实施例中高光谱影像数据经过分类后的效果图。

具体实施方式

下面结合实施例和附图对本发明做进一步详细描述:

用于实施的硬件环境是:intelcorei7-4790cpu@3.60ghz计算机、8gib内存,运行的软件环境是ubuntu16.04,使用的深度学习框架是mxnet。

图2所示的高光谱影像数据是由机载可见光/红外成像光谱仪(aviris)于1992年在美国印第安纳州西北区域获取得到的。该数据集包含224个波段,光谱覆盖范围为0.4~2.5μm,图像大小为145×145像素,空间分辨率为20m。在实验中去除4个严重受损的波段以及20个水吸收波段,剩余200个光谱通道。该数据集根据地面实况标注了16类地物,实验中选择全部类别进行训练和测试。

参照图1,对本发明的具体步骤做进一步的详细描述。

步骤s1:使用双边滤波器对高光谱影像数据进行边缘保持滤波,去除无关噪声,并保持边缘信息,同时将数据的光谱信息和空间信息融合起来。双边滤波器是一种非线性滤波器,是一种边缘保持滤波方法,能够在去除无关噪声的同时,保持较好的边缘信息。

具体操作为:

输入高光谱影像数据,其维度为(145,145,200),对其所有波段处的图像使用双边滤波方法进行滤波。双边滤波器的计算公式为:

其中,i是某一波段下的原始图像;ifiltered是该原始图像经过双边滤波后的结果;x是当前进行滤波的像素,i(x)是像素x处的幅度值;ω是以像素x为中心的具有一定范围的滤波窗口;xw是滤波窗口ω内的某一像素,i(xw)是像素xw处的幅度值。gs(||xw-x||)是空间域核函数,fr(||i(xw)-i(x)||)是像素幅值域核函数,二者均采用高斯函数形式。设像素x和xw的空间坐标分别为(i,j),(k,l),则对像素x进行双边滤波时,滤波窗口ω中像素xw的权重系数为:

其中,i(i,j),i(k,l)分别是像素x=(i,j)和xw=(k,l)处的幅度值;σd和σr分别是空间域和像素幅值域的sigma平滑参数。

通过对滤波窗口ω中不同像素的加权平均,中心像素x=(i,j)经过双边滤波后的幅值为:

在使用双边滤波进行平滑降噪时,通过改变ω的直径、平滑参数σd和σr可以调节双边滤波的效果。在实施例中,ω的直径设置为9、平滑参数σd和σr均设置为10。滤波后的效果如图3所示。

双边滤波器的使用,有助于在保持高光谱数据细节特征的基础上提高高光谱数据的信噪比,同时将图像的空间信息和光谱信息结合起来。

步骤s2:对双边滤波后的高光谱数据进行归一化处理,其中,归一化处理过程中的归一化公式为:

其中xijd和分别代表归一化处理前后的高光谱影像数据,(i,j)代表高光谱影像的像素的位置坐标,d代表高光谱影像的第d个波段;xmax和xmin分别代表三维高光谱影像数据中的最小值和最大值;a和b均为常数,使得归一化后的数值在(0,1)范围内,且不包括0和1,在实施例中a和b取值分别是0.989和0.01。

步骤s3:生成训练数据和测试数据。步骤s3分为两步操作,具体如下:

(3a):对高光谱影像空间域的边沿进行扩充,扩充的宽度为使其维度由(h,w,l)扩展成为边沿扩展层的数值均为0。在实施例中,l取值200,m取值5;所以扩充宽度为2,高光谱影像数据维度由(145,145,200)扩展成为(149,149,200)。

(3b):提取以待分类像元为中心的m×m×l邻域范围内的数据块hm×m×l作为输入端数据,并以待分类像元所属标签为对应数据块的标签,生成大量m×m×l大小的带标签的数据块,作为训练数据和测试数据。在实施例中,l取值200,m取值5;则数据块hm×m×l的维度为5×5×200。

步骤s4:从步骤s3提取出来的带有标签的数据块中随机抽取50%的数据作为三维卷积神经网络的训练数据,其余作为测试数据。

步骤s5:设计并搭建基于三维卷积神经网络的分类模型;其中,网络整体由4大层构成,其结构依次为:输入层→3d-cnn层→全连接层→输出层。三维卷积神经网络各层的具体结构及构建步骤如下所示:

(5a):输入层,输入维度为m×m×l的高光谱数据块,其中m代表数据块在空间域的像素个数,l代表数据块的光谱通道数。在实施例中,输入层输入维度为5×5×200的高光谱数据块;

(5b):3d-cnn层,用于提取高光谱影像的光谱特征和空间特征。3d-cnn层由6小层构成,依次为:三维卷积层i→池化层i→非线性激励层i→三维卷积层ii→池化层ii→非线性激励层ii。在实施例中,三维卷积层i包含2个空间维度和光谱维度均为3的卷积核;三维卷积层ii包含4个空间维度和光谱维度均为3的卷积核;池化层i、池化层ii采取最大池化方法,步长设置为1,滤波器尺寸设置为1×1×1;非线性激励层i和非线性激励层ii均采用线性修改单元激活函数relu函数进行激励操作,relu函数的公式为:

y=max(x,0)

其中,x代表函数max()的输入数据,y代表函数max()的输出结果。

(5c):全连接层,3d-cnn层的输出进入全连接层,将3d-cnn层学习到的特征映射到样本的标记空间中,即将3d-cnn输出的三维特征立方体转化成一个一维向量。在实施例中,由于高光谱影像数据中标记了16类地物,所以全连接层输出的向量维度为1×16。

(5d):输出层,全连接层的输出进入输出层;输出层使用softmax分类器对全连接层输出的维度为1×16的向量进行处理,得到不同类别的概率,选取概率最大的类别作为预测结果;其中,softmax分类器的假设函数是:

其中,x代表分类层的输入数据;y∈{1,...,n},是输入数据的类别标签;n代表类别总数;θ代表模型参数,θ(j)代表第j类物体的模型参数;p(y=j|x;θ)代表第j类物体的概率。实施例中n=16。

步骤s6:利用训练数据训练网络,利用测试数据进行检验。

(6a):利用步骤s4得到的训练数据对步骤s5中设计并搭建的三维卷积神经网络分类模型进行训练,每次随机抽取20个训练样本,采用随机梯度下降算法训练网络参数,参数更新公式为:

其中,l代表迭代次数;α表示学习速率。实施例中,迭代次数设置为10000,学习率初始值设为0.01,每迭代1000次,学习速率下降一半;为交叉熵损失函数,用来计算模型预测标签与真实标签之间的误差。如果训练样本集中有k组数据和标签{(x(i),y(i));i=1,...,k},那么其公式为:

其中,y(i)代表第i个输入数据的真实标签;y(i)代表第i个输入数据的预测标签;n代表类别总数,实施例中n=16。通过最小化就可以得到模型的最优参数。

(6b):将测试数据输入训练好的三维卷积神经网络分类模型,对模型的分类效果进行检验。

步骤7:将待分类数据输入三维卷积神经网络分类模型,完成对高光谱影像的全波段光谱-空间联合分类。

在本发明提出的结合双边滤波的三维卷积神经网络高光谱影像分类方法的分类下,实施例中高光谱影像的分类结果如图5所示。值得注意的是:高光谱影像数据经过双边滤波后,训练三维卷积神经网络模型所需的迭代次数仅有10000次,迭代次数明显减少。

综上所述,由具体实施例可知:

1.本发明引入双边滤波算法对高光谱影像的每个波段图像在空间域上进行滤波,有利于在保持高光谱影像的细节信息的同时提高数据的信噪比。滤波之后,每个像素上的光谱信息都融合了其邻域像素的光谱信息,从而将图像的空间信息和光谱信息结合了起来。双边滤波的引入,有助于提升分类精度、缩短构造具备同等分类精度的模型的训练时间和功耗。

2.采用三维卷积神经网络提取高光谱影像的全波段光谱-空间联合特征,充分利用了高光谱影像的丰富信息,提高了高光谱影像的分类精度。

以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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