图像质量评价(Image Quality Assessment,IQA)是图像处理中的基本技术之一,主要通过对图像进行特性分析研究,然后评估出图像优劣(图像失真程度)。

主要的目的是使用合适的评价指标,使得评价结果最符合人类主观评价。

从有没有人参与的角度区分,图像质量评价方法有主观评价和客观评价两个分支。

图像质量主观评价:

主观图像质量的评价方法是以人的主观意识为判断的评价方法,主观评价方法主要可分为两种:绝对评价和相对评价。

绝对评价: 评价指标是平均主观分(MOS),图像质量的绝对评价都是观察者参照原始图像对待定图像采用双刺激连续质量分级法。将待评价图像和原始图像按一定规则交替播放持续一定时间给观察者,然后在播放后留出一定的时间间隔供观察者打分,最后将所有给出的分数取平均作为该序列的评价值,即该待评图像的评价值,

国际上也对评价尺度做出了规定,对图像质量进行等级划分并用数字表示,也称为图像评价的5分制“全优度尺度”(优:5分,良:4分,中:3分,差:2分,劣:1分)

相对评价:评价指标是差异平均主观分(DMOS),相对评价中没有原始图像作为参考,是由观察者对一批待评价图像进行相互比较,从而判断出每个图像的优劣顺序,并给出相应的评价值。

通常,相对评价采用单刺激连续质量评价方法,将一批待评价图像按照一定的序列播放,此时观察者在观看图像的同时给出待评图像相应的评价分值。相对于主观绝对评价,主观相对评价也规定了相应的评分制度,称为“群优度尺度”。也是5分制。

主观评价方法需要大量的专业人士,耗时费力,而且不适应于实际应用。

图像质量客观评价:

客观质量评价方法是指脱离人的主观意识判断,主要通过函数拟合或者机器学习的方法来建立一个模型,对待评图像进行相关的处理运算,得到图像的评价值。

优秀的图像质量算法应该具有三个特点:与人眼感知相符;具有通用性;结果具有单调性,稳定性。

图像质量客观评价可分为全参考(Full-Reference,FR),部分参考(Reduced-Reference,RR)和无参考(No-Reference,NR)三种类型。

全参考: 比较适合作为评价指标,全参考图像质量评价是指在选择理想图像作为参考图像的情况下,比较待评图像与参考图像之间的差异,分析待评图像的失真程度,从而得到待评图像的质量评估。

基于图像像素统计基础的有: 峰值信噪比(Peak-Signal to Noise Ratio,PSNR)和均方误差(Mean Square Error,MSE)。PSNR与MSE都是通过计算待评图像与参考图像之间像素误差的全局大小来衡量图像质量好坏的。PSNR值越大,表明待评图像与参考图像之间的失真较小,图像质量较好。而MSE的值越小,表明图像质量越好。这类算法比较简单且容易实现,但与主观评价方法有很大的差异。

基于信息论中信息熵基础,有人提出来了信息保真度准则(Information Fidelity Criterion,IFC)和视觉信息保真度(Visual Information Fidelity,VIF)两种算法。通过计算待评图像与参考图像之间的互信息来衡量待评图像的质量优劣。但这类方法对于图像的结构信息没有反应。

基于结构信息基础:提出了一种符合人眼视觉系统特性的图像质量客观评判标准-结构相似度(Structure Similaruty,SSIM)。SSIM值越大,失真图像质量越好。该指标算法实现简单,质量评估性比较可靠。 平均结构相似度算法(MSSIM),基于SSIM改进的一种算法,把原始图像和失真图像分成相同的小块,分别求SSIM,然后再求出整幅图的相似度。MSSIM值越大,失真图像质量越好。

还有基于人类视觉系统(HSV)的图像质量评价方法,这种方法提高了客观质量评价方法与主观评价方法的一致性。

部分参考:以理想图像的部分特征信息作为参考,对待评图像进行比较分析,从而得到图像质量评价结果。部分参考方法可分为基于原始图像特征方法、基于数字水印方法和基于Wavelet域统计模型的方法等。部分图像参考的重点和难点在于寻找合适的特征信息。

无参考:无参考方法也称为盲图像质量评价(BIQA),无参考图像评价方法实现比较复杂,但因为一般的理想图像很难获得,所以这类方法偏重于实际应用。    比较简单的评价算法有:

均值:均值是指图像像素的平均值,它反映了图像的平均亮度,平均亮度越大,图像质量越好。

标准差:标准差是指图像像素灰度值相对于均值的离散程度。如果标准差越大,表明图像中灰度级分别越分散,图像质量也就越好,

平均梯度:平均梯度能反映图像中细节反差和纹理变换,它在一定程度上反映了图像的清晰程度。

熵:熵是指图像的平均信息量,它从信息论的角度衡量图像中信息的多少,图像中的信息熵越大,说明图像包含的信息越多。

研究点:

针对特定失真时,现阶段有很多质量评价算法的结果和主观评价值相差不大,但对其他类型的失真则可能结果并不理想。

除了设计质量评价算法外,还有一个方法是设计机器学习模型。基于机器学习方法主要是通过从已知质量的图像中提取出能够反映图像质量的特征参数,并进行训练学习,建立一个分析模型,然后把待评测图像的相应的特征参数输入到分析模型中,预测失真图像的质量。这种方法的评测结果一般优于函数拟合预测出来的结果,但是机器学习有学习过程,会花费大量时间。

现今的图像质量评价的重点研究主要是针对无参考图像的研究,分为3类:

面向特定失真图像质量评价方法、非特定失真图像质量评价和基于机器学习图像质量评价方法。

特定失真:

失真类型:图像模糊、图像噪声、JPEG压缩、JPEG2000压缩和块效应等。

图像模糊: 基于边缘信息差异的:根据检测到的不同边缘强度信息进行计算模糊度的图像质量评价算法(A no-reference perceptual blur metric based on complex edge analysis[C]),基于可察觉模糊和HVS计算图像模糊度的图像质量评价算法(Human visual system based on-reference objective image sharpness metric[C] )。基于Sobel算子计算图像的平均边缘宽度(A no-reference perceptual blur metric[C] )。

基于像素统计信息的:基于图像相邻像素域的灰度信息变化来计算图像模糊度的图像质量平均算法(The blur effect: perception and estimation with a new no-reference perceptual blur metric[C] )。基于图像相邻灰度的差异方差的变化大小来计算模糊度的图像质量评价算法(Efficient method of detecting globally blurry or sharp images[C] )。

基于变化域的:基于8*8大小的离散余弦变换来估计图像模糊度的图像质量评价算法(Blur determination in the compressed domain using DCT information[C])。

噪声失真:根据不同分辨率的方差差异计算出图像的噪声方差的图像质量评价算法(A fast parallel algorithm for blind estimation of noise variance[J])。根据Sobel算子计算图像结构的边缘阈值(A fast method for image noise estimation using laplacian operator and adaptive edge detection[C] )。

JPEG失真: 基于块边界的统计图像质量评价算法(Using edge direction information for measuring blocking artifacts of images[J])。

基于非特定失真图像的质量评价:
盲图像质量指标(BIQI)(A two-step framework for constructing blind image quality indices[J]):分为两步,先将各种图像进行失真的分类,然后评估失真图像的质量。

自然图像质量评价方法(NIQE)(No-reference image blur assessment using multiscale gradient[J]):采用96*96块间无重合的方式对图像对比度归一化进行分块。计算每个块的局部对比度的均值。

基于失真辨识的图像真实性和完整性评价算法(DIIVINE)(Blind image quality assessment: From natural scene statistics to perceptual quality[J] ):首先对失真图像使用金字塔小波变换,然后对这些参数进一步统计特性。

基于机器学习方法的:

利用卷积神经网络的模型对图像质量进行评价(Convolutional neural networks for no-reference image quality assessment[C])。

利用广义回归神经网络(GRNN)的模型对图像的质量进行评价(Blind image quality assessment using a general regression neural network[J])。

图像质量评价算法评价指标和常用数据库:

算法的评价效果是否较好,需要一个统一的标准来衡量。

几个比较常用的数学评价指标:

斯皮尔曼等级相关系数(SPOCC)

线形皮尔森相关系数(LPCC)

KL散度/KL距离/相对熵(KLD)

离出率(OR)

离群值距离(OD)

常用图像质量评价数据库:
之前的研究者通过主观评价方法评价很多图像,并给出了它们的主观平均值,一起组成一个公开的图像质量评价数据库。典型的有:LIVE2, CSIQ和TID2013.

LIVE2图像质量评价数据库是美国德州大学奥斯丁分校图像与视频工程实验室开发的。

CSIQ图像质量评价数据库是美国俄克拉荷马州立大学开发的。

TID2013图像质量评价数据库是乌克兰航空航天大学开发的。

IQA(图像质量评估)的更多相关文章

  1. 图像质量评估(IQA)

    图像质量评估函数的分类曾是一个比较有争议的话题,在2l世纪以前曾经有过 比较多的讨论.但是随着研究的深入和技术的广泛应用,研究人员对于图像质量 评估函数的分类有了统一的认识,即从实际应用中参考信息供给 ...

  2. 图像质量评估论文 | Deep-IQA | IEEETIP2018

    主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, gr ...

  3. opencv-9-图像噪声以及评估指标 PSNR 与SSIM

    开始之前 我们在将 opencv 的图像显示在了 qt 的label 上, 我们能够将图显示在label 上, 用于显示我们的算法, 我们在 opencv 上一篇文章中介绍了 opencv 的核操作, ...

  4. 图片质量评估论文 | 无监督SER-FIQ | CVPR2020

    文章转自:同作者微信公主号[机器学习炼丹术].欢迎交流,共同进步. 论文名称:SER-FIQ: Unsupervised Estimation of Face Image Quality Based ...

  5. 知物由学 | 基于DNN的人脸识别中的反欺骗机制

    "知物由学"是网易云易盾打造的一个品牌栏目,词语出自汉·王充<论衡·实知>.人,能力有高下之分,学习才知道事物的道理,而后才有智慧,不去求问就不会知道."知物 ...

  6. Siamese网络

    1.       对比损失函数(Contrastive Loss function) 孪生架构的目的不是对输入图像进行分类,而是区分它们.因此,分类损失函数(如交叉熵)不是最合适的选择,这种架构更适合 ...

  7. 使用深度学习的超分辨率介绍 An Introduction to Super Resolution using Deep Learning

    使用深度学习的超分辨率介绍 关于使用深度学习进行超分辨率的各种组件,损失函数和度量的详细讨论. 介绍 超分辨率是从给定的低分辨率(LR)图像恢复高分辨率(HR)图像的过程.由于较小的空间分辨率(即尺寸 ...

  8. 论文笔记:RankIQA

    0.Abstract 本文提出了一种从排名中学习的无参考图像质量评估方法(RankIQA).为了解决IQA数据集大小有限的问题,本文训练了一个孪生网络,通过使用合成的已知相对图像质量排名的数据集来训练 ...

  9. 转:视频压缩的基本概念(x264解压包)

    第1页:前言——视频压缩无处不在H.264 或者说 MPEG-4 AVC 是目前使用最广泛的高清视频编码标准,和上一代 MPEG-2.h.263/MPEG-4 Part4 相比,它的压缩率大为提高,例 ...

随机推荐

  1. 基于msm8909高通平台Android驱动开发之hello程序

    本文转载自:http://www.itwendao.com/article/detail/227839.html Android驱动开发之Hello实例:   驱动部分 modified:   ker ...

  2. Thinkphp跨模块调用视图文件

    当需要跨模块调用视图文件时,需要使用被包含文件的完整路径,如: <include file="./App/Home/View/Store/header.html"/> ...

  3. GridView内容详解(转载)

    GridView内容详解(转载) GridView是ASP.NET界面开发中的一个重要的控件,对GridView使用的熟练程度直接影响软件开发的进度及功能的实现.(车延禄)GridView的主要新特性 ...

  4. mq_学习_00_资源帖

    一.精选 二.参考资料-基础 JMS(Java消息服务)入门教程 Sun Java System Message Queue 3.7 UR1 技术概述 消息队列-推/拉模式学习 & Activ ...

  5. 《java编程思想》:字符串

    1.String对象是不可变的,String类中每个看起来会修改String值的方法,实际上都是创建了一个新的String对象,来包含修改后的内容,所以在对String修改后,想打印新的值,可以直接打 ...

  6. C++内存使用机制基本概念详解

    .程序使用内存区 一个程序占用的内存区一般分为5种: ()全局.静态数据区:存储全局变量及静态变量(包括全局静态变量和局部静态变量) ()常量数据区:存储程序中的常量字符串等. ()代码区:存储程序的 ...

  7. python实现无序列表:链表

    介绍链表前我们先了解下什么是列表. 在对基本数据结构的讨论中,我们使用 Python 列表来实现所呈现的抽象数据类型.列表是一个强大但简单的收集机制,为程序员提供了各种各样的操作.然而,不是所有的编程 ...

  8. 【遍历二叉树】02二叉树的中序遍历【Binary Tree Inorder Traversal】

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 给定一个二叉树,返回他的中序遍历的 ...

  9. BZOJ5323 JXOI2018 游戏

    传送门 这是我见过的为数不多的良心九怜题之一. 题目大意 有一堆屋子,编号为$l,l+1...r-1,r$,你每次会走入一个没走入过的房子,然后这个房子以及编号为这个房子编号的倍数的房子就会被自动标记 ...

  10. 1022 Digital Library (30)(30 分)

    A Digital Library contains millions of books, stored according to their titles, authors, key words o ...