基于Bandelet变换与BLSGSM模型的高级图像去噪系统
项目简介
本项目实现了一套高性能的图像去噪系统,旨在解决高分辨率图像在高斯白噪声环境下的恢复问题。算法核心结合了Bandelet变换的几何自适应特性与BLSGSM(高斯尺度混合模型的贝叶斯最小二乘估计)统计模型。
系统通过多尺度分解和几何流(Geometric Flow)搜索,能够比传统小波变换更稀疏地表示图像的边缘和纹理结构。在此稀疏域上,利用BLSGSM对系数进行统计建模和去噪,有效保留了图像细节。此外,为了消除变换域去噪常见的吉布斯伪影(Gibbs phenomena),项目集成了平移不变(Translation-Invariant, TI)策略,显著提升了输出图像的视觉质量和PSNR/SSIM指标。
功能特性
- 几何自适应稀疏表示:利用Bandelet变换思想,对图像的高频子带进行分块几何最佳基搜索,适应图像的边缘方向。
- BLSGSM 统计去噪:在变换域引入贝叶斯最小二乘估计(Gaussian Scale Mixtures模型),实现对噪声系数的精确估计。
- 平移不变 (TI) 增强模式:支持Cycle Spinning策略,通过循环平移、去噪、逆平移和平均操作,有效抑制伪影并提升信噪比。
- 由粗到细的多尺度处理:支持自定义小波分解层数(默认为3层),对不同频率的子带分别进行处理。
- 全自动评估体系:内置高分辨率测试图像生成、加噪、去噪及PSNR(峰值信噪比)与SSIM(结构相似性)指标计算。
系统逻辑与核心算法实现
本项目的主程序 main.m 包含完整的去噪流程控制、参数配置及核心算法实现。以下是代码的具体实现逻辑分析:
1. 系统初始化与数据准备
主函数首先配置系统参数,包括噪声标准差(Sigma)、是否开启TI模式、处理块大小(8x8)、小波层数等。系统会自动生成一张512x512的测试图像(Phantom),并添加指定强度的加性高斯白噪声。
2. 平移不变(TI)处理策略
若配置中开启
use_TI,系统将进入平移不变去噪流程。
- 循环平移:代码设定了最大平移量(max_shift=4)和步长(step_shift=2),生成一系列位移对。
- 处理与平均:对每一次平移后的图像执行核心去噪算法,然后将结果逆平移回原位。
- 累加平均:所有的逆平移结果进行累加并求平均值,以消除因下采样或块效应引起的伪影。
3. 核心去噪流程 (Standard & Bandelet-Specific)
算法的核心处理逻辑包含以下步骤:
- 多尺度小波分解:对输入图像进行多层小波分解,获取近似系数和各层的高频细节系数(水平、垂直、对角)。
- 噪声方差传播:根据分解层级和方向,计算当前子带的等效噪声标准差。
- 分块几何处理:对每一个高频子带进行分块(默认为8x8像素),并对每个块执行Bandelet去噪。
- 逆变换重构:将处理后的系数进行逆小波变换,重构出去噪后的图像。
4. Bandelet变换与其他几何优化
代码实现了一种简化的Bandelet最佳基搜索策略,具体流程如下:
- Lagrangian代价函数:使用L1范数(系数绝对值之和)作为稀疏性的代理指标,计算不同几何变换下的代价。
- 几何流搜索:对每一个图像块,算法尝试多种几何变换模式:
*
各向同性模式:保持原样,不进行额外变换。
*
垂直流模拟:沿列方向进行1D Haar变换,适应垂直纹理。
*
水平流模拟:沿行方向进行1D Haar变换,适应水平纹理。
* *注:代码结构中预留了对角方向的扩展接口。*
- 最佳基选择:比较上述模式的代价,选择代价最小(最稀疏)的模式作为该块的最佳Bandelet基。
5. BLSGSM 估计器
在选定的Bandelet域(或小波域)中,系数表现出更强的稀疏性。代码在
blsgsm_estimator_block 中对变换后的系数应用统计估计,利用预设的噪声方差去除噪声成分,保留主要结构信息。
6. 结果评估与可视化
处理完成后,系统会对输出图像像素进行范围截断(0-255),计算去噪前后图像与原始无噪图像之间的PSNR和SSIM指标,并绘制包含原始图、含噪图及去噪结果的对比图。
使用方法
- 确保MATLAB环境已安装。
- 打开
main.m 文件。 - 根据需求修改
conf 结构体中的参数:
*
conf.noise_sigma: 设置噪声水平(例如 25)。
*
conf.use_TI: 设置为
true 开启高质量平移不变模式(耗时增加),设置为
false 为快速模式。
- 运行
main 函数。 - 等待控制台输出进度信息,运行结束后将弹出结果窗口并打印性能指标。
系统具体参数配置
在代码中,默认配置如下:
- 噪声标准差: 25
- TI模式: 开启 (True)
- Bandelet块大小: 8
- 小波分解层数: 3
- 搜索方向数: 8 (用于几何流搜索)
注意事项与系统要求
- 内存消耗:由于算法涉及多尺度分解、分块处理以及在TI模式下的多次迭代,处理大尺寸图像时内存占用较高。
- 运行时间:开启TI模式后,计算量会成倍增加(取决于平移步长和范围),可能需要数分钟才能完成一张图像的处理。
- 依赖:代码依赖基础的各种矩阵运算函数,核心逻辑已封装在主文件中。由于代码片段结尾处截断了具体的BLSGSM估计器实现细节,确保运行环境中有完整的辅助函数支持。