质量评估大佬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. 网络传播模型Python代码实现

    SI模型 import numpy as np import matplotlib.pyplot as plt import smallworld as sw #邻接矩阵 a = sw.a # 感染率 ...

  2. DirectShow 进行视频预览和录制

    这一篇讲怎么采集摄像头图像并预览,以及录制视频到本地. 程序实现流程 这里通过使用 CaptureGraphBuilder 来简化 Graph 的创建流程. 具体流程如下: 初始化 COM 库 创建各 ...

  3. Google工作法

    本文转自:https://www.yuque.com/heqingbao/msfy2c/zg56gm 这几天去上海参加Google开发者大会,利用空闲时间读了一本快餐书,书名叫<Google工作 ...

  4. vscode相关设置

    一.如何设置vs每次点击文件打开新的窗口: 1.打开设置 2.搜索:"workbench.editor.enablePreview" 3.设置"workbench.edi ...

  5. Flink on YARN时,如何确定TaskManager数

    转自: https://www.jianshu.com/p/5b670d524fa5 答案写在最前面:Job的最大并行度除以每个TaskManager分配的任务槽数. 问题 在Flink 1.5 Re ...

  6. .net core 中使用 openssl 公钥私钥进行加解密

    这篇博文分享的是 C#中使用OpenSSL的公钥加密/私钥解密 一文中的解决方法在 .net core 中的改进.之前的博文针对的是 .NET Framework ,加解密用的是 RSACryptoS ...

  7. Nginx 极简教程(快速入门)

    作者:dunwu github.com/dunwu/nginx-tutorial 推荐阅读(点击即可跳转阅读) 1. SpringBoot内容聚合 2. 面试题内容聚合 3. 设计模式内容聚合 4.  ...

  8. 点云3D 目标检测

    点云 点云是雷达采集到的信息. 关于点云基本介绍参考https://zhuanlan.zhihu.com/p/22581673 ros中的点云消息结构:http://docs.ros.org/jade ...

  9. Git 实用命令记录

    自从上次写了一篇 Git 入门 的相关博客以来,一直自以为自己能完全的掌握 Git,其实不然,今天一小伙问我,如何删除远程上面的一个分支,呃,不会. git branch -d 分支名 只能删除本地的 ...

  10. ReSharper激活方法

    激活方式选择License Keys. 激活码: MTW881U3Z5-eyJsaWNlbnNlSWQiOiJNVFc4ODFVM1o1IiwibGljZW5zZWVOYW1lIjoiTnNzIElt ...