传统的分类方法分两种:监督分类和非监督分类。监督分类要求对所要分类的地区必须要有先验的类别知识,即先要从所研究地区中选择出所有要区分的各类地物的训练区,用于建立判别函数。常用的监督分类方法有:K近邻法、马氏距离分类、最大似然法等方法。监督分类方法主要有:均值、方法等。研究者对非监督分类产生的类别较难控制监督分类,结果通常不理想。
近年来,分类方法逐渐向机器学习的方向发展。传统机器学习方法,如Smolensky的受限玻尔兹曼机(Restricted Boltzmann Machine, RBM)[2]、Olshausen和Field的稀疏编码(Sparse Coding, SC[3])等,大都使用浅层结构,处理有限数量的样本。当目标对象具有丰富含义时,基于这些浅层结构学习到的特征表达,在处理复杂的分类问题时,表现性能及泛化能力均有明显不足。2006年,Hinton等[4]基于人脑学习的思想提出了一种深度神经网络的机器学习方法。深度神经网络(Deep Neural Network,DNN)也称深度学习(Deep Learning),已成为一种从海量图像数据中直接学习图像特征表达的强大框架。从计算机视觉的角度提取遥感图像信息,能够极大地提高含有大量未知信息的遥感图像分类的精度。因此,深度学习成为遥感图像分类研究中的热点。
2 深度学习典型方法和遥感应用
深度学习具有特征学习和深层结构两个特点,有利于遥感图像分类精度的提升。特征学习能够根据不同的应用自动从海量数据中学习到所需的高级特征表示,更能表达数据的内在信息。深层结构通常拥有多层的隐层节点,包含更多的非线性变换,使得拟合复杂模型的能力大大增强。遥感图像中深度学习分类算法主要可以分监督学习和非监督学习(见图1)。本文将对DBN、CNN、SAE三种典型的深度学习方法进行论述,并分析上述方法在遥感图像分类中的应用现状。
2.1深度置信网络(DBN)
深度置信网络(Deep Boltzmann Machine,DBM)是受限玻尔兹曼机(Restricted Boltz Mann machine,RBM)的一种改进网络。RBM是由玻尔兹曼机(Boltz Mann machine,BM)简化而来。
BM属于无监督学习(见图2),其参数空间的每种情况都通过能量函数这一映射法则指向能量域中的一个能量。RBM是一种状态随机的网络模型(见图3),单层内的各单元间无连接,而层间的单元全连接。
虽然RBM能够很好地解析复杂数据,但是对于复杂度更高的数据或需要更深层次的解析时,需要引入多层次的网络模型,即深度置信网(DBN)。DBN由多层的RBM和一层分类器组成(见图4)。其训练过程分为两步.第一步是对DBN进行网络预训练,对每层的RBM进行无监督学习;第二步是监督学习网络调整。对无监督学习阶段得到的特征信息进行总结、归纳、取舍,最后达到一个较好的识别水平。
图4 深度置信网(DBN)
目前深度信念网络(DBN)应用遥感数据主要有高光谱遥感、合成孔径侧视雷达、高分辨率遥感,但主要是经典数据集,需要进一步拓展不同遥感数据应用、不同行业应用。吕启等[8]利用深度信念网络应用于极化合成孔径雷达图像分类中,当层数为3、各隐含层节点数为64时,总体分类精度最高,达到77%,好于支持向量机与传统神经网络方法。刘大伟[9]采用深度信念网络(DBN)采用光谱-纹理特征对美国佐治亚州亚特兰市北部一住宅小区的高分辨率影像6种地类进行分类。邓磊等[13]利用深度信念网络解决了极化SAR图像分类中存在海量特征利用率低、特征选取主观性强的问题。方法首先进行海量分类特征提取,获得极化类、辐射类、空间类和子孔径类四类特征构成的特征集;然后在特征集基础上选取样本并构建特征矢量,用以输入到深度置信网络模型之中;最后利用深度置信网络的方法对海量分类特征进行逐层学习抽象,获得有效的分类特征进行分类。采用AIRSAR数据进行实验,分类结果精度达到91.06%。通过与经典Wishart监督分类、逻辑回归分类方法对比,表现了深度置信网络方法在特征学习方面的突出优势,验证了方法的适用性。
2.2深度自动编码(SAE)
深度自编码器(Stacked Auto-Encoder, SAE)是改进的自动编码器(Auto-Encoder, AE)。
AE是由编码器和解码器两部分组成。编码器将输入数据映射到特征空间,解码器将特征映射回数据空间,完成对输入数据的重建。通过最小化重建误差的约束,学习从输入到特征空间的映射关系。为避免输入简单复制为重建后的输出,对AE增加一定的约束条件可变换为不同的形式。
SAE是由AE逐层叠加而成的,它通过对观测数据进行编码、解码特征表达,来获得简洁而有效的特征,并深度捕获隐藏在数据内部的规则;为充分利用数据类别、模式等隐含信息,同样要对其模型参数进行监督的微调。Liu等[5]构建了wac DAE(小波深度自动编码器)对光学遥感图像进行山崩自然灾害分类研究,该网络先进行小波变换和去噪等预处理,包含1个输入层、2层隐藏层和1层输出层,隐藏层节点数固定为100。700张遥感图像作为训练集500张遥感图像作为测试集。实验结果表明,wac DAE有利于山崩识别。邢晨[14]利用自编码器的深度学习网络模型对高光谱遥感图像进行分类。王巧玉[15]采用海量的未标记样本对网络进行无监督的训练,从而提取数据深层、抽象的特征信息;再将堆栈降噪自编码器与Soft max分类器组合以形成一个深层分类网络,采用有标记的样本对网络进行微调。
2.3卷积神经网络(CNN)
卷积神经网络(CNN)是通过模仿生物视觉的处理过程而构建的多阶段Hubel-Wiesel
结构。CNN的实质是输入到输出的映射关系。在学习之前,输入和输出之间没有明确的数学模型,CNN通过学习大量的输入与输出之间的映射,对卷积网络加以训练,从而建立模型。
2.3.1卷积神经网络内容
CNN的基本网络结构由输入层、卷积层(convolutional layer)、池化层(pooling layer,也称取样层)、全连接层及输出层构成。其中卷积层、池化层、全连接层有不同的功能。
(1)卷积层。卷积层由多个特征面(Feature Map)组成,每个特征面由多个神经元组成,它的每一个神经元通过卷积核与上一层特征面的局部区域相连。卷积核是n×n的矩阵。首先从图像中随机选取一小块局域作为训练样本,从该小块样本中学习到一些特征,然后将这些特征作为滤波器,与原始整个图像作卷积运算,从而得到原始图像中任一位置上的不同特征的激活值。在CNN结构中,深度越深、特征面数目越多。但并不是深度越深越好,在实际应用中应适当选取网络深度、特征面数目来实现CNN的应用。
(2)池化层。池化层在卷积层之后。卷积层是池化层的输入层,卷积层的一个特征面与池化层中的一个特征面唯一对应,且池化层的神经元也与其输入层的局部接受域相连,不同神经元局部接受域不重叠。卷积层和池化层交替设置。如果选择图像中的连续范围作为池化区域,同时只对相同的隐含神经元产生的卷积特征使用池化,则这些池化后的特征单元具有平移不变性。即使原始图像中的物体产生了一个较小的平移,依然 可以得到相同的池化特征,分类器也依然能够输出相同的分类结果。
(3)全连接层。在CNN结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层。全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息。为了提升CNN网络性能,全连接层每个神经元的激励函数一般采用ReLU函数。最后一层全连接层的输出值被传递给一个输出层,可以采用soft max逻辑回归(soft max regression)进行分类。对于一个具体的分类任务,选择一个合适的损失函数是十分重要的。
2.3.2卷积神经网络的优化
自AlexNet提出后,深度学习领域的研究发展极其迅速,基本上每年甚至每几个月都会出现新一代的技术。新的技术往往伴随着新的网络结构,更深的网络的训练方法等,并在图像识别等领域不断创造新的准确率记录。卷积神经网络改进与优化的主要模型分别包括AlexNet、VGG、GoogleNet、ResNet等,采取技术不断优化,网络深度扩大,Top-5错误率在减少。
lexNet是一个8层的卷积神经网络,前5层是卷积层,后3层为全连接层,其中最后一层采用softmax进行分类。该模型采用Rectified linear units(ReLU)来取代传统的Sigmoid和tanh函数作为神经元的非线性激活函数,并提出了Dropout方法来减轻过拟合问题。
Google Net首次出现在ILSVRC 2014的比赛中(和VGGNet同年),就以较大优势取得了第一名。那届比赛中的Inception Net通常被称为Inception V1,它最大的特点是控制了计算量和参数量的同时,获得了非常好的分类性能——Top-5错误率6.67%,只有AlexNet的一半不到。Inception V1有22层深,比AlexNet的8层或者VGGNet的19层还要更深。但其计算量只有15亿次浮点运算,同时只有500万的参数量,仅为AlexNet参数量(6000万)的1/12,却可以达到远胜于AlexNet的准确率,可以说是优秀并且非常实用的模型。
在2015年年底揭晓的ImageNet计算机视觉识别挑战赛ILSVRC 2015的结果中,来自微软亚洲研究院团队所提出的深达152层的深层残差网络(ResNet)以绝对优势获得图像检测、图像分类和图像定位3个项目的冠军,其中在图像分类的数据集上取得了3.57%的错误率。同年Long等提出的用于图像语义分割的全卷积神经网络(fully convolu- tional neural net-works,FCN)[16]开辟来图像分割的新领域。该网络所有层都是卷积层,并采取反卷积操作,将低分辨率图片进行上采样,生成同分辨率的分割图片。2016年,Dai等提出区域全卷积神经网络(R-FCN)[17]。
2.3.3CNN在遥感图像分类领域应用
CNN对卷积核参数的学习训练是通过梯度反向传播算法实现的,该算法是一种有监督学习算法。其同一平面上的神经元权值相等,能够并行学习、高效率地处理遥感图像。杜敬[10]利用最大稳定极值区域对无人机遥感影像进行影像分割得到识别目标子区,然后采用共7层CNN模型(1层输入层、2层卷积层、2层采样层、1层全连接层、1层输出层)对水体进行识别,识别率达到95.36%。吴正文[18]研究了卷积神经网络的网络结构设计和参数优化对于图像分类的一般性规律。曹林林等[19]建立的卷积神经网络模型应用于昆明城区2007年高分辨率遥感图像(Quickbird)地表7种类型划分,总体精确达98.21%,降低了因图像平移、比例缩放、倾斜或者其他形式的变形而引起的误差。
3 存在问题与建议
基于深度学习对遥感图像分类在准确性、实用性、通用性等方面离大规模实际应用的要求还有一定差距。主要问题有算法自身问题、遥感图像引发的问题和应用上出现的问题三大类,下面本文将针对这些问题给出一些建议。
3.1算法自身的问题和建议
3.1.1 参数多
卷积神经网络的参数众多,但是目前的相关设置大多基于经验和实践,参数的量化分析与研究是卷积神经网络的一个有待解决的问题。深度学习中典型方法在遥感领域应用有初步成果,需要利用现有成果进行遥感图像处理规范建设。例如,如何均值处理、归一化来进行遥感数据规范。
3.1.2 网络结构
目前的趋势是网络越深,卷积神经网络的测试效果越好,部分网络甚至深达上千层。随着网络的加深,过拟合和网络退化问题显得更加严重。相比于人和其他动物的视觉机理,传输过程也不可能高达数百层。卷积神经网络需要优化结构设计,寻找更高效的神经元和结构单元。对人脑功能的模拟程度不完善。现有的深度学习技术模仿了人脑的层次结构和稀疏性,但模拟化程度不高。对大脑视觉皮层稀疏响应这种非常经济的响应机制的模拟程度不够。
3.2遥感图像特征的应用问题和解决
3.2.1 降维问题
高光谱图像有很大的数据量,并且数据的维数通常很高,因为高维数所产生的信息冗余,导致高光谱遥感图像丰富的信息难以被有效利用。单一的降维方式已经不能满足遥感图像的需求,需要探索更适合高光谱遥感图像的分类算法。
3.2.2遥感数据样本
在实际应用中,遥感图像的数据的采集和标定是较困难的,获取的已标定的训练样本集较小,因此在选取深度学习网络时需要合理的考虑遥感图像的特点,选取适合小样本、高维数据分析的网络模型。卷积神经网络需要动辄百万级的训练样本,卷积神经网络对百万级样本训练过程也极为漫长,如何从小量的数据中生成良好的神经网络将是未来的研究方向。例如目前深度信念网络(DBN)应用主要用经典数据集,进一步拓展不同遥感数据应用,可以选择小样本构建的方法。
此外迁移学习也可以解决遥感数据样本少的问题。在髙光谱遥感数据中,通常不同时间段拍摄的数据的光谱分布会有所不同,迁移学习则只利用有标签的时间段的数据,对无标签的其他时间段的数据进行分类,大大提高了数据的可利用性,节省了对所有数据标签的人力物力。
3.2.3遥感图像分辨率问题
高光谱图像其空间分辨率较低,其某些像元可能存在混合像元的现象,导致高光谱遥感图像中不同地物的像元信息不一定具有较大的区分度,且由于采集过程的失误也会产生相同地物的像元信息不一致性的特点。因此可以考虑一些非线性变换的方法提取其光谱特征,以及可以考虑加入直接的光谱特征,例如光谱吸收特征、光谱吸收指数及导数光谱等。
3.2.4遥感图像特征没有充分利用
遥感图像涵盖的纹理特征、光谱特征和空间特征都可以单独作为图像分类的依据,然而图像的这些特征信息在图像分类时尚未充分利用。对提取的这3类特征进行多角度充分利用,并将其共同作为分类依据,结合深度神经网络的训练模型,来提高遥感图像的分类精度,成为了该领域目前的研究热点。
3.3模型实际应用问题和建议
3.3. 1计算速度
遥感大数据内部的复杂高阶统计特性需要高容量的深度模型来深度发掘。对应海量数据,还需要提供更高速的硬件,如多GPU混合异构的并行计算体系结构等。随着网络层次的加深,存储空间的需求也更大,算法并行化加速处理以及网络压缩也是今后研究的重点方向。对于遥感影像可采用图像分块等数据并行处理技术提升算法运行速度。对于遥感影像算法,则可进一步考虑算法的任务并行性,合理设置任务并行粒度进行算法设计。
3.3.2算法应用问题
遥感图像分类将有利于减灾应急、交通监管、渔业海事,乃至无人机和机器人等民用系统智能化水平的核心技术发展;如何利用深度学习进行遥感图像动态监测,如何应用综合网络于不同遥感图像融合并提高识别精度,值得进一步研究。
4关键技术和解决方案
4.1结合非监督方法降维
针对高光谱图像数据的维数高的问题,提出适合高光谱遥感图像的降维分类算法。可以考虑结合非监督分类的方法,如K-means等聚类方法,先进行聚类再进行各个类别降维提取特征分类的方法。例如基于MFCM和KPCA的多光谱图像特征提取方法。结合遥感数据的特点,对KPCA方法的输入数据方法进行了改进,先用MFCM方法对原始数据进行聚类,然后将获得的聚类中心作为输入样本,提取多光谱图像的非线性的特征,消除图像间存在的高阶相关性。
4.2迁移学习解决样本问题
现在深度网络的训练不仅需要大量的标签数据,并且需要很久的时间来训练。网络的训练需要更加有效地利用无标签数据,相信也是今后的研充重点。而与迁移学习的结合是利用无标签数据的一个很好的方向。
不同时间段、不同角度拍摄的遥感数据的会有所不同,迁移学习可只利用有标签的部分的数据,对无标签的其他时间段的数据进行分类。将两个不同分布的数据变换到相同的特征空间中,即可用其中一种分布的数据作为训练数据,对另一种分布的数据进行分类,整个操作也可在这个相同的特征空间中进行。这也是迁移学习要发展的方向。
例如多时相高光谱遥感图像分类问题,在优化的多层感知器算法中,加入源域数据和目标域数据的类心对齐策略,通过深度学习网络对两个域数据做非线性变换,达到变换后两个域数据特征相似的目的,从而使得网络具有迁移学习的能力。
4.3利用遥感图像空间特征
针对遥感图像空间结构特征等被忽略的问题。可以在数据训练样本集中采用组合邻域光谱矢量的方式,将所有训练样本的邻域信息考虑进去,使得在提取特征的过程中即能够获取样本的光谱特征,也能够融入其空间结构特征,实现数据融合。
也可以考虑构造融合空间信息的分类器。例如在分类遥感图像时,使用高光谱图像的像元矢量作为网络的训练样本后,采用构造融合空间信息的分类器进行分类。可以提高了高光谱遥感图像的分类精度。
5 结论和展望
本文首先介绍了遥感图像分类中的深度学习原理,然后对遥感图像分类在深度学习方面应用研究现状做出阐述,并分析了其中存在的问题。根据问题提出了解决办法和关键技术。最后总结了深度神经网络对遥感图像分类的发展趋势。
目前遥感图像的时间分辨率和空间分辨率的不断提升,并产生大量的多尺度遥感影像。遥感图像分类是分析遥感数据的重要手段。
未来,在森林防火、军事战略、交通管理等方面,建立基于深度学习对多尺度遥感影像图像分类的模型将是一个发展方向。在实时交通、无人驾驶等方面,需要及时的进行遥感图像获取和图像分类。基于任务的端到端卷积神经网络的设计(如:Faster R-CNN,FCN等)有助于提升网络的实时性,是目前的发展趋势之一。提高海量数据的训练速度和效率以及加快发展更高速的硬件也是研究的重点。
深度神经网络为遥感图像分类开辟了一片新天地。提高了精确制导、武器防御、海情监控等军事系统和减灾应急、交通监管、渔业海事等民用系统智能化水平。基于深度学习的遥感影像图像分类对大量未标记的遥感图像数据分类,将对遥感图像分类的深入发展做出更大的贡献。
参考文献