当前位置: 首页 > article >正文

SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标

评价指标

在这里插入图片描述

1. SSIM(Structural Similarity Index)

📌 定义

结构相似性指数(Structural Similarality Index)是一种衡量两幅图像相似性的指标,考虑了亮度、对比度和结构信息的相似性,比传统的 PSNR 更接近人眼视觉感知。

🔧 计算方法

SSIM 的公式如下:
SSIM ( x , y ) = ( 2 μ x μ y + C 1 ) ( 2 σ x y + C 2 ) ( μ x 2 + μ y 2 + C 1 ) ( σ x 2 + σ y 2 + C 2 ) \text{SSIM}(x, y) = \frac{(2\mu_x\mu_y + C_1)(2\sigma_{xy} + C_2)}{(\mu_x^2 + \mu_y^2 + C_1)(\sigma_x^2 + \sigma_y^2 + C_2)} SSIM(x,y)=(μx2+μy2+C1)(σx2+σy2+C2)(2μxμy+C1)(2σxy+C2)

  • 参数说明
    • μ x , μ y \mu_x, \mu_y μx,μy:图像 x x x y y y 的局部均值(亮度)。
    • σ x , σ y \sigma_x, \sigma_y σx,σy:局部标准差(对比度)。
    • σ x y \sigma_{xy} σxy:局部协方差(结构信息)。
    • C 1 , C 2 C_1, C_2 C1,C2:稳定系数,防止分母为零(通常 C 1 = ( 0.01 L ) 2 C_1 = (0.01L)^2 C1=(0.01L)2 C 2 = ( 0.03 L ) 2 C_2 = (0.03L)^2 C2=(0.03L)2 L L L 为像素最大值)。
  • 计算步骤
    1. 将图像划分为多个局部窗口(通常为 11 × 11 11 \times 11 11×11)。
    2. 计算每个窗口的 μ x , μ y , σ x , σ y , σ x y \mu_x, \mu_y, \sigma_x, \sigma_y, \sigma_{xy} μx,μy,σx,σy,σxy
    3. 代入公式计算每个窗口的 SSIM 值。
    4. 对所有窗口的 SSIM 值取平均,得到整体 SSIM。

📌 数值范围:[0, 1]

  • 1:两幅图像完全相同,质量最佳。
  • 0.9-1:图像质量非常好,几乎无失真。
  • 0.7-0.9:图像质量良好,结构相似性较高。
  • 0.5-0.7:图像质量一般,存在明显结构差异。
  • 0.3-0.5:图像质量较差,结构差异显著。
  • 0-0.3:图像质量极差,可能完全失真。

📈 应用场景

  • 图像压缩、去噪、超分辨率重建等任务。
  • 需要关注图像结构性变化(如纹理、边缘)的场景。

✅ 优点

  • 比 PSNR 更贴近人眼视觉感知。
  • 能捕捉图像的局部结构信息。

❌ 缺点

  • 计算复杂度较高。
  • 对全局亮度差异敏感。

2. PSNR(Peak Signal-to-Noise Ratio)

📌 定义

峰值信噪比(Peak Signal-to-Noise Ratio)是一种基于 均方误差 MSE 的图像质量评估指标,衡量原始图像与失真图像之间的误差。

🔧 计算方法

PSNR = 10 ⋅ log ⁡ 10 ( MAX I 2 MSE ) \text{PSNR} = 10 \cdot \log_{10}\left( \frac{\text{MAX}_I^2}{\text{MSE}} \right) PSNR=10log10(MSEMAXI2)

  • 参数说明
    • MAX I \text{MAX}_I MAXI:图像的最大像素值(如 8 位图像为 255)。
    • MSE \text{MSE} MSE:均方误差,计算公式为:
      MSE = 1 m n ∑ i = 0 m − 1 ∑ j = 0 n − 1 [ I ( i , j ) − K ( i , j ) ] 2 \text{MSE} = \frac{1}{mn} \sum_{i=0}^{m-1} \sum_{j=0}^{n-1} [I(i,j) - K(i,j)]^2 MSE=mn1i=0m1j=0n1[I(i,j)K(i,j)]2
      其中 m , n m,n m,n 是图像尺寸, I I I 是原始图像, K K K 是失真图像。

📌 数值范围:[0, ∞) dB

  • >40 dB:图像质量极好,接近无失真。
  • 30-40 dB:图像质量良好,失真可接受。
  • 20-30 dB:图像质量较差,失真明显。
  • <20 dB:图像质量极差,失真严重。

📈 应用场景

  • 图像压缩、视频编码等传统信号处理领域。
  • 需要快速评估图像质量的工业场景。

✅ 优点

  • 计算简单,实现高效。
  • 适用于大规模数据处理。

❌ 缺点

  • 与人眼感知存在偏差,尤其在高压缩率下。
  • 无法捕捉结构信息(如纹理、边缘)的损失。

3. LPIPS(Learned Perceptual Image Patch Similarity)

📌 定义

LPIPS 是一种基于深度学习的图像质量评估指标,通过预训练的卷积神经网络(如 VGG、AlexNet)提取特征,并计算特征空间中的距离。

🔧 计算方法

  1. 特征提取:使用预训练的 CNN 模型(如 VGG16)提取多层特征图。
  2. 距离计算:计算两个图像特征图的加权欧氏距离:
    d LPIPS ( I 1 , I 2 ) = ∑ k w k ⋅ ∥ f k ( I 1 ) − f k ( I 2 ) ∥ N k d_{\text{LPIPS}}(I_1, I_2) = \sum_k w_k \cdot \frac{\|f_k(I_1) - f_k(I_2)\|}{N_k} dLPIPS(I1,I2)=kwkNkfk(I1)fk(I2)
    • f k f_k fk:第 k k k 层的特征图。
    • w k w_k wk:各层的权重(通过训练调整)。
    • N k N_k Nk:归一化项(特征图的空间维度乘以通道数)。
  3. 输出:距离越小,图像越相似。

📌 数值范围:[0, ∞)

  • 接近 0:图像高度相似,质量极佳。
  • 0.1-0.3:图像质量良好,感知差异较小。
  • 0.3-0.5:图像质量一般,存在明显差异。
  • >0.5:图像质量差,差异显著。

📈 应用场景

  • 图像生成(GAN)、超分辨率、图像修复等深度学习任务。
  • 需要模拟人眼感知的复杂场景。

✅ 优点

  • 与人眼主观评分高度相关。
  • 能捕捉感知差异(如颜色、纹理、形状)。

❌ 缺点

  • 依赖预训练模型,计算复杂度较高。
  • 需要 GPU 加速推理。

4. MUSIQ(Multi-scale Image Quality Transformer)

📌 定义

MUSIQ 是一种基于视觉 Transformer VIT 的无参考图像质量评估模型,通过多尺度图像块学习感知质量特征。

🔧 计算方法

  1. 多尺度特征提取:将图像划分为多尺度块,提取局部特征。
  2. Transformer 编码:使用 Transformer 架构对特征进行全局建模。
  3. 质量评分:输出一个标量质量分数,表示图像质量。

📌 数值范围:[0, ∞)(具体范围取决于模型输出)

  • 低值(如 <10):图像质量较高,接近自然图像。
  • 中等值(如 10-20):图像质量一般,存在轻微失真。
  • 高值(如 >20):图像质量较差,失真显著。

📈 应用场景

  • 无参考图像质量评估(如图像增强、修复)。
  • 需要高精度且无需参考图像的场景。

✅ 优点

  • 多尺度建模能力,适应复杂图像结构。
  • 无需参考图像,适合实际应用。

❌ 缺点

  • 模型复杂度高,依赖 GPU 计算。
  • 需要大规模训练数据。

5. NRQM(No-Reference Quality Metric)

📌 定义

NRQM 是一种基于 深度学习 的通用无参考图像质量评估模型,通过学习自然图像统计特征预测质量分数。

🔧 计算方法

  1. 特征提取:使用 CNN 提取图像的深层特征。
  2. 质量回归:通过全连接层将特征映射为质量评分。
  3. 输出:输出一个标量质量分数(分数越高表示质量越好)。

📌 数值范围:[0, ∞)(具体范围取决于模型输出)

  • 低值:图像质量较高,自然度良好。
  • 高值:图像质量较低,可能存在模糊、噪声等问题。

📈 应用场景

  • 无参考图像质量评估。
  • 图像生成、修复等任务的自动评估。

✅ 优点

  • 无需参考图像,适合实际应用。
  • 适应多种失真类型(如模糊、噪声)。

❌ 缺点

  • 模型依赖训练数据,泛化能力受限。
  • 计算资源消耗较大。

6. NIQE(Natural Image Quality Evaluator)

📌 定义

NIQE 是一种基于 自然场景统计特征 的无参考图像质量评估指标,使用高斯混合模型(GMM)评估图像质量。

🔧 计算方法

  1. 特征提取:计算图像的局部梯度直方图。
  2. GMM 训练:使用高质量自然图像训练 GMM 模型。
  3. KL 散度计算:计算测试图像与 GMM 的 KL 散度,作为质量评分。
    D ( p ∣ ∣ q ) = ∫ p ( x ) log ⁡ p ( x ) q ( x ) d x D(p||q) = \int p(x) \log \frac{p(x)}{q(x)} dx D(p∣∣q)=p(x)logq(x)p(x)dx
    • p ( x ) p(x) p(x):测试图像的特征分布。
    • q ( x ) q(x) q(x):GMM 的标准分布。

📌 数值范围:[0, ∞)

  • 接近 0:图像自然度极高,质量最佳。
  • 5-8:图像质量良好,自然度较高。
  • 8-12:图像质量一般,存在轻微失真。
  • >12:图像质量差,自然度低,失真显著。

📈 应用场景

  • 无参考图像质量评估。
  • 图像增强、去噪等任务的自动评估。

✅ 优点

  • 无需参考图像,适合实际应用。
  • 计算效率较高。

❌ 缺点

  • 依赖预训练的 GMM 模型。
  • 对非自然失真(如人工压缩)适应性较弱。

总结对比表

指标类型是否需要参考图像计算复杂度与人眼感知相关性适用场景
SSIM传统指标✅ 是(FR)中等图像压缩、结构分析
PSNR传统指标✅ 是(FR)快速评估、工业检测
LPIPS深度学习✅ 是(FR)图像生成、超分辨率
MUSIQ深度学习❌ 否(NR)无参考质量评估
NRQM深度学习❌ 否(NR)无参考质量评估
NIQE传统指标❌ 否(NR)中等无参考质量评估
指标数值范围优质范围低质范围是否需要参考图像与人眼感知相关性
SSIM[0, 1]>0.9<0.5✅ 是
PSNR[0, ∞) dB>40 dB<20 dB✅ 是
LPIPS[0, ∞)<0.1>0.5✅ 是
MUSIQ[0, ∞)<10>20❌ 否
NRQM[0, ∞)低值高值❌ 否
NIQE[0, ∞)<5>12❌ 否

选择建议

  • 需要参考图像:选择 PSNR、SSIM、LPIPS
  • 无参考图像:选择 MUSIQ、NRQM、NIQE
  • 追求人眼感知一致性:优先使用 LPIPS、MUSIQ
  • 计算效率优先:选择 PSNR、SSIM、NIQE

相关文章:

SSIM、PSNR、LPIPS、MUSIQ、NRQM、NIQE 六个图像质量评估指标

评价指标 1. SSIM&#xff08;Structural Similarity Index&#xff09; &#x1f4cc; 定义 结构相似性指数&#xff08;Structural Similarality Index&#xff09;是一种衡量两幅图像相似性的指标&#xff0c;考虑了亮度、对比度和结构信息的相似性&#xff0c;比传统的 P…...

【笔记】旧版MSYS2 环境中 Rust 升级问题及解决过程

下面是一份针对在旧版 MSYS2&#xff08;安装在 D 盘&#xff09;中&#xff0c;基于 Python 3.11 的 Poetry 虚拟环境下升级 Rust 的处理过程笔记&#xff08;适用于 WIN 系统 SUNA 人工智能代理开源项目部署要求&#xff09;的记录。 MSYS2 旧版环境中 Rust 升级问题及解决过…...

centos查看开启关闭防火墙状态

执行&#xff1a;systemctl status firewalld &#xff0c;即可查看防火墙状态 防火墙的开启、关闭、禁用命令 &#xff08;1&#xff09;设置开机启用防火墙&#xff1a;systemctl enable firewalld.service &#xff08;2&#xff09;设置开机禁用防火墙&#xff1a;system…...

[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习

#论文阅读# 大语言模型计划生成的新范式&#xff1a;基于过程挖掘的技能学习 论文信息 Skill Learning Using Process Mining for Large Language Model Plan Generation Andrei Cosmin Redis, Mohammadreza Fani Sani, Bahram Zarrin, Andrea Burattin Cite as: arXiv:2410.…...

MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912

MS31912TEA 多通道半桥驱动器 氛围灯 照明灯 示宽灯 转向灯驱动 后视镜方向调节 可替代DRV8912 产品简述 MS31912 是集成多种高级诊断功能的多通道半桥驱动。 MS31912 具有 12 个半桥&#xff0c;典型工作电压 13.5V 下&#xff0c;每一个半桥支持 1A 电流&#xff0c;典型工…...

软考 系统架构设计师系列知识点之杂项集萃(84)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之杂项集萃&#xff08;83&#xff09; 第151题 在软件系统工具中&#xff0c;版本控制工具属于&#xff08;&#xff09;&#xff0c;软件评价工具属于&#xff08;&#xff09;。 第1空 A. 软件开发工具 B. 软件维…...

矩阵QR分解

1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 &#xff0c;任意向量 相互垂直&#xff0c;且模长为1&#xff1b; 如果将 orthonormal 向量按列组织成矩阵&#xff0c;矩阵为 Orthogonal 矩阵&#xff0c;满足如下性质&#xff1a; &#xff1b; 当为方阵时&…...

UDP与TCP的区别是什么?

UDP和TCP是互联网通信中最常用的两种传输层协议&#xff0c;它们在数据传输方式、可靠性、速度和适用场景等方面存在显著差异。本文将围绕UDP与TCP的核心区别展开详细分析&#xff0c;包括连接方式、数据传输机制、传输效率以及各自适合的应用场景&#xff0c;帮助开发者和网络…...

撰写脚本,通过发布/joint_states话题改变机器人在Rviz中的关节角度

撰写脚本&#xff0c;通过发布/joint_states话题改变机器人在Rviz中的关节角度 提问 为我写一个改变关节base_spherical_center_high_joint角度的python脚本吧。适用于ROS2的humble 回答 下面是一个适用于 ROS 2 Humble 的 Python 脚本&#xff0c;它会以指定频率持续发布 …...

AOP实现Restful接口操作日志入表方案

文章目录 前言一、基础资源配置1.操作日志基本表[base_operation_log] 见附录1。2.操作日志扩展表[base_operation_log_ext] 见附录2。3.定义接口操作系统日志DTO&#xff1a;OptLogDTO4.定义操作日志注解类WebLog5.定义操作日志Aspect切面类SysLogAspect6.定义异步监听日志事件…...

【MATLAB去噪算法】基于CEEMDAN联合小波阈值去噪算法(第四期)

CEEMDAN联合小波阈值去噪算法相关文献 一、EMD 与 EEMD 的局限性 &#xff08;1&#xff09;EMD (经验模态分解) 旨在自适应地将非线性、非平稳信号分解成一系列 本征模态函数 (IMFs)&#xff0c;这些 IMFs 从高频到低频排列。 核心问题&#xff1a;模态混合 (Mode Mixing) 同…...

Webhook 配置备忘

本文地址&#xff1a;blog.lucien.ink/archives/552 将下列代码保存为 install.sh&#xff0c;然后 bash install.sh。 #!/usr/bin/env bash set -e wget https://github.mirrors.lucien.ink/https://github.com/adnanh/webhook/releases/download/2.8.2/webhook-linux-amd64.…...

从理论崩塌到新路径:捷克科学院APL Photonics论文重构涡旋光技术边界

理论预言 vs 实验挑战 光子轨道角动量&#xff08;Orbital Angular Momentum, OAM&#xff09;作为光场调控的新维度&#xff0c;曾被理论预言可突破传统拉曼散射的对称性限制——尤其是通过涡旋光&#xff08;如拉盖尔高斯光束&#xff09;激发晶体中常规手段无法探测的"…...

机器学习笔记【Week7】

一、SVM的动机&#xff1a;大间隔分类器 1、逻辑回归回顾 假设函数为 sigmoid 函数&#xff1a; h θ ( x ) 1 1 e − θ T x h_\theta(x) \frac{1}{1 e^{-\theta^Tx}} hθ​(x)1e−θTx1​ 分类依据是 h θ ( x ) ≥ 0.5 h_\theta(x) \geq 0.5 hθ​(x)≥0.5 为正类&a…...

LSM Tree算法原理

LSM Tree(Log-Structured Merge Tree)是一种针对写密集型场景优化的数据结构,广泛应用于LevelDB、RocksDB等数据库引擎中。其核心原理如下: ‌1. 写入优化:顺序写代替随机写‌ ‌内存缓冲(MemTable)‌:写入操作首先被写入内存中的数据结构(如跳表或平衡树),…...

智能推荐系统:协同过滤与深度学习结合

智能推荐系统&#xff1a;协同过滤与深度学习结合 系统化学习人工智能网站&#xff08;收藏&#xff09;&#xff1a;https://www.captainbed.cn/flu 文章目录 智能推荐系统&#xff1a;协同过滤与深度学习结合摘要引言技术原理对比1. 协同过滤算法&#xff1a;基于相似性的推…...

文档处理组件Aspose.Words 25.5全新发布 :六大新功能与性能深度优化

在数字化办公日益普及的今天&#xff0c;文档处理的效率与质量直接影响到企业的运营效率。Aspose.Words 作为业界领先的文档处理控件&#xff0c;其最新发布的 25.5 版本带来了六大新功能和多项性能优化&#xff0c;旨在为开发者和企业用户提供更强大、高效的文档处理能力。 六…...

固态继电器与驱动隔离器:电力系统的守护者

在电力系统中&#xff0c; 固态继电器合驱动隔离器像两位“电力守护神”&#xff0c;默默地确保电力设备的安全与稳定运行。它们通过高效、可靠的性能&#xff0c;保障了电力设备在各种环境下的正常工作。 固态继电器是电力控制中的关键组成部分&#xff0c;利用半导体器件来实…...

uni-app 如何实现选择和上传非图像、视频文件?

在 uni-app 中实现选择和上传非图像、视频文件&#xff0c;可根据不同端&#xff08;App、H5、小程序&#xff09;的特点&#xff0c;采用以下方法&#xff1a; 一、通用思路&#xff08;多端适配优先推荐&#xff09; 借助 uni.chooseFile 选择文件&#xff0c;再用 uni.upl…...

区块链架构深度解析:从 Genesis Block 到 Layer 2

# 区块链架构深度解析&#xff1a;从 Genesis Block 到 Layer 2 目录 一、Genesis Block&#xff1a;区块链的起点 二、Layer 0&#xff1a;区块链的底层网络架构 三、Layer 1&#xff1a;核心协议层 &#x1f680; 四、Layer 2&#xff1a;扩展性解决方案 五、未来展望&a…...

【数据分析】基于adonis2与pairwise.adonis2的群组差异分析教程

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理adonis分析pairwise.adonis2分析总结系统信息介绍 本教程主要用于执行和分析基于距离矩阵的多样性和群落结构分析,特别是通过adonis2和pairwi…...

使用pdm+uv替换poetry

用了好几年poetry了&#xff0c;各方面都还挺满意&#xff0c;就是lock实在太慢&#xff1b; 已经试用pdmuv一段时间了&#xff0c;确实是快&#xff0c;也基本能覆盖poetry的功能。 至于为什么用pdmuv&#xff0c;而不是只用uv&#xff0c;原因很多&#xff0c;有兴趣的可以…...

Nginx + Tomcat负载均衡群集

目录 一、案例环境 二、部署 Tomcat&#xff08;102/103&#xff09; 1、准备环境 &#xff08;1&#xff09;关闭firewalld 防火墙 &#xff08;2&#xff09;安装JDK 2、安装配置 Tomcat &#xff08;1&#xff09;Tomcat 的安装和配置 &#xff08;2&#xff09;移动…...

嵌入式开发之STM32学习笔记day22

STM32F103C8T6 FLASH闪存 1 FLASH简介 STM32F1系列微控制器的FLASH存储器是一种非易失性存储器&#xff0c;它在微控制器中扮演着至关重要的角色。以下是对STM32F1系列FLASH存储器及其相关编程方式的扩展说明&#xff1a; 【FLASH存储器的组成部分】 程序存储器&#xff1a;这…...

分词算法BBPE详解和Qwen的应用

一、TL&#xff1b;DR BPE有什么问题&#xff1a;依旧会遇到OOV问题&#xff0c;并且中文、日文这些大词汇表模型容易出现训练中未出现过的字符Byte-level BPE怎么解决&#xff1a;与BPE一样是高频字节进行合并&#xff0c;但BBPE是以UTF-8编码UTF-8编码字节序列而非字符序列B…...

关于ETL的BackgroundScheduler同步方案和misfire_grace_time

如果做ETL避免脏数据&#xff0c;那么不可以允许同一个job有并行允许的情况&#xff0c;也就是说max_instance参数始终设置成1。 这时候执行ETL任务&#xff0c;会有以下情况。 1 任务不超时。正常执行 2 任务超时。如果下一个时间点上一次任务还没有执行完&#xff0c;那么…...

多线程下使用缓存+锁Lock, 出现“锁失效” + “缓存未命中竞争”的缓存击穿情况,双重检查缓存解决问题

多线程情况下&#xff0c;想通过缓存同步锁的机制去避免多次重复处理逻辑&#xff0c;尤其是I/0操作&#xff0c;但是在实际的操作过程中发现多次访问的日志 2025-06-05 17:30:27.683 [ForkJoinPool.commonPool-worker-3] INFO Rule - [vagueNameMilvusReacll,285] - embeddin…...

Playwright 测试框架 - .NET

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】...

命令行以TLS/SSL显式加密方式访问FTP服务器

昨天留了一个小尾巴~~就是在命令行或者代码调用命令&#xff0c;以TLS/SSL显式加密方式&#xff0c;访问FTP服务器&#xff0c;上传和下载文件。 有小伙伴可能说ftp命令不可以吗&#xff1f;不可以哦~~ ftp 命令本身不支持显式加密。要实现 FTP 的显式加密&#xff0c;可以使…...

Mac 双系统

准备——Windows10 ISO文件下载 下载地址&#xff1a;https://msdn.itellyou.cn 操作系统 Win10-1903镜像 复制链接迅雷下载 第一步——查看系统磁盘剩余空间 打开“启动台”找到“其他”文件夹&#xff0c;打开“磁盘工具”&#xff08;剩余空间要大于40GB&#xff09; 第二…...