质量评估大佬AC Bovik的作品,1200+引用。

目标问题:提出一些普适的、与主观质量接近的客观评估指标。普适意味着:无失真先验。

背景:现有的普适NR-IQA方法需要训练集(图像包含预期的失真,且需要人类评分数据)。这种方法泛化能力差,且要求高。

解决思路:从自然图像中获取一些统计数据(natural scene statistic, NSS),用来刻画图像质量。即不再需要人类评分数据用于训练。基于此的方法称为Natural Image Quality Evaluator (NIQE)。

效果:与SOTA的、基于训练的NR-IQA方法平起平坐。

意义:这种方法才是真正的blind。因为如果我们有合适的数据集,就说明我们对失真有了一定的预判,使得训练集和测试集的失真模式是一致的。虽然测试阶段是盲的,但训练显然非盲。

1. 技术细节

作者称之为no reference opinion-unaware distortion-unaware IQA model。一句话概括:将一系列quality-aware的特征,用一个多元高斯(multivariate Gaussian MVG)模型进行建模。那么,有损图像的质量就是其MVG 以及 自然图像的MVG 的距离。

1.1 NSS特征

第一步,图像归一化:减去局部均值,除以标准差+1:

这一步即计算了本文选择的NSS!根据参考文献[10]【这个文献很重要】,无损自然图像的式(1)遵循高斯分布。如果是非自然图像(如计算机渲染图像)或受损图像,那么分布就不像高斯分布。

注意:该指标在BRISQUE[3]中已经被用过。但BRISQUE方法没有NIQE好?

1.2 选择锐利块来计算NSS

第二步,我们选择块,来计算以上的NSS。注意,我们只考虑那些显著性高的区域,一般是锐利的区域[12]。前面我们计算了每个像素点邻域的标准差,因此我们可以据此估算该区域的锐利程度:

如图即选出的区域示例:

然后,我们简单设一个阈值,该阈值为整个图像峰值锐利度的75%。超过阈值即锐利块,被选出计算NSS。

1.3 一张图像得到36个特征

第三步,我们用零均值的广义高斯分布(generalized Gaussian distribution, GGD)来建模自然图像的NSS:

和[3]一样,本文通过相邻像素NSS的相乘,来检测该NSS指标的异常。

建模时,我们考虑4个方向、2种块的尺度。每一个GGD模型有4个参数,一共能产生36个特征。产生方法要看[3]。

1.4 用MVG建模这36个特征

第四步,我们用MVG建模自然图像的这36个特征。

1.5 NIQE指标

最后,我们计算目标MVG和自然MVG的距离,即NIQE得分:

2. 实验

我们只看一个实验:我们需要多少自然图像进行训练,模型才会收敛?

可见,当超过100张图像时,模型的稳定性就很好了。

Paper | Making a "Completely Blind" Image Quality Analyzer的更多相关文章

  1. Paper | No-reference Quality Assessment of Deblocked Images

    目录 故事背景 本文方法(DBIQ) 发表在2016年Neurocomputing. 摘要 JPEG is the most commonly used image compression stand ...

  2. How to implement an algorithm from a scientific paper

    Author: Emmanuel Goossaert 翻译 This article is a short guide to implementing an algorithm from a scie ...

  3. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  4. Data Visualization – Banking Case Study Example (Part 1-6)

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  5. How To Improve Deep Learning Performance

    如何提高深度学习性能 20 Tips, Tricks and Techniques That You Can Use ToFight Overfitting and Get Better Genera ...

  6. CodeForces 219B Special Offer! Super Price 999 Bourles!

    Special Offer! Super Price 999 Bourles! Time Limit:1000MS     Memory Limit:262144KB     64bit IO For ...

  7. Apache 'mod_accounting'模块SQL注入漏洞(CVE-2013-5697)

    漏洞版本: mod_accounting 0.5 漏洞描述: BUGTRAQ ID: 62677 CVE ID: CVE-2013-5697 mod_accounting是Apache 1.3.x上的 ...

  8. Play XML Entities

    链接:https://pentesterlab.com/exercises/play_xxe/course Introduction This course details the exploitat ...

  9. Generic XXE Detection

    参考连接:https://www.christian-schneider.net/GenericXxeDetection.html In this article I present some tho ...

随机推荐

  1. 报错:Something is already running on port 8000.

    在用react框架的时候,用cnpm run dev命令执行项目时,有时会出现这种错误, 这是因为你之前执行过该命令,但是没关闭,解决办法是打开任务管理器, 在进程中找到node.exe,右键关闭这个 ...

  2. ssh 免密码登录服务器

    本机生成 ssh key ssh-keygen -t rsa -C "your_email@example.com" 上传公钥文件(假设用户为 user,服务器 ip 为 1.2. ...

  3. 如何使用PHP的生成器yield处理大量数据业务

    官方解释yield yield生成器是php5.5之后出现的,官方文档这样解释:yield提供了一种更容易的方法来实现简单的迭代对象,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大 ...

  4. LeetCode 350: 两个数组的交集 II Intersection of Two Arrays II

    题目: 给定两个数组,编写一个函数来计算它们的交集. Given two arrays, write a function to compute their intersection. 示例 1: 输 ...

  5. 图像处理-裁剪具有透明背景的png

    我遇到了需要裁剪具有透明背景的png的问题,用 https://www.yasuotu.com/editor 这个压缩图网站解决了问题. 这里可以选择裁剪的宽度和高度,记得点击确定按钮. 裁剪完成后, ...

  6. IT兄弟连 Java语法教程 流程控制语句 控制循环结构3

    使用continue忽略本次循环剩下的语句 continue的功能和break有点类似,区别是continue只是忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环:而break则是完全终止循 ...

  7. vue中$refs的用法及作用详解

    一般来讲,获取DOM元素,需要使用document.querySelector('#input1')方法去获取dom节点,然后再获取input1的值. 但是使用了ref绑定之后,我们就不需要再获取do ...

  8. Redis for OPS 06:Redis Cluster 集群

    写在前面的话 前面的主从,HA 都只是解决我们数据安全性方面的问题,并没有解决我们业务瓶颈的问题.当业务并发到达一定瓶颈的时候,我们需要对服务进行横向扩展,而不是纵向扩展.这就需要引入另外一个东西,R ...

  9. webpack资源处理

    使用上篇已谈过,这篇纯代码!!~~ <!DOCTYPE html> <html lang="en"> <head> <meta chars ...

  10. java主函数

    相信很多初次接触java的同学,在遇见主函数的时候,听到最多的就是主函数的格式是固定的,不能进行修改等等.这就让人疑惑了,主函数为啥就那么特殊呢?接下来博主会为大家解释主函数.大家先看看下面这个程序: ...