智慧InSAR专题———模拟数据实现现实场景异常形变点识别(项目讲解)

续上篇

文章目录

  • (一项技术的复现,我们应该有打破砂锅问到底的态度,我找到了这篇文章的一些灵感来源,包括算法和编程以及专业知识等,对我而言也是受益匪浅)
  • 1. 数据准备
    • 1.1 A deep learning approach to detecting volcano deformation from satellite imagery using synthetic datasets(正在更新##########)
      • 1.1 摘要
    • 1.2 真实场景数据集
      • 1.2.1 ImageNet
        • 总结
      • 1.2.2 VolcNet
        • Version 1.0 版本
        • Version 2.X
        • VolcNet项目结构
          • (1)bin
            • (1)01_volcnet_constructor.py
            • (2)02_volcnet_labelled_ifg_constructor.py
            • (3)reformat_annotation_labels.py
          • (2)volcnet
            • (1)_aux.py
            • (2)creating_ifgs.py
            • (3)labelling.py
            • (4)plotting.py
        • 《Simultaneous classification and location of volcanicdeformation in SAR interferograms using deep learningand the VolcNet database》
          • 0 摘要
            • 原文翻译
            • 分析
          • 1 引言
            • 原文翻译
            • 分析
          • 2 不同的数据格式(data classification)实现分类
            • 原文翻译
            • 分析
          • 3 Classification and Localisation
            • 原文翻译
            • 分析
          • 4 结论(重点)
            • 原文翻译
            • 分析
        • 《Blind Signal Separation Methods for InSAR: The Potential to Automatically Detect and Monitor Signals of Volcanic Deformation》
          • 1 摘要
            • 原文翻译
            • 分析
          • 2 要点
            • 原文翻译
          • 3 简明语言总结
            • 原文翻译
          • 4 引言
            • 原文翻译
            • 分析
          • 5 Organizing and Synthesizing Data(重点)
            • 原文翻译
            • 分析
      • Identification of Surface Deformation in InSAR Using Machine Learning
        • 1 摘要
        • 2 要点
        • 3 引言
        • 4 CNN和训练集的问题
          • 4.1 CNN
          • 4.2 数据集不平衡和解决方式
          • 4.3 生成合成训练数据
            • 形变合成
            • 分层大气合成
            • 湍流大气合成
        • 5 方法
          • 5.1 使用合成数据初始化模型
          • 5.2 测试真实数据
        • 《Application of machine learning to classification of volcanic deformation in routinely generated InSAR data》(正在更新##########)
        • 《The application of convolutional neural networks to detect slow, sustained deformation in InSAR time series》(正在更新##########)
        • 《A deep learning approach to detecting volcano deformation from satellite imagery using synthetic datasets》(正在更新##########)
    • 2. 目标检测
    • 3. Transforer 及改进模块ViT和Swin Transforer的原理和代码实现
    • 4. 迁移学习
    • 5. LiCSAR

(一项技术的复现,我们应该有打破砂锅问到底的态度,我找到了这篇文章的一些灵感来源,包括算法和编程以及专业知识等,对我而言也是受益匪浅)

1. 数据准备

1.1 A deep learning approach to detecting volcano deformation from satellite imagery using synthetic datasets(正在更新##########)

1.1 摘要

1.2 真实场景数据集

作者用到了两个公开数据集,博主之前没有接触过。因此,凭借这个机会对这些数据集作进一步了解。

1.2.1 ImageNet

ImageNet是一种数据集,而不是神经网络模型。斯坦福大学教授李飞飞为了解决机器学习中过拟合和泛化的问题而牵头构建的数据集。该数据集从2007年开始手机建立,直到2009年作为论文的形式在CVPR 2009上面发布。直到目前,该数据集仍然是深度学习领域中图像分类、检测、定位的最常用数据集之一。
   基于ImageNet有一个比赛,从2010年开始举行,到2017年最后一届结束。该比赛称为ILSVRC,全称是ImageNet Large-Scale Visual Recognition Challenge,每年举办一次,每次从ImageNet数据集中抽取部分样本作为比赛的数据集。ILSVRC比赛包括:图像分类、目标定位、目标检测、视频目标检测、场景分类。在该比赛的历年优胜者中,诞生了AlexNet(2012)、VGG(2014)、GoogLeNet(2014)、ResNet(2015)等耳熟能详的深度学习网络模型。“ILSVRC”一词有时候也用来特指该比赛使用的数据集,即ImageNet的一个子集,其中最常用的是2012年的数据集,记为ILSVRC2012。因此有时候提到ImageNet,很可能是指ImageNet中用于ILSVRC2012的这个子集。ILSVRC2012数据集拥有1000个分类(这意味着面向ImageNet图片识别的神经网络的输出是1000个),每个分类约有1000张图片。这些用于训练的图片总数约为120万张,此外还有一些图片作为验证集和测试集。ILSVRC2012含有5万张图片作为验证集,10万张图片作为测试集(测试集没有标签,验证集的标签在另外的文档给出)。
在这里插入图片描述
ILSVRC2012是ImageNet的子集,而ImageNet本身有超过1400多万张图片,超过2万多的分类。其中有超过100万张图片有明确类别标注和物体位置标注。
对于如基于ImageNet的图像识别的结果评估,往往用到两个准确率的指标,一个是top-1准确率,一个是top-5准确率。Top-1准确率指的是输出概率中最大的那一个对应的是正确类别的概率;top-5准确率指的是输出概率中最大的5个对应的5个类别中包含了正确类别的概率。ImageNet下载指南
Imagenet数据集是由根据WordNet 层次结构(目前只有名词)组织的图像数据库,其中层次结构的每个节点都有成百上千的图像。其总共有大约21K类,每一类节点对应一个wnid(WordNet ID of class),1500多万张图片,如下图展示了32326类的Imagetnet数据集组织形式。
在这里插入图片描述

总结

我觉得这个东西就有点扯淡,以一个多分类的光学预训练权重迁移到一个单通道的目标检测任务中,处理的东西还由RGB转变到了相位?这一定是不科学的(在我看来)。因此,在复现过程中,我并不会去考虑在大数据集上获取一个预训练权重。

1.2.2 VolcNet

VolcNet 是一个由火山事件构成的Sentinel-1数据集(带框)。项目来自欧洲空间局(Living Planet Fellowship programme)的“利用深度学习进行火山监测”项目框架,并得到了欧洲空间局的资助。

Version 1.0 版本

本数据集包含约250个带标签的解包干涉图,其中包含变形类型的标签(包括无变形的示例)以及干涉图中变形的位置。这些数据用于训练一个名为VUDL-21的CNN,该CNN的详细信息在《Simultaneous classification and location of volcanicdeformation in SAR interferograms using deep learningand the VolcNet database》(https://eartharxiv.org/repository/view/1969/)。
以下图示展示了数据和标签的示例。为了简化,数据库只需使用pickle打开文件,并使用numpy处理数组,干涉图使用掩码数组存储,以便屏蔽不一致的像素。由于许多干涉图来自时间序列,这些数据被整理到一个单独的文件中,因此每个文件的长度可能不同。V1.1计划包含一个索引功能,以根据火山名称找到干涉图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Version 2.X

该数据可用于创建约500,000个带标签的干涉图。详见《Simultaneous classification and location of volcanicdeformation in SAR interferograms using deep learningand the VolcNet database》。改为使用带有变形持续时间和幅度标签的时间序列,然后自动创建时间序列中任意两次获取之间的带标签干涉图。要创建您自己的带标签数据,请查看bin/02_volcnet_labelled_ifg_constructor.py中的示例。以下是生成并标记西埃拉内格拉的所有可能获取之间的所有干涉图。
在这里插入图片描述
A breakdown of the type and label of data:
在这里插入图片描述

VolcNet项目结构

在这里插入图片描述

(1)bin
(1)01_volcnet_constructor.py

这段代码是用来构建VolcNet数据库的。它从各种输入数据中构建数据库。处理LiCSBAS(基于LiCSAR的差分干涉测量)时间序列数据,将其转换为适合VolcNet数据库的格式,并保存为.pkl文件。处理Marco Bagnardi提供的加拉帕戈斯(Galapagos)时间序列数据,类似地将其转换为VolcNet数据库的格式并保存为.pkl文件。处理Fabien Albino提供的阿贡火山(Agung)数据,同样将其转换为VolcNet数据库的格式并保存为.pkl文件。这些处理步骤包括读取数据、处理时间信息、处理地理坐标信息、处理变形数据、处理水体和相干性掩膜等。最终生成的.pkl文件包含时间序列数据、时间信息、变形事件定义等信息,这些信息可以被后续的分析程序使用。

(2)02_volcnet_labelled_ifg_constructor.py

这段代码用于创建从VolcNet数据中提取的带标签的干涉图。处理和可视化来自VolcNet项目的地质变形数据,以及对数据进行标记,以便进一步分析和研究。

(3)reformat_annotation_labels.py

这段代码的作用是对给定的目录中的所有标签文件进行处理,将其中的边界框格式转换为闭合多边形格式,并将结果写入新的标签文件中。

(2)volcnet
(1)_aux.py

这段代码定义了一个函数 ll_2_pixel(),其作用是将经纬度坐标转换为图像像素坐标。

(2)creating_ifgs.py

这段代码实现了一个函数 create_volcnet_ifgs(),其主要功能是根据提供的标签信息和 VolcNet 数据,生成用于深度学习模型训练的地表形变干涉图像。

(3)labelling.py

这些函数主要用于处理 VolcNet 数据,并为每个干涉图像生成相应的标签信息,以便后续用于深度学习模型的训练。

(4)plotting.py

这段代码定义了一个函数 remappedColorMap, 用于重新映射颜色映射的中点,以及调整颜色范围的缩放。这在处理数据范围既有负值又有正值时很有用,可以将颜色映射的中点调整为零,并对剩余的颜色范围进行缩放,以确保数据的对称性和可视化效果。

《Simultaneous classification and location of volcanicdeformation in SAR interferograms using deep learningand the VolcNet database》
0 摘要
原文翻译

随着InSAR技术逐渐成为主动灾害监测工具,其能够快速检测地表变形的特性,人们开始寻求新的方法来快速自动解释大量生成的干涉图。在这项工作中,我们提出了一种卷积神经网络(CNN),能够在单个步骤中既对变形类型进行分类,又能够定位干涉图中的变形。我们通过构建一个“two headed model”来实现这一目标,该模型能够在一次前向传递中返回两个输出,因此不需要使用滑动窗口方法进行定位。我们首先通过创建一组包含变形类型和位置标签的合成干涉图的大型数据集来训练我们的模型,但同时发现,通过包含少量真实数据,我们的模型性能得到了改善。在构建这种类型的模型时,通常会从设计用于不同问题的其他模型中转移模型内的一些权重。因此,我们还研究了如何最好地组织干涉图,以便模型中学到的滤波器对干涉图中的感兴趣的信号敏感,但我们发现,在每个输入通道中使用不同的数据与简单地在每个通道中重复(解)缠绕相比,会显著降低性能。这意味着,包含补充数据,我们期望能够提高区分变形和噪声的能力,需要从头开始训练网络

分析

(1)多任务是一种可以同时处理多个相关任务的模型。实现多任务模型的一种常见方法是在神经网络中构建多个输出层,每个输出层对应一个任务。另一种实现多任务学习的方法是使用注意力机制或门控机制,以便模型能够动态地决定在每个时间步骤或层级中应该关注哪些任务。总之,多任务模型可以通过在神经网络中设计适当的结构和损失函数,以及使用注意力机制或门控机制来实现。
(2)作者提出的是一个CNNs但是在执行上会同时产生分类和定位的作用,也就是说,这个是一个多任务CNNs模型
(3)作者使用的是混有真实数据但是数据集的主体为模拟数据来训练网络。
(4)作者似乎在思考预训练权重在这项任务中的必要性?

1 引言
原文翻译

近年来,将火山监测扩展到全球约1400座陆地火山的工作导致了几种机器学习方法在通过干涉雷达卫星(InSAR)产生的地面变形图上的应用。Anantrasirichai等人(2018年,2019a,b)和Valade等人(2019年)的工作使用卷积神经网络(CNN)来确定单个干涉图是否包含变形,而Gaddes等人(2018年)的工作使用盲信号分离方法来确定时序干涉图是否显示出不稳定迹象。然而,在上述两个示例中,每个算法都对可能在火山测量到的各种类型的变形知识有限。Anantrasirichai等人(2019a)提出的算法将所有包含变形的数据分配给一个标签,而Gaddes等人(2018年)提出的算法则向用户发出有关存在信号变化的警报,但不确定存在的变形类型。因此,我们希望通过开发一种CNN来改进这些方法,该CNN能够区分不同类型的变形,并检测其空间范围
在机器学习术语中,检测物体的空间范围称为定位,有多种方法可以实现。对于只有一个分类驱动对象特征的简单情况,通常有两种方法。在第一种方法中,**CNN在感兴趣对象的相对较小的图像上(例如224 × 224)进行训练,然后训练好的模型被用于更大的图像(例如1000 × 500),这些图像被细分成与原始训练数据相同分辨率的patch。**这种方法在Anantrasirichai等人(2018年)中被采用,它避免了通过使用AlexNet CNN(Krizhevsky等人,2012年)进行重复的前向传递所可能带来的巨大计算成本,AlexNet CNN需要相对较少的操作来完成对模型的前向传递(Canziani等人,2016年)。此外,这种方法的局限性在于CNN不需要学习如何确定感兴趣对象的位置,并且在更基本的层面上仍然是一个分类而不是定位模型。
在计算机视觉领域,已经发展出了能够同时对图像进行分类,描述对象位置的CNN模型。对象的位置可以通过将其包围在一个矩形内来指示(例如Simonyan和Zisserman(2014);Redmon等(2016)),或者在更复杂的算法中,通过识别构成对象的像素来指示对象的精确轮廓(例如He等人(2017))。这些方法应该能够提供比将分类模型反复用于图像不同区域更详细的感兴趣信号的空间范围信息。因此,我们努力开发一种能够同时对变形类型进行分类并在干涉图中进行定位的算法。图1显示了我们对不同类别变形模式的初步划分,可以 类比于支撑ImageNet的WordNet层次结构(Fellbaum,1998)。
在这里插入图片描述
图1:在火山中心干涉图中感兴趣信号的提议层次结构。我们提出了一个模型,能够将 干涉图分类为仅包含大气信号或包含由膨胀短柱或开裂岩墙引起的变形。由于我们提出的模型将仅使用来自一个视角的数据,我们设想可能将由可建模为点压力源(通常称为“莫吉”源(Mogi,1958))导致的变形并入膨胀短柱标签中。我们并不认为这个层次结构是完整的,并且设想未来的研究可能会添加更多的子树,比如由于已固化熔岩流冷却和收缩而产生的信号。

在构建用于分类或定位问题的CNN时,通常的方法可以 根据对现有模型的利用分为三种方式 。 在最基本的情况下,会设计一个新模型,在对其中的所有参数进行训练之前(例如,Rauter和Winkler(2018)),但这种方法存在风险,可能无法利用CNN在其他问题上取得的成功应用。因此,可以将针对某一问题的(或曾经是)最先进的模型的大部分架构重新训练以解决新问题。由于许多CNN在卷积层之后具有完全连接的网络,因此通常会保留卷积层,并设计一个新的完全连接的网络来输出感兴趣的类别。然而,这种方法仍然需要训练一个可能包含数千万参数的CNN,这将是计算上昂贵的,并且需要大量的训练数据。AlexNet,一个之前的图像分类CNN,有6000万参数,曾经在120万张图像上进行训练,即使在GPU上实现,也需要大约一周的时间进行训练(Krizhevsky等人,2012)。因此,一种常见的方法称为迁移学习,即保留初始卷积层的结构和权重,仅训练网络的最后一个完全连接的部分。这种方法被Anantrasirichai等人(2018)成功地使用过,他们使用了AlexNet的结构和权重,但创建了自己的完全连接的分类器来输出干涉图中是否包含变形的信息。
CNN中卷积滤波器学习到的权重对于网络检测特征的能力至关重要,因为这些滤波器必须对图像中这些特征呈现的模式敏感。由于AlexNet(Krizhevsky等人,2012)和VGG16(Simonyan和Zisserman,2014)等网络最初是为了参加ImageNet竞赛(Deng等人,2009)而开发的,这些滤波器已经训练成可以检测自然图像中存在的特征类型(例如,人的照片或汽车)。在进行迁移学习时,如果网络要正确分类和定位变形信号,那么这些滤波器必须对变形信号中呈现的模式敏感。然而,由于干涉图的formats不同,因此需要考虑哪种formats能够使在自然图像上训练的模型中的滤波器表现出色。

分析

(1)作者的定位应该指的是目标检测。文中提到的第一个策略,也是我们比较容易想到的。就是拿小图进行训练,然后把大图裁剪至小图大小进行预测。但是,作者指出这没有达到他想进行定位的目的。其实要按照我的思路,还不如进一步映射个概率然后上采样后直接进行分割呢。
(2)作者安利了迁移学习。
(3)作者采用树状结构管理数据。

2 不同的数据格式(data classification)实现分类
原文翻译

由于计算机视觉中最常见的CNN是基于包含每个像素的红色、绿色和蓝色值的通道的图像训练的,因此要与网络一起使用的其他数据也必须是三通道的。然而,当考虑到干涉相位图像时,这些图像每个像素仅包含单个值,因此只有一个通道,并类似于灰度图像。通过将单通道的干涉图像复制到CNN的三个输入通道中,可以绕过通道数量的差异,但在我们的研究中,我们希望确定是否可以改进这种方法。
当两幅SAR图像合并形成单个干涉图时,结果是一个由复数组成的二维数组。虽然每个复数的幅度与给定像素的基础亮度和相干性有关,但通常只显示幅角,因为这些相位值可以用来推断地面移动。然而,干涉图的相位值被缠绕在范围[-π π]内,因为只能测量相位值的小数部分,但可以估计这种歧义以产生一个解缠的干涉图(Chen和Zebker,2001)。我们假设除了使用填充三个通道的缠绕或解缠数据之外,干涉图的原始复数也可以用于两个通道,因此允许网络使用干涉振幅作为相位可靠性的指标
然而,我们还可以考虑将外部数据输入到CNN中。当人类观察者解释干涉图时,他们可能会使用诸如数字高程模型(DEM)之类的数据,因为这可以帮助确定信号是由于变形还是由于与地形相关的大气相位屏(Bekaert等人,2015)。因此,我们推测将DEM包含到我们的CNN中将提高其性能,并在跨不同通道变化输入时进行调查。
为了进行这项分析,我们首先合成了一组带标签的干涉图数据集。收集足够的带标签数据来训练CNN通常是耗时或昂贵的,我们发现将定位标签添加到数据中比以前的研究更加耗时。另外,由于训练CNN所需的大量数据以及我们扩展到不同类型变形的分类,获取足够的真实数据是不可能的。因此,我们仅使用合成数据进行这项分析。根据图1中提出的层次结构,我们创建了包含以下内容的干涉图:不含变形、由于岩浆柱开裂引起的变形,或由于膨胀的岩床引起的变形。我们将岩浆柱和岩床建模为近似垂直和水平断层,在弹性半空间中具有均匀张开(Okada,1985)。对于岩床组,我们在0-359°范围内随机选择方位角,在0-5°范围内随机选择倾角,在0.2-1米范围内随机选择张开,在1.5-3.5千米范围内随机选择深度,在2-6千米范围内随机选择宽度和长度。对于岩浆柱组,我们在0-359°范围内随机选择方位角,在75-90°范围内随机选择倾角,在0.1-0.7米范围内随机选择张开,在0-2千米范围内随机选择顶部深度,在0-8千米范围内随机选择底部深度,在0-10千米范围内随机选择长度。然后,将这些变形模式与地形相关的大气相位屏(APS)和湍流APS相结合,我们在Gaddes等人(2018)中更详细地讨论了生成过程。我们使用SRTM 90m DEM(Farr等人,2007)计算地形相关的APS,并使用产品中包含的海岸线信息来屏蔽水域。我们还在干涉图中合成不一致的区域,并在掩盖这些区域,以使我们的合成干涉图尽可能地与由LiCSAR(Gonz´ 138 alez等人,2016)自动生成的Sentinel-1干涉图相似。图2显示了混合这些不同元素以创建我们的合成干涉图的结果。
在这里插入图片描述
图2:七个合成干涉图的组成部分示例。其中三分之一不包含变形(例如,干涉图5),三分之一包含由膨胀岩床引起的变形(例如,4),三分之一包含由开裂地下岩体引起的变形(例如,2)。这些信号经过地理编码并遮罩水域,然后与地形相关的大气相位屏和湍流相位屏组合。不一致区域也被合成,然后用于遮罩三个信号的组合以创建最终的合成干涉图。

该过程创建了解缠数据,可以通过找到解缠相位的模2π来转换为缠绕数据。然而,合成复杂干涉图的实部和虚部需要了解像素的强度和相位。为了实现这一点,我们再次使用SRTM DEM,并计算在Sentinel-1卫星使用的入射角度(29.1至46.0°)下的反射电磁辐射的强度,然后添加斑点噪声,并计算两幅图像之间的干涉振幅(即两个振幅的乘积)。对于将要使用迁移学习进行训练的CNN的输入必须重新调整为原始训练中使用的输入,我们仅使用相对值范围为[(-1)-1]的合成强度。有了每个像素的模(相对强度)和参数(缠绕相位)的知识,实部/虚部分别是模和参数的余弦/正弦的乘积。图3显示了使用可用的三个通道表示干涉图的五种不同方式。

在这里插入图片描述
Figure 3展示了将干涉图组织成三个通道形式的方式。第一和第二列显示了重复的解缠数据,第二列还包括了DEM作为第三个通道。第三列显示了干涉图每个像素的复数值的实部和虚部占据了第一和第二通道,而DEM则包含在第三通道中。第四列显示了重复的缠绕数据,而第五列包括了DEM作为第三个通道。

我们构建的用于分类合成干涉图的CNN使用了VGG16的五个卷积块,之后接上我们自己设计的全连接网络。选择这个网络是因为在计算机视觉领域,用于分类自然图像时,它的性能优于老的模型,比如AlexNet,后者被用于Anantrasirichai等人(2018年) 提出的算法中。当形状为(224×224×3)的干涉图通过VGG16的卷积层时,它被转换为形状为(7×7×512)的张量。然后,它被扁平化为大小为25,088的向量,然后通过大小为256、128的全连接层,以及大小为三的输出层(即地堑、岩浆岩或无变形)传递。为了产生可用作概率的输出集,我们对最后一层使用了softmax激活函数,但在其余层中,我们使用修正线性单元(ReLU) 以减少计算时间。由于我们的模型旨在解决分类问题,因此我们使用分类交叉熵作为损失函数,我们试图使用Nadam优化器来减少这个损失,因为它不需要选择学习率
用于分类的CNN常见问题是过拟合训练数据,导致模型在新数据上的泛化能力较差。我们通过在256个神经元层和128个神经元层之前使用dropout来限制这一问题。通过在每次数据通过我们模型的传递过程中随机删除一些连接,这种方法旨在确保我们的模型被迫学习更健壮的训练数据表示。由于我们使用的是合成数据,我们不受收集标记数据的常规成本限制,因此能够生成20000个干涉图,这些图在各个类别之间均匀分布,而无需使用数据增强技术。
图4显示了使用先前讨论的每种数据格式训练的五个模型的结果。达到的最高分类准确率约为0.95,当模型使用在三个输入通道上重复的缠绕或解缠数据进行训练时达到。然而,值得注意的是,解缠相位模型的准确率需要完整的20个周期才能达到这一性能,与在第八个周期后几乎没有变化的包裹相位模型形成对比。将DEM作为第三个通道的包含似乎会降低分类准确性,而在实部和虚部通道情况下达到非常低的准确率。我们在第4节中对这些结果进行了更详细的讨论,但在本文的其余部分,我们选择使用在三个输入通道上重复的解缠数据。我们之所以选择这种方法,是因为最终使用缠绕或解缠数据所达到的分类准确率之间没有显著差异,但使用解缠数据可以使模型与解缠时间序列一起使用,从而检测到由低应变速率过程产生的微妙信号。此外,使用解缠数据的模型还可能提供扩展到自动定位和分类解缠错误的机会。
在这里插入图片描述
图4:使用不同格式排列的三通道数据进行训练时,对验证数据(总量的10%)进行分类的准确率。 “u”:解包裹数据,“w”:包裹数据,“d”:DEM,“r”干涉图的实部,“i”:干涉图的虚部。在“rid”数据中观察到较低的准确率,在包裹和解包裹的情况下,将DEM包含在第三通道中会降低分类准确性。在训练的20个周期结束时,包裹和解包裹数据之间的准确率之间只有很小的差异,两者都能正确分类约95%的验证数据,尽管包裹相位模型似乎更快地达到了这个准确率水平(仅需要八个周期的训练)。

分析

(1)作者第一种方案:把单通道的相位复制三份然后模拟CV中的RGB输入,在我看来并不合理。
(2)作者第二种方案:把复数数据作为两通道输入,这点我没有想到。
(3)作者第三种方案:借助外界辅助数据,例如DEM,作为通道一同输入,这点我想到了,但是还没去做。
(4)相位数据合成上,包含形变以及APS(分层和湍流),然后再用掩膜扣掉一些区域,模拟失相干。具体来自Gaddes等人(2018)
(5)振幅数据合成上,我是真的第一次知道原来振幅也可以合成,作者有点东西。
(6)在读到这篇文章之后,博主才觉得自己在开始初窥这个行业,感觉比自己想象的做的要深。Anantrasirichai, N的文章应该需要认真拜读。文章1、文章2、文章3.
(7)作者通过实验,建议使用第一种方案,具体而言,三通道都采用解缠的相位数据

3 Classification and Localisation
原文翻译

(1)使用合成数据
在前一节中,我们演示了当使用在ImageNet数据上学习的VGG16卷积权重时,对合成干涉图进行分类时,当缠绕或解缠相位在三个输入通道上重复时,大致可以达到最佳性能。我们选择继续使用解缠相位模型,因为解缠的计算成本通常已经被自动处理系统(例如LiCSAR(2016))所满足,而使用解缠相位的模型的开发可能会带来诸如能够分类和定位解缠误差等好处。在本节中,我们将在用于执行分类的模型基础上添加定位输出。我们还尽力确定是否可以通过继续使用合成数据来完全避免收集标记数据的开销
我们通过分割模型的全连接部分来实现分类和定位,从而产生两个不同的输出。一个输出以第2节中描述的方式返回输入数据的类别,而第二个输出返回场景中任何变形的位置。在机器学习术语中,这种类型的模型被称为双头模型,我们随后将两个输出及其相应的前置层称为分类头或定位头。图5显示了这两个头部的结构,在VGG16的第五个块的输出被展平后它们是如何分开的。定位头的结构类似于Simonyan和Zisserman(2014)描述的模型,其中模型通过输出包含四个值的列向量来传达任何变形的位置。其中两个值确定了变形模式的中心,另外两个值显示了其水平和垂直范围。这四个值可以一起用于构建一个包围变形模式的框
在这里插入图片描述
图 5:我们的分类和定位 CNN 的结构。输入的干涉图首先通过 VGG16 的前五个卷积块进行转换,从尺寸 (224 × 224 × 3) 变换到尺寸 (7 × 512)。然后将它们展平以创建一个包含 25088 个神经元的大型全连接层,该层连接到上部分/头部,执行分类,以及下部分/头部,执行定位。我们发现定位问题比分类更复杂,因此我们的定位分支/头部具有更多的层,每个层包含更多的神经元。定位头的输出是一个包含四个值的向量,确定变形的位置和大小,而分类头的输出是一个包含三个值的向量,表示每个类的概率,并总和为一。

然而,我们发现使用与分类头相同复杂度的全连接网络无法达到令人满意的定位性能,因此需要增加定位头全连接网络中层的数量和大小。为了减少开发和测试可能的定位头所需的时间,我们进行了机器学习文献中所谓的“bottleneck learning”。这首先涉及通过VGG16的前五个块将整个数据集传递一遍,然后仅训练我们网络的全连接部分(即两个头部)。这种方法非常高效,因为我们通常不希望更新VGG16的卷积块中的权重,但是通过这些块传递数据的计算成本很高。通过仅通过卷积块一次传递数据,然后在更新这些层中包含的权重时只重复数据相对廉价的传递,我们可以节省大量时间和计算资源。实验发现,能够实现良好性能的最简单模型由五层组成,分别包含2048、1024、512、128和4个神经元。
在训练我们的模型时,我们使用
预测位置向量与标记位置向量之间的均方误差作为我们的定位损失函数
,我们的目标是将其最小化。当使用三角秒像素(约90米)并且使用这种类型的损失函数时,400个像素的均方误差将对应着定位错误大约是√400 = 20像素,或∼2公里。然而,当使用双头网络进行训练时,训练变得复杂,因为模型的整体损失现在是分类和定位损失的组合,必须使用一个超参数来平衡,这个超参数通常被称为损失权重。我们尝试了这个超参数,并发现分类损失为0.95,定位损失为0.05的值在两个输出之间提供了很好的平衡。这个值适用,因为定位损失明显大于分类损失,但通过不平等地对它们进行加权,它们会近似地对整体损失做出相等的贡献。类似于设计一个定位头,首先计算瓶颈特征可以大大减少用于微调这个超参数所需的重复模型运行的时间。
图6展示训练过程中分类和定位模型的性能。训练和验证损失曲线没有显示出验证损失的特征最小值,表明存在过拟合。为了提高网络性能,在第10个epoch后更改了学习策略,将卷积块与全连接层一起更新。然而,直接使用像Nadam这样的优化器恢复训练会导致精细调整的数值迅速被破坏。转而使用随机梯度下降(SGD)并手动设置学习率有助于解决这个问题。尽管增加了复杂性,验证定位损失从约800降至约700像素,分类准确率从约0.8提高到约0.85。
在这里插入图片描述
图6:使用合成数据训练双头模型的总结。上图显示了分类头的准确率,而下图显示了定位头的损失函数。在第九个epoch之后(由垂直虚线标记),优化器从Nesterov Adam(NADAM)切换到了随机梯度下降(SGD),并手动选择了学习率,并解冻了VGG16的第五个卷积块中的权重。这个额外的学习阶段使得验证数据的定位损失从约800降至约700,并且验证数据的分类准确率从约0.80提高到约0.85。

图7展示将训练好的分类和定位模型应用于随机选择的测试数据的结果。大多数分类是准确的,定位也大致正确。在整个测试集上,分类准确率为0.89,而定位损失约为700。注意,不报告分类损失,因为它比准确率不太有用。然而,在定位中,准确率并不具有意义,因为它是一个回归问题,旨在逼近连续值。定位损失对应于约2.6公里的平均误差。
在这里插入图片描述
图7:我们的分类和定位CNN在(合成)测试数据上的结果。变形单位为厘米,黑色的类别标签和位置框是根据合成数据生成的,跨越超过5厘米变形的区域,而红色则表示CNN预测的区域。由于模型为每个标签输出一个概率,因此这些概率被包含为每个预测类别的小数。对结果的检查显示,在所有随机选择的情况中,定位基本正确,而分类是正确的。图2的干涉图被错误地分类,其中有一个相对强的湍流大气相干斑点(在空间上相关的噪声中可见),以及一个延伸到不相干区域的变形模式,这可能解释了错误的分类。
(2)应用在真实数据
虽然前一节中描述的模型在分类和定位合成干涉图中的变形方面表现良好,但为了用于自动检测算法,我们需要我们的CNN能够处理Sentinel-1数据。这些数据对于火山监测非常重要,因为欧洲空间局的数据政策确保Sentinel-1数据能够快速、免费地获得,而较低的重访周期确保了大多数陆地火山至少每12天被成像一次。为了测试我们的模型与Sentinel-1数据的配合情况,我们将我们的CNN应用于一组52个干涉图,对其中的变形进行了耗时的标注。然而,在一些示例中,对于复杂的变形模式分配单一类别是困难的,因此我们将其分配给我们认为是主要类别,同时期望网络应该对其他类别也有一定的概率分配。这在图8中跨越2015年Wolf火山(厄瓜多尔加拉帕戈斯群岛)喷发的干涉图中的干涉图七、九和十中最为明显,这些干涉图中的信号被归因于裂缝的膨胀和裂缝的张开。

在这里插入图片描述
Figure 8: 我们在 Sentinel-1 干涉图测试集上使用合成数据训练的分类和定位 CNN 的结果。标注如前图所示(注意:变形以厘米为单位),但黑色标签是手动创建的。对这些结果的检查显示它们在标签和定位方面都有所不同,有些情况下标签和定位都大致正确(例如,3、10),有些情况下定位正确但标签不正确(例如,2),有些情况下标签正确但定位不正确(例如,6),以及标签和定位都不正确(例如,4)。干涉图 0 - 1 显示 Campi Flegrei,2 显示 Agung,3 - 5 显示 Sierra Negra,6 - 10 显示 Wolf,11 显示 Cerro Azul。

使用的干涉图来自作者本研究创建的时间序列集合,或者来自 LiCSAR自动处理(https://comet.nerc.ac.uk/COMET-LiCS-portal/),其中包括Campi Flegrei、Agung、Wolf、Sierra Negra 和 Alcedo 火山。我们使用 Goldstein 滤波器(Goldstein 和 Werner, 1998) 对干涉图进行滤波,使用 SNAPHU (Chen 和 Zebker, 2001)进行相位展开,并且屏蔽了平均相干性低于 0.7 的像素。对于加拉帕戈斯群岛的火山(Wolf、Sierra Negra 和 Cerro Azul),一些 12 天的干涉图中可见变形,但在 Campi Flegrei 火山,变形信号更为微妙,我们需要手动创建时间基线为24/36/48/60 天的干涉图,才能在单个干涉图中看到变形。Agung 火山的变形信号被归因于一条岩浆管的开张(Albino等人,2019),但由于这一事件的短暂性,这种变形只在相对较少数量的“daisy chain”短时间基线干涉图中可见。为增加可用的干涉图数量,我们再次制作了一系列跨越该事件的24/36/48/60 天干涉图。

图 8 显示了我们训练的分类和定位模型应用于近似随机选择的 Sentinel-1 干涉图的结果。诸如干涉图 3 的干涉图显示 Sierra Negra 火山的明显膨胀信号,并且被 CNN 正确分类,同时定位也基本正确。其他有希望的结果包括将三个 Wolf 火山的共喷干涉图(七、九和十)标记为含有 sill,这也被很好地定位。然而,有些干涉图分类不佳,比如干涉图零中看到的微妙信号。我们 CNN 的两个头部的分歧性也导致它们之间的输出显示出不一致。干涉图 11 就是一个例子,其中它被正确地分类为不含变形,但却显示了错误的定位输出。
在考虑整个真实数据的测试集时,分类准确率为0.65,而定位损失约为2017。我们将在第 4 节更全面地讨论该模型的结果,但在接下来的部分中,我们将通过在训练阶段包含真实数据来提高我们模型的性能
(3)用Sentinel-1数据增强训练数据
为了进一步提高模型的性能,我们希望将真实数据纳入训练中。我们通过重新访问上一节提到的时间序列,并标记了另外 173 个干涉图,用于训练,同时保留原始集合进行进一步测试。值得注意的是,其中大部分只包含大气信号,因此标记它们比包含形变并需要四个定位坐标的标记要少得多。然而,之前的模型使用了 20000 个合成干涉图进行训练,而新增了 173 个干涉图不太可能对模型产生重大影响,因为即使这些干涉图的分类较差,损失函数也只会略微增加。因此,我们应用了数据增强技术,包括对干涉图进行随机翻转、旋转和平移,以将我们的真实训练数据扩展到20000 个,虽然通常高度相关的 Sentinel-1 干涉图。
Figure 9显示了将我们的 CNN 应用于第 3.2 节中使用的相同测试干涉图集合的结果。检查结果显示了极大改善的定位效果,在干涉图零、二和三中出现了非常小的误差。在这些干涉图的选择中,不存在误报(即被标记为岩脉和裂隙的“无形变”情况),但出现了几种漏报情况,例如干涉图 4、7、9 和 10(即被标记为“无形变”的岩脉和裂隙情况)。干涉图 4 的误分类可能是由于形变信号的幅度相对较低(与干涉图 3 相比),而干涉图 7、9 和 10 具有跨越 2015 年 Wolf 火山喷发的复杂信号,被认为是由于岩脉体积变化和岩浆向地表传播而引起的(Xu 等人,2016年)。由于模型没有在包含多个形变信号的数据上进行训练,因此当遇到这种情况时出现的错误表明可能需要进一步工作,以纳入更复杂的形变模式,更好地反映火山上发生的过程。考虑整个真实训练数据集,性能现在有所提高,分类准确率提高到了0.83,而定位损失降低到了522。表1更详细地比较了两个模型,考虑了每类干涉图的分类准确率和定位损失。

在这里插入图片描述
Figure 9:将真实数据纳入训练后,我们在 Sentinel-1 干涉图的测试集上使用我们的分类和定位 CNN 的结果。标签约定和干涉图与图 8 中相同。可以看出,这个模型的性能优于仅使用合成数据训练的 CNN,具有改善的分类和定位效果。然而,仍然存在一些错误;例如,干涉图 4 的隆起信号相对较微弱,与之前的其他信号相比,在 Sierra Negra 2018 年喷发之前被模型分类为“无形变”,而干涉图 9 的复杂的共喷信号没有被准确定位或分类。

分析

(1)在后续实验,作者采用三通道解缠的合成数据来训练分类网络,且给分类网络一个定位输出,实现多任务。
(2)bottleneck learning是机器学习领域的一种技术,通常用于加快深度神经网络的训练速度和降低计算成本。在使用深度神经网络进行训练时,网络的前几层(通常是卷积层)通常需要处理大量的数据和参数,因此计算成本较高。瓶颈学习的思想是,先将数据通过网络的前几层,然后冻结这些层的参数,只训练网络的后几层(通常是全连接层)。
(3)作者的多任务网络要求其需要使用两个损失函数,同时因为作用的是一个网络,因此需要引入一个损失权重来调和两个损失函数的贡献。后续可以尝试。
(4)作者以2015年Wolf火山(厄瓜多尔加拉帕戈斯群岛)验证在合成数据上的训练效果。我觉得我之前没有做出来,很大可能是数据模拟这块没做好,再就是将之前单通道输出改为三通道(复制两份解缠相位),然后再做一下。这篇文章的阅读对我最大的作用是学会其数据模拟方式。
(5)作者创建的是时序数据,这个会不会也影响着实验精度。后续可以尝试时序数据,记得NC那篇也是用的时序数据
(6)作者后续还是选在在训练集中引入真实的数据来提高精度。

4 结论(重点)
原文翻译

在第2节进行的分析中,我们得出结论,即通过将DEM纳入我们的CNN中,无法通过将其作为多通道数据中的一个通道来实现。这可能是因为我们模型中的前五个卷积块的权重是从VGG16转移过来的,而VGG16是使用自然图像进行训练的,因此需要在所有三个通道上都广泛相似的输入。然而,通过从头开始训练分类和定位模型中卷积块的权重的方法,可能很容易地允许在不同的输入通道中添加额外的数据。如果这种方法不可行,那么诸如DEM之类的信息最好通过使用双输入模型来纳入,在这种模型中,一组卷积滤波器应用于相位信息,而另一组卷积滤波器应用于DEM。然后,这两个网络可以在完全连接的阶段合并,方式与我们的完全连接模型分成两个输出的方式类似。如果这种方法成功,还可以提供一种方法来向模型添加更多输入,例如天气模型输出的输入,这可能会减少因出现诸如强地形相关的APS之类的情况而导致的误报。然而,从头开始训练模型的权重和探索更复杂的多输入模型架构仍超出了本研究的范围。
图8中呈现的结果表明,仅使用合成数据训练的模型能够在Sentinel-1数据中对变形信号进行分类和定位。然而,在具有特别清晰变形模式的情况下才能成功,而在信号较为微弱的情况下通常会错误地将其标记为不包含变形。通过使用更真实的合成数据,这两个限制可能都可以克服。生成更真实的变形模式可以通过诸如在生成变形模式的前向模型中更智能地采样使用的参数、使用不同类型的变形模型(如点状裂缝)以及在单个干涉图中叠加多个变形模式等步骤来实现,例如在Sierra Negra火山2005年喷发前观察到的情况。生成更真实的大气信号可以通过增加合成数据的复杂性来实现,例如通过使用非线性或空间变化的相-高比,或者通过使用不同来源的数据。可以利用拍摄到的几乎没有变形的区域的干涉图来增加“无变形”数据集的复杂性,或者将其与合成变形模式结合起来生成更复杂的半合成数据。
图9呈现的结果显示了
将真实数据纳入模型的好处
。然而,仍然存在许多改进的空间,本图中可见几个分类和定位错误。大多数定位错误要么是在变形信号很轻微的情况下(例如图9中的干涉图四),要么是在跨越Wolf火山2015年喷发的干涉图中。在前一种情况下,存在一个自然的信噪比阈值,在此阈值以下,方法无法识别感兴趣的信号,这些干涉图似乎代表了这一点。在后一种情况下,所涉及的干涉图包含复杂的变形模式,因为既有裂缝的开启又有岩浆从火山口下方的岩床中移除(Novellis等,2017年),包含多个变形模式的真实或合成训练数据可能可以缓解这一缺陷。
我们网络中两个头部(分类和定位)的差异性也导致它们的输出存在差异。这在图9的干涉图10中可以看到,在这幅图中,定位头产生了一个大体上正确的输出,但信号被错误地标记为“无变形”,尽管置信度相对较低。然而,我们推测可以通过使用更复杂的模型架构来避免这种类型的错误。诸如YOLO(Redmon等,2016年)之类的模型一步生成边界框和分类,并且具有能够处理包含多个信号的图像的额外优势。如果成功应用于干涉图,具有这种复杂性的模型可能会避免我们遇到的差异性错误,并且能够处理包含多个变形模式的干涉图。
我们的定位方法避免了使用滑动窗口方法进行重复分类的需要,并允许我们的网络使用整个图像进行推理。虽然这种方法在推动最新技术向人类解释者的水平发展方面是有益的,但仍存在一个警告,即构建一个能够利用大型干涉图的网络可能会很复杂。在我们的模型中,我们使用三秒弧的像素大小,并且通过输入尺寸为224×224,得到的模型能够“看到”火山周围约20公里的范围。如果我们希望以这种分辨率继续进行,我们的模型的视野可以通过将输入尺寸更改为约400×400来增加,这不会影响我们使用VGG16的滤波器(或卷积块)的能力,但会增加我们网络完全连接部分的第一层的大小。

分析

(1)作者的工作是使用ImageNet预训练权重进行的,因此他认为输入迎合RGB三通道的方式会更好。
(2)作者没有从头训练以及探索更复杂的多输入(加入天气模型),但是值得考虑。
(3)对于纯粹的使用合成数据训练,可识别的情况有限。作者认为可以通过增加合成数据的复杂性来解决,实质上就是让模拟的更加真实。

《Blind Signal Separation Methods for InSAR: The Potential to Automatically Detect and Monitor Signals of Volcanic Deformation》

M. E. Gaddes,合成数据的原理

1 摘要
原文翻译

有大约1,500座火山具有喷发潜力,但大多数都没有受到仪器监测。然而,哨兵-1卫星的例行获取现在满足了干涉合成孔径雷达(InSAR)从回顾性分析工具向全球近实时监测工具的需求。然而,全球监测产生了大量数据,因此需要一个能够在一系列干涉图中识别新的变形迹象或变形速率变化的自动检测算法。基于干涉图时间序列中的大部分信号可被视为几个潜在源的线性混合,我们探索了使用盲源分离方法来解决这个问题。我们考虑了主成分分析和独立成分分析(ICA),这两种方法先前已应用于InSAR数据,以及非负矩阵分解,这是一个新的方法。我们对这三种方法进行了系统分析,结果表明ICA最适用于大多数InSAR数据应用。然而,在ICA的降维步骤中,必须小心不要移除重要的较小幅度信号。我们将ICA应用于the 2015 Wolf Volcano eruption(厄瓜多尔加拉帕戈斯群岛),并自动分离出三个信号,这些信号与其他研究中手动识别的信号大致相似。最后,我们基于ICA开发了一个原型检测算法,用于识别喷发的开始。

分析

(1)作者在这篇论文中介绍了使用ICA来分离火山形变信号的工作,其中通过之前文章介绍,会详细解释如何进行数据合成。这篇文章给我们的最大帮助在于如何合成数据。

2 要点
原文翻译
  1. **独立成分分析(ICA)**是一组盲源信号分离方法中最适用于InSAR数据的方法。
  2. the 2015 Wolf Volcano eruption期间,可以使用独立成分分析自动分离出地球物理感兴趣的信号。
  3. 通过监测ICA恢复的信号的变化,可以自动检测到火山的不稳定迹象
3 简明语言总结
原文翻译

通过监测火山,我们可以发现它们可能在未来爆发的迹象,然而世界上许多火山仍未被监测。然而,最新一代的雷达卫星定期测量了世界上大多数火山周围的地表位移,这些测量数据可以用来检测以前未被监测的许多火山的不稳定迹象。由于这项工作产生的数据量巨大,因此需要一种自动检测算法来检测这些感兴趣的信号。在这项工作中,我们提出了一些方法,以分离与火山不稳定有关的信号和其他干扰信号,并监测地球物理上重要的信号,以检测火山是否进入了不稳定期。

4 引言
原文翻译

世界上大约有1,500座陆地活火山,它们存在各种地球物理威胁,从像火成碎屑流这样的局部危险到像火山灰云这样的广泛危害。科学家使用各种方法和工具,包括地震学、卫星成像和气体分析,来检测火山活动的迹象并评估相关风险。然而,由于部署监测设备涉及的后勤和成本限制,大多数火山没有定期监测。因此,许多潜在的危险未被观察到,突显了更具可访问性和经济效益的监测解决方案的必要性。
**合成孔径雷达干涉测量(InSAR)**测量地表位移的能力允许限制火山侧斜和周围地区的变形(例如,Pinel等人,2014年,以及其中的参考文献),并且这些位移测量可能是火山不稳定的宝贵指标,可能导致火山喷发(Biggs等人,2014年;Ebmeier等人,2018年)。因此,一颗具有合适获取策略的卫星可以提供测量数据,从而监测全球所有陆地火山的情况。
直到最近,InSAR并不适合实时全球监测,因为2015年之前运行的合成孔径雷达(SAR)卫星很少定期在地球物理感兴趣的区域获取图像,而且数据通常要在获取后几天才能获得。然而,欧洲空间局最新的SAR卫星(Sentinel-1星座)已经解决了先前列出的限制,并使InSAR从一个回顾性分析工具发展成为可以用于近实时监测的工具。使这成为可能的其他进展包括建立新的处理设施,以自动快速地为全球大部分地区创建干涉图(例如,González等人,2016年;Meyer等人,2016年),以及新的方法用于在创建新的干涉图时快速更新时间序列(例如,Spaans和Hooper,2016年)。
然而,利用来自Sentinel-1卫星的数据监测世界上的地表活跃火山产生了太多的干涉图,以至于它们无法手动检查是否存在迹象表明可能发生火山活动。因此,我们提出了一项工作的结果,即 构建一种算法,用于自动检测给定火山时间序列干涉图中的不稳定迹象。为了避免标记数据的耗时性(例如,手动检查干涉图并分配包含变形等信息),我们的算法必须是一种 无监督的算法(即,训练数据未标记)。无监督学习算法的一类被称为 盲信号分离(BSS) 方法,其中的一种方法(独立成分分析[ICA])已经被Ebmeier(2016年)用于从InSAR时间序列中分离出地球物理感兴趣的信号。因此,我们旨在基于BSS前提构建一种算法,即从干涉图的时间序列中提取感兴趣的潜在源。
然而,由于 独立成分分析(ICA) 是一套BSS方法之一,我们努力确定哪种方法最适合InSAR数据。我们首先通过介绍几种BSS技术的基本原理(第2节),解释我们将一种新的BSS方法应用于InSAR数据的新方法(第9节),并比较应用几种BSS方法到 合成数据集 的结果(第10节)。在第17节中,我们通过使用两个Sentinel-1干涉图的时间序列验证选择的方法是否适用于真实数据,然后在第20节描述并演示我们的原型自动检测算法。

分析

(1)陆地活火山监测的重要性;
(2)InSAR技术的优势;
(3)Sentinel-1为监测提供便利;
(4)本文想要构建一种无监督算法,用于自动检测给定火山时间序列干涉图中的不稳定迹象;
(5)在算法验证方面,采用了合成数据集和真实数据集共同验证的方式。

5 Organizing and Synthesizing Data(重点)
原文翻译

在考虑如何应用NMF、PCA和ICA之前,我们首先必须将一系列的干涉图转换为这些方法可以应用的形式。这三种方法考虑了多个变量的多次观测的统计信息,因此不需要保留像素(或干涉图)之间的空间(或时间)关系。因此,只要这种重新组织是一致的,时间序列中包含的信息就可以转换为行(或列)向量。我们还参考了空间图的时间历史(可以是一个像素大小或更常见的是一个潜在源大小)作为时间序列,这是BSS文献的风格。
在空间组织中,每幅图像包含单个随机变量的多个实现,随机变量的数量等于图像的数量,而在时间组织中,每个像素是一个随机变量,观测次数与图像数量相同。在这项工作中,我们遵循BSS文献的惯例,将变量放置为数据矩阵中的行,每个变量的每次观察占据一个新的列。因此,对于包含 t 幅干涉图像的时间序列,每个具有 p 个像素的干涉图像,我们的数据矩阵对于空间组织为 t × p,对于时间组织为 p × t。在欧几里得空间中,空间组织的时间序列可能包含 101–102 幅干涉图像,并且需要具有相等维度的空间,而对于时间组织,一幅干涉图像可能包含 103–107 个像素,并且需要非常高维度的空间。图1展示了空间和时间组织的差异,以及前一节描述的(非)混合向量如何被解释。由于干涉图像的数量控制了在数据被时间组织时的数据点数量,因此一个假设的仅包含三幅干涉图像的时间序列将提供一个非常稀疏的空间进行分析,并且相当于图1中的散点图仅具有三个数据点。
为了介绍和比较PCA、ICA和NMF,我们使用方程2生成了一个合成时间序列,其中一个矩阵(A或S)包含两个合成InSAR信号的空间模式,而另一个矩阵包含每个空间模式对每个干涉图的贡献强度(称为时间序列)。为了生成空间组织的数据,我们假设空间图是统计独立的,因此将它们放置在S中,而对于时间组织的数据,我们假设时间序列是统计独立的,因此将它们放置在S中。我们选择了两个合成InSAR信号,一个是由于火山活动引起的地表变形,另一个是由于地形相关的大气相位移,因为已经证明分离这类信号是重要的。
两个合成信号的空间模式如图2所示,由于这些是当数据以空间方式组织时的源,因此提供了恢复它们的挑战的见解。该区域对应于意大利的坎皮弗莱格雷,其中大气信号中显示了亚空间火山口壁。地表变形是通过模拟在弹性半空间中膨胀的点源来创建的(Mogi, 1958),因为这已被成功用于模拟坎皮弗莱格雷的变形观测(Lundgren et al., 2001),并且根据所有使用的测量指标,都是强烈的非高斯分布。地形相关延迟的空间模式是通过假设每个像素的相位和海拔之间存在线性关系来合成的(使用了Shuttle Radar Topography Mission (SRTM) 30-m数字高程模型(DEM)Farr et al., 2007)。
在这里插入图片描述

分析

在考虑如何应用NMF、PCA和ICA之前,我们首先必须将一系列的干涉图转换为这些方法可以应用的形式。这三种方法考虑了多个变量的多次观测的统计信息,因此不需要保留像素(或干涉图)之间的空间(或时间)关系。因此,只要这种重新组织是一致的,时间序列中包含的信息就可以转换为行(或列)向量。我们还参考了空间图的时间历史(可以是一个像素大小或更常见的是一个潜在源大小)作为时间序列,这是BSS的风格。
这些行向量的形成方式具有重要的影响,因此,在BSS中,这两种不同的方法被称为体系结构I和体系结构II(Bartlett等人,2002年)。然而,当应用于InSAR数据时,这种命名方法不够清晰,我们将体系结构I称为空间组织,因为当ICA应用于体系结构I数据时,恢复的潜在源是空间独立的。当ICA应用于体系结构II数据时,发现的潜在源是时间独立的,因此我们将体系结构II称为时间组织。

Identification of Surface Deformation in InSAR Using Machine Learning

1 摘要

合成孔径雷达(SAR)图像的可用性和频率正在迅速增加。这一数据激增为约束涵盖各种空间和时间尺度的地表变形提供了新的机会。这种扩展也引入了与大数据量相关的常见挑战,包括分析这些数据的最佳实践。近年来,机器学习技术一直处于应对大数据挑战的前沿,作为一种自动分类大量数据的高效方法。卷积神经网络(CNN),特别是在图像分类问题上取得了强大性能。在这里,我们介绍了SarNet,这是一个用于检测、定位和分类干涉图中类似于震中的地表变形的CNN。我们使用了400万个合成干涉图对SarNet进行了训练,其中包括缠绕和未缠绕的类似于震中的地表变形,以及代表合成干涉图中的大气和地形噪声的合成噪声。结果表明,SarNet在验证数据集上获得了99.74%的总体准确率。我们使用类激活图(CAM)来展示SarNet返回了干涉图中地表变形的位置。我们采用迁移学习方法将SarNet在合成数据上训练的准确性转化为在手动分类的震中表面位移的真实干涉图上的结果。我们在包含标记的震中表面变形和噪声的32个干涉图上对SarNet进行了训练。结果表明,通过迁移学习,SarNet在真实InSAR数据集上获得了85.22%的总体准确率,并且SarNet返回了干涉图中地表变形的位置。

2 要点

• 使用合成干涉图来训练CNN,解决了训练数据集的问题。

• 用合成数据训练的CNN表现优于仅使用真实数据训练的CNN。

• 使用合成数据集训练的CNN达到了最终的PPV(positive predictive value)为82%。

• 应用大气校正可将检测性能提高到100%的PPV。

3 引言

**合成孔径雷达干涉(InSAR)利用返回卫星的雷达波相位的差异生成地表变形图。**统计上,火山变形与火山喷发有统计学联系(Biggs等人,2014),并且与其他卫星方法不同,它主要在喷发前被检测到(Furtney等人,2018)。这可以让火山学家监测大范围和偏远地区的火山活动,这在专业知识和地面监测设备不足的发展中国家尤其有价值。当代卫星,如Sentinel-1,提供全球覆盖、更短的时间跨度和高分辨率图像。这导致了大量的数据,使得手动检查变得不可行。

InSAR图像,即干涉图,包含了火山变形和大气雷达路径的贡献。大气效应可能会掩盖变形信号(Parker等人,2015;Ebmeier等人,2013;Pinel等人,2014),使得基于简单阈值的自动检测方法不切实际。可以应用大气校正,基于外部数据源如气象模型、GPS对流层延迟,或通过将相-高程相关或时间序列应用于统计方法(例如Bekaert等人,2015;Li等人,2005;Jolivet等人,2014)。然而,这些方法在应用于大型数据集时耗时较长,通常无法实时应用或应用于缠绕数据。盲源分离技术,如独立成分分析(ICA),有潜力自动分离不同信号,从而更容易检测到变形部分的变化(Ebmeier,2016;Gaddes等人,2018),但目前只在少数案例研究中进行了测试。

深度卷积神经网络(CNN)一类受到深层次神经元连接多层可学习滤波器的复杂分层结构启发的神经网络(Krizhevsky等人,2012)-是自动分析全球数据集的可行方法之一。我们之前的“概念验证”研究证明了CNN能够检测到在包裹干涉图中产生多个条纹的快速变形系统(Anantrasirichai等人,2018),但在少数情况下无法可靠地区分变形信号和大气效应。我们的方法是利用机器学习来研究大量缠绕干涉图的数据集,识别出要应用展开算法和大气校正的图像子集。通过减少假阳性数量来提高算法的效率,从而减少了展开和大气校正的需求。

CNN需要平衡的数据集进行训练,否则算法可能会对特定案例过度调整(Yan等人,2015)。对于这个应用来说,这是一个挑战,因为很少有自动生成的干涉图包含重要的变形信号-大多数是短期的,并覆盖着没有变形的火山,或者变形缓慢的火山。例如,Anantrasirichai等人(2018)使用了由LICSAR系统产生的3万多个Sentinel-1干涉图的数据集,该系统覆盖了全球约900座火山,但仅包含42个显示出变形信号的干涉图。训练数据集的不平衡可以通过人为地对训练集进行子采样或过采样来缓解。Anantrasirichai等人(2018)使用了程序化数据增强来增加变形样本的数量,方法是在现有的正样本上应用转换(即旋转、翻转、扭曲和像素位移)。然而,即使进行了增强,类内不平衡问题仍然存在(Japkowicz,2001),因为使用有限数量的变形样本无法概括全球火山变形的特征。

在本文中,我们旨在通过使用合成数据来克服训练数据不平衡问题,提高CNN模型区分变形信号和大气效应的能力。合成干涉图由三个主要组成部分生成,即地表变形、分层大气和湍流大气。合成变形信号使用简单的弹性源生成,例如地震、岩脉、岩床和岩浆室中的点压力变化(Mogi,1958;Okada,1985;Fialko等人,2001)。分层大气干涉图来自于Generic Atmospheric Correction Online Service(GACOS)(Yu等人,2018a),而湍流大气干涉图则是利用真实干涉图中相关噪声的统计特性进行模拟(Lohman和Simons,2005;Biggs等人,2007)。分类方法通过微调预训练的CNN网络,采用迁移学习策略来开发。

4 CNN和训练集的问题

机器学习(ML)是一种流行的数据分析方法,它可以自动将输入模式区分为已学习或定义的类别。用于图像分类和识别的最受欢迎、也可能是最强大的ML工具是深度卷积神经网络(CNNs)。这些数据驱动的方法是分层特征学习方法,可以直接适应大多数特定应用,无需手动提取特征。然而,CNNs的主要缺点是,最有效和成功的模型需要大量标记数据的训练集

4.1 CNN

卷积神经网络(CNNs)是一类深度前馈人工神经网络。它们由一系列卷积层组成,旨在利用2D结构,例如图像。这些卷积层采用局部连接层,将预定义大小的内核与内部信号进行卷积,即卷积层的输出是通过滤波器修改的输入信号。滤波器的权重使用损失函数和反向传播(错误的反向传播)进行调整,通过多次前向和后向迭代来确定被检测到的特征与训练数据的性质相关联。早期的层提取类似于主要视觉皮层中发现的视觉基函数的低级特征。

CNN的最常见架构将卷积层连接到池化层,池化层将一个层中的神经元群的输出合并为单个神经元。一些架构省略了池化层以获得密集特征。随后,激活函数如双曲正切(tanh)或ReLU(修正线性单元)被应用于向网络引入非线性。这种结构使用相似或不同的内核大小重复。因此,CNN学习从第一层的原始像素中检测边缘,然后使用边缘在下一层检测简单的形状,例如。较高的层产生更高级别的特征,具有更多的语义含义。最后几层是分类部分。它由一些全连接层组成,这些层与上一层中的所有激活之间有全连接,并且具有softmax层,其中输出类被建模为概率分布 - 将输出指数化以在0到1之间进行缩放(也称为标准化指数函数)。

4.2 数据集不平衡和解决方式

在分类中,数据不平衡问题发生在数据集具有倾斜的类分布时,即大多数数据实例属于一类,而其他类的实例数量远远较少。这导致分类器算法对具有更多实例的类具有偏向性,并倾向于预测多数类数据。少数类的特征被视为噪音,通常被忽略。虽然深度CNN方法在许多应用中通常比传统的机器学习方法表现更好,但在数据不平衡的数据集上它们的性能可能会更差。

已经提出了许多方法来创建平衡的数据分布,这些方法可以分为两大类:修改学习算法和数据操作技术。第一组修改现有的算法以更加强调少数类。这可以通过使用成本敏感学习来实现,该方法为少数类样本分配较高惩罚的成本(Thai-Nghe等人,2010年)。应用代表每种错误分类成本的成本矩阵,并且结果是最小期望成本的类,由所有类概率估计的加权成本矩阵总和描述。然而,通常很难为此方法优化成本矩阵。第二组尝试重新平衡训练数据的类分布。典型的方法包括对多数类进行下采样,对少数类进行过采样,或两者都进行。这一组更受青睐且更简单,因为唯一需要更改的是训练数据而不是学习算法。下采样的缺点是忽略了大多数类中的许多数据实例,这可能导致信息的丢失。相比之下,合成少数过采样技术(SMOTE)是一种强大的方法,它从现有数据中创建合成数据点。

然而,这些方法都不适用于InSAR数据集中的变形分类问题。显示变形的干涉图像数量约占所有获取的干涉图像的0.15%,如果以像素计算,则正负面积的比例仅为1:15,000。Anantrasirichai等人(2018年)使用的全球数据集涵盖了2016年至2017年间900多座火山,但只有4座火山发生了变形,分别是Cerro Azul、Sierra Negra、埃特纳和Erta Ale。这意味着所有现有方法可能会导致过度拟合,因为已知的地面变形特征不足以代表全球范围内各种火山的变形。因此,我们建议生成合成数据来提高分类性能,使用能够很好地代表现有数据但又灵活到可以生成更广泛的可能信号的建立模型。

4.3 生成合成训练数据

**CNNs是数据驱动的方法,因此使用适当的数据对网络进行训练至关重要。**在本文中,我们使用现有模型创建合成示例,分别是a) 变形、b) 分层大气工件和c) 湍流大气工件。我们使用蒙特卡洛方法来选择参数值,从而包括被认为是可行的但实际上尚未观察到的情景。生成的合成训练数据集应比真实数据集具有更好的泛化性。

InSAR产生两个时间间隔的雷达图像之间的相位变化图。相位偏移是以下因素的组合:i)卫星观测几何、ii)仪器热噪声、iii)大气延迟、iv)介电性质的系统变化、v)像素的散射特性、以及vi)地表变形(例如,Bürgmann等人,2000年,Biggs等人,2007年,Ebmeier等人,2013年)。大气延迟可以分解为大气分层和湍流混合(Hanssen,2001年)。第一个组件导致与地形相关的相位延迟,而第二个组件通常被认为是空间和时间上的随机模式,其在大约10公里的距离上具有空间相关性(Hanssen,2001年)。

我们为考虑的三个组件分别生成了10,000个合成图像,即变形D、分层大气S和湍流大气T。每个图像代表一个跨越∼ 0.5°纬度和经度的区域(相当于Sentinel-1数据集的图像分辨率为500 × 500像素)。图1显示了D、S和T的示例合成图像(转换为缠绕图像)。合成数据生成的方法如下所述。
在这里插入图片描述
图1. 用于生成合成干涉图的合成组件(以弧度的包裹角度显示,大小为500×500像素)。第1列和第2列显示不同类型的变形。第3列和第4列显示来自相同位置(从上到下的行依次为Tungurahua、San Miguel和Erta Ale)的弱和强分层大气(使用Generic Atmospheric Correction Online Service (GACOS)获取)。第5列从上到下显示湍流大气,强度逐渐增加。

形变合成

我们使用广泛采用的解析解描述与嵌入在弹性半空间中的简单几何源相关的地表变形来合成变形信号D。我们采用蒙特卡洛方法选择源参数,并将三维地表位移投影到与卫星视线的夹角为0°–45°和方位角为0°–360°的接收角度中。由于CNN对方向不敏感,因此这代表了源与视觉几何之间最广泛的角度范围。对于岩浆室的膨胀和收缩,我们采用了莫吉(Mogi)模型(Mogi, 1958),深度为1–10公里,体积为105–10 7立方米。对于类似岩浆侵入的横向岩浆,我们使用水平圆形(硬币形状)裂缝模型(Fialko et al.,2001),半径为0.5–6公里,压力变化为105–10 7帕斯卡,深度为0.5–6公里3。由于地震,岩浆管和水平岩浆的变形是使用岡田(Okada,1985)错位模型进行建模的,该模型描述了剪切和张力错位。地震被分配在0°-360°范围内的走向,倾角为45°–90°,刮风为0°–360°,长度为0.5–10公里,深度为1–15公里,滑动为0.5–2米。岩浆管被分配在0°–360°范围内的走向,倾角为45°–90°,长度为2–8公里,深度为1–5公里,开启< 1米。水平岩浆被分配在0°–360°范围内的走向,倾角为0°–10°,长度和宽度最多为5公里,深度最多为6公里。

分层大气合成

我们使用通用大气校正在线服务(GACOS)基于天气模型数据来建模分层大气S(Yu等人,2017, 2018a,b)。从欧洲中期天气预报中心(ECMWF)生成的高分辨率水汽延迟(0.125°和6小时分辨率)派生出天顶总延迟(ZTD)地图。GACOS使用迭代对流层分解(ITD)模型(Yu等人,2017)从对流层总延迟中分离分层和湍流信号,并将最终的ZTD地图插值到90米空间分辨率和获取时间,使用航天飞机雷达地形任务(SRTM)的数字高程模型(DEM)。我们从2016年1月1日开始,每隔12天为每个代表性的火山生成100个GACOS对流层延迟地图。我们通过应用代表Sentinel-1入射角的标量因子来考虑天顶和卫星视线之间的差异。

湍流大气合成

湍流大气延迟T是空间相关的,其协方差可以用指数衰减函数描述。为简单起见,假设大气的统计特性是径向对称的,并且在干涉图上具有均匀的结构。一维协方差函数为,其中cij是像素i和j之间的协方差,dij是像素之间的距离,是最大协方差,κ是衰减常数,相当于指数折叠波长的倒数。我们可以从真实的干涉图中估计这些参数,根据所有可用的30,249个Sentinel-1干涉图,我们采用5–9 mm²的 和4–18 km的 κ。我们使用这些分布的蒙特卡罗样本生成合成方差-协方差矩阵,并使用Cholesky分解生成具有相应统计特性的合成图像。

5 方法

提出的机器学习框架如图2所示,采用卷积神经网络来识别InSAR数据中的火山变形。最初,我们使用合成图像训练网络(参见第4.1节)。这些图像被标记为1或正,表示其中包含了变形;以及0或负,表示其他组合。然后,初始模型用于预测过程(参见第4.2节),新的干涉图被划分为重叠的补丁,并且那些包含相位跳变的补丁被训练好的CNN模型进行测试。然后,专家对结果进行检查,模型进行重新训练,并重复分类过程(参见第4.3节)。
在这里插入图片描述
图2显示了提出的框架,分为两个部分:(a) 训练过程和 (b) 预测过程。在训练阶段,首先使用合成示例来训练CNN,以获得初始模型。预测过程测试新的干涉图的patch,并给出作为地面变形的概率P的输出,这些概率与高斯权重合并。最后,专家检查结果,并将真正和假阳性包括在内,以使用真实和合成示例的组合对CNN进行重新训练,以获得更好的性能。

5.1 使用合成数据初始化模型

我们采用迁移学习策略,即微调预训练的网络,而不是通过将权重和偏差初始化为零或随机值来训练新网络。该方法的训练过程更快,因为预训练网络的参数和特征已经通过大量和各种自然图像学习,并且可以对其进行高达1000个类别的分类。在本文中,我们的目标是将二分类为火山形变和非形变,因此最后两层 - 全连接层和 softmax 层 - 被修改,并且它们的学习速度明显比其他直接从预训练网络转移的层快。我们使用 AlexNet,因为我们之前的研究表明它在这个应用中的性能优于其他预训练网络(Anantrasirichai 等,2018)。AlexNet 包含五个卷积层和三个全连接层。第一、第二和第五个卷积层后面跟着最大池化层。每个卷积层和全连接层后面都应用了 ReLU。我们之前的工作发现验证准确率在大约30-40个epoch后趋于饱和(一个时期是当整个数据集通过神经网络前向传播和反向传播),因此我们将最大时期数设置为50。设置时期数过高可能导致过拟合,并且可以使用提前停止来在验证错误开始增加时停止训练过程(Goodfellow 等,2016)。整个数据集无法一次性输入神经网络,因此将其分成多个批次。我们将批量大小设置为可用系统内存的最大值,即100。softmax 层的输出是每个类别的预测概率。本文中符号 P 表示干涉图包含形变组分的概率。

我们使用每个组件(D、S 和 T)10,000 个合成示例来创建合成干涉图,它们是两个或三个信号的总和,权重相等或不相等,即 aD + bS + cT,其中 a、b、c ∈ [0,1]。图 3 显示了两个合成干涉图的示例,包括一个困难的案例 A 和一个简单的案例 B。示例 A 和 B 都使用了 D,因为火山岩浆室的体积变化为 107 m3,深度为 5 km,并且入射角为 30°,但方向相反。A 是由于强大的湍流和层状大气条件而对分类造成挑战的案例。相比之下,B 是一个更容易的案例,因为地形相关的大气人工构件 S 很小。然后将合成干涉图裁剪到 CNN 的输入尺寸(例如,对于 AlexNet(Krizhevsky 等,2012),为 224×224 像素),并将其缠绕到区间 [−π,π]。为了进行机器学习,我们将包裹的干涉图转换为灰度图像,即将范围在 [−π,π] 内的像素值缩放到 [0,255] 或 [−125,125](如果需要进行零中心归一化)。对于以下组合,每个类别包含 10,000 个合成包裹的干涉图。
在这里插入图片描述

2 类模型:模型使用 2 个类(形变和非形变)进行训练。我们通过将形变类别的信号 D + S + T 与非形变类别的信号 S + T 进行组合来生成训练数据。对于每个组合信号,都随机选择了组件 D、S 和 T。
3 类模型:最初,我们使用完全独立的 D、S 和 T 信号对 CNN 进行训练,但这是对真实数据集的不良表示,因此我们还使用了几种更现实的组合(例如 D + S、D + T、D + S + T),如表 1 所示。
91 类模型:我们通过将三个组件组合成 I = (αD + βS + γT) / (α + β + γ) 来生成加权干涉图(I),其中(α,β,γ) ∈ [0,0.25,0.5,0.75,1]。使用五个值变化三个权重会产生 91 种独特的组合,从而得到 91 个类别:类别 1 是 [α1 = 0,β1 = 0,γ1 = 1];类别 2 是 [α2 = 0,β2 = 0.25,γ2 = 0.75];类别 3 是 [α3 = 0,β3 = 0.5,γ3 = 0.5];……;类别 91 是 [α91 = 1,β91 = 1,γ91 = 1]。然后,我们采用多项式分类的方法进行权重估计。我们将每个组件的强度估算为多类问题,模型输出每个类别的每个权重的概率 Pc = {Pα,Pβ,Pγ}c。最终预测的权重 wfinal = {α,β,γ}final 是:
在这里插入图片描述
在这里插入图片描述
训练过程在布里斯托尔大学的高性能计算设施(BlueCrystal phase 4)上的图形处理单元(GPU)上运行。2 类、3 类和 91 类模型分别花费了大约 10、14 小时和 108 小时完成。结果如表 1 所示,包括分类准确率(Acc.)和类别召回率(RC),其中 RCc 是第 c 类的召回率,按照模型名称的顺序编号,例如对于模型“D+S vs S vs T”,c = 1 表示类别 D+S,c = 2 表示类别 S,c = 3 表示类别 T。所有模型在合成测试数据上表现良好(准确率和类别召回率均超过 90%)。

5.2 测试真实数据

接下来,我们调查了使用与我们的之前研究相同数据集的真实干涉图像来训练合成信号的 CNN 的性能。这些 InSAR 数据是由欧洲航天局(ESA)运行的 Sentinel-1 雷达任务获取的,并使用由地震、火山和构造观测与建模中心(COMET)开发的自动化 InSAR 处理系统 LiCSAR(http://comet.nerc.ac.uk/COMET-LiCS-portal/)进行处理。我们的数据集包含 30,249 个干涉图像,覆盖了 2016 年和 2017 年期间约 900 座火山。该数据集偏向于欧洲火山,因为轨道周期最短(每 6 天一次),而且 LiCSAR 系统的运行时间最长(2 年),因此约占总可用图像的近 50%。LiCSAR 系统定期计算距离最近的三个组合的干涉图像,形成了一组时间跨度逐渐增加的干涉图像三元组。每个干涉图像都被裁剪到以火山体为中心的经纬度跨度为 0.5° 的区域。从这个全球数据集中,我们期望能够充分探索 InSAR 大气和形变信号的范围,因为研究的火山位于不同的气候环境中(例如温带、热带和干旱地区),并且具有从陡峭的成层火山到盾状火山或火山口的不同形态。

在预测过程中,我们将真实的干涉图像划分为与 AlexNet 所需的输入尺寸(224 × 224 像素)相匹配的重叠图块。每个图块的左上角位置然后重复地移动 28 个像素,以覆盖整个图像。然后,我们使用 Canny 边缘检测(Canny, 1986)来检测 -π 和 π 之间的相位跳变的位置。包含相位不连续的图块被馈送到训练有素的 CNN 模型中,以获取它们代表地面形变的概率。在没有与相位不连续相关的强边缘的均匀区域中,不太可能存在快速的火山形变。因此,这些图块被立即定义为背景,并且不被 CNN 测试(Anantrasirichai et al., 2018)。最后,使用大小为 20 像素和标准偏差为 5 像素的旋转对称的高斯低通滤波器合并重叠图块的输出概率。最高的概率以及其位置被指示。表 1 显示了正确分类为包含形变(真阳性,TP)、错误分类(假阳性,FP)和误检测(假阴性,FN)的 Sentinel-1 干涉图像的数量。实验表明,干净的信号(“D vs S vs T”和“D + S vs S vs T”)更容易分类,但是通过它们训练的模型不适用于真实的干涉图像。在训练过程中将湍流大气 T 和形变 D 成分结合起来比结合成层大气 S 和形变 D 成分的效果更好(即“D + T vs S vs T”模型在真实数据上的表现优于“D + S vs S vs T”模型)。然而,组合 D + S + T 信号的性能最佳,因为它们的特征最接近真实的干涉图像

《Application of machine learning to classification of volcanic deformation in routinely generated InSAR data》(正在更新##########)
《The application of convolutional neural networks to detect slow, sustained deformation in InSAR time series》(正在更新##########)
《A deep learning approach to detecting volcano deformation from satellite imagery using synthetic datasets》(正在更新##########)

2. 目标检测

3. Transforer 及改进模块ViT和Swin Transforer的原理和代码实现

4. 迁移学习

5. LiCSAR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/536698.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于STM32F103单片机的时间同步项目

一、前言 本项目为前一个时间同步项目的更迭版本,由于之前的G031开发板没有外部晶振,从机守时能力几乎没有,5秒以上不同步从机时间就开始飞了。在考虑成本选型后,选择了带有外部有缘晶振的STM32F103C8T6最小单片机,来作为本次项目的开发平台。 G031时间同步链接: 基于ST…

mui和uniapp跳转外部链接

Hbuilder开发的app&#xff0c;会涉及到跳转H5页面 mui <!DOCTYPE html> <html><head><meta charset"utf-8"><meta name"viewport" content"initial-scale1.0, maximum-scale1.0, user-scalableno" /><link …

windows下安装yolov8环境(详细图文教程)

目录 一&#xff1a;前言 二&#xff1a;安装yolov8 一&#xff1a;前言 最近看了 YOLO 的发展史&#xff0c;发现在机器视觉领域的应用非常广泛&#xff0c;f刚好最近一直在做机器视觉的工作&#xff0c;特此记录下搭建yolov的环境。我们使用的版本是yolov8的就用这个作为演…

大小端、结构体对齐

目录 王道ppt总结&#xff1a;​编辑 个人理解&#xff1a; 相关文章&#xff1a; 王道ppt总结&#xff1a; 个人理解&#xff1a; 机器的读取数据的顺序&#xff1a;都是从低地址开始。 为什么&#xff1f;假如进行一个加法计算&#xff0c;肯定是从最低位开始&#xff0c…

spring eureka 服务实例实现快速下线快速感知快速刷新配置解析

背景 默认的Spring Eureka服务器&#xff0c;服务提供者和服务调用者配置不够灵敏&#xff0c;总是服务提供者在停掉很久之后&#xff0c;服务调用者很长时间并没有感知到变化。或者是服务已经注册上去了&#xff0c;但是服务调用方很长时间还是调用不到&#xff0c;发现不了这…

apline安装redisjson

安装前的说明 由于redis现在下载redisjson很繁琐&#xff0c;还可能需要科学上网&#xff0c;只能自己编译了 系统是apline&#xff0c; 为什么是这个系统&#xff1f;原因是docker安装redis是用了这个系统 下载地址,按照实际情况选择&#xff0c;如果不行就老老实实自己编译吧…

ESP8266开发

1esp8266Wifi连接,通过手机控制点灯 1.下载Arduino,编程 2.下载blinker手机APP。 3.下载blinker库。https://arduino.me/s/blinker-arduino?aid=711 4.打开编程工具 Arduino,加载blinker库 5. 打开库里面的例程,基于例程开发。 blinker-library-0.3.10230510\blinker-…

数据同步工具datax配置与示例

文章目录 前言一、部署步骤1、jdk环境2、python环境步骤一&#xff1a;安装方式一&#xff1a;官网下载安装包方式二&#xff1a;brew命令安装 步骤二&#xff1a;配置环境变量步骤三&#xff1a;验证 3、maven环境&#xff08;可选&#xff09; 二、下载安装datax1、下载datax…

C语言完结篇(17)

编译和链接 1. 翻译环境和运⾏环境 2. 翻译环境&#xff1a;预编译编译汇编链接 我们知道计算机能够执行的是二进制的指令 而我们的C语言代码都是文本信息 所以我们需要让C语言代码转变为二进制的指令&#xff08;这是需要编译器来进行处理的&#xff09; 翻译环境和运⾏…

SpringBoot启动流程分析之准备应用上下文refreshContext()

文章目录 源码入口1、准备刷新1.1、子类prepareRefresh()方法1.2 父类prepareRefresh&#xff08;&#xff09;方法 2、通知子类刷新内部bean工厂3、准备bean工厂4、允许上下文子类对bean工厂进行后置处理 源码入口 org.springframework.boot.SpringApplication#run(java.lang…

github克隆报错:failed: The TLS connection was non-properly terminated.

github克隆gazebo_ros_control报错 fatal: unable to access https://github.com/ros-controls/gazebo_ros_control.git/: gnutls_handshake() failed: The TLS connection was non-properly terminated. sudo apt-get install ros-noetic-gazebo-ros-control git 克隆gazeb…

微信小程序 django+nodejs电影院票务售票选座系统324kd

小程序Android端运行软件 微信开发者工具/hbuiderx uni-app框架&#xff1a;使用Vue.js开发跨平台应用的前端框架&#xff0c;编写一套代码&#xff0c;可编译到Android、小程序等平台。 前端&#xff1a;HTML5,CSS3 VUE 后端&#xff1a;java(springbootssm)/python(flaskdja…

C/C++基础----判断和循环

判断 if-elseif-else判断 语句&#xff1a; 条件使用之前的逻辑运算符或者关系运算符 if(条件1){条件1成立时内容 }else if(条件2){条件2成立时内容 }else{所有条件不成立时内容 }#include <iostream>using namespace std;int main() {int age 10;if (age > 18) {c…

高云FPGA的管脚约束文件的复制

问&#xff1a;Gowin里面能不能直接拷贝一个管脚约束文件进去用&#xff1f; 答&#xff1a; 可以直接拷贝&#xff0c;但是拷贝前后两个工程对应的芯片必须要是同一个芯片 拷贝方法: 第一步&#xff1a;按照被拷贝约束文件对应的芯片新建一个工程&#xff0c;然后将原工程文…

最强开源多模态生成模型MM-Interleaved:特征同步器突破,多模态生成的终极解决方案

前言 在人工智能领域&#xff0c;多模态生成模型一直是探索的前沿&#xff0c;它跨越了图像与文本之间的界限&#xff0c;开启了一种全新的交互方式。最近&#xff0c;上海人工智能实验室联合香港中文大学多媒体实验室&#xff08;MMLab&#xff09;、清华大学、商汤科技和多伦…

农场大乐斗游戏演示

功能介绍 农场系统 种菜操作&#xff1a;用户可以在农场中种植农作物&#xff0c;并进行浇水、杀虫、除草等维护操作。干旱、虫害、杂草都会影响农作物的生长速度和产量。农作物成熟后&#xff0c;用户需要及时收取&#xff0c;否则会在24小时后枯死&#xff0c;但可通过观看…

java 邮件发送表格

邮件发送表格 问题导入效果图 实现方案1. 拼接HTML文件&#xff08;不推荐&#xff09;2. excel 转HTML使用工具类来转化依赖工具类代码示例 使用已工具包 如 aspose-cells依赖代码示例 3.使用模板生成流程准备模板工具类代码示例 问题导入 在一些定时任务中&#xff0c;经常会…

JavaScript - 你是如何区分一个变量是对象还是数组的

难度级别:中高级及以上 提问概率:65% 我们日常如果想要获得一个变量的类型,大多会使用typeof的方法,但typeof却不是很准确,遇到null、数组或是对象这种数据类型的时候,他就失灵了,返回值是object,那么都有哪些方式可以区分一个变量的类…

浏览器工作原理与实践--同源策略:为什么XMLHttpRequest不能跨域请求资源

通过前面6个模块的介绍&#xff0c;我们已经大致知道浏览器是怎么工作的了&#xff0c;也了解这种工作方式对前端产生了什么样的影响。在这个过程中&#xff0c;我们还穿插介绍了一些浏览器安全相关的内容&#xff0c;不过都比较散&#xff0c;所以最后的5篇文章&#xff0c;我…

C++11的更新介绍(初始化、声明、右值引用)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 C11小故事&#xff1a; 19…