多维度图像质量客观评价指标体系与计算工具
项目简介
本项目基于 MATLAB 平台开发了一套完善的图像质量客观评价系统。该系统旨在通过多种数学模型和统计学方法,对数字图像的质量进行定量分析。系统集成了六大核心评价指标,能够全方位地评估图像的清晰度、信息量、结构保真度以及噪声水平。项目内置了完整的演示流程,能够自动加载参考图像,模拟失真环境(模糊与噪声),并计算对比指标,最终以图表形式直观展示评价结果。
功能特性
本工具集成了以下核心评价指标和功能:
- 图像熵 (Entropy):计算图像中包含的平均信息量,反映图像的纹理复杂程度和细节丰富度。
- 空间频率 (Spatial Frequency):通过分析行频率 (RF) 和列频率 (CF),量化图像的整体活跃水平和清晰度。
- 结构相似度 (SSIM):从亮度、对比度和结构三个维度模拟人眼视觉系统,对比参考图像与失真图像的相似程度。
- 加权结构相似度 (Weighted SSIM):在 SSIM 的基础上改进,利用图像局部方差计算权重,模拟人眼对纹理丰富区域结构变化更为敏感的特性。
- 加权峰值信噪比 (WPSNR):引入人眼视觉系统 (HVS) 特性,利用噪声可见度函数 (NVF) 对均方误差进行加权,比传统 PSNR 更符合主观视觉感受。
- 交叉熵 (Cross Entropy):衡量两幅图像(参考图与失真图)之间灰度概率分布的差异,差异值越小代表两幅图像的统计特性越相似。
- 可视化展示:提供包含原图、失真图、SSIM 相似度图谱、绝对误差热力图以及详细指标数据表的综合界面。
系统要求
- MATLAB R2016a 或更高版本
- Image Processing Toolbox(图像处理工具箱)
核心算法与实现逻辑
本系统的核心代码实现流程如下:
1. 图像加载与预处理
程序启动后,首先初始化参数(窗口大小、高斯加权参数等)。系统尝试加载内置的
peppers.png 作为参考图像(若缺失则生成随机图像),并将其归一化至 double 精度
[0, 1] 范围。若由于计算需要,图像会自动转换为灰度图。
2. 失真模拟
为了演示评价效果,代码内部通过数学方法生成一幅失真图像:
- 模糊处理:使用高斯低通滤波器(Gaussian Blur)对图像进行平滑处理。
- 噪声添加:叠加随机高斯噪声。
- 截断处理:确保生成的像素值保持在有效范围
[0, 1] 内。
3. 指标计算细节
将图像量化为 256 个灰度级,计算直方图概率分布,利用香农熵公式
-sum(p * log2(p)) 计算平均信息量。
利用差分算法分别计算图像在行方向和列方向的梯度变化,通过公式
SF = sqrt(RF^2 + CF^2) 合成总空间频率,以此衡量图像的锐度。
对参考图像和失真图像分别计算归一化直方图。为了数值稳定性,在对数计算中引入极小值 epsilon。通过比较两个概率分布,量化二者的差异性。
采用 Wang 等人提出的经典算法。使用高斯滑动窗口计算局部均值、方差和协方差。
* 计算亮度、对比度、结构三个分量的乘积。
* 生成像素级的 SSIM Map(局部相似度图)。
* 计算全图的平均 SSIM 值。
为了更好地模拟人眼对图像内容的关注差异,代码实现了一种基于内容的加权策略:
* 计算图像的局部方差图。
* 使用对数尺度
log(1 + variance) 构建权重图,使得纹理丰富区域拥有更高的权重。
* 对 SSIM Map 进行加权平均,得出最终评分。
基于噪声可见度函数 (NVF) 模型改进传统 MSE:
* 计算局部统计特性(均值与方差)。
* 构建 NVF 模型:
weights = 1 ./ (1 + theta * norm_var)。该模型假设在平坦区域(方差小)人眼对噪声更敏感,因此赋予更高权重;在纹理区域(方差大)存在掩盖效应,赋予较低权重。
* 计算加权均方误差 (WMSE),并将其转换为分贝 (dB) 单位。
4. 结果输出
程序最后构建一个综合图表窗口,包含:
- 参考图像与失真图像对比(附带熵值和空间频率数据)。
- SSIM 局部相似度可视化图谱(使用 parula 色阶)。
- 绝对误差热力图(Difference Heatmap,使用 jet 色阶)。
- 包含所有计算指标的数据表格。
- 控制台同步输出简要评价报告。
使用方法
- 确保 MATLAB 的当前工作目录包含本代码文件。
- 在 MATLAB 命令行窗口输入主函数名并回车(或直接点击"运行"按钮)。
- 程序将自动执行图像加载、失真模拟、指标计算,并弹出结果展示窗口。
- 控制台将打印出关键指标的最终数值摘要。