Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs

来源:IEEE TGRS 2020

下载:https://arxiv.org/abs/2002.01144

Abstract

本篇论文的主要工作就是基于信息融合的分类任务。

在这篇论文中,作者通过使用两个耦合的CNN,提出一种融合高光谱和LiDAR数据的框架。设计一个CNN从高光谱数据中了解光谱空间特征,另一个则用于捕获来自LiDAR数据。它们都由三个卷积层组成,最后两个卷积层通过参数共享策略。在融合阶段,特征级融合和决策级融合方法同时用于集成这些充足的异质特征。对于特征级融合,评估了三种不同的融合策略,包括串联策略,最大化策略和求和策略。对于决策级融合,加权采用求和策略,确定权重通过每个输出的分类精度。

提出的模型根据在美国休斯顿获得的城市数据集进行评估,还有在意大利Trento农村地区捕获的数据。在休斯顿数据中,作者的模型可以达到新记录,整体精度为96.03%。在Trento数据上,其总体精度为99.12%。这些结果充分证明了作者提出的模型的有效性。

INTRODUCTION

文中模型的数据源是两幅异质图像——高光谱图像(HSI)和激光雷达(LiDAR)图像。

HSI图像相比MSI具有更丰富的光谱信息,但是对于同一材质的物体区分性较弱,他们具有相似的光谱回应。不同于HSI,LiDAR可以记录物体的海拔信息,能够为HSI提供补充,二者优势互补。

例如:区域中的楼房和道路由同样的混凝土结构组成,HSI图像很难区分二者之间的差别,但是LiDAR图像则可以准确区分出楼房和道路,因为他们有不同的高度。相反,LiDAR无法区分两条用不同材料(沥青和混凝土)组成的道路,而可以用HSI。因此,融合高光谱和LiDAR数据是一种很有前途的方案,其性能已经得到了验证。

METHODOLOGY

作者提出的模型主要包括两个网络:用于光谱空间特征学习的HSI网络

和用于海拔特征学习的LiDAR网络。它们每个都包含一个输入模块,一个特征学习模块和融合模块,如上图所示。在特征学习模块中,输入的HSI图像和LiDAR图像分别通过一个三层的网络结构进行特征提取,三层网络结构中的后两个卷积层权值共享。权值共享能够减少网络参数,而且有利于两个分支统一优化。特征提取后则进入信息的融合模块,在融合模块中,构造了三个分类器,每个CNN都有一个输出层,它们的融合特征也具有输出层。

如图2所示,两组图像特征首先通过特征级融合 \(F\) 获得特征级融合特征\(F3=F1+F2\) 或者 \(F3=max(F1,F2)\),特征级融合可以采用逐元素相加或者Max函数。然后对上述 \(F1,F2,F3\) 分别以下操作:

\[y1=softmax(W1F1), y2=softmax(W2F2), y3=softmax(W3F3), y1,y2,y3\in R^{c*1}
\]

然后文中使用决策级融合 \(D\) 获得最终的融合特征:\(O=F1\odot y1+F2\odot y2+F3\odot y3\),\(\odot\) 为加权操作。

然后 \(L1\) 表示HSI图像(\(y1\))的交叉熵损失,\(L2\)表示LiDAR图像(\(y2\))的交叉熵损失。\(L3\)表示融合信息(\(O\))的交叉熵损失。所以最终的损失函数为:

\[L=\lambda1L1+\lambda2L2+L3
\]

EXPERIMENTS

CONCLUSIONS

在将来需要探索更强大的邻近提取方法,因为当前的分类图仍然存在过度平滑的问题。

论文学习笔记 - Classifification of Hyperspectral and LiDAR Data Using Coupled CNNs的更多相关文章

  1. 论文学习笔记 - 高光谱 和 LiDAR 融合分类合集

    A³CLNN: Spatial, Spectral and Multiscale Attention ConvLSTM Neural Network for Multisource Remote Se ...

  2. Apache Calcite 论文学习笔记

    特别声明:本文来源于掘金,"预留"发表的[Apache Calcite 论文学习笔记](https://juejin.im/post/5d2ed6a96fb9a07eea32a6f ...

  3. Lasso估计论文学习笔记(一)

    最近课程作业让阅读了这篇经典的论文,写篇学习笔记. 主要是对论文前半部分Lasso思想的理解,后面实验以及参数估计部分没有怎么写,中间有错误希望能提醒一下,新手原谅一下. 1.整体思路 作者提出了一种 ...

  4. Raft论文学习笔记

    先附上论文链接  https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf 最近在自学MIT的6.824分布式课程,找到两个比较好的githu ...

  5. 论文学习笔记--无缺陷样本产品表面缺陷检测 A Surface Defect Detection Method Based on Positive Samples

    文章下载地址:A Surface Defect Detection Method Based on Positive Samples 第一部分  论文中文翻译 摘要:基于机器视觉的表面缺陷检测和分类可 ...

  6. QA问答系统,QA匹配论文学习笔记

    论文题目: WIKIQA: A Challenge Dataset for Open-Domain Question Answering 论文代码运行: 首先按照readme中的提示安装需要的部分 遇 ...

  7. 【Python学习笔记】Coursera课程《Python Data Structures》 密歇根大学 Charles Severance——Week6 Tuple课堂笔记

    Coursera课程<Python Data Structures> 密歇根大学 Charles Severance Week6 Tuple 10 Tuples 10.1 Tuples A ...

  8. JMeter学习笔记(九) 参数化2--CSV Data Set Config

    2.CSV Data Set Config 1)添加 CSV Data Set Confi 2)配置CSV Data Set Config 3)添加HTTP请求,引用参数,格式 ${} 4)执行HTT ...

  9. JMeter学习笔记(十一) 关于 CSV Data Set Config 的 Sharing mode 对取值的影响

    关于 CSV Data Set Config 的一些介绍之前已经梳理过了,可以参考: https://www.cnblogs.com/xiaoyu2018/p/10184127.html . 今天主要 ...

随机推荐

  1. 修改ubuntu默认源

    修改文件 桌面版Ubuntu默认非root账户 可以先在 home/user/下新建一个文件source.list-new 将其写为 deb http://mirrors.aliyun.com/ubu ...

  2. Debian、kali类虚拟机网络设置

    Linux发行版分类 先说一下Linux发行版的分类,因为不同的发行版,各自设置的网络的方式就不相同, - 我常用的Linux发行版 -- Debian --- debian --- ubuntu - ...

  3. java Synchronized集合

    在Collections存在相关"Synchronized"支持同步的集合, 在java1.0 也存在"Vector"; 为什么会选择放弃"Vecto ...

  4. java基础整理总结篇(1)

    >>java数据区域,大致分以下几种 寄存器:位于cpu内部,寄存器的数量有限,所以寄存器根据需求分配.不能直接控制它. 堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器 ...

  5. 01.vue数据绑定

    Vue特点 渐进式: 渐进, 可以理解成一步一步的. 在使用Vue的时候, 我们不需要把整个Vue框架的东西都用上, 可以一步一步的根据需要慢慢的替换之前的代码. 自底向上逐层应用: 由底层开始, 把 ...

  6. 条件编译(debug)

    1. #ifdef 标识符 代码段1 #else 代码段2(可以为空) #endif (条件编译结束语句,和#ifdef配套使用) 如果标识符被#define过,则编译代码段1,否则编译代码段2 2. ...

  7. 空间向量变换,以及OpenGL的glm库简单应用

    测试项目请查看GitHub库 GLBIproject2/GLBIProject2_2

  8. 接口鉴权,提供给第三方调用的接口,进行sign签名

    //场景:公司要跟第三方公司合作,提供接口给对方对接,这样需要对接口进行授权,不然任何人都可以调我们公司的接口,会导致安全隐患: 思路: 在每个接口请求参数都带上ApiKey 和sign签名: 我们在 ...

  9. Python-维护排序好的序列模块-bisect

    bisect模块 处理已经排序的序列,升序,从小到大,分插入数据和查看插入数据的位置两大核心,类似于插入排序算法 插入数据 # 首先这个序列按升序规则已经排序好的 # 查找规则是二分查找,当数据相等的 ...

  10. Python-判断变量类型和继承链-type isinstance

    在很多情况下,需要对类型进程动态判断,因为不同的数据类型不能互相做运算并且各自拥有不同的运算逻辑,所有需要判断对象的类型,常用的是type和isinstance,type更过用于获取对象是什么类型构建 ...