图像质量评价(Image Quality Assessment,IQA)

这篇blog是我记录自己开始做科研的一些笔记、参考了一些论文和各种博客和一些自己的思考和想法。由于网上相关图像质量评估的整理资料相对较少,如果能帮到看到这篇文章的你,那真是非常棒!会持续更新补全一些东西,请强迫症的朋友见谅一些没有内容的目录~
如有侵权和错误,请联系我进行删改~

一. 概述

图像质量是比较各种图像处理算法性能优劣以及优化系统参数的重要指标,因此在图像采集、编码压缩、网络传输等领域建立有效的图像质量评价机制具有重要的意义。

图像质量评价就是对图像进行评分,有人对图像质量评价的方法,也有通过计算机来进行对图像质量的评估的方法。

主观评价方法就是通过人来进行类似心理学或者社会学领域的对图像的评分实验,来进行基于个体的主观对图像的评价,这种方法显示需要通过一个比较固定的步骤。1、准备数据集;2、邀请观察者进行图像评分;3、对评分结果进行处理得出图像质量评价最终得分。

客观评价方法就是通过计算机的根据数字图像处理的基本原理来进行对图像质量评价设计算法,并评价算法好坏,最终得出最有效的图像质量评价算法应用到后续对图像质量评价的工作中。

二. 主观评价方法

主观质量评价分为绝对主观评价和相对主观评价方法两类,绝对主观评价是在无标准的参考情况下,将图像直接按照视觉感受分级评分。相对主观评价方法即在有标准图像的情况下,由观察者将一批图像从好到坏进行分类,将它们相互比较得出好坏,并给出相应的评分。

IQA1

2.1 双刺激损伤分级法

给原始图像、失真图像对比观察受损情况,选出失真图像的评分。

2.2 双刺激连续质量分级法

给两组图像,不提前告知失真与不失真,分别对全部图像进行评分,计算DMOS。

DMOS越小,说明待测图像的质量越好。

2.3 单刺激连续质量分级法

只观察失真图像,选出评分。

2.4 MOS与DMOS

观测者进行评价时 ,其情绪 、动机 、知识背景等因素均会对评价结果产生影响 ,使评价结果变得不准确。

平均主观得分 (Mean opinion score, MOS)

平均主观得分差异 (Differential mean opinion score, DMOS)

在下面的描述中,$i=1, ..., M $代表不同的观测者 \(j= 1, ..., N\) 代表不同的图像 ,r代表观测者对一幅图像的原始评分。
a) 评分出界的检测。对于同一测试组中同一幅图像的主观评价值,其均值、标准差为 :

\[\begin{array}{l} MOS=\frac{1}{M} \sum_{i=1}^{M} r_{i, j} \\ S=\sqrt{\sum_{i=1}^{M} \frac{\left(U-r_{i, j}\right)^{2}}{M-1}} \\ \varepsilon=1.96 \cdot \frac{S}{\sqrt{M}} \end{array} \]

其中 \(r_{i, j}\) 为一个主观评分, \([U-\varepsilon, U+\varepsilon]\)\(95 \%\) 置信区间,在 比区间之外的评分被视为出界评分,舍弃。评分出界检测做 \(1\sim 2\) 次。
b) 对观测者的淘汰。如果同一测试组内某一个观测者 匀评分出界次数 \(N \geqslant N_{0}\), 则认为该观测者不具备评价的资 各,舍弃他的全部评价值。其中 \(N_{0}\) 为经验值,参考值为 16 。

采用“双刺激法”,即同时给出失真图像和参考图像,要求观测者对二者都进行评分,以评分之差作为评价结果。

\[\begin{array}{l} d_{i, j}=r_{i, ref(j)}-r_{i, j} \\ d_{i, j}^{\prime}=\frac{d_{i, j}-\operatorname{Min}_{i}}{\operatorname{Max}_{i}-\operatorname{Min}_{i}} \end{array} \]

某中 \(r_{i, ref(j)}\) 是第 \(i\) 个观测者对第 \(j\) 幅图像的参考图像的评分, \({d}^{\prime}{ }_{i, j}\) 是对每一个观测者的评分进行归一化后的结果。 最后,得到一幅图像的 DMOS值;

\[D M O S_{j}=\frac{1}{M} \sum_{i=1}^{M} d_{i, j}^{\prime} \]

三. 客观评价方法

全参考是需要参考图像的全部信息进行像素值级别的一一对应比较评分,这类方法准确性好,但是参考图像难以获得;半参考需要参考图像的部分统计特征来进行比较评分,在实际的应用中具有传输数据量小的优势;全参考是无需参考图像直接通过算法对图像进行质量评价,在应用上比较灵活。

image-20210502205612100

3.1 全参考(Full Reference)

  • 均方差 MSE

    \[\operatorname{MSE}=\frac{\sum_{m=1}^{M} \sum_{n=1}^{N}[R(m, n)-I(m, n)]^{2}}{M \times N} \]

    式中,R( m,n) 代表参考图像在空间位置( m,n) 的灰度值,I( m,n) 代表失真图像在空间位置的( m,n) 的灰度值;

  • 峰值信噪比 PSNR

    \[\mathrm{PSNR}=10 \ln \frac{L^{2}}{\mathrm{MSE}} \]

    L 为峰值信号,对于 8 位的灰度图像来说,L = 255;

  • 结构相似度 SSIM

    • Bo W , Wang Z , Liao Y , et al. HVS-based structural similarity for image quality assessment. International Conference on Signal Processing.
  • 多尺度结构相似度 MSSIM

  • 基于梯度的结构相似度 GSSIM

  • 信息保真度准则 IFC

  • 视觉信息保真度 VIF

  • 特征相似性 FSIM

    • Zhang L , Zhang L , Mou X , et al. FSIM: A Feature Similarity Index for Image Quality Assessment[J]. IEEE Transactions on Image Processing, 2011, 20(8):2378-2386.
    • Feature Similarity Index for Image Quality Assessment
  • GMSD

  • DOG-SSIM

    • Y. Lv, G. Jiang, M. Yu, H. Xu, F. Shao, and S. Liu. Difference of Gaussian statistical features based blind image quality as sessment: A deep learning approach. In IEEE International Conference on Image Processing (ICIP), pages 2344–2348, 2015.
  • FR-DCNN

  • DeepQA

    • Kim J , Lee S . Deep Learning of Human Visual Sensitivity in Image Quality Assessment Framework[C]// IEEE Conference on Computer Vision & Pattern Recognition. IEEE, 2017:1969-1977.
    • Deep Image Quality Assessment 深度图像质量评价
    • image-20210502202749907
  • DIQaM/WaDIQaM

    • Bosse S , Maniry D , Muller K R , et al. Deep Neural Networks for No-Reference and Full-Reference Image Quality Assessment[J]. IEEE Transactions on Image Processing, 2017:1-1.

    • Weighted Average Deep Image QuAlity Measure for FR IQA (WaDIQaM-FR).

    • image-20210502212055219

      image-20210502212112668

3.2 半参考(Reduced Reference)

  • MGA
  • FSI

3.3 无参考(No Reference\Bind IQA)

  • BRISQUE

    • A. Mittal, A. K. Moorthy, and A. C. Bovik, “No-reference image quality assessment in the spatial domain,” IEEE Trans. Image Process., vol. 21, no. 12, pp. 4695–4708, Dec. 2012.
    • blind/referenceless image spatial quality evaluator 盲/无参考图像空间质量评价器
    • 传统方法
  • MSDD

    • Jiang Q , F Shao, Lin W , et al. Optimizing Multistage Discriminative Dictionaries for Blind Image Quality Assessment[J]. IEEE Transactions on Multimedia, 2017.
    • Optimizing Multistage Discriminative Dictionaries for Blind Image Quality Assessment
    • image-20210502211848984
    • 传统方法
  • CNN

    • L. Kang, P. Ye, Y. Li, and D. Doermann, “Convolutional neural networks for no-reference image quality assessment,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., Jun. 2014, pp. 1733–1740.
    • 卷积神经网络
  • DIQA

    • Jongyoo K , Anh-Duc N , Sanghoon L . Deep CNN-Based Blind Image Quality Predictor[J]. IEEE Transactions on Neural Networks & Learning Systems, 2018, PP:1-14.

    • image-20210502213025289

      image-20210502213125986

  • BLNDER

    • F. Gao, J. Yu, S. Zhu, Q. Huang, and Q. Tian, ‘‘Blind image quality prediction by exploiting multi-level deep representations,’’ Pattern Recognit., vol. 81, pp. 432–442, Sep. 2018.
    • image-20210502211158882
  • RankIQA

    • X. Liu, J. van de Weijer, and A. D. Bagdanov, ‘‘RankIQA: Learning from rankings for no-reference image quality assessment,’’ in Proc. IEEE Conf. ICCV, Jun. 2017, pp. 1040–1049.
    • a no-reference image quality assessment(NR-IQA) approach that learns from rankings (RankIQA).
    • 代码:https://github.com/xialeiliu/RankIQA
    • image-20210502210014942
    • image-20210502210207104
  • MEON

    • K. Ma, W. Liu, K. Zhang, Z. Duanmu, Z. Wang, and W. Zuo, “End-to-end blind image quality assessment using deep neural networks,” IEEE Trans. Image Process., vol. 27, no. 3, pp. 1202–1213, Mar. 2018.
    • multi-task end-to-end optimized deep neural network 多任务端到端优化深度神经网络
    • IQA2
  • BPSQM

    • D. Pan, P. Shi, M. Hou, Z. Ying, S. Fu, and Y. Zhang, ‘‘Blind predicting similar quality map for image quality assessment,’’ in Proc. IEEE Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2018, pp. 6373–6382.

    • Blind predicting similar quality map for image quality assessment

      盲预测相似质量图

  • DB-CNN

    • Zhang W , Ma K , Yan J , et al. Blind Image Quality Assessment Using A Deep Bilinear Convolutional Neural Network[J]. IEEE Transactions on Circuits & Systems for Video Technology, 2019:1-1.
    • deep bilinear CNN (DB-CNN) 深度双线性CNN
    • 代码:https://github.com/zwx8981/DBCNN-PyTorch
    • image-20210502204027381
  • SQIA

    • Zhou W , Chen Z , Li W . Dual-Stream Interactive Networks for No-Reference Stereoscopic Image Quality Assessment[J]. IEEE Transactions on Image Processing, 2019:1-1.
    • stereoscopic image quality assessment (SIQA) 立体图像质量评价
    • image-20210502201714935
  • HIQA

    • Lin K Y , Wang G . Hallucinated-IQA: No-Reference Image Quality Assessment via Adversarial Learning[C]// 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR). IEEE, 2018.

    • Hallucinated-IQA: No-reference image quality assessment via adversarial learning

    • GAN

四. 数据集

百度云

链接:https://pan.baidu.com/s/1AgB0IO2IGLBZ_nhzhMZd9g
提取码:vuhb
复制这段内容后打开百度网盘手机App,操作更方便哦)

  • live
  • TID

4.1 LIVE

内容:29幅参考图像,779幅失真图像

图像大小:尺寸大小不一(.bmp)

5种失真类型:JPEG2000(175幅),JPEG(169幅),白噪声(145幅),高斯模糊(145幅),快速瑞利衰减(145幅)

标签:DMOS取值范围[0,100],161个观察者

LIVE含有两个图像质量评估的数据集:

LIVE Image Quality Assessment Database

website

29张图片,5种失真类型:

失真类型 英文 文件夹 图片数 info
JPEG2000 JPEG2000 jp2k 227 比特率
JPEG JPEG jpeg 233 比特率
白化噪声 White Noise wn 174 标准差 sigma
高斯模糊 Gaussian Blur gblur 174 标准差 sigma
快速衰落瑞利(误码) Fast Fading Rayleigh fastfading 174 失真强度
原图 - refimgs 29 -

LIVE Multiply Distorted Image Quality Database

website

4.2 TID 2008

内容:25幅参考图像,1700幅失真图像

图像大小:512x384(.bmp)

17种失真类型:加性高斯噪声、颜色分量强于照明分量的加性噪声、空间位置相关噪声、掩膜噪声、高频噪声、脉冲噪声、量化噪声、高斯模糊、图像噪声、JPEG压缩、JPEG2000压缩、JPEG传输错误、JPEG2000传输错误、非偏心式噪声、不同强度的局部块失真、强度均值偏移以及对比度变化,4种失真水平。

标签:MOS取值范围为[0,9],838个观察者

4.3 TID 2013

内容:25幅参考图像,3000幅失真图像

图像大小:512x384(.bmp)

24种失真类型:比TID2008增加七种:改变色彩饱和度、多重高斯噪声、舒适噪声、有损压缩、彩色图像量化、色差以及稀疏采样。5失真水平

标签:MOS取值范围为[0,9],971个观察者

paper

website

失真类型(Types of distortion):

编号 失真类型 英文
1 高斯噪声 Additive Gaussian noise
2 在颜色分量中添加噪声,在亮度分量中添加噪声,且颜色强于亮度 Additive noise in color components is more intensive than additive noise in the luminance component
3 空间相关噪声 Spatially correlated noise
4 掩码噪声 Masked noise
5 高频噪声 High frequency noise
6 脉冲噪声 Impulse noise
7 量化噪声 Quantization noise
8 高斯模糊 Gaussian blur
9 图像去噪 Image denoising
10 JPEG压缩 JPEG compression
11 JPEG2000压缩 JPEG2000 compression
12 JPEG2000压缩 JPEG2000 transmission errors
13 JPEG传输错误 JPEG transmission errors
14 非偏心模式噪声 Non eccentricity pattern noise
15 不同强度的局部块状扭曲 Local block-wise distortions of different intensity
16 平均移位(强度移位) Mean shift (intensity shift)
17 对比度变化 Contrast change
18 颜色饱和度的变化 Change of color saturation
19 乘法高斯噪声 Multiplicative Gaussian noise
20 舒适的噪声 Comfort noise
21 噪声图像的有损压缩 Lossy compression of noisy images
22 抖动的图像颜色量化 Image color quantization with dither
23 色差 Chromatic aberrations
24 稀疏采样和重建 Sparse sampling and reconstruction

4.4 CSIQ

website

内容:30幅参考图像,866幅失真图像,

图像大小:512x512 (.png)

6种失真类型:JPEG压缩、JPEG2000压缩、整体对比度缩减、加性高斯粉红噪声、加性高斯白噪声以及高斯模糊,5种失真等级

标签:DMOS取值范围为[0,1],25个观察者

4.5 IVC

website

内容:10幅参考图像,235幅失真图像

图像大小:

4种失真类型:JPEG压缩、JPEG2000压缩、LAR编码和模糊

标签: 由 15 位测试人员, 库中的 MOS 值取值范围为 [1, 5],

4.6 SIQAD

4.7 CID2013

paper

website

4.8 LIVE-itW

4.9 KonIQ-10K

五. 算法性能衡量指标

5.1 SROCC

Spearman Rank Order Correlation Coefficient

Spearman秩相关系数

\[S R O C C=1-\frac{6}{n\left(n^{2}-1\right)} \sum_{i=1}^{n}\left(r_{x i}-r_{y i}\right)^{2} \]

其中, \(r_{xi}\), \(r_{yi}\) 分别为 \(x_i\)\(y_i\) 在各自数据序列中的排序位置. Spearman 秩线性相关系数衡量算法预测的单调性 (Monotonicity).

5.2 LCC

Linear Correlation Coefficient

线性相关系数

\[L C C=\frac{1}{n-1} \sum_{i=1}^{n}\left(\frac{x_{i}-\bar{x}}{\sigma_{x}}\right)\left(\frac{y_{i}-\bar{y}}{\sigma_{y}}\right) \]

其中, \(\bar{x}, \bar{y}\) 分别为 \(\left\{x_{1}, x_{2}, \cdots, x_{n}\right\}\)\(\left\{y_{1}, y_{2},...y_{n}\right\}\) 的均值, \(\sigma_{x},\sigma_{y}\)分别为它们]的标准差。线性相关系数描 述算法评价值与人眼主观打分之间的相关性, 也衡量了算法预测的准确性。

5.3 RMSE

Root Mean Square Error

均方根误差

\[R M S E=\left[\frac{1}{n} \sum_{i=1}^{n}\left(x_{i}-y_{i}\right)^{2}\right]^{\frac{1}{2}} \]

其中, \(\left\{x_{1}, x_{2}, \cdots, x_{n}\right\}\) 表示人眼打分的 MOS 或 \(\mathrm{DMOS}\) 值, \(\left\{y_{1}, y_{2}, \cdots, y_{n}\right\}\) 表示某种算法估计图像质量值. 均方根误差比较算法评价值与人眼主观打 分之间的绝对误差, 衡量算法预测的准确性 (Accuracy)。

六、失真类型及算法实现

  1. JPEG2000失真
  2. JPEG失真
  3. 白噪声失真
  4. 高斯模糊失真
  5. 快速瑞利衰减失真
  6. 整体对比度缩减
  7. 加性高斯粉红噪声
  8. 加性高斯白噪声
  9. 高斯模糊
  10. 颜色分量强于照明分量的加性噪声
  11. 空间位置相关噪声
  12. 掩膜噪声
  13. 高频噪声
  14. 脉冲噪声
  15. 量化噪声
  16. 图像噪声
  17. 不同强度的局部块失真
  18. 强度均值偏移
  19. 多重高斯噪声

6.1 Matlab

J = imnoise(I,'gaussian')  %将方差为 0.01 的零均值高斯白噪声添加到灰度图像 I。
J = imnoise(I,'gaussian',m) %添加高斯白噪声,均值为 m,方差为 0.01。
J = imnoise(I,'gaussian',m,var_gauss) %添加高斯白噪声,均值为 m,方差为 var_gauss
J = imnoise(I,'localvar',var_local) %添加局部方差为 var_local 的零均值高斯白噪声。
J = imnoise(I,'localvar',intensity_map,var_local) %添加零均值高斯白噪声。噪声的局部方差 var_local 是 I 中图像强度值的函数。图像强度值到噪声方差的映射由向量 intensity_map 指定。
J = imnoise(I,'poisson') %从数据中生成泊松噪声,而不是向数据中添加人为噪声。
J = imnoise(I,'salt & pepper') %添加椒盐噪声,默认噪声密度为 0.05。这会影响大约 5% 的像素。
J = imnoise(I,'salt & pepper',d) %添加椒盐噪声,其中 d 是噪声密度。这会影响大约 d*numel(I) 个像素。
J = imnoise(I,'speckle') %使用方程 J = I+n*I 添加乘性噪声,其中 n 是均值为 0、方差为 0.05 的均匀分布随机噪声。
J = imnoise(I,'speckle',var_speckle) % 添加方差为 var_speckle 的乘性噪声。

image-20210506100255819

%% 模糊与噪声
I=imread('two.jpg');
subplot(3,3,1),imshow(I),title('截取部分原始图像');
 							%运动角度
PSF=fspecial('motion',30,10);
blurred=imfilter(I,PSF,'circular','conv');
subplot(3,3,2),imshow(blurred),title('模糊1')

H=fspecial('motion',50,45); 			%运动PSP
motionblur=imfilter(I,H);
subplot(3,3,3),imshow(motionblur),title('模糊2') 

H=fspecial('disk',10);    			%均值滤波PSP
averageblur=imfilter(I,H);
subplot(3,3,4),imshow(averageblur),title('模糊3')

J=imnoise(motionblur,'salt & pepper');
subplot(3,3,5),imshow(J),title('增加噪声');

6.2 python 运动模糊

import numpy as np
import cv2


def motion_blur(image, degree=12, angle=45):
    image = np.array(image)

    # 这里生成任意角度的运动模糊kernel的矩阵, degree越大,模糊程度越高
    M = cv2.getRotationMatrix2D((degree / 2, degree / 2), angle, 1)
    motion_blur_kernel = np.diag(np.ones(degree))
    motion_blur_kernel = cv2.warpAffine(motion_blur_kernel, M, (degree, degree))

    motion_blur_kernel = motion_blur_kernel / degree
    blurred = cv2.filter2D(image, -1, motion_blur_kernel)

    # convert to uint8
    cv2.normalize(blurred, blurred, 0, 255, cv2.NORM_MINMAX)
    blurred = np.array(blurred, dtype=np.uint8)
    return blurred


img = cv2.imread('./two.jpg')
img_ = motion_blur(img)

cv2.imshow('Source image', img)
cv2.imshow('blur image', img_)
cv2.waitKey()

6.3 python 高斯模糊

import cv2

img = cv2.imread('./two.jpg')
img_ = cv2.GaussianBlur(img, ksize=(9, 9), sigmaX=0, sigmaY=0)

cv2.imshow('Source image', img)
cv2.imshow('blur image', img_)
cv2.waitKey()

七、花粉图像质量评价的思考

花粉图像质量评价工作:

  1. 扩充数据集
    • 手动(失真类型)
    • 自动(GAN生成)
  2. 使用深度学习方法进行图片质量评估
    • DB-CNN
    • HIQA
  3. 自动筛选有效图像进行后续的基于良好的花粉图像数据集的花粉识别与计数
posted @ 2021-05-06 10:23  张吱吱  阅读(16371)  评论(6编辑  收藏  举报