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

MUSIQ ,MANIQA,CLIP-IQA,FID是什么指标,分别是如何计算的(图像恢复领域评价指标

文章目录

    • 四个常见图像质量/生成效果评价指标概览
    • 1  MUSIQ — Multi‑Scale Image Quality Transformer
    • 2  MANIQA — Multi‑Dimension Attention Network for NR‑IQA
    • 3  CLIP‑IQA — 利用 CLIP 先验的零样本 IQA
    • 4  FID — Fréchet Inception Distance
      • 小结

四个常见图像质量/生成效果评价指标概览

指标用途结果输出典型应用场景
MUSIQ单幅 NR‑IQA(无需参考图像)连续分值≈[0, 100]手机拍照、图像增强管线
MANIQA单幅 NR‑IQA,尤其针对 GAN 伪影连续分值≈[0, 1] 或 [0, 10]超分/去噪模型调优
CLIP‑IQA单幅 NR‑IQA(零样本或少样本)连续分值≈[0, 10]多风格生成、审美评估
FID分布级 评价生成模型越小越好(理想 0)GAN / Diffusion 训练早停、模型横向比较

1  MUSIQ — Multi‑Scale Image Quality Transformer

是什么
MUSIQ 是 Google 于 ICCV 2021 提出的无参考图像质量评估模型,通过 多尺度 Vision Transformer 直接对原始分辨率图像打分,避免传统 CNN 必须裁剪/缩放而导致的构图破坏。citeturn2view0

核心思路

  1. 多尺度表征:把同一幅图像按若干比例(如 1.0×、0.5×、0.25×)缩放后分别切成 16 × 16 patch。
  2. Hash‑based 2D 位置编码 + Scale Embedding:解决不同尺度、不同长宽比 patch 的相对定位问题。
  3. 共享 Transformer 编码:全局自注意力跨尺度“看图”,捕获细节与整体构图质量。
  4. 全局池化 + MLP 回归:输出一个与主观 MOS(Mean Opinion Score)对齐的标量分值。

如何计算(推理阶段)

输入 RGB 图像 → 生成多尺度 patch → 位置/尺度嵌入 → Transformer → 全局平均池化 → 全连接层 → 质量分

使用官方预训练权重时,一行 PyTorch 代码即可:score = musiq_model(img_tensor).item()


2  MANIQA — Multi‑Dimension Attention Network for NR‑IQA

是什么
MANIQA 在 NTIRE 2022 冠军方案基础上提出,针对 GAN‑类伪影与高分辨率失真 引入多维注意力来提高 NR‑IQA 精度。citeturn3view0

核心结构

模块作用
ViT 主干提取四层多尺度特征
TAB (Transposed Attention Block)通道维 做自注意力 → 重新分配特征重要性
SSTB (Scale Swin Transformer Block)空间维 做局部‑跨尺度注意力
双分支加权预测(i) Patch 权重分支 w_i (ii) Patch 质量分支 q_i → 最终分数 Σ w_i q_i

计算步骤

  1. 将输入图像缩放到 384 × 384,喂入 ViT 得到多层特征。
  2. 交替经过 TAB 和 SSTB 堆叠,强化全局/局部依赖。
  3. 对每个 patch 同时预测 权重质量,再加权求和。
features = ViT(img)
features = TAB(features) → SSTB(features)
score = Σ (softmax(W_w·features) ⊙ (W_q·features))

3  CLIP‑IQA — 利用 CLIP 先验的零样本 IQA

是什么
AAAI 2023 的 “Exploring CLIP for Assessing the Look & Feel of Images” 发现,OpenAI CLIP 的视觉嵌入已隐式编码“质量/审美”信息,可在 零样本 情况下预测人类打分。citeturn1search1

两种常用实现

  1. Prompt 对比法(完全零样本)
    • 取文本提示 “a high‑quality photo”“a low‑quality photo”,用 CLIP 计算图像与两提示的相似度差 Δs;再做归一化得到 0–10 分。
  2. 线性回归微调
    • 在小规模 MOS 数据上拟合 score = wᵀf + b(f 为 CLIP embedding)。只需十几分钟即可得到 SROCC≈0.9 的 NR‑IQA 模型。

推理流程(Prompt 法示例)

import torch, clip
model, preprocess = clip.load("ViT-B/32")
img = preprocess(PIL.Image.open("test.jpg")).unsqueeze(0).cuda()
text = clip.tokenize(["a high-quality photo", "a low-quality photo"]).cuda()
with torch.no_grad():img_f, txt_f = model.encode_image(img), model.encode_text(text)img_f, txt_f = img_f/ img_f.norm(dim=-1, keepdim=True), txt_f/ txt_f.norm(dim=-1, keepdim=True)
score = (img_f @ txt_f.T)[0]          # 2 维,取差值即可

4  FID — Fréchet Inception Distance

是什么
FID 用来衡量 整批生成图像真实图像 分布的距离,值越小代表生成结果越逼真、分布越接近真实。citeturn5view0

数学定义

  • 真实图像经 Inception‑v3 pool3 得到特征分布 𝒩( μ_r, Σ_r )
  • 生成图像同理得 𝒩( μ_g, Σ_g )


[
\text{FID}= |\mu_r-\mu_g|_2^{2}
+\operatorname{Tr}!\left(\Sigma_r + \Sigma_g - 2,\bigl(\Sigma_r \Sigma_g\bigr)^{\tfrac12}\right)
]

计算步骤

1. 准备 N_real 张真实图 & N_gen 张生成图  
2. 用 Inception‑v3(不含最后全连接层)提取 2048 维特征  
3. 计算两组特征的均值 μ 与协方差 Σ  
4. 按上式求值 → FID (数值越低越好;≤10 通常被认为很高质量)

实践提示

  • N ≥ 10 000 时估计更稳定;生成图不足可多次采样。
  • 使用与论文一致的 TensorFlow /Inception 权重,否则绝对值可有系统偏移。

小结

  • MUSIQ、MANIQA、CLIP‑IQA 都是 单幅无参考 质量评估器,本质是深度学习回归模型,前两者需专门训练,CLIP‑IQA 可以零样本使用。
  • FID 则是 分布级 距离指标,需要一批生成图,与真实数据对比,常与 IS、KID 等一起报告。
    根据项目目标(评估单张质量还是评估生成模型整体性能)选择合适指标,并保持实现细节(预处理、模型版本)的一致,才能得到可比较的结果。
http://www.xdnf.cn/news/4487.html

相关文章:

  • MPU6050 六轴姿态 Arduino ESP32 Test
  • 使用pyenv安装Python指南
  • C++ vector 介绍与使用
  • 【Fifty Project - D23】
  • 可视化图解算法33:判断是不是平衡二叉树
  • C++自动重连机制设计与实现指南
  • 融智学核心理论的数学化表达(之二)
  • Java中的Classpath 包含哪些目录?
  • 为什么800*800mm防静电地板“应用较少
  • 基于@ConfigurationProperties+@EnableConfigurationProperties的配置管理-笔记
  • Qt/C++面试【速通笔记七】—Qt中为什么new QWidget不需要手动调用delete?
  • 资产管理系统选型避坑:2025年核心技术趋势洞察
  • 求组合数【递推+快速幂+卢卡斯+线性筛】
  • AAAI2025论文整理-数字人驱动方向
  • spark 的流量统计案例
  • android-ndk开发(8): ndk 和 clang 版本对照表
  • 北京华锐视点邀您参与2025数字显示与元宇宙博览会【5月10-12日】
  • 浅谈Vue2 与 Vue3 的区别
  • 前端流行框架Vue3教程:13. 组件传递数据_Props
  • 学习Linux的第三天
  • 某振动分析系统的参数交叉核算
  • 解决 pnpm dev 运行报错的坎坷历程
  • 【第25节 性能指标计算】
  • 4.1框架应用
  • 系统架构师2025年论文《信息系统安全体系设计》
  • Xilinx DSP48E2 slice 一个周期能做几次float32浮点数乘法或者加法?如果是fix 32定点数呢?
  • “wsl --install -d Ubuntu-22.04”下载慢,中国地区离线安装 Ubuntu 22.04 WSL方法(亲测2025年5月6日)
  • python + whisper 读取蓝牙耳机, 转为文字
  • JavaScript 到命令和控制 (C2) 服务器恶意软件分析及防御
  • 三生原理是如何与狄利克雷定理兼容的?