南 京 师 范 大 学
研 究 生 课 程 学 习 考 试 成 绩 单
(试卷封面)
院
系
地 理 科 学 学 院
研究生姓名
郑 雅 兰
专 业
学 号
地 图 学 与 地 理 信 息 系 统
181301026
课 程 名 称
遥感数字图像处理
授 课 时 间 2018-2019 第一学期
总学时
54
学分
3
简
要
评
语
考 核 论 题
基于随机森林和深度学习框架的遥感图像分类
总评成绩
(含平时成绩)
备
注
任课教师签名:
批 改 日 期:
注:
1、以撰写论文为考核形式的,填写此表,综合考试可不填;
2、本成绩单由任课教师填写,填好后与作业(试卷)一并送院(系)研究生秘书处;
3、学位课总评成绩须以百分制记分。
基于随机森林和深度学习框架的遥感图像分类
摘要:本文研究了两种机器学习算法:(a)结构化标记随机森林算法和(b)全
卷积神经网络用于多传感器遥感图像的土地覆盖分类。在随机森林算法中,对从
影像图斑和相应的图斑标签中获得的特征进行单个决策树训练。与影像像素特征
相比,影像图斑中的结构信息提高了分类性能。对由真实正射图像(TOP)和数
字表面模型(DSM)数据组成的 ISPRS Vaihingen 数据集进行了随机森林方法的
训练和评价。该方法在测试数据集上的总准确率为 86.3%。我们还在 SAR 图像
上显示了定性结果。此外,我们还采用全卷积神经网络框架(FCN)对上述多传
感器图像进行像素级分类。TOP 和 DSM 数据有单独的卷积层,并在全卷积层之
前对特征进行融合。在 Vaihingen 数据集上对网络进行评价,总体分类精度为 88%。
关键词:深度学习,结构化标签的随机森林
1. 引言
随着对地观测的卫星数量的增加,大量的遥感数据被获取到,从而能够生成
大型训练数据集(例如 Spacenet、ISPRS 存储库)。随着这些数据集的可用性,机
器学习方法传统上应用于大型彩色图像数据集,可以很容易地扩展到遥感数据集。
在本文中,我们考虑了两种机器学习算法:深度学习算法和结构化随机森林算法,
用于多传感器遥感数据的土地覆盖分类。常用的分类算法,如支持向量机和随机
森林利用基于像素或基于对象的特征来标记图像中的每个像素。本文讨论的两种
算法都考虑了图像块/瓦块中的结构信息,为测试图斑生成类标签。在结构化标
签的随机森林算法中,对从图像块和相应的标签中获得的特征进行分类器训练。
然而,深度学习算法会自动学习数据(图像图斑)中的模型,以执行语义标注。
随机森林是一种集合学习方法,将多个决策树的输出组合在一起,该方法对
离群值具有鲁棒性,且不过分拟合数据。由于这些特点,该方法在图像分类中得
到了广泛的应用。Kontschieder 等人扩展了结构化标签的随机林算法。在这里,输
出空间是标签图斑,而不是传统随机森林中的像素标记。图像块中存在的结构信
息提高了分类精度。与深度学习算法相比,该算法在测试过程中运行速度更快。
深度学习算法能够通过多个神经层来学习图像数据中的复杂关系。近年来,深度
学习框架显着地提高了语义分割目标检测等任务的性能。其中一个结构是全卷积
神经网络(FCN),它为输入图像的每个像素生成语义标记。该网络由多个卷积层
和可学习滤波器组成。在训练过程中,这些滤波器权值被更新(通过梯度下降过
程),使得网络输出和真实地表值之间的差异被最小化。
在本论文中,我们扩展了结构化标记的随机森林和多传感器遥感图像语义标
注的完全卷积神经网络方法。在深度学习框架中,在 FCN 网络的全卷积层之前
融合来自多幅图像的特征(TOP 和 DSM),在随机森林方法中,利用多传感器图
像块中的特征来训练决策树。第二节讨论了两种分类器:结构化标签随机森林分
类器和完全卷积网络分类器。第三节介绍了两种方法在多传感器图像数据集上的
应用结果。
2. 分类器
2.1 结构化随机森林
我们将用于彩色图像分类的结构化随机森林扩展到多传感器图像分类。在随
机森林分类器中,训练输入由像素特征和相应的类标签组成。而在结构化随机森
林中,训练输入是图斑特征和相应的图斑标签(图斑大小:m*n,通常为 m=n)。
类似地,前者的输出是单个类标签,而对于结构化随机林输出则是一个图斑标签。
除了像素特征外,图斑特征还包含上下文或结构信息。使用这些图斑特性和结构
化输出进行训练可以提高结构化随机林的性能。在这一部分中,我们解释了结构
化随机森林和用于多传感器图像分类的特征。
分类森林是决策树的集合,它依次由分裂(决策)节点和叶节点(预测)组成。
在训练期间,分割节点上的数据集(特征和相应的标签)被分割并搜寻到左分支和
右分支。分割发生在特征空间上,以便对训练标签上的能量函数进行优化。一个
示例(在两个类别设置的情况下)包括在特征空间中寻找将一个类别与另一个类
别分开的最佳阈值。对于多类问题进行了分割,使得每个分支的类分布变得更窄。
分支中的分区数据将递归地进一步拆分,直到达到特定深度或类分布较高为止。
设 X={x(1),x(2),…x(b)}是训练样本的特征,y∈Y 是训练集 T 中的对应标
签。类似地,Xp 是训练样本的图斑特性,yp∈Yp 是训练集 Tp 中的结构化输出标
签。这里 Xp 是 m*n*b 的矩阵,yp 是的 r*c 的矩阵(r≤m & c≤n)。现在,在随机森
林分类器中,通过优化目标函数 I(Ti,λi),将每个节点上可用的训练数据 Ti 分割。
分割函数 h(X,λi)∈{true,false}决定训练样本是传递给左分支还是右分支。信
息增益和决策集分别是普通的目标函数和分裂函数。信息增益公式如下:
其中,
是信息熵。通过最大化信息增益来找到决策树的参
数λi(例如阈值)。现在结构化随机森林中的节点上我们有特征图斑 Xp 和结构化输
出标签 yp。定义一个考虑标签图斑中所有像素的目标函数会有相当高的计算复杂
度。因此,konschieder 等人建议从每个节点的图斑中选择一个随机标签(每个节
点随机选择标签图斑中的像素位置一次)。此随机选择允许来自修补程序中所有
标签的贡献。信息增益与规则随机森林相同。(最近的一种方法建议首先将训练
集中的标签图斑转换为较低的维度,然后应用 k 均值聚类将标签块分类为离散
类。)在决策树的每个节点上递归地分割训练数据,直到达到最大深度或节点的
训练数据降到阈值以下或信息增益在一定范围内下降为止。在最后一个节点,称
为叶节点,多个标签图斑是可用的。选择最大联合概率 Pr(ylp|ylp)的标签作为叶节
点(Yop)的输出。在这里,ylp∈Ylp 表示 l 训练标签在叶节点上可用。
对所有决策树都重复训练过程。在每个树中使用训练数据集的随机子集。这使得
个别的树失去了相关性。此外,每个节点上的分割函数仅对特征的随机子集进行
操作。
为了使用经过训练的分类器对测试图像进行分类,首先利用大小为 m*n 且
步长为 1 的窗口在图像上滑动来获得图斑。然后,每个图斑按照经过训练的决策
树集合进行分类。现在,由于滑动窗口操作,每个像素将具有 m*n 个标签。因
此,对于每个像素,选择具有最大计数的类作为最终标签。
2.2 深度学习框架
Long 等人采用了一个名为 VGG 的深度学习框架来对图像中的所有像素执
行语义标记。他们把网络称为完全卷积网络。在我们目前的工作中,我们扩展了
这个 FCN 来执行多传感器图像的语义标记。该体系结构,如图 1 所示,包括每
个多传感器图像(TOP 和 DSM)的卷积层,然后是完全卷积层。图像特征可以结
合在网络的各个层次上。在我们的工作中,我们结合了第一个完全卷积层之前和
之后的多幅图像的特征。完整的网络体系结构见附录一节。
图 1. 多传感器图像融合与分类的深度学习框架。从两幅图像(如 TOP & DSM)获得特征
FCN 包含多重卷积、激活函数(校正线性单元 ReLU)和池化层,然后是三个
全卷积层。第一卷积层使用输入图像上的多个 2D 核(可学习权重)生成输出图像,
这些输出通过 ReLU 函数(输出=max(0,输入))。ReLU 是一个避免饱和的激活函
数。为了减少网络中的权重数,在池化层(ReLU 层之后)对特征进行下采样。随
后的层对池化结果进行操作。最终卷积池化层的输出连接到一个全卷积层上。在
FCN 中,全卷积层的滤波器具有一定的空间支持(第一个全卷积层的输出为
7x7x4096),而传统的神经网络没有空间支持 (1x4096)。如此保留了一些空间信
息。最后的全卷积层输出结果被向上采样到原始图像维数,并计算像素级损失。
FCN 还引入了跳跃连接,其中网络初始层的较细输出与后层的粗输出相结合。
这种跳跃连接使用更精细的预测来提高语义标记性能。
为了将 FCN 扩展到多传感器图像,需要在网络的某一层合并来自所有图像
的信息。进行融合的潜在方法包括:(a)在多波段图像上使用单个 FCN(对多传感
器图像的所有波段进行叠加);(b)对每个多传感器图像应用多个 FCN,并结合网
络中间层的特征;(c)利用多个 FCN 处理单个图像,并在损失层之前融合信息。
在这篇文章中,我们结合了第一个全卷积层之前和之后的特征,并在每个卷积层
使用了最近提出的批归一化处理以减少训练或迭代时间。该层将激活输出规范化
为零均值和单位方差,然后是缩放和移位操作,缩放尺度和位移参数在训练过程
中加以学习。在这种融合网络中,每个 FCN 分支的特征都需要标准化,然后再
进行连接。规范化确保一个 FCN 分支的激活不会抑制来自另一个 FCN 分支的
激活。该多传感器 FCN 网络在 Vaihingen 数据集上进行了测试,结果在 3.2 节中
进行了讨论。
3. 结果
3.1 结构标签的随机森林
结构随机森林分类器在两个数据集上进行了测试:(1) Vaihingen 数据集和
(2)Flevoland NL 的 AIRSAR L 波段图像。
Vaihingen 多传感器图像和相应的真实地面是 ISPRSWG III/4 的 2D 语义标记
竞赛的一部分。该数据集由 Vaihingen 村一部分的高分辨率真正射影像(TOP:IR,
R,G)和相应的数字表面模型(DSM)组成。地面采样距离为 9 cm。真实地表标签
分为六类:不透水表面、建筑、低植被、树木、汽车和其他。整个图像/区域被
分割成多个块。当 33 块图像块的 TOP 和 DSM 数据可用时,只有 16 块图像块的
真实地表是可用的(用于训练)。其余 17 幅标记图像被隐藏,并用作测试数据集。
在测试集上生成的结果可以发送到 ISPRS 进行定量评估。图 2 显示了一个训练
图像(TOP,归一化 DSM)和相应的真实地表。
图 2:Vaihingen 训练图像:(a)TOP 图像,(b)归一化 DSM 图像和(c)相应的地面真相。
为了确定最佳分类器性能所需的树数和训练样本数,在训练集中使用两幅图
像进行验证(图像块 3 和 34)。在第一个实验中,我们训练了 100 个决策树,每个
类的图斑数不等。通过在 15 个训练图像(TOP、DSM 和标签图像)上滑动一个 9x9
窗口,总共获得了 75000 个图斑,步幅为 32 像素。从 TOP 和 DSM 图像块中提
取特征。利用这些图斑特征和标签对 100 棵决策树进行了训练。测试集中的两幅
图像随后被训练的随机森林分类。这两幅图像的平均分类准确率为 67.1%(表 1
的第一行)。由于汽车类别的训练样本数量非常少,决策树无法检测到汽车,导
致了低精度值。在第二个实验中,选择每个图像中每类 1000 个随机样本块进行
决策树的训练。表 1 的第二行显示了相应的结果。在其他试验中,对样本数和树
数进行了更改,以找到在测试集上产生最大精度的设置。表 1 的最后一行显示了
训练 150 棵树的准确性,每幅图像每类有 2000 个样本(从我们的试验中获得的最
佳设置)。用于结构化随机森林的特征包括单个通道、一阶梯度、二阶梯度和从
每个通道提取的梯度直方图。为了适用于多传感器框架,我们扩展了 konschieder
等人的代码。随机森林分类器(每类 150 个树,2000 个样本)对像素特征和标签进
行训练,准确率达到 68.1%。这表明,包含结构的特征(在特征计算中考虑相邻
像素)和结构化标签提高了分类精度。
表 1.在测试集(图像块 3 和 34)上生成的结果,以找到最佳树数量和样本数
图 3:测试图像的定性结果(图斑 3):(a)TOP 图像,(b)对应的真实地表,(c)结构化随机森林
结果
现在,结构随机森林分类器(每类 150 个树和 2000 个样本)对所有 17 幅训练
图像进行了训练,然后应用到测试集上。表 2 显示了结构化随机森林分类器的定
量结果(混淆矩阵和总体精度)。从结果来看,我们发现汽车类的精度很低(0.277)。
面积大、天花板光滑的短结构往往被错误地归类为汽车。当 9x9 图斑完全覆盖这
样一个结构时,现有的特征不足以区分汽车和短结构。可以通过考虑多尺度框架
或从 DSM 图像中提取更好的特征(例如,从 DSM 图像中提取面规则)来改进这一
特性,以高精度地识别汽车。整个测试数据集的定性结果可在 ISPRS Vaihingen 标
签竞赛网站上找到。
表 2.结构化随机森林算法在 Vaihingen 测试数据集上的结果。我们在训练中忽略了其他类
该算法可以通过调整图斑特征扩展到其他成像模式。在这里,我们给出了
Flevoland,NL 的 AIRSAR L 波段图像。我们从 SAR 图像的 Pauli 表示中提取图
斑特征。原始图像和地面真相区域如图 4(a)和(c)所示。由 Yu 等人提供的 AIRSAR
L 波段的真实地表由豌豆、甜菜、裸土、油菜、苜蓿、土豆、大麦和小麦等八类
组成。当前算法和前面基于 SVM 方法的结果分别如图 4(d)和(e)所示。在某些类
别的边缘有轻微的分类改进(例如豌豆类-蓝色)。
图 4. (a) AIRSAR 图像的 Pauli 表示,(b)真实地表类别,(c)真实地表图像,(d)结构化标记的
随机森林结果,(e)基于对象的支持向量机的结果
3.2 深度学习结果
在同一数据集上对深度学习框架进行了训练和测试。FCN 的训练样本包括
17000 幅大小为 224*224 的图像。另有 1878 个图像图斑被用于验证。图像图斑
是通过在 17 个训练图像中滑动一个大小为 224x224、步幅为 224 的窗口获得的。
另外,从每个训练图像中随机选取了代表每个类的 1000 个像素。由此,通过考
虑相邻像素(中心像素(112,112)作为类像素)形成大小 224*224 的图像图斑。对
于每个训练图像,完全包围一辆车的 25 个图像图斑也包括在训练集中。
表 3. 深入学习算法在 Vaihingen 测试数据集上得到的结果
采用多级训练的方法来学习附录中所示的深度学习网络的权重。两个 FCN
首先分别训练 TOP 和 DSM 数据。在 TOP FCN 中,网络权重被初始化为 FCN-8
即时模型值。对于 DSM FCN,采用 Xavier 算法对权值进行初始化。分别训练 85
期(学习率 1e-6,40 次后乘以 1e-1)和 235 次(学习率 1e-5;60 次后乘以 1e-1)。TOP
和 DSM FCN 的特征数分别为(64、64、128、128、256、256、512、512、512、