基于四元数理论的图像融合质量评价算法 MATLAB实现
项目简介
本项目主要实现了一种基于四元数(Quaternion)信号处理理论的图像融合客观质量评价方法。传统的标量评价指标往往独立处理彩色图像的RGB通道,忽略了通道间的光谱相关性。本算法利用四元数代数将彩色图像的三个通道作为一个整体矢量进行处理,通过提取四元数域内的梯度、边缘强度和方向信息,量化源图像与融合图像之间的相似度,从而客观评价图像融合的质量。
该项目包含完整的核心算法实现以及模拟数据生成模块,无需外部数据集即可直接运行并观察评价结果。
核心功能特性
- 四元数图像构建:实现了将RGB彩色图像或多模态图像转换为纯四元数矩阵(Pure Quaternion)的功能,其中实部置零,虚部对应颜色通道。
- 四元数梯度特征提取:利用扩展的Sobel算子在四元数域内进行卷积运算,计算四元数梯度模值(Modulus)和近似方向特征(Orientation),有效捕捉图像的边缘和纹理信息。
- 客观质量评价指标 (QIQM):
* 计算融合图像相对于源图像的
边缘强度保留度。
* 计算融合图像相对于源图像的
方向一致性。
* 基于局部梯度能量(显著性)加权,合成最终的质量分数。
- 自包含测试环境:内置模拟图像生成器,能够自动生成多聚焦/多模态的源图像(Source A, Source B)及模拟融合图像(Fused Image),便于快速验证算法有效性。
- 可视化分析:提供输入图像展示以及四元数边缘特征图的可视化对比,直观展示算法关注的图像特征区域。
系统要求
- MATLAB R2016a 或更高版本
- Image Processing Toolbox(图像处理工具箱)
使用方法
- 将项目代码保存并在MATLAB中打开。
- 直接运行主程序(通常为main函数入口)。
- 程序将自动执行以下步骤:
* 生成清晰与模糊区域互补的模拟源图像对及融合图像。
* 显示原始输入图像组。
* 计算基于四元数的融合质量分数并在命令行输出。
* 弹出新窗口展示源图像与融合图像的四元数梯度特征图谱。
算法实现细节与逻辑分析
本项目代码主要分为三个逻辑阶段:数据准备、核心评价计算、结果可视化。以下是对实际代码实现的详细剖析:
1. 数据准备 (模拟生成)
代码首先调用生成函数创建一组分辨率为256x256的测试图像:
- 源图像 A:模拟左侧聚焦清晰、右侧模糊的图像,且以红色通道特征为主。
- 源图像 B:模拟右侧聚焦清晰、左侧模糊的图像,且以蓝色通道特征为主。
- 融合图像 F:基于简单的最大值规则并添加微量噪声生成的模拟融合结果,理想情况下应同时保留A的左侧特征和B的右侧特征。
2. 四元数特征提取与评价 (核心流程)
评价过程在函数
quaternion_fusion_metric 中实现,具体步骤如下:
通过
img2quaternion 函数将输入图像(A, B, F)转换为四元数矩阵。对于RGB图像,分别映射到四元数的虚部 $i, j, k$ 上,实部设为0。
通过
quaternion_gradient 函数计算图像特征。
* 使用Sobel算子分别对 $i, j, k$ 三个分量进行卷积,得到水平和垂直方向的分量梯度。
* 计算梯度的平方模长:将三个虚部通道的梯度能量累加。
*
模值 (Modulus):梯度平方和的平方根,反映边缘强度。
*
方向 (Orientation):利用反正切函数
atan2 计算基于总能量的梯度方向近似值。
借鉴了经典的Xydeas融合评价框架,但在四元数域内扩展:
*
边缘强度保留度 ($Qg$):计算源图像与融合图像梯度模值的相关性。公式形式为 $frac{2 cdot g_{src} cdot g_{fused} + C}{g_{src}^2 + g_{fused}^2 + C}$。
*
方向保留度 ($Qa$):计算源图像与融合图像梯度方向差值的余弦值,衡量边缘走向的一致性。
* 综合保留度 $Q$ 为 $Qg$ 与 $Qa$ 的乘积。
* 计算权重图:直接使用源图像的四元数梯度模值作为局部权重(即边缘越强、信息越丰富的区域,对最终评分贡献越大)。
* 最终得分:计算加权后的总保留度与总权重的比值。
3. 可视化输出
程序通过
imagesc 绘制并展示了源图像A、源图像B以及融合图像F的四元数梯度模值图(Edge Strength Map)。这使得用户可以直观地看到算法提取到的红外/可见光特征或多聚焦边缘特征。
关键函数说明
评价算法的主体函数。负责协调从四元数构建到最终分数计算的全过程,并在内部计算源图像A->F和源图像B->F的信息保留量。
数据类型转换函数。支持彩色图像(映射为 $0 + Ri + Gj + Bk$)和灰度图像的四元数格式化,输出大小为 $H times W times 4$ 的矩阵。
特征提取核心函数。利用Sobel算子处理四元数的三个虚部通道,输出“四元数梯度模值”和“梯度方向”。代码中对方向计算进行了简化处理,基于水平和垂直方向的梯度总能量进行估算。
- generate_synthetic_images
测试数据生成器。无需读取本地文件,通过正弦背景、几何掩膜和高斯模糊滤波器动态生成具有多聚焦特性的彩色测试图对。