3D Quasi-Recurrent Neural Network for Hyperspectral Image Denoising-网络复杂

  • 引言
  • 相关工作
  • 方法
    • 3D Quasi-Recurrent Unit
    • 交替方向结构
  • 实验
    • ICVL数据集实验
    • 遥感图像实验
  • 讨论与分析
  • ★代码测试

引言

参考:J. Bradbury, S. Merity, C. Xiong, and R. Socher. Quasi-recurrent neural networks. International Conference on Learning Representations (ICLR), 2017.

基于学习的方法依赖于卷积神经网络来代替昂贵的优化和手工制作的先验。尽管结果令人满意,但这些方法通过学习多通道或band-wise 2D卷积来模拟HSI,这牺牲了光谱维的灵活性(因此需要再训练网络来适应光谱维不匹配的HSI),或牺牲了提取GCS(global correlation along spectrum)知识的模型能力(因此导致相对较低的性能)。

我们引入了一个新的构件,即3D准递归单元(QRU3D),从3D的角度对HSI进行建模。该单元包含一个3D卷积子组件和一个准递归池化函数,分别支持结构空谱相关和GCS建模。3D卷积子组件可以从多个相邻光谱中提取空间光谱特征,而准循环池化在动态门控(gating)机制的控制下,在整个光谱上循环合并这些特征。这种机制使得池化权重可以通过输入特征动态计算,从而允许自适应地建模GCS知识。为了消除由普通递归结构引入的单向(unidirectional)因果依赖,我们进一步提出了一种没有额外计算成本的交替方向结构。

相关工作

HSI去噪的一些方法:BM4D、TDL、低秩张量:ITS-Reg,LLRT和NG-meet.

HSI去噪的DL方法:HSI-DeNet、HSID-CNN、DSSRL等,所有这些基于DL的方法都没有充分利用GCS的知识,并且它们不能调整学习的参数来自适应地拟合输入数据,因此缺乏辨别与输入相关的空谱相关性的自由。

DL去噪:DnCNN、Image restoration using very deep convolutional encoder-decoder networks with symmetric skip connections、MemNet(Memnet: A persistent memory network for image restoration)、Residual dense network for image restoration、Residual non-local attention networks for image restoration. 虽然所有这些网络都可以直接扩展到HSI的情况,但没有一个专门考虑HSI的领域知识(domain knowledge)。

深度图像序列建模:BRCN、ConvLSTM

方法

Y=X+ϵY=X+\epsilonY=X+ϵ,Y∈RH×W×BY\in\mathbb{R}^{H\times W\times B}Y∈RH×W×B,ϵ\epsilonϵ为加性随机噪声,包括高斯噪声、稀疏噪声(条纹、死线和脉冲)或它们的混合。

我们的网络由6对对称的QRU3D组成,分别对编码器和解码器进行卷积和反卷积,总共有十二层。在编码器部分,我们使用stride=2的两层卷积对输入进行下采样,然后在解码器部分使用stride=1/2(步长1/2啥意思?)的两层卷积进行上采样。下采样和上采样操作的好处是,我们可以在相同的计算成本下使用更大的网络,并增加感受野大小以利用更大图像区域中的上下文信息。每一层都包含一个核大小为3×3×3的QRU3D,它被设置为根据经验最大化性能。其中CoutC_{out}Cout​为output channels. 每层都添加了对称跳跃连接。此外,除顶部和底部(配有双向结构)之外的所有层都配备了交替方向结构,以避免方向偏差(bias)。

3D Quasi-Recurrent Unit

QRU3D是QRNN3D的基本构件。它由两个子组件组成,即3D卷积和准递归池化。

参考:3d convolutional neural networks for human action recognition.
Learning spatiotemporal features with 3d convolutional networks.

3D卷积:QRU3D的3D卷积利用分离的滤波器组执行两组3D卷积,产生通过不同激活函数的张量序列Z=tanh⁡(Wz∗I)F=σ(Wf∗I)\begin{array}{l} \mathbf{Z}=\tanh \left(\mathbf{W}_{z} * \mathbf{I}\right) \\ \mathbf{F}=\sigma\left(\mathbf{W}_{f} * \mathbf{I}\right) \end{array} Z=tanh(Wz​∗I)F=σ(Wf​∗I)​

其中I∈RCin×H×W×BI\in\mathbb{R}^{C_{in}\times H\times W\times B}I∈RCin​×H×W×B为来自上一层的输入特征映射(在第一层,输入I=YI=YI=Y,Cin=1C_{in}=1Cin​=1),Z∈RCout×H×W×BZ\in\mathbb{R}^{C_{out}\times H\times W\times B}Z∈RCout​×H×W×B是高维候选张量。FFF和ZZZ有相同的维度,代表控制动态记忆行为的神经遗忘门。WzW_zWz​和Wf∈RCout×Cin×3×3×3W_f\in\mathbb{R}^{C_{out}\times C_{in}\times 3\times 3\times 3}Wf​∈RCout​×Cin​×3×3×3都是3D卷积滤波器组(banks),∗*∗表示3D卷积,σσσ表示sigmoid函数。嵌入式C3D可以有效地利用HSI中的结构空谱相关性。

准递归池化:我们首先沿光谱分裂ZZZ和FFF,分别生成zbz_bzb​和fbf_bfb​的序列,然后将这些状态馈入一个准递归池化函数hb=fb⊙hb−1+(1−fb)⊙zb,∀b∈[1,B](1)\mathbf{h}_{b}=\mathbf{f}_{b} \odot \mathbf{h}_{b-1}+\left(1-\mathbf{f}_{b}\right) \odot \mathbf{z}_{b}, \quad \forall b \in[1, B]\quad(1) hb​=fb​⊙hb−1​+(1−fb​)⊙zb​,∀b∈[1,B](1)

其中⊙\odot⊙代表逐元素乘法,hb−1h_{b-1}hb−1​是通过所有先前状态合并的隐藏状态,也表示该层输出中的第b-1个波段,h0=0h_0=0h0​=0,遗忘门fbf_bfb​平衡当前候选zbz_bzb​和先前memory的权重,即隐藏状态hb−1h_{b-1}hb−1​. 它的值依赖于当前输入III而不是像卷积滤波器一样固定,可以有效地适应输入图像本身,而不仅仅依赖于训练阶段学习的参数。通过这种构造,波段间信息将被准确地合并。同时,由于这种动态池化在整个光谱范围内反复运行,因此可以有效地利用GCS.

交替方向结构

前向QRU3D从第一个z1z_1z1​到最后一个zBz_BzB​依次读取候选张量zbz_bzb​,因此隐藏状态hbh_bhb​仅取决于先前的zbz_bzb​(和它们对应的波段)。这引入了因果依赖,因为隐藏状态的计算流单向传播,如图4(a)所示,这对于HSI是不合理的。这引入了因果依赖,因为隐藏状态的计算流单向传播,如图4(a)所示,这对于HSI是不合理的。
一个典型的解决方案是使用双向结构,其中一层网络包含两个子层,即前向QRU3D和反向QRU3D,如图4(b)所示。前向QRU3D按顺序读取候选张量序列,并计算前向隐藏状态序列。反向的QRU3D以相反的顺序读取序列,导致一系列反向的隐藏状态。这一层的输出是通过逐元素地(elementwise)添加向前和向后隐藏状态来计算的。然而,这种结构使计算负担不可接受,因为内存消耗几乎是原来的两倍。

为了缓解这个问题,我们提出了一个交替方向的结构。具有交替方向结构的QRNN3D改变了每个层中隐藏状态的计算流的方向,如图4(c)所示。这种结构是通过交替堆叠(stacking)前向和反向QRU3D(啥意思?)来构建的,其中前向(或反向)状态被下一层中的反向(或前向)状态合并,使得全局上下文信息可以在整个光谱中传播。与双向结构的典型解决方案相比,我们提出的交替方向结构几乎不增加额外的计算成本,同时保持了从HSI的整个光谱建模依赖性的能力,而不管输出的位置如何。

参考:Neural machine translation by jointly learning to align and translate.
Bidirectional recurrent convolutional networks for multi-frame super-resolution.
Bidirectional recurrent neural networks.

实验

ICVL高光谱数据集,其中在31个光谱波段上以1392×1300的空间分辨率收集了201幅图像。我们使用100幅图像进行训练,5幅图像用于验证,而其他图像用于测试。为了扩大训练集,我们从训练HSIs中裁剪多个重叠的体(volumes),然后将每个体作为一个训练样本。在裁剪过程中,每个体的空间大小为64×64,光谱大小为31,目的是保存完整的HSI光谱。还采用了旋转和缩放等数据增强方案,总共产生大约50k个训练样本。对于测试集,在给定计算成本的情况下,我们将每个图像的主要区域裁剪成512×512×31的大小。

此外,我们还在包括Pavia Centre, Pavia University, Indian Pines and Urban在内的高光谱遥感数据集上对模型的鲁棒性和灵活性进行了评估。Pavia Centre的光谱波段数为102,Pavia University为103。Indian Pines和Urban分别由224个波段的AVRIS传感器和210波段的HYDICE高光谱系统采集。两者均已用于真实的HSI去噪实验。

噪声设置:

在高斯噪声的情况下,我们比较了几种典型的传统方法,包括基于滤波的方法(BM4D)、字典学习方法(TDL)和基于张量的方法(ITSReg、LLRT)。在复杂噪声情况下,相互竞争的传统方法包括低秩矩阵恢复方法(LRMR、LRTV、NMoG)和低秩张量方法(TDTV)。

对于DL方法,我们将我们的模型与HSID-CNN进行比较。此外,任何用于单个图像去噪的DL方法都可以扩展到HSI去噪的情况(通过修改第一层以适应HSI,即CinC_{in}Cin​从3改变到31)。为了完整起见,我们还比较了这种最先进的2D DL方法,即MemNet(第一层Cin=31C_{in}=31Cin​=31),这需要固定数量的光谱波段。由于我们的训练设置与其他DL方法不同,我们使用精心设计的训练策略来微调/重新训练他们的预训练模型,以在我们的数据集中实现更好的性能。

我们开发了一个增量(incremental)训练策略来稳定和加速训练,这也避免了网络收敛到一个差的局部最小值。网络是通过最小化预测的高质量HSI和GT之间的均方误差(MSE)来学习的。网络参数如[17]中所述进行初始化,并使用ADAM优化器。

[17] Delving deep into rectifiers: Surpassing human-level performance on imagenet classification.

我们只需分别在高斯和复杂噪声情况下训练两个模型。模型是增量式训练的,重用先前状态(预训练参数),以最大化训练效率。

评估指标:PSNR、SSIM、SAM.

ICVL数据集实验

高斯噪声情形:在第二阶段(epoch 50)结束时训练的模型用于处理所有不同水平的退化图(corruption)(我们不会训练多个网络分别处理不同的噪声强度。相反,仅使用具有不同噪声强度的训练样本来训练单个网络)。图6显示了噪声水平σ = 50时的去噪结果。定性评估结果列于表3。

复杂噪声情形:在第三阶段(epoch 100)结束时训练的单个模型被用来同时处理Case 1-5,我们的训练集中的每个样本都被一种噪声类型(即Case 1-4)破坏,而在Case 5中,每个测试样本都遭受多种类型的噪声,不包含在训练集中。我们分别在图7和表4中显示了定性和定量的结果。图8显示了这些HSIs中每个波段的PSNR值。

遥感图像实验

图9提供了直观的比较。这似乎表明来自ICVL数据集的知识是对来自帕维亚中心数据集的知识的补充,因此灵活性带来的迁移学习将带来巨大的性能优势。真实数据实验见图10和图11。

讨论与分析

增量训练的有效性:

QRNN3D中的成分分析:Ablations结果如表6所示。

网络超参数选择(网络的深度和宽度):见表7.

可视化GCS知识:为了在QRNN3D中可视化捕获的GCS知识,我们首先展开等式(1)得到hj=∑i=1jΦj(zi)∀i,j∈[1,B],i≤j\mathbf{h}_{j}=\sum_{i=1}^{j} \Phi_{j}\left(\mathbf{z}_{i}\right) \quad \forall i, j \in[1, B], i \leq j hj​=i=1∑j​Φj​(zi​)∀i,j∈[1,B],i≤j

其中Φj(zi)=fj⊙fj−1⋯⊙fi+1⊙(1−fi)⊙zi\Phi_{j}\left(\mathbf{z}_{i}\right)=\mathbf{f}_{j} \odot \mathbf{f}_{j-1} \cdots \odot \mathbf{f}_{i+1} \odot\left(1-\mathbf{f}_{i}\right) \odot \mathbf{z}_{i}Φj​(zi​)=fj​⊙fj−1​⋯⊙fi+1​⊙(1−fi​)⊙zi​.

我们通过ziz_izi​对hjh_jhj​的贡献度来定义GCSijGCS_{ij}GCSij​
GCSij=∥Φj(zi)/hj∥FG C S_{i j}=\left\|\Phi_{j}\left(\mathbf{z}_{i}\right) / \mathbf{h}_{j}\right\|_{F} GCSij​=∥Φj​(zi​)/hj​∥F​

其中///表示element-wise division. 它还暗示了波段iii对波段jjj的影响。为了完全可视化GCS(在前向(反向)的QRU3D中,捕获的GCS是一个上(下)三角形矩阵),我们选择第一个双向QRU3D进行分析。图13(a)展示了一个随机选择的HSI的捕获GCS,显示了每个波段的输出将受到整个光谱的高度影响。图13(b)显示了每个波段输出的相对波段数。可以看出,第15~17波段(h15,h17h_{15},h_{17}h15​,h17​)与几乎所有波段(ZZZ)都有很深的相关性。图13(c)总结了ICVL所有测试图像的统计数据。它表明,随机选择的波段通常与至少15个波段(总共31个)相关,这意味着我们的模型有效地利用了GCS,并且我们的方法还可以自动确定全局光谱中最相关的波段。


我们在ICVL数据集上预处理的模型可以直接用于处理遥感图像,而这在大多数现有的用于HSI建模的DL方法中是不可行的。

★代码测试

源代码:https://github.com/Vandermode/QRNN3D

论文笔记22:QRNN3D: 3D Quasi-Recurrent Neural Network for Hyperspectral Image Denoising相关推荐

  1. Quasi Recurrent Neural Network (QRNNs) (git待更新...)

    文章目录 1. Introduction 2.模型详解 2.1. 卷积 2.2. 池化 相关代码 参考文献 工程化的时候总会考虑到性能和效率,今天的主角也是基于这个根源,最终目的是在准确率保证的前提下 ...

  2. 论文笔记 A Spatial-Temporal Decomposition Based Deep Neural Network for TimeSeries Forecasting

    0 abstract 空间时间序列预测问题出现在广泛的应用中,如环境和交通问题.由于存在特定的空间.短期和长期模式,以及维度的诅咒,这些问题具有挑战性. 在本文中,我们提出了一个用于大规模空间时间序列 ...

  3. 论文笔记 NLPCC 2016|A Convolution BiLSTM Neural Network Model for Chinese Event Extraction

    文章目录 1 简介 1.1 动机 1.2 创新 2 背景知识 3 方法 3.1 触发词标记 3.1.1 单词级别模型 3.1.2 字符级别模型 3.2 论元标记 4 实验 4.1 触发词标记 4.2 ...

  4. 论文笔记01——PoseCNN:A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes

    参考链接: https://blog.csdn.net/nwu_NBL/article/details/83176353 论文标题:<PoseCNN:杂乱场景中物体6D姿态估计的卷积神经网络&g ...

  5. 【论文笔记】MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding

    1.Task 异构图表示学习 2.Motivation 先前的工作存在如下问题: 忽略节点的属性特征 舍弃元路径内部节点,仅使用元路径中的头尾节点 仅使一种元路径 3.Methodology 为解决上 ...

  6. 3-D Quasi-Recurrent Neural Network for Hyperspectral Image Denoising

    1. 摘要 作者设计了一个 QRU3D 块来对高光谱图像进行去噪,其中的 3D 卷积负责提取空间和光谱的结构相关性,而近似循环池化函数则用来捕获光谱方向的全局相关性. 此外,作者还引入了交替方向结构, ...

  7. 论文笔记及Pytorch复现:A Dual-Stage Attention-Based Recurrent Neural Network for Time Series Prediction

    论文地址 GitHub代码地址 论文题目为<基于双阶段注意力机制的循环神经网络>,文章本质上还是基于Seq2Seq的模型,结合了注意力机制实现的时间序列的预测方法,文章的一大亮点是:不仅在 ...

  8. Attention-Based Recurrent Neural Network Models for Joint Intent Detection and Slot Filling论文笔记

    文章目录 摘要 方法 Encoder-Decoder Model with Aligned Inputs Attention-Based RNN Model 实验 论文连接:Attention-Bas ...

  9. 论文笔记与解读《DRAW: A Recurrent Neural Network for Image Generation》

    前言 笔者临近硕士毕业,我的硕士毕业项目十分类似一个非常著名的研究工作: DRAW: A Recurrent Neural Network for Image Generation,该项工作由2015 ...

最新文章

  1. mysql 连接 优化_(一)MySQL 连接优化
  2. curl测试返回时间
  3. MySQL—03—MySQL的查询
  4. 摄影师张梦格App项目总结
  5. 2017年实时更新系统hosts文件(不能访问时才会更新)不要用于非法行为 只供内部测试...
  6. Oracle查询优化-07日期运算
  7. 多线程inline hook
  8. Linux系统下,MySQL以及禅道的安装/卸载
  9. [leetcode] 617. Merge Two Binary Trees
  10. UVA216 ——dfs
  11. Win-MASM64汇编语言-NEG指令
  12. 成立一年 百度搜索公司迎来首任 CTO
  13. ctguoj-取石头 (15分)
  14. cortana 无法使用_如何使用Cortana创建和编辑列表(并将它们与Wunderlist同步)
  15. python—Django面试题汇总
  16. 软件测试报告费计什么科目,软件记什么会计科目
  17. 怎么在html中把3个单元格合并成2个,Excel表格怎么将一个单元格拆分成2个?将多个单元合并成一个的方法...
  18. MathType编辑双向斜箭头的教程
  19. Oracle EBS中分类账和法人实体 的关系(有sql语句实例)
  20. bzoj 5454: Subsequence

热门文章

  1. 外贸公司用邮件开发客户需要注意些什么?
  2. 一觉醒后ChatGPT 被淘汰了
  3. 湖南大学计算机学院陈浩,杨圣洪-湖大信息科学与工程学院
  4. 用python实现自动化办公------定时发送微信消息
  5. 什么东西可以改善睡眠,可以试试这些助眠好物改善睡眠
  6. DirtyWordsFilter(脏字过滤)
  7. PageHelper.startPage与PageHelper.offsetPage区别
  8. matlab导入数据后画图_简易数据采集分析流程.stm32+python
  9. 如何输出一个某种编码的字符串?
  10. c++编程规范和范例