质量评估大佬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. NopCommerce 4.2的安装与运行

    一.关于NopCommerce NopCommerce是国外ASP.Net领域一个高质量的B2C开源电商项目,最新版本4.2基于ASP.NET Core MVC 2.2和EF Core 2.2开发,其 ...

  2. angularjs 一篇文章看懂自定义指令directive

     壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如 ...

  3. 试着用workerman开发一个在线聊天应用

    聊天功能是很常见的一种功能,Workerman是一款开源高性能异步PHP socket即时通讯框架. 什么是Workerman? Workerman是一款 开源 高性能异步 PHP socket即时通 ...

  4. Redis系列---redis简介01

    一. 本章我们将用简短的几句话来帮助你快速的了解什么是redis,初学者不必深究 1 Redis简介 Remote Dictionary Server(Redis)是一个开源的使用ANSI C语言编写 ...

  5. AspNet Katana中Authentication有关的业务逻辑

    我将从CookieAuthenticationMiddleware中间件的使用,来讲述cookie认证是如何实现的 1.系统是如何调用CookieAuthenticationMiddleware的 在 ...

  6. 总结了Python中的22个基本语法

    "人生苦短,我用Python".Python编程语言是最容易学习.并且功能强大的语言.只需会微信聊天.懂一点英文单词即可学会Python编程语言.但是很多人声称自己精通Python ...

  7. Linux帮助——常用命令

    Linux帮助——常用命令 摘要:本文主要学习了Linux系统中常用的一些命令. uname命令 uname命令可以显示电脑以及操作系统的相关信息. 基本语法 uname [选项] 选项说明 -a:显 ...

  8. CSS @charset规则

    定义和用法 @charset规则指定样式表中使用的字符编码.@charset规则必须在样式表中的第一元素,而不是由任何字符之后进行.在外部样式文件中使用.如果@charset定义了多个规则,则仅使用第 ...

  9. ble蓝牙扫描几种方式

    有空再更新内容 方式一BluetoothAdapter层扫描回调 在高版本api已过时 方式二BluetoothLeScanner层扫描回调 android>= 5.0之后的版本推荐使用 方式三 ...

  10. 记一次asp.net core 在iis上运行抛出502.5错误

    asp.net core 在iis上运行抛出502.5异常的部分原因以及解决方案 环境说明 已安装 .net core runtime 2.1.401 已安装 .net core windows ho ...