这一篇应该是继《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. 使用composer安装Larave提示“Changed current directory to C:/Users/Administrator/AppData/Roaming/Composer”

    解决办法: 根据官方手册执行composer global require "laravel/installer" 显示Changed current directory to C ...

  2. Java数组拷贝的五种方法

    在Java中有多种方法可以拷贝一个数组,到另外一个数组. 1.循环拷贝 在循环拷贝方法中,只需要利用i,移动指针即可复制所有数组到arrayB中. for(int i=0;i<arrayA.le ...

  3. 在windows系统上面部署springboot项目并设置其开机启动

    前言 最近的项目需要在客户的服务器上面部署一个项目然后进行测试,服务器的系统是windows server2008的,以前部署的项目都是在linux系统上面居多,就算是在windows系统上面自己玩的 ...

  4. Vant ui

    轻量.可靠的移动端 Vue 组件库 https://youzan.github.io/vant/#/zh-CN/intro postcss-pxtorem vue:将px转化为rem,适配移动端van ...

  5. idea整合svn

    如果遇到找不到svn.exe的情况.可以重新运行svn的安装程序.勾选上svn的安装.

  6. Z从壹开始前后端分离【 .NET Core2.0/3.0 +Vue2.0 】框架之三 || Swagger的使用 3.1

    本文梯子 本文3.0版本文章 常见问题 1.Bug调试 2.经常有小伙伴遇到这个错误 3.路由重载 一.为什么使用Swagger 二.配置Swagger服务 1.引用Nuget包 2.配置服务 3.启 ...

  7. PHP常见循环例题

    以下的每道题都没有固定的写法,可以使看的人更好的理解 1.通过for循环将数组中值求和.求平均值 <?php //1.求数组的和.平均值 $num=[1,20,53,23,14,12,15]; ...

  8. LinuxShell脚本——变量和数据类型

    LinuxShell脚本——变量和数据类型 摘要:本文主要学习了Shell脚本中的变量和数据类型. 变量 定义变量的语法 定义变量时,变量名和变量值之间使用“=”分隔,并且等号两边不能有空格: 变量名 ...

  9. HTTP面试常见题

    1.HTTP2.0.1.1.1.0.0.9的区别? 答:HTTP0.9:是HTTP协议的第一个版本,只允许发送get请求,并且不支持请求头.一次请求对应一次响应.是短连接. HTTP1.0:相比于0. ...

  10. 易优CMS:arcview的基础用法

    [基础用法] 名称:arcview 功能:获取单条文档数据 语法: {eyou:arcview aid='文档ID'} <a href="{$field.arcurl}"&g ...