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

【IQA技术专题】 无参考自然图像IQA:NIQE

在这里插入图片描述

无参考自然图像IQA:NIQE:Making a “Completely Blind” Image Quality Analyzer(2012 IEEE)

  • 专题介绍
  • 一、研究背景
  • 二、NIQE方法
    • 2.1 NSS model
    • 2.2 Patch Selection
    • 2.3 Characterizing Image Patches
    • 2.4 Multivariate Gaussian Model
  • 三、实验
  • 四、总结

本文将围绕《Making a “Completely Blind” Image Quality Analyzer》展开完整解析。NIQE实现了无参考的图像质量评价指标,可以有效地对图像的感知(Fidelity)质量进行评估。本文提出了一种完全盲目的图像质量评估(IQA)模型 —— 自然图像质量评估器(NIQE),它基于自然场景统计(NSS)模型,通过提取自然图像的统计特征构建多元高斯(MVG)模型,再计算测试图像特征与该模型的距离来评估质量。与需训练的现有模型不同,NIQE 无需依赖失真图像或人类主观评分,在 LIVE IQA 数据库上的性能优于 PSNR、SSIM 等全参考模型,且与顶级无参考模型相当。参考资料如下:
[1]. 论文地址
[2]. 代码地址

论文整体结构思维导图如下:
在这里插入图片描述


专题介绍

图像质量评价(Image Quality Assessment, IQA)是图像处理、计算机视觉和多媒体通信等领域的关键技术之一。IQA不仅被用于学术研究,更在影像相关行业内实现了完整的商业化应用,涉及影视、智能手机、专业相机、安防监控、工业质检、医疗影像等。IQA与图像如影随形,其重要程度可见一斑。

但随着算法侧的能力不断突破,AIGC技术发展火热,早期的IQA或已无法准确评估新技术的能力。另一方面,千行百业中各类应用对图像质量的需求也存在差异和变化,旧标准也面临着适应性不足的挑战。

本专题旨在梳理和跟进IQA技术发展内容和趋势,为读者分享有价值、有意思的IQA。希望能够为底层视觉领域内的研究者和从业者提供一些参考和思路。

系列文章如下:
【1】🔥IQA综述
【2】PSNR&SSIM
【3】Q-Insight
【4】VSI
【5】LPIPS
【6】DISTS
【7】Q-align
【8】GMSD


一、研究背景

盲IQA目的是设计一个尽可能少的用先验退化知识来对图像进行评估的方法,通俗来说就是不清楚什么退化方法会影响图像质量的前提下来评估图像质量。当然,无参考图像方法里面还有一些是已知很多图像和他们的评分来进行设计的,且都达到了sota。该论文的NIQE(Natural Image Quality Evaluator)方法更加纯粹,不需要人为打分的数据集,属于完全盲方法,即连模型的建立过程也不需要人类评分和参考图像。NIQE方法基于space domain natural scene数据模型,特征来源于自然未经退化的图像,实验结果相比较一些需要训练的方法也有优势。

opinion-aware OA 指模型已经在一个由人类评定的扭曲图像和相关的主观意见分数组成的数据库上进行了训练;相对应的是 opinion unaware’ (OU) 不需要在扭曲图像的人类判断数据库上进行训练的模型;distortion unaware’ (DU)和distortion aware’ (DA) 指是不是清楚扭曲的类型。

依据上面的分类,我们可知例如PSNR和SSIM等属于是FR中的DU,该论文的方法是一个NSS(natural scene statistic)-based的OU-DU NRIQA方法,即基于NSS模型,不需要人类判断数据打分,不需要已知扭曲类型的一种无参考图像评估方法。

二、NIQE方法

评估方法大致可以分为以下4个步骤,用下图表示。
在这里插入图片描述

  1. 提取quality aware的特征,这个特征来源于空间域自然场景统计模型(NSS模型)。
  2. 在图中选取合适的块来进行评估,作者设计了一种方法来选取图像中更能代表图像质量的块,而非全部使用。
  3. 从补丁中提取到的NSS特征使用零均值广义高斯分布(GGD)来进行拟合,拟合的分布参数作者会进一步送给多元高斯模型拟合使用。
  4. 使用步骤3的分布参数特征fit in一个multivariate Gaussian (MVG) model 多元高斯分布。

这样是完成了一次MVG模型的拟合。

为进一步得到NIQE指标,作者会首先选取来自Flickr无版权数据与Berkeley图像分割数据库的125张自然图像,分辨率范围480×320至1280×720,进行一次上述的过程得到一个标准的多元高斯分布。在测试时,只需要对待评估图像重复一次上述的过程并计算两个分布之间的马氏距离即可。

2.1 NSS model

首先,对图像进行局部标准化,即下式:I^(i,j)=I(i,j)−μ(i,j)σ(i,j)+1\hat{I}(i, j) = \frac{I(i, j) - \mu(i, j)}{\sigma(i, j) + 1}I^(i,j)=σ(i,j)+1I(i,j)μ(i,j)其中iiijjj是二维图像的indices,而μ\muμσ\sigmaσ的计算如下:μ(i,j)=∑k=−KK∑l=−LLwk,lI(i+k,j+l)\mu(i, j) = \sum_{k=-K}^{K} \sum_{l=-L}^{L} w_{k, l} I(i + k, j + l)μ(i,j)=k=KKl=LLwk,lI(i+k,j+l) σ(i,j)=∑k=−KK∑l=−LLwk,l[I(i+k,j+l)−μ(i,j)]2\sigma(i, j) = \sqrt{\sum_{k=-K}^{K} \sum_{l=-L}^{L} w_{k, l} \left[ I(i + k, j + l) - \mu(i, j) \right]^{2}}σ(i,j)=k=KKl=LLwk,l[I(i+k,j+l)μ(i,j)]2是在kernel大小为(K,L)中计算的μ\muμσ\sigmaσ,这里的wk,lw_{k,l}wk,l是2D圆对称高斯,各向同性的权重。

基于前面提到的NSS模型,作者发现了如果一个图像没有发生明显的退化的话,提取的NSS特征会满足一个高斯分布,当然作者给出了特殊的情况,比如图像不是自然图像,或者遭受了一些非自然的退化。因此这个特征是可以用于我们去感知图像质量的变化。

2.2 Patch Selection

这里作者将图像分为PxP个patch,但是只会使用一小部分的patch,原因在于,作者分析了人类判断质量的一些准则,人类判断会更倾向于去给到图像边缘处更高的权重,which means如果一个边缘更锐利的图像,会认为更清晰,这里作者举了一个散焦模糊的例子,也提到了这种准则也是需要撇开美学来谈的(美学里面可能不是这样),任何散焦模糊都是意味着信息的丢失。

作者首先提到下式可以有效衡量这个梯度边缘信息,就是平均方差:
δ(b)=∑(i,j)∈patch bσ(i,j)\delta(b) = \sum_{\substack{(i, j) \in \text{patch } b}} \sigma(i, j)δ(b)=(i,j)patch bσ(i,j)通过对patch b进行累加,获取到patch b的平均方差场,计算了之后,就选择大于阈值T的块就行了,T的计算是通过计算最大块锐度的0.75来获取的。

2.3 Characterizing Image Patches

这里用到了一个叫零均值广义高斯分布的东西来拟合NSS模型:f(x;α,β)=α2βΓ(1/α)exp⁡(−(∣x∣β)α)f(x ; \alpha, \beta) = \frac{\alpha}{2 \beta \Gamma(1 / \alpha)} \exp\left(-\left( \frac{|x|}{\beta} \right)^{\alpha} \right)f(x;α,β)=2βΓ(1/α)αexp((βx)α) Γ(a)=∫0∞ta−1e−tdt(a>0)\Gamma(a) = \int_{0}^{\infty} t^{a-1} e^{-t} \, dt \quad (a > 0)Γ(a)=0ta1etdt(a>0)其中零均值广义高斯分布中的参数α\alphaαβ\betaβ可以用moment-matching的方法来进行计算。
接着再提取了4个特征是I^(i,j)I^(i,j+1)\hat{I}(i, j) \hat{I}(i, j+1)I^(i,j)I^(i,j+1)I^(i,j)I^(i+1,j)\hat{I}(i, j) \hat{I}(i+1, j)I^(i,j)I^(i+1,j), I^(i,j)I^(i+1,j+1)\hat{I}(i, j) \hat{I}(i+1, j+1)I^(i,j)I^(i+1,j+1)I^(i,j)I^(i+1,j−1)\hat{I}(i, j) \hat{I}(i+1, j-1)I^(i,j)I^(i+1,j1),即NSS模型的变种。这几个特征使用asymmetric generalized Gaussian distribution (AGGD),不对称高斯分布拟合:f(x;γ,βl,βr)={γ(βl+βr)Γ(1/γ)exp⁡(−(−xβl)γ)∀x≤0,γ(βl+βr)Γ(1/γ)exp⁡(−(xβr)γ)∀x≥0.f(x; \gamma, \beta_l, \beta_r) = \begin{cases} \frac{\gamma}{(\beta_l + \beta_r) \Gamma(1/\gamma)} \exp\left(-\left( \frac{-x}{\beta_l} \right)^{\gamma} \right) & \forall \, x \leq 0, \\ \frac{\gamma}{(\beta_l + \beta_r) \Gamma(1/\gamma)} \exp\left(-\left( \frac{x}{\beta_r} \right)^{\gamma} \right) & \forall \, x \geq 0. \end{cases}f(x;γ,βl,βr)=(βl+βr)Γ(1/γ)γexp((βlx)γ)(βl+βr)Γ(1/γ)γexp((βrx)γ)x0,x0.其中分布的均值为:η=(βr−βl)Γ(2/γ)Γ(1/γ)\eta = (\beta_r - \beta_l) \frac{\Gamma(2/\gamma)}{\Gamma(1/\gamma)}η=(βrβl)Γ(1/γ)Γ(2/γ)这几个参数的估计还是矩匹配方法。
经过上面这么多操作,可以得到了总共18个特征(α\alphaα+β\betaβ+4*(Γ\GammaΓ+βl\beta_lβl+βr\beta_rβr+η\etaη)),再对图像低通滤波加降采样,就可以得到总共36个特征。

2.4 Multivariate Gaussian Model

前面提取了众多的特征,然后将这些特征使用一个多元高斯拟合,作者选择了125幅大小从480 × 320到1280 × 720不等的自然图像来获得多变量高斯模型。这样得到了高质量图的一个模型,模型如下:fX(x1,…,xk)=1(2π)k/2∣∑∣1/2×exp⁡(−12(x−ν)T∑−1(x−ν))\begin{aligned} f_{X}(x_{1}, \ldots, x_{k}) &= \frac{1}{(2 \pi)^{k/2} \left| \sum \right|^{1/2}} \times \exp\left( -\frac{1}{2} (x - \nu)^T \sum^{-1} (x - \nu) \right) \end{aligned}fX(x1,,xk)=(2π)k/21/21×exp(21(xν)T1(xν))其中x1,...,xkx_1,...,x_kx1,...,xk是刚才提取的特征。
然后就自然而然的给出了NIQE的指数:D(ν1,ν2,∑1,∑2)=(ν1−ν2)T(∑1+∑22)−1(ν1−ν2)\begin{aligned} D\left(\nu_{1}, \nu_{2}, \sum_{1}, \sum_{2}\right) &= \sqrt{ \left( \nu_{1} - \nu_{2} \right)^{T} \left( \frac{\sum_{1} + \sum_{2}}{2} \right)^{-1} \left( \nu_{1} - \nu_{2} \right) } \end{aligned}D(ν1,ν2,1,2)=(ν1ν2)T(21+2)1(ν1ν2)

其中v1v_1v1v2v_2v2以及协方差矩阵是前面的多元高斯模型的参数。

三、实验

首先是定量实验。测试主要在LIVE IQA 数据库上进行,含 5 类失真(JPEG、JPEG2000、高斯噪声、高斯模糊、Rayleigh fast fading channel distortion),用 DMOS 表示主观质量。
在LIVE IQA数据集上的SROCC指标是最高的。
在这里插入图片描述
后续对比了线性相关度,也是最高的。
在这里插入图片描述

选用建立标准模型的图像数量
如下图所示,仅需约 20 张自然图像即可构建稳定模型,性能随图像数量增加趋于稳定。
在这里插入图片描述

四、总结

NIQE 是首个 OU-DU 型盲 IQA 模型,无需失真图像或主观评分,通过自然图像统计规律评估质量,性能优异,适用于无约束环境。NIQE在学术界和比赛中也会经常使用来作为客观评价图像质量的指标。

后续会更新代码讲解。


感谢阅读,欢迎留言或私信,一起探讨和交流,如果对你有帮助的话,也希望可以给博主点一个关注,谢谢。

http://www.dtcms.com/a/365697.html

相关文章:

  • 审核问题——一个关于版本号的乌龙事件
  • Elasticsearch面试精讲 Day 6:Query DSL查询语法详解
  • 2025年9月,十大求职神器测评:谁是Offer收割机之王?
  • 玳瑁的嵌入式日记D32-0903(网络编程)
  • Nginx简介
  • 自学嵌入式第三十四天:网络编程-TCP
  • dumpsys alarm 简介
  • Java+AI开发实战与知识点归纳系列:Spring流式输出实战——LangChain4j与Ollama集成
  • Spring Authorization Server 1.5.2 使用YML配置的方式,最常用法总结
  • VAR的教师强制teacher forcing
  • Canaan 阿瓦隆 A1246I 81T矿机评测:性能、功耗与能效全面分析
  • 解锁产品说明书的“视觉密码”:多模态 RAG 与 GPT-4 的深度融合 (AI应用与技术系列)
  • 【收藏必备】大模型面试宝典:Transformer到实战应用全解析,助你斩获30W年薪offer!
  • Debezium日常分享系列之:Debezium 3.3.0.Alpha2发布
  • MySQL 行转列 (Pivot) 的 N 种实现方式:静态、动态与 GROUP_CONCAT 详解
  • C++入门小馆:C++11第一弹
  • 面试复习题-Flutter
  • https 协议与 wss 协议有什么不同
  • 详细教程:如何利用nslookup命令查询DNS解析状态?
  • 深度学习------模型的保存和使用
  • CSS 伪类与伪元素:深度解析
  • 大疆图传技术参数对比 你了解多少?
  • 2025高教社杯数模国赛【思路预约】
  • Mysql的锁退化
  • 虚拟机+ubuntu+docker+python部署,以及中途遇到的问题和解决方案
  • 计算机科学领域-CS基础
  • 信创MySQL到达梦数据库的SQL语法转换技术解析
  • 使用Java定时爬取CSDN博客并自动邮件推送
  • CPU和GPU的区别与作用域
  • prometheus+grafana搭建