Untitled
9月29日周报:
一、任务目标:
通过遥感图像数据对农作物进行分类,并进行农作物的制图,制图的效果可以参考如下图所示





二、本周主要任务:
先把CACM这篇论文的实验进行复现,目前模型代码已经跑通,但是缺少制作输入样本数据的代码,所以本周研究Google Earth Engine制作训练样本数据的代码实现.
1、代码方面:
(1)、研究在样本点的随机生成
原论文通过从2019年明尼苏达州、威斯康星州、爱荷华州、堪萨斯州、印第安纳州和密苏里州分别选取六个0.5°×0.5°的网格来构建用于模型训练的数据集.
目前先尝试实现在呼和浩特市选择这样的一个网格中进行尝试




并在每个样本点上选择一个小区域作为样本点(感觉其他论文不是这样实现作图的)


(2)、研究将一个区域的遥感数据保存为csv文件和tiff文件
已经可以实现了


2、论文方面:
因为希望参考PAN(基于领域适应的物候对齐网络)和DCM(DeepCropMapping)这两篇的论文的代码实现来研究Google Earth Engine制作训练样本数据的代码实现,所以看了下这两篇论文.
这两篇论文都是解决由于不同地区作物的时间光谱属性之间存在巨大差异,导致经过训练的模型无法在特定研究区域之外重复使用的问题的。
(1)DCM(DeepCropMapping)
研究目的:
论文开发了一种名为深度作物制图(DCM)的基于注意力的双向长短期记忆模型,用于对美国玉米带六个地点的玉米和大豆进行分类
模型如下所示(包含三个模块:输入模块、基于注意力的双向长短期记忆(AtBiLSTM)模块和输出模块):


模型输入模块:
在时间步t 的每个像素级 ARD 观测值被编码为一个向量\([s b_{1}, s b_{2},..., s b_{s}]\),称为\(x_{r}\)。它由多个光谱带组成,其中 S 是波段数量。输入表示为时间序列\([x_{1}, x_{2},..., x_{2},..., x_{T}]\),其中 T 是输入到网络中的观测序列的长度。
AtBiLSTM 模块:
在本研究中,两个LSTM 层从输入序列中分层提取高级抽象时间特征。
每个LSTM 层由 LSTM 单元组成,其中信息在当前时间步 t 有选择地存储,并选择性地传输到下一个时间步 t+1,以构建时间步之间的复杂连接。
与普通RNN 相比,LSTM 单元处理序列数据的主要优势在于利用自适应门控机制来确定 LSTM 单元保留先前状态和记忆当前特征的程度(Zhou 等人,2016)。
基于门控机制,LSTM 单元在时间步 t 生成隐藏特征向量\(h_{i}^{fonward }\),如公式(1)-(5)所示:


除了正向流之外,双向LSTM 层同时构建反向流,并生成与\(h_{t}^{forward}\)形状相同的\(h_{t}^{backward}\)。每个流中的 LSTM 单元共享所有权重矩阵,并且在流之间不相互作用。
双向流增加了网络容量,并为一个时间步提供了全面的时间上下文。来自两个相反方向的隐藏特征向量被连接以获得最终输出隐藏特征\([h_{t}^{forward},h_{t}^{backward}]\),称为\(h_{t}\)。隐藏特征\(h_{t}\)的维度在测
为了更好地聚合来自多个时间步的信息以进行作物类型分类,注意力模块通过归一化权重参数调整每个隐藏特征对输出模块的贡献。
输出模块:
该模块生成用于不确定性分析的软输出和用于精度评估的硬输出。
概率分布被用作DCM的软输出。正确类别对应的预测概率被选择为分类置信度,并用于不确定性分析。
概率最高的类别被用作预测类别,称为硬输出。
所使用的数据
这项研究聚焦于美国玉米带玉米和大豆的像素级制图。
在美国玉米带的大部分地区,玉米和大豆占土地覆盖类型前三中的两类,其余主要是非耕地,包括草地、牧场和落叶林,根据2018 年的 CDL(美国农业部,2018 年)。
如图2 所示,选择了六个地点来研究作物分类器的空间转移,每个地点覆盖 51 千米×51 千米。这些地点具有炎热夏季湿润大陆性气候,年降水量约为 1000 毫米。
它们的作物生产系统主要是雨养型,玉米和大豆的生长季分别为4 月下旬至 9 月中旬和 5 月中旬至 9 月下旬。这些地区通常实行单一作物种植制度。
因此,我们将玉米、大豆和“其他”(即其他土地覆盖/土地利用类型的合并类别)作为三个关注类别,并每年为专题地图的每个像素分配一个标签。六个地点中玉米、大豆和“其他”的比例在表 1 中报告。耕地覆盖了地点 A、B、C 和 D 的大部分区域,而地点 E 和 F 主要是非耕地。这些地点之间的空间转移为评估具有各种不平衡土地覆盖类型的数据集上的模型性能提供了机会。


图2. 美国玉米带六个研究地点(地点 A、B、C、D、E 和 F)的地理位置。州的缩写如下:IA 代表爱荷华州,MN 代表明尼苏达州,SD 代表南达科他州,NE 代表内布拉斯加州,IL 代表伊利诺伊州,IN 代表印第安纳州。
(2)PAN
研究区域(数据集来源)
从中国江汉(区域A)、成都(区域B)和芜湖平原(区域C) 中选择了三个区域。
这是三个最大的冬季作物种植平原,其中小麦和油菜是主要的冬季作物。
三个区域的分布覆盖范围很大,使得作物样本具有普遍性和代表性。
对于每个区域,**选择一个大约1200×1200像素(大约12,000*12,000平方米)的矩形作为研究区域**。
三个区域的位置由图1中的红点说明,三个省份也被标记出来。


在这项研究中使用了时间序列哨兵 2 号卫星数据,因为其具有高空间和时间分辨率,这极大地减少了云噪声对制图过程的影响(Belgiu 和 Csillik 2018)。
哨兵 2 号 L2A 产品从谷歌地球引擎(Gorelick 等人,2017)下载,以避免重复的大气校正操作。
在 2019 年 10 月至 2020 年 5 月期间收集了清晰图像(云覆盖度<20%),并裁剪到我们预先确定的研究区域范围内。
保留了对作物种植描绘贡献最大的十个光谱波段,包括 RGB 波段、四个红边波段、一个近红外波段和两个短波红外波段。
PAN物候对比网络


图 5. PAN 框架的网络结构。在训练期间,红色虚线内两个分支的深度模型以共享权重进行训练。
PAN 和 TSNet 被设计和提出用于进行 CPR 作物制图。
TSNet 作为在源区域上预先训练的强大深度网络,而 PAN 用于微调预先训练的 TSNet 以适应目标区域。
(1)首先,使用源区域\(x_s\)和 \(Y_S\) 中的充分标记样本对 TSNet 进行训练,并且预训练模型用于初始化 PAN 的两个分支。
(2)其次,两个分支将源和目标作物样本作为输入,并通过结合由\(x_S\)和\(X_T\)产生的深层物候特征以及源标签 \(Y_S\) 来微调源模型。
(3)最后,微调后的 TSNet 用于预测目标作物样本\(x_T\)并产生目标样本的预测标签\(\widehat{Y}_{T}\)。

我们认为可以使用 TSNet 从时间序列数据中提取分层深度特征。
从源数据中提取的内部流动隐藏状态被定义为\(\{H_{S,1}, H_{S,2}, H_{S,3}, H_{S,4},
H_{S,A}\}\),分别对应四个 GRU
层和一个自注意力模块。类似地,目标分支的隐藏状态被定义为\(\{H_{T,1}, H_{T,2}, H_{T,3}, H_{T,4},
H_{T,A}\}\)。请注意,由于相同的深度模型对作物的不同时间频谱信息进行了编码,因此两个分支的隐藏特征分布非常不同。为了测量源区域和目标区域之间的差异,我们将分层对齐损失定义为
它是深度特征对\((H_{5,2}, H_{T,
2})\)和\((H_{S,A}, H_{T,
A})\)的最大均值差异(MMD)损失之和,\(\phi\)是将数据投影到希尔伯特空间的映射函数(Borgwardt
等人,2006)。
最后,对齐损失\(\mathscr{I}_{Align}\)和交叉熵损失\(\mathscr{L}_{CE}\)与加权参数\(\lambda\)相加,形成 PAN 的总损失: \(\mathscr{L}_{total}=\lambda\mathscr{L}_{Align}+\mathscr{L}_{CE}\) (2)。
\(\mathscr{L}_{CE}=\frac{1}{n} \sum_{i=1}^{n} p\left(x_{i}\right) log \left(q\left(x_{i}\right)\right)\) (3),
其中\(p(x_{i})\)表示源样本\(x_{i}\)的符号函数,如果预测正确则取值为 1,否则为 0,\(q(x_{i})\)是源样本\(x_{i}\)的软概率输出,范围从 0 到 1。
通过优化\(\mathscr{L}_{total}\),PAN 约束并最小化源特征和目标特征分布的距离,将两个物候区的作物数据编码为相似的隐藏特征,并从特征角度解决跨区域问题。同时,在\(\mathscr{L}_{total}\)中加入交叉熵损失保持了预训练 TSNet 的可区分性。实际上,只要可以将深度特征作为中间变量导出,并且可以嵌入对齐模块,TSNet 就可以被任何逐像素的 SITS 深度分类网络所取代。
在本研究中,我们将 TSNet 作为 PAN 每个分支的基线模型。
Temporal spectral network(TSNet)
作为一个强大的特征提取器,TSNet 旨在识别作物的时间曲线,从多光谱卫星时间序列数据中提取广义特征,并对不同物候区域的异构作物样本进行自适应分类。


TSNet 由三个模块组成:堆叠的 GRU 层、自注意力和输出模块。
由于自注意力模块,TSNet 可以自适应地关注关键物候阶段的光谱信息,并学习不同时间戳之间的依赖关系,而这些往往被传统机器学习方法所忽略。
堆叠GRU模块
GRU 是 LSTM 变动较大的变体,LSTM 能够解决循环神经网络因长期依赖带来的梯度消失和梯度爆炸问题,但是 LSTM 有三个不同的门,参数较多,训练起来比较困难。GRU 只含有两个门控结构,且在超参数全部调优的情况下,二者性能相当,但是 GRU 结构更为简单,训练样本较少,易实现。
GRU 将 LSTM 中的输入门和遗忘门合二为一,称为更新门(update gate)
自注意力模块
确保TSNet 可以自适应地关注关键物候阶段的光谱信息,并学习不同时间戳之间的依赖关系
输出模块
输出模块包含flattened、线性层和 softmax 层,可以从中得出软概率和硬预测标签。
三、下周任务
鉴于上面采样的代码其实效果并不好,又找了一篇博客的GEE 代码来进行研究,它还是使用了随机森林算法,我实际运行的效果如下


