Model-Guided Deep Hyperspectral Image Super-resolution
方法
相关工作:深度学习方法:
- Multispectral and hyperspectral image fusion using a 3-D-Convolutional neural network
- Multispectral and hyperspectral image fusion by MS/HS fusion net
- Deep blind hyperspectral image fusion
基于模型的HSI超分辨率算法
观测图像与原始HR-HSI之间的线性关系可以写成
Z
Z
Z为HR-HSI,
X
X
X为LR-HSI,
Y
Y
Y为HR-MSI,
H
H
H为空间降采样矩阵,由模糊算子和子采样算子组成,
P
P
P为光谱降采样矩阵。
HSISR的目标函数可以表述为
其中
J
(
Z
)
J(Z)
J(Z)为正则化项,我们建议通过从一组训练HSI隐式学习的正则化来规范化这个反问题。我们使用有效的近端梯度下降(PGD)算法求解方程(2),令
F
(
Z
)
=
f
(
Z
)
+
J
(
Z
)
F(Z)=f(Z)+J(Z)
F(Z)=f(Z)+J(Z),其中
f
(
Z
)
f(Z)
f(Z)和
J
(
Z
)
J(Z)
J(Z)分别表示可微部分和不可微部分。作为梯度下降法的推广,PGD算法通过迭代计算最小化函数
F
(
Z
)
F(Z)
F(Z)
其中Prox表示与非平滑项
J
(
Z
)
J(Z)
J(Z)相关的近端算子,
λ
λ
λ是步长。当
f
(
Z
)
f(Z)
f(Z)是Lipschitz连续时,步长
λ
λ
λ可以设置为
λ
=
1
/
L
λ=1/L
λ=1/L,其中
L
L
L是
∇
Z
f
∇_Zf
∇Zf的Lipschitz常数。如果
L
L
L是未知的,步长
λ
=
λ
(
t
)
λ=λ^{(t)}
λ=λ(t)也可以通过线(line)搜索方法在每次迭代中自适应地设置。在等式(3)的每次迭代中,我们首先通过梯度下降来最小化可微部分
f
(
Z
)
f(Z)
f(Z),然后是近端操作。函数
J
(
Z
)
J(Z)
J(Z)的
Prox
λ
J
(
⋅
)
\text{Prox}_{λJ}(·)
ProxλJ(⋅)算子可以定义为
Prox
λ
J
(
⋅
)
\text{Prox}_{λJ}(·)
ProxλJ(⋅)算子可以通过应用于噪声观测
V
V
V的高斯去噪算法来实现。与正则化器
J
(
Z
)
J(Z)
J(Z)相关联的高斯去噪器
g
(
⋅
)
g(·)
g(⋅)可以是可以以闭合形式(closed-form)显式表示的传统的基于模型的去噪器,或者是由DCN训练程序获得的更复杂的基于学习的去噪器。
将PGD算法应用于等式(2)的目标函数,
f
(
Z
)
f(Z)
f(Z)对应于前两个保真度项
f
(
Z
)
f(Z)
f(Z)的梯度可以很容易地计算为
在每次迭代中,我们首先计算原始HR HSI的中间估计
V
(
t
)
V^{(t)}
V(t)为
然后是应用于
V
(
t
)
V^{(t)}
V(t)的近端算子
Prox
λ
J
(
⋅
)
\text{Prox}_{λJ}(·)
ProxλJ(⋅)
用于求解方程(2)的HSISR问题的迭代算法在算法1中给出,其中使用
X
X
X的双三次插值版本初始化
Z
(
0
)
Z^{(0)}
Z(0)。在基于模型的HSISR框架下,PGD算法通常需要数十次迭代才能收敛。在算法1中,任何现有的HSI去噪器
g
(
⋅
)
g(·)
g(⋅)都可以用来计算
Z
(
t
+
1
)
Z^{(t+1)}
Z(t+1)。由于DCN对自然图像具有出色的去噪能力,我们建议使用DCN去噪器来近似近端算子。具体而言,采用可以利用HSI的多尺度依赖性的类U-Net的DCN。在模型引导展开之后,使用基于DCN的去噪器也有助于整个网络的端到端训练。
模型引导的DCNN
与其他基于模型的图像恢复方法一样,正则化参数
λ
λ
λ和函数
g
(
Z
)
g(Z)
g(Z)很难联合优化。模型引导深度卷积网络(MoG-DCN)的整体网络架构如图所示,它执行算法1的
T
T
T次迭代。
重建模块的设计对应于如等式(7)(微分项)中所述的中间结果
V
(
t
)
V^{(t)}
V(t)的计算,如右图所示,由
Z
(
t
)
Z^{(t)}
Z(t)计算
V
(
t
)
V^{(t)}
V(t),使用卷积或反卷积获得
H
H
H,
H
T
H^T
HT,
P
P
P和
P
T
P^T
PT. DCN去噪模块的设计对应于如等式(8)(非微分项)中所述的更新的估计
Z
(
t
+
1
)
Z^{(t+1)}
Z(t+1)的计算(由
V
(
t
)
V^{(t)}
V(t)计算
Z
(
t
+
1
)
Z^{(t+1)}
Z(t+1))。为简单起见,我们采用U-Net作为HSI去噪的骨干网络架构。还可以采用其他更有效的HSI去噪网络。T个DCN去噪模块的参数共享不会降低重建性能,添加密集连接:拼接(Concat)+1×1卷积。损失函数为
实验
实验设置:
数据集:CAVE(32个512×512室内场景)和Harvard(50个真实世界室内和室外场景),31个波段,对于CAVE数据集,我们使用前20个HSI进行训练,最后12个HSI进行测试;对于Harvard数据集,我们使用前30个HSI进行训练,最后20个HSI进行测试。为了训练所提出的网络,分别从LR-HSIS
X
i
X_i
Xi和HR-RGB图像
Y
i
Y_i
Yi中提取大小为12×12×31和96×96×3的图像块。
代码实现
主页:https://see.xidian.edu.cn/faculty/wsdong/Projects/MoG-DCN.htm
使用:下载数据集,放到对应训练和测试文件夹
运行creat_pathlist.py生成txt文件
通过clean_dataset.py改变数据读取方法
运行./sf_8_CAVE/train.py来训练
运行./sf_8_CAVE/tst.py来测试
训练:有空去服务器跑一下~~下次一定
测试: