基于多维关键指标的图像质量综合评价系统
项目简介
本项目是一个基于MATLAB开发的图像质量客观评价工具库,旨在通过多维度的量化指标全面评估图像的清晰度、保真度及结构特性。系统集成了信息论、结构相似性及人眼视觉特性(HVS)等领域的六大核心算法,能够对图像去噪、压缩、模糊等处理后的质量进行精确量化。
本项目代码设计为全流程自动化脚本,内置了测试数据生成模块,无需外部图像文件即可直接运行演示,包含从数据生成、核心指标计算到可视化结果展示的完整链路。
功能特性
- 自动化测试数据生成:系统内置合成图像生成算法,能够自动创建包含低频背景与高频纹理的参考图像,并模拟生成带有高斯模糊与噪声干扰的待测图像,方便算法验证。
- 多维度评价体系:集成六大核心评价指标,涵盖统计学特性、结构信息及视觉感知特性。
- 可视化分析报告:提供基于GUI窗口的综合展示界面,包含原始图像对比、局部相似度热力图(SSIM Map)以及多指标量化对比柱状图。
- 命令行详细输出:在控制台实时输出各项指标的具体数值,便于定量分析。
算法实现细节
本项目的主要执行逻辑包含数据准备、指标计算与结果展示三个阶段,核心算法实现如下:
1. 图像熵 (Entropy)
- 原理:基于信息论衡量图像信息的丰富程度。
- 实现:通过计算图像灰度直方图获取概率分布,利用香农熵公式
-sum(p * log2(p)) 计算平均信息量。代码中包含了去除零概率的处理以避免数学错误。
2. 空间频率 (Spatial Frequency)
- 原理:反映图像的总体活跃水平和清晰度。
- 实现:分别计算图像在行方向(Row Frequency)和列方向(Column Frequency)的一阶差分梯度,通过均方根(RMS)的方式合成总空间频率。该指标值越高,通常代表图像包含的边缘和细节越丰富。
3. 交叉熵 (Cross Entropy)
- 原理:衡量待测图像与参考图像在像素概率分布上的差异性。
- 实现:基于两幅图像的归一化直方图计算。为了保证计算稳定性,算法对概率分布进行了平滑处理(引入微小量epsilon),计算参考分布下的对数似然期望,数值越低表示分布越接近。
4. 结构相似度 (SSIM)
- 原理:从亮度、对比度和结构三个维度综合衡量图像相似性。
- 实现:采用标准SSIM算法,利用滑动高斯窗口计算局部均值、方差及协方差。代码输出两个结果:全局平均SSIM值用于整体评价,SSIM Map(局部相似度图)用于可视化图像各区域的质量损失分布。
5. 加权结构相似度 (WSSIM)
- 原理:解决传统SSIM对平滑区域和纹理区域等同视之的问题,重点关注人眼敏感的纹理区域。
- 实现:利用参考图像的局部方差构建权重图。具体算法中使用
log(1 + ordered_variance) 作为权重系数,使得纹理丰富(方差大)的区域在最终评分中占据更大比重,从而提高评价准确性。
6. 加权峰值信噪比 (WPSNR)
- 原理:结合人眼视觉系统的对比度敏感度特性(CSF)与噪声可见性函数(NVF)。
- 实现:不同于传统PSNR直接计算MSE,该算法引入了基于局部方差的掩蔽效应权重。在平滑区域(方差小),人眼对噪声敏感,赋予较高权重;在纹理区域(方差大),人眼对噪声不敏感,赋予较低权重。最终计算加权均方误差(WMSE)并转化为对数分贝值。
系统运行流程
- 系统初始化:清理工作空间与图形窗口。
- 数据生成:
* 构建参考图像:利用正弦和余弦函数生成基础波形,并叠加轻微纹理。
* 构建待测图像:对参考图像施加高斯模糊滤波,并叠加随机高斯噪声。
* 预处理:将图像转换为双精度灰度图以进行数学运算。
- 指标计算:依次调用六个子函数计算各项指标。
- 结果输出:
*
控制台:打印格式化的数值报告。
*
图形界面:
*
子图1-2:并列显示参考图像与待测图像。
*
子图3:显示SSIM热力图,使用Jet伪彩色映射,直观展示图像结构的局部受损情况(如边缘模糊处)。
*
子图4:绘制归一化后的指标对比柱状图,直观展示不同维度下的质量评分。
使用方法
- 启动MATLAB。
- 将包含代码的脚本文件(如
main.m)放置于当前工作路径。 - 在命令行输入
main 并回车运行。 - 观察弹出的图形界面及命令行输出结果。
系统要求
- MATLAB R2016a 或更高版本。
- Image Processing Toolbox(图像处理工具箱),用于支持
imhist (直方图), fspecial (滤波器生成), imfilter (图像滤波), rgb2gray (颜色转换) 等核心函数。