HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记
HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK
论文地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=7730324
1、文章简介:
该论文是用双通道卷积神经网络CNN分别提取空谱信息,然后将得到的抽象特征级联为全连接层的输入,以此作为空谱联合信息输入两层全连接层以及softmax层。此外,文中针对小样本问题,引入了迁移学习。
工作贡献:“与手工特征提取相比,所提出的深度模型可以自适应地学习光谱 - 空间联合特征,其包含来自光谱和空间域的语义和判别信息。 此外,学习的特征可以转移到不同的数据或任务[9]。 当训练样本有限时,可以从其他场景的模型转移底层和中层,只需要从有限的训练样本中训练前几层。 这样,即使在小的训练样本情况下,所提出的方法也可以很好地执行。”
2、算法简介:

3.1 从网络结构上说:
①文中首先构造了两个通道分别提取空谱特征:
Ⅰ、光谱通道:输入是一个以像素点为单位的一维数据,经过1-D cnn和1-D pooling堆叠处理,输出一个特征向量
。
Ⅱ、空间通道:以预测像素点为中心的空间邻域,沿光谱轴做平均,得到一个二维数据作为该通道输入,经过2-D cnn和2-D pooling堆叠处理,输出一个特征向量
。
(ps:文中说每个波段不可避免含有噪声,且“将噪声建模为具有零均值的高斯噪声”,沿光谱维取平均具有“融合所有波段的空间信息并抑制噪声”功能。)
②利用空谱联合特征进行预测标签:
将第①步中得到的两个特征向量级联,作为空谱联合特征,然后接两层全连接层,然后经过softmax层进行预测标签。
3.2 从训练上说:
“为了提高有限训练样本情况下的分类性能,我们使用来自其他遥感场景的标记样本训练网络,然后将底层和中层迁移当前场景的网络,并使用以下方法对顶部全连接层进行微调。”
3、实验结果和分析:
对于Indian Pines高光谱数据:

其中training sample指的是每类选取的训练样本数,文中指出,万一某类的样本数不够,只要在此类中选取一半的样本数量去训练。
two-CNN就是使用上述网络结构,但不用迁移学习的算法。
two-CNN-transfer就是是用来网络结构还用迁移学习,其中迁移数据只训练底层和中层的权值,然后带上全连接层用真实数数据微调后测试。
“虽然Indian pines和Salinas Valley之间的土地覆盖类型存在巨大差异,但从Salinas Valley学到的低水平和中等水平特征可以在Indian pines上重复使用,因为低和中特征反映了当地的空间结构 ,这在不同的场景和任务中是通用的。 转移层为Indian pines上的双CNN训练提供了良好的初始化,并导致分类的改进。但是,随着训练样本数量的增加,深层模型可以从当前场景中学到足够的信息,学到的功能可能比迁移的功能更好,这可以解释当训练样本数为200时双CNN迁移学习的性能减少。”
ps:我觉得论文里某些公式写的挺好,后面写论文可参考
例如:损失函数:

网络结构说明:



HYPERSPECTRAL IMAGE CLASSIFICATION USING TWOCHANNEL DEEP CONVOLUTIONAL NEURAL NETWORK阅读笔记的更多相关文章
- A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK文章笔记
A NEW HYPERSPECTRAL BAND SELECTION APPROACH BASED ON CONVOLUTIONAL NEURAL NETWORK 文章地址:https://ieeex ...
- 1 - ImageNet Classification with Deep Convolutional Neural Network (阅读翻译)
ImageNet Classification with Deep Convolutional Neural Network 利用深度卷积神经网络进行ImageNet分类 Abstract We tr ...
- ASPLOS'17论文导读——SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Computing
今年去参加了ASPLOS 2017大会,这个会议总体来说我感觉偏系统和偏软一点,涉及硬件的相对少一些,对我这个喜欢算法以及硬件架构的菜鸟来说并不算非常契合.中间记录了几篇相对比较有趣的paper,今天 ...
- ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network
最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...
- ISSCC 2017论文导读 Session 14 Deep Learning Processors,A 2.9TOPS/W Deep Convolutional Neural Network SOC
最近ISSCC2017大会刚刚举行,看了关于Deep Learning处理器的Session 14,有一些不错的东西,在这里记录一下. A 2.9TOPS/W Deep Convolutional N ...
- 读paper:Deep Convolutional Neural Network using Triplets of Faces, Deep Ensemble, andScore-level Fusion for Face Recognition
今天给大家带来一篇来自CVPR 2017关于人脸识别的文章. 文章题目:Deep Convolutional Neural Network using Triplets of Faces, Deep ...
- 树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning
树卷积神经网络Tree-CNN: A Deep Convolutional Neural Network for Lifelong Learning 2018-04-17 08:32:39 看_这是一 ...
- Paper: ImageNet Classification with Deep Convolutional Neural Network
本文介绍了Alex net 在imageNet Classification 中的惊人表现,获得了ImagaNet LSVRC2012第一的好成绩,开启了卷积神经网络在cv领域的广泛应用. 1.数据集 ...
- ImageNet Classification with Deep Convolutional Neural Network(转)
这篇论文主要讲了CNN的很多技巧,参考这位博主的笔记:http://blog.csdn.net/whiteinblue/article/details/43202399 https://blog.ac ...
随机推荐
- Web开发相关笔记 #05# MySQL中文无法匹配
2018-06-02 在 Class.forName 的时候记得先尝试 import 一下. 2018-06-04 1.JDBC SELECT 查询,中文条件查不出东西,可能是字符编码问题: Stri ...
- visual studio 2015下使用gcc调试linux c++开发环境搭建完整详解
一直以来,相信绝大部分的开发都是windows/mac下做开发,尤其是非嵌入式和qt系的,而开源服务器程序绝大部分都是跑在Linux下,几乎就没有跑在windows下的.一直以来开发人员都是在wind ...
- python之面向对象的高级进阶
一 .isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查是否obj是否是类 cls 的对象 class Foo(object ...
- alloc_skb申请函数分析
alloc_skb()用于分配缓冲区的函数.由于"数据缓冲区"和"缓冲区的描述结构"(sk_buff结构)是两种不同的实体,这就意味着,在分配一个缓冲区时,需要 ...
- bash 特性
命令hash: 缓存此前命令的查找结果:key-value key:搜索键 value:值
- Delphi XE5 for Android (十)
我觉得Delphi最强大的的功能之一就是开发数据库三层应用的DataSnap,在Android上的实现,首先是完成服务器的设计: (1)利用向导完成DataSnap服务器的框架,如下图: 由于是实验, ...
- vue学习【第五篇】:Vue组件
什么是组件 - 每一个组件都是一个vue实例 - 每个组件均具有自身的模板template,根组件的模板就是挂载点 - 每个组件模板只能拥有一个根标签 - 子组件的数据具有作用域,以达到组件的复用 根 ...
- Java日期时间(Date/Time)
获取当前日期和时间 在Java中容易得到当前的日期和时间.可以使用一个简单的Date对象的toString()方法,如下所示打印当前日期和时间: import java.util.Date; publ ...
- js replace使用及正则表达式使用
本文为博主原创,未经允许不得转载: js中replace方法与java中的replace方法相同,主要做替换. 表达式:stringObj.replace(rgExp, replaceText) 参数 ...
- 【译】第38节---EF6-基于代码的配置
原文:http://www.entityframeworktutorial.net/entityframework6/code-based-configuration.aspx EF6引入了基于代码的 ...