《Hyperspectral Image Classification With Deep Feature Fusion Network》论文笔记
论文题目《Hyperspectral Image Classification With Deep Feature Fusion Network》
论文作者:Weiwei Song, Shutao Li, Leyuan Fang,Ting Lu
论文发表年份:2018
网络简称:DFFN
发表期刊:IEEE Transactions on Geoscience and Remote Sensing
一、本文提出的挑战
1.由于光谱混合和光谱特征空间变异性的存在,HSIs通常具有非常复杂的空间-光谱特征。
2.传统的CNN是由多个层次组成的,不同层次之间的强互补性和相关性在以往的研究中都没有得到充分利用。
二、提出的对应解决方案
1.引入剩余学习来优化几个卷积层作为身份映射,我们构建了一个非常深入的网络,在不降低性能的情况下提取更多HSIs的鉴别特征(也就是使用残差连接)。
2.采用融合机制,充分利用网络的多层特性
三、DFFN模型介绍
1.PCA降维:首先,对高光谱数据进行主成分分析(PCA)算法,提取出信息量最大的成分,从而降低计算成本。
(PCA解释:主成分分析(PCA算法)_NSSWTT的博客-CSDN博客_pca主成分分析公式)
2.图像输入:与输入整个图像的自然图像分类不同,基于CNN的HSI分类使用以标记像素为中心的图像补丁作为输入样本。
3.网络结构:根据卷积滤波器的数量分成三个阶段。具体来说,在第1阶段、第2阶段和第3阶段,分别有16、32和64个卷积滤波器。在每次卷积之后和激活之前,采用批处理归一化来加速网络的收敛。
4.特征融合:即利用不同层次之间的强互补和相关性信息进行HSI分类。考虑到不同层的特征图数量不同,在进行特征融合前,使用维数匹配函数(即线性投影)来保证它们具有相同的光谱维数。假设FL、FM、和FH分别为stage1、stage2和stage3的输出,它们分别有16、32和64个feature map。然后,使用64个大小为1 ×1的内核来对它们进行卷积。通过这样的卷积运算,FL、FM和FH的特征图数量都变成了64个。最后,通过元素化求和的方法实现了特征融合。
5.分类:融合后的特征经过多层完全连通的处理后转化为输出特征向量。然后,将特征向量输入到一个softmax层,计算每个类的条件概率。
四、实验
所用数据集:
1.Indian Pines:该场景有220个数据通道,横跨0.2 ~ 2.4 μm的光谱范围,每个波段的大小为145×145。该图像的空间分辨率为20 m/pixel,包含16个ground-truth类,其中大部分是不同类型的农作物。实验前去除20 吸水波段(不能被水反射)。false color image 和 ground truth data:
2.University of Pavia:该图像的尺寸为610×340×115,空间分辨率为1.3 m/pixel,光谱覆盖范围为0.43 to 0.86 μm. 选取九个类进行实验,实验之前去除了12个噪声很大的波段。false color image 和 ground truth data:
3.AVIRIS Salinas:该图像有224个大小为512 × 217的光谱波段,空间分辨率为3.7 m/pixel,包含16个ground-truth类,实验前去除20 吸水波段。false color image 和 ground truth data:
五、结果展示
1.定量指标:
总体精度(OA):通过正确分类测试样本的数量与测试样本总数之间的比率来计算的。
平均精度(AA):所有类精度的平均值。
Kappa系数:通过测量精度加权计算的,它代表了一致性程度的稳健度量。
2.在Indian Pines数据集上各方法分类结果展示(使用10%训练样本):
3.在University of Pavia数据集上各方法分类结果定量展示(使用2%训练样本):
4.在Salinas数据集上各方法分类结果定量展示(使用0.5%训练样本):
其余实验结果不再展示,论文后续对于主成分个数和图像补丁大小、网络深度三个参数数据做了实验。最后对不同的训练样本数量、不同特征融合策略做了实验比较。
Note:由于训练样本数量少,即使是本文提出的DFFN也不能增加到很深的网络。多层融合可以在一定程度上提高分类结果,提出的融合策略DFFN确实优于其他方法。然而,相反地,融合太多的层可能带来冗余信息,会大大降低性能。
六、总结
本文提出了一种新的DL-based 分类方法DFFN。与之前的网络相比,DFFN主要采用残差连接来增加模型的深度,可以提取更深层的特征。同时使用特征融合机制充分利用多层特征。
最新文章
- Eclipse安装ZooKeeper插件
- 有关docker的学习链接
- Lodop6 以上打印控件使用,详参考自带说明文档,打印样式及文字大小要特殊设置一下
- XML-RPC远程方法调用
- React-Native的基本控件属性方法
- jenkins api调用
- 【转载】setjmp和longjmp函数使用详解
- userInteractionEnabled
- 从微信推送看Android Service的创建和销毁
- 8000401a错误解决方式(Excel)
- 使用python+django+twistd 开发自己的操作和维护系统的一个
- java default使用
- ssh配置文件及问题解决
- 【Teradata SQL】日历函数查询
- Python基础之函数参数
- Javascript高级编程学习笔记(59)—— 事件(3)事件对象
- 用GDB调试程序(五)
- Unity3D AssetBundle相关
- POJ-2386.Lakecounting(DFS求连通块)
- PhotoShop CS6学习笔记
热门文章
- 总结几个简单好用的Python人脸识别算法
- Mysql 系列 | 日志模块
- AtCoder Beginner Contest 261E // 按位思考 + dp
- springmvc源码笔记-HandlerMethodReturnValueHandler
- NFS配置-实现多服务器共享目录
- 一些JS库汇总
- 什么是WordPress
- 别梦依稀咒逝川,Ruby二十八年前|M1芯片Mac os系统配置Ruby(3.0.0) on Rails(6.1.1)开发环境(2021最新攻略)
- 5.23 NOI 模拟
- 我与Apache DolphinScheduler社区的故事