基于NSCT变换的高性能多模态图像融合系统
项目简介
本项目实现了一个基于非下采样轮廓波变换(Non-Subsampled Contourlet Transform, NSCT)的图像融合仿真平台。系统通过Matlab脚本构建了完整的图像处理流水线,从生成模拟的多模态源图像(红外与可见光风格),到执行多尺度、多方向的NSCT分解与重构,最终融合出包含丰富细节与光谱信息的图像。
该项目旨在解决传统变换在图像融合中可能引入的频率混叠和吉布斯效应,通过非下采样塔式分解(NSP)和方向滤波器组(NSDFB)的简化实现,提供了自适应的高低频融合策略,并集成了完整的客观评价指标体系。
主要功能特性
- 仿真图像生成:内置多模态图像生成算法,无需外部数据集即可运行演示。能够生成模拟红外图像(突出高亮热目标、背景模糊)和模拟可见光图像(包含正弦纹理背景与文字细节)。
- NSCT核心算法:实现了基于Atrous(孔洞)算法的非下采样分解,避免了下采样操作,保证了融合过程的平移不变性。
- 自适应融合规则:针对高频和低频子带设计了不同的融合逻辑,有效平衡背景保留与细节增强。
- 多维客观评价:自动计算融合结果的量化指标,包括信息熵、互信息、结构相似性等。
- 可视化展示:提供六窗口综合展示界面,包含源图像、融合结果、高频子带系数图、差值图及数值评价报告。
详细算法实现与逻辑
本项目代码包含以下核心模块及实现逻辑:
1. 图像源仿真模块
系统首先初始化生成分辨率为256x256的双通道源图像:
- 红外风格图像:利用网格与距离计算生成中心高亮圆形目标,应用高斯低通滤波模拟热辐射的模糊效应,并叠加高斯白噪声。
- 可见光风格图像:利用正弦和余弦函数合成背景纹理,通过逻辑掩膜添加几何形状的“文字”特征,模拟可见光下的细节纹理。
2. NSCT 分解与重构逻辑
代码并未调用工具箱,而是手动实现了NSCT框架的简化版本:
* 采用了近似 "9-7" 滤波器的2D可分离核。
* 利用
Atrous算法(zpad_filter) 对滤波器进行层级插值(补零),而非对图像进行下采样。这使得每一层的特征图尺寸与原图保持一致,保证了平移不变性。
* 分解层数设定为3层。
* 模拟了非下采样方向滤波器组。对NSP分解得到的高频细节层,使用特定的梯度算子(如二阶差分、Sobel类算子)在两个方向(水平与垂直)上提取纹理特征。
* 是分解过程的逆运算,通过将融合后的方向子带求均值聚合,再与低频分量逐层累加,恢复最终图像。
3. 多尺度融合策略
针对分解得到的不同频带系数,应用了不同的融合规则:
- 低频子带融合:采用 加权平均法(各占0.5权重)。由于低频部分包含图像的主要能量和背景轮廓,平均法能有效抑制噪声并平滑背景。
- 高频子带融合:采用 绝对值最大(Max-Absolute) 规则。逐像素比较源图像高频系数的绝对值,保留绝对值较大的一方。该策略能够最大程度地从源图像中提取边缘、纹理等显著特征。
4. 客观评价体系
系统内置了专门的评价函数,对融合质量进行多维度量化:
- 信息熵 (EN):评估融合图像包含的平均信息量。
- 互信息 (MI):计算融合图像与两幅源图像之间的相关性平均值,反映信息的转移量。
- 结构相似性 (SSIM):从亮度、对比度和结构三个角度,分别计算融合图像与两幅源图像的相似度并取均值。
- 边缘保持度 (Qabf):基于Xydeas & Petrovic算法,评估源图像边缘信息在融合图像中的保留程度。
- 标准差 (SD):反映图像灰度分布的离散程度和对比度。
系统要求
- 软件环境:MATLAB R2016a 或更高版本。
- 工具箱依赖:Image Processing Toolbox(主要使用
imfilter, fspecial, imhist, mat2gray 等基础图像处理函数)。
使用方法
- 清理MATLAB工作区变量。
- 直接运行主函数。
- 系统将自动弹出一个综合图形窗口,展示从源图像生成到最终融合评价的完整结果。
- 控制台(Command Window)将实时打印各阶段的处理进度(初始化、分解、融合、重构、评价)。