这一篇应该是继《BLIND QUALITY ASSESSMENT OF COMPRESSED IMAGES VIA PSEUDO STRUCTURAL SIMILARITY》(2016 ICME)之后的拓展工作。后者是将压缩图像再压缩,比较二者伪结构(压缩块角)的相似度;而本文就是将方法一般化,产生了伪参考图像的概念。

建议先看那篇短文,再看本文。本文只记录扩展部分的精华。

【实际上,这种思想并不是作者的首创。在去模糊等领域,这种思想被广泛使用[5,6]】

本文称伪参考图像为pseudo-reference image(PRI),基于PRI的盲IQA方法为PRI-based BIQA。

本文考虑三种失真:块效应,模糊和噪声。

1. 技术细节

要注意的是,每一种失真很不一样,因此我们需要设计distortion-specific PRI以及对应的测距方法。

对于块效应,我们先对压缩图像进一步强压缩,然后寻找各自的伪结构,最后计算二者伪结构的相似度(PSS),即最终得分。

对于模糊和噪声,它们都会改变图像的局部结构:平坦区域可能因为噪声变得有纹理,而纹理区域可能因为模糊变得平滑。因此我们测量的是局部结构相似度(local structure similarity, LSS)。具体是借助local binary pattern(LBP)[8]来刻画局部结构。

1.1 失真识别

借助DIIVINE[7]的识别方法。只有此步需要训练。

1.2 得到对应的PRI并评估质量

块效应

我们先说块效应。流程与ICME大致相同,不同点:

  1. 计算PSS时分母上加1,以保证数值稳定性。

  2. 检测角使用MATLAB的最小特征值法[43]。质量阈值很小,设为0.001。

  3. 在处理图像前,先用\(3 \times 3\)标准差为0.5的高斯滤波器滤波。

模糊和噪声

我们再说模糊和噪声指标——LSS。

模糊图像和有噪图像的PRI分别是:

得到PRI以后,我们要用LBP来表征PRI和原图各自的局部结构。LBP记录的是某个像素和其圆形邻域内像素的亮度值的差值,并且以二值化形式编码记录:

得到LBP之后,我们再处理一步:

上面是对模糊LBP的处理,下面是对有噪LBP的处理。

最后,我们遵循与块效应相同的步骤,计算相似度即可。

效果:

质量越差(DMOS小),重合越多(白色区域占比大),得分越高(LSS得分高)。

1.3 扩展为通用的质量评价指标——BPRI

有上面那些是不够的。如果一张图像里存在多种失真耦合,那么以上流程和指标都没法用。为此,我们将方法拓展。

归一化3种质量评分

首先,我们要让PSS和两个LSS处于相近的区间,即归一化。方法就是用100张图像(4种失真类型和5种失真尺度,共2000张),拟合各自的模型:
\[
q' = \lambda_1 (\frac{1}{2} - \frac{1}{1 + \exp \lambda_2 (q - \lambda_3)}) + \lambda_4 q + \lambda_5
\]

这样,3个得分都会在0和1之间波动。拟合对象为FR方法GMSD[49]。

判断失真类型

这里作者使用了SVM作为分类器。输入即3个归一化前的质量评分组成的1个3维向量,输出也是3维向量,表征3种失真的概率。

加权求和

概率和归一化后的得分加权求和,即最终得分。

实验略。

2. 总结

优点:

We solve the problem of IQA by measuring "how much worse the image could be?" rather than the traditional "how bad the image is?".

缺点:

  1. 存在大量手工设计的参数。调起来甚是麻烦。

  2. 很难处理耦合失真。

  3. 失真类型有限。每加入一种失真类型,就需要训练一个SVM,拟合一个归一化模型,定义一个PRI。

Paper | Blind Quality Assessment Based on Pseudo-Reference Image的更多相关文章

  1. Paper | BLIND QUALITY ASSESSMENT OF COMPRESSED IMAGES VIA PSEUDO STRUCTURAL SIMILARITY

    目录 1. 技术细节 1.1 得到MDI 1.2 判别伪结构,计算伪结构相似性 2. 实验 动机:作者认为,基于块的压缩会产生一种伪结构(pseudo structures),并且不同程度压缩产生的伪 ...

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

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

  3. [论文笔记] Methodologies for Data Quality Assessment and Improvement (ACM Comput.Surv, 2009) (1)

    Carlo Batini, Cinzia Cappiello, Chiara Francalanci, and Andrea Maurino. 2009. Methodologies for data ...

  4. Troubleshooting routing topology based on a reference topology

    In one embodiment, a computing device (e.g., border router or network management server) transmits a ...

  5. Paper | Quality assessment of deblocked images

    目录 1. 故事 2. 失真变化 3. 方法(PSNR-B) 4. 实验 这篇文章提出了一个PSNR-B指标,旨在衡量 压缩图像的块效应强度 或 去块效应后的残留块效应强度(比较去块效应算法的优劣). ...

  6. [论文笔记] Methodologies for Data Quality Assessment and Improvement (ACM Comput.Surv, 2009) (2)

    本篇博文主要对DMQ(S3.7)的分类进行了研读. 1. 这个章节提出了一种DQM的分类法(如下图) 由上图可见,该分类法的分类标准是对assessment & improvement阶段的支 ...

  7. Quality assessment and quality control of NGS data

    http://www.molecularevolution.org/resources/activities/QC_of_NGS_data_activity_new table of contents ...

  8. Paper | D3: Deep Dual-Domain Based Fast Restoration of JPEG-Compressed Images

    目录 摘要 读后感 故事 深度双域法(D3) 发表于2016年CVPR. 摘要 既利用了CNN,又考虑了JPEG压缩的特性,解决JPEG图像去失真问题. 针对于压缩特性,作者考虑了JPEG压缩方案的先 ...

  9. {Reship}{Code}{CV}

    UIUC的Jia-Bin Huang同学收集了很多计算机视觉方面的代码,链接如下: https://netfiles.uiuc.edu/jbhuang1/www/resources/vision/in ...

随机推荐

  1. css 如何让大小不同的图片表现一致,同时自适应呢?

     壹 ❀ 引 实习生在做产品分类页时,遇到了一个她不知道如何解决问题,所以来问我应该怎么做:问题其实不难,由于项目使用了bootstrap来实现响应式与自适应,所以除了宽度有明确的百分比值之外(栅格化 ...

  2. 搭建Tomcat服务器访问本地资源

    目标,搭建Tomcat服务器,使同网络段下其他电脑可以访问分享的文件 下载安装Tomcat 如下图,在官网http://Tomcat.apache.org/下载对应版本的Tomcat,解压安装即可 启 ...

  3. Saiku嵌入页面plugin=true效果自定义实现(二十七)

    Saiku嵌入页面使用 自定义实现 Plugin=true 效果 saiku嵌入页面plugin=true时数据不显示(plugin=false或者不设定plugin的值时数据显示正常)这个问题困扰了 ...

  4. 关于Unity中AI随机巡逻障碍物预判与快速运动时物理穿透的思考

    如果不想用Unity的导航系统,很多时候就要解决如何预判前进路径中的障碍物问题,之前也看过一些非常经典的寻路算法例如AStar寻路,虽然也可实现功能,但总感觉有些小题大做.寻路算法大多数都是为了得出最 ...

  5. SpringBoot系列之配置文件占位符使用

    SpringBoot系列之配置文件占位符使用 Springboot占位符支持的有随机数和配置的值等等,本博客主要介绍的是随机数和获取属性配置值的简单用法 随机数获取 支持的写法有: ${random. ...

  6. Protractor-引入Cucumber

    上一篇博文中我们已经在package.json中写入了cucumber依赖库,在执行 npm install 之后,cucumber就已经下载好了.接下来要做的是修改conf.js,请参考下图: 去年 ...

  7. HttpClient 如何设置超时时间

    今天分享一个巨坑,就是 HttpClient.这玩意有多坑呢?就是每个版本都变,近日笔者深受其害. 先看一下代码,我要发送请求调用一个c++接口. public static String doPos ...

  8. 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

    一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...

  9. OpenGL入门1.5:矩阵与变换

    每一个小步骤的源码都放在了Github 的内容为插入注释,可以先跳过 前言 在阅读本篇博客之前,你必须对向量和矩阵有基本的认识,并且能熟练进行向量和矩阵的运算 我们已经知道了如何创建一个物体.着色.加 ...

  10. pycharm 新建py文件写时有作者和时间

    ##!/usr/bin/python3 # -*- coding: utf-8 -*- ''' @Time : ${DATE} ${TIME} @Author : YourName @FileName ...