基于稀疏表示与字典学习的图像超分辨率算法
我将为您详细讲解这个算法。该算法利用稀疏表示理论,通过学习一个过完备字典,将低分辨率图像块表示为字典中少数原子的线性组合,进而重建出对应的高分辨率图像块。
算法描述
图像超分辨率(Super-Resolution, SR)的目标是从一幅或多幅低分辨率(LR)图像中恢复出一幅高分辨率(HR)图像。基于稀疏表示的方法假设:自然图像块在某个适当的过完备字典下具有稀疏性,即可以用字典中极少数的原子(基)线性表示。并且,低分辨率图像块和高分辨率图像块共享相同的稀疏表示系数。通过学习一个联合字典(或一对字典),并利用稀疏先验,可以有效地从LR图像估计出缺失的高频细节,重建出HR图像。
解题过程(算法核心步骤)
1. 核心思想与建模
- 稀疏先验:一个自然的图像块 \(\mathbf{x} \in \mathbb{R}^n\) 可以由一个过完备字典 \(\mathbf{D} \in \mathbb{R}^{n \times K} (K > n)\) 线性表示为 \(\mathbf{x} \approx \mathbf{D} \boldsymbol{\alpha}\),其中表示系数 \(\boldsymbol{\alpha} \in \mathbb{R}^K\) 是稀疏的(即大部分元素为零)。
- 联合表示假设:低分辨率图像块 \(\mathbf{y}\) 和高分辨率图像块 \(\mathbf{x}\) 在各自对应的字典 \(\mathbf{D}_l\) 和 \(\mathbf{D}_h\) 下,具有相同的稀疏表示系数 \(\boldsymbol{\alpha}\)。即:
\[ \mathbf{y} = \mathbf{D}_l \boldsymbol{\alpha} + \boldsymbol{\epsilon}, \quad \mathbf{x} = \mathbf{D}_h \boldsymbol{\alpha} \]
其中 \(\boldsymbol{\epsilon}\) 表示噪声或误差。
- 降质关系:LR图像被视为HR图像经过模糊和下采样后得到。假设降质过程为:\(\mathbf{y} = \mathbf{S} \mathbf{H} \mathbf{x}\),其中 \(\mathbf{H}\) 为模糊算子,\(\mathbf{S}\) 为下采样算子。
2. 字典学习
为了得到能够有效表示图像块的字典 \(\mathbf{D}_l\) 和 \(\mathbf{D}_h\),我们需要从训练数据中学习。
- 训练数据准备:收集一组HR图像,通过模拟降质过程(模糊+下采样)生成对应的LR图像。然后从HR和LR图像中分别提取大量小块对 \(\{ \mathbf{x}_i, \mathbf{y}_i \}\)。
- 联合字典学习目标:学习一对字典 \(\mathbf{D}_h\) (用于HR) 和 \(\mathbf{D}_l\) (用于LR),使得对于所有训练块对,都能找到一组共享的稀疏系数 \(\boldsymbol{\alpha}_i\)。
最小化以下目标函数:
\[ \min_{\mathbf{D}_h, \mathbf{D}_l, \{ \boldsymbol{\alpha}_i \}} \sum_i \left( \| \mathbf{x}_i - \mathbf{D}_h \boldsymbol{\alpha}_i \|_2^2 + \| \mathbf{y}_i - \mathbf{D}_l \boldsymbol{\alpha}_i \|_2^2 + \lambda \| \boldsymbol{\alpha}_i \|_1 \right) \]
- 前两项是重建误差,确保字典能分别表示HR和LR块。
- 第三项是 \(\ell_1\) 范数正则化,用于约束系数 \(\boldsymbol{\alpha}_i\) 的稀疏性。
- \(\lambda\) 是平衡稀疏性与重建误差的正则化参数。
- 学习算法:通常采用交替优化方法(如K-SVD算法的变种):
- 稀疏编码:固定 \(\mathbf{D}_h\) 和 \(\mathbf{D}_l\),对每个块对求解 \(\boldsymbol{\alpha}_i\)。这是一个Lasso问题,可以使用正交匹配追踪(OMP)或基追踪(BP)等算法求解。
- 字典更新:固定所有 \(\boldsymbol{\alpha}_i\),逐个更新字典 \(\mathbf{D}_h\) 和 \(\mathbf{D}_l\) 的原子,以最小化重建误差。
3. 超分辨率重建过程
给定一幅测试LR图像,重建其HR图像的步骤如下:
- 预处理:对LR图像进行双三次插值,将其放大到目标HR尺寸,得到初始估计 \(\mathbf{X}_0\)。
- 分块处理:将初始HR估计 \(\mathbf{X}_0\) 和原始LR图像 \(\mathbf{Y}\) 分别划分为重叠的小块。
- 对每个块对的稀疏编码:
- 对于从 \(\mathbf{Y}\) 中提取的LR块 \(\mathbf{y}_p\),求解其稀疏表示系数 \(\boldsymbol{\alpha}_p\):
\[ \min_{\boldsymbol{\alpha}_p} \| \mathbf{y}_p - \mathbf{D}_l \boldsymbol{\alpha}_p \|_2^2 + \lambda \| \boldsymbol{\alpha}_p \|_1 \]
这仍然是一个稀疏编码问题,用OMP等算法求解。
- 关键步骤:利用共享系数的假设,使用求得的稀疏系数 \(\boldsymbol{\alpha}_p\) 和HR字典 \(\mathbf{D}_h\) 重建出对应的HR图像块:
\[ \hat{\mathbf{x}}_p = \mathbf{D}_h \boldsymbol{\alpha}_p \]
- 块聚合:将所有重建出的HR块 \(\hat{\mathbf{x}}_p\) 放回其对应位置。由于块之间是重叠的,对重叠区域的像素值进行平均,得到全局的HR图像估计 \(\hat{\mathbf{X}}\)。
- 全局约束优化(后处理):为了进一步保证重建质量,通常会将上述基于稀疏表示的重建结果作为一个初始解,然后施加全局一致性约束(即重建的HR图像在降质后应尽可能接近观察到的LR图像)。这可以通过求解以下优化问题实现:
\[ \hat{\mathbf{X}} = \arg \min_{\mathbf{X}} \| \mathbf{S} \mathbf{H} \mathbf{X} - \mathbf{Y} \|_2^2 + \gamma \| \mathbf{X} - \hat{\mathbf{X}}_{sparse} \|_2^2 \]
其中 \(\hat{\mathbf{X}}_{sparse}\) 是稀疏表示重建的结果,\(\gamma\) 是权重参数。这个二次优化问题通常有闭式解或可以用梯度下降法快速求解。
4. 优势与特点
- 灵活性:不依赖于固定的插值核,通过学习字典自适应地捕获图像的局部结构。
- 能产生锐利边缘:稀疏先验倾向于选择最能代表图像结构的原子,有助于重建出清晰的边缘和纹理。
- 与示例学习结合:该方法本质上是一种基于外部示例的学习方法,字典从训练数据中学习到了自然图像的先验知识。
- 计算复杂度:稀疏编码步骤(如OMP)在测试阶段是计算瓶颈,但可以通过优化算法或使用更小的字典来加速。
总结
基于稀疏表示与字典学习的图像超分辨率算法,其核心在于利用图像块在过完备字典下的稀疏性先验,并通过学习LR-HR块对之间的共享稀疏表示关系,将LR图像的稀疏系数“映射”到HR空间进行重建。该方法在深度学习方法普及之前,是图像超分辨率领域的一个重要里程碑,其思想(如稀疏先验、从数据中学习表示)对后续的深度学习SR方法也有深远影响。