质量评估大佬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. Java笔记(持续更新)

    码云地址    https://gitee.com/MarkPolaris/Java_Mark

  2. spring cloud 2.x版本 Sleuth+Zipkin分布式链路追踪

    前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...

  3. pytorch_模型参数-保存,加载,打印

    1.保存模型参数(gen-我自己的模型名字) torch.save(self.gen.state_dict(), os.path.join(self.gen_save_path, 'gen_%d.pt ...

  4. 从零开始学 ASP.NET Core 与 EntityFramework Core 目录

    从零开始学 ASP.NET Core 与 EntityFramework Core 介绍 我是一个目录,它旨在帮助开发者循序渐进的了解 ASP.NET Core 和 Entity Framework ...

  5. 使用zabbix监控linux的io

    zabbix自带的监控linux的模板中并没有监控io这项,而实际生产中又需要监控io,如何监控呢. 错误的示例 这里我特意贴出错误的示例出来,是因为我在网上搜如何使用zabbix监控io的文章时,好 ...

  6. python基础(6):基本数据类型一(int、bool、str)

    1. 基本数据类型 1. int ==> 整数,主要⽤来进⾏数学运算 2. str ==> 字符串,可以保存少量数据并进⾏相应的操作 3. bool==>判断真假,True,Fals ...

  7. iOS----------提交被拒

    Hello, Thank you for resubmitting your app for review. Guideline 2.5.1 - Performance - Software Requ ...

  8. iOS滑动手势UIPanGestureRecognizer 注意事项

    今天在做侧滑页面时,发现页面随着滑动手势而滑动,到临界点时,如果再滑动会出现抖动现象.找到解决办法是进入方法后先判断一次,再判断是在滑动范围内让页面滑动.遂将滑动手势(UIPanGestureReco ...

  9. SpringBoot+Thyemelaf开发环境正常,打包jar发到服务器就报错Template might not exist or might not be accessible

    这里说一下Thyemelaf的巨坑 写了一个SpringBoot+Thyemelaf的项目,并不是前后端分离.今天想放到linux服务器上玩玩,打成jar包,然后一运行他妈居然报错了,报了一个Temp ...

  10. python从入门到放弃之线程篇

    一,什么是多线程? 1.多线程的概念? 说起多线程,那么就不得不说什么是线程,而说起线程,又不得不说什么是进程. 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分 ...