博客
关于我
图像质量评价(二):VSI
阅读量:539 次
发布时间:2019-03-09

本文共 1478 字,大约阅读时间需要 4 分钟。

图像质量评价(二):Visual Saliency-Induced Index (VSI)

Visual Saliency-Induced Index(VSI)是一种基于图像显著性特征的全参考(FR)图像质量评价标准。与基于几何/相互洁度失真(GSM/SSIM)方法不同,VSI主要关注图像失真对视觉显著性(Visual Saliency, VS)的影响。

研究表明,图像质量的失真会显著影响视觉显著性特征图(VS map),且这种影响与失真程度有着强烈的相关性。为了验证这一假设,我们对TID2013数据集的VS maps进行了分析。该数据集包含25个参考图像,24种不同类型的失真,5个失真水平。每种失真类型和水平对应25个失真图像。首先,使用GBVS模型对数据集中所有图像计算VS maps。然后,对每个失真图像计算其与对应参考图像的VS maps的均方误差(MSE)。对同一类型同一水平失真的MSE求均值,结果显示出显著的相关性。

实验结果表明,大多数失真类型的VS maps中MSE值越大,对应的主观质量评分越低。如上图所示,c和e两种不同类型的失真,主观质量评分分别为5.05和2.40,对应的MSE值分别为4.49和198.36。结果显示,颜色饱和度改变(CCS)类型失真在VS maps中表现较差,这是由于VS计算过程中的归一化操作导致的。例如,对比度改(Contrast Change, CTC)类型失真因归一化操作影响了VS值的表现,使得VS maps无法准确反映对比度失真。

为应对这种问题,研究采用了梯度模流量(Gradient Modulus, GM)来补充VS的不足。例如,使用Scharr operator计算图像的水平和垂直梯度。如上图所示,ab两个图像的VS maps分别为cd和ef。通过对比Prosecutor检验结果表明,f相较于e有更明显的失真,说明GM map能够较为准确地反映对比度失真。

此外,由于颜色失真(如色度改变)无法通过单通道梯度值得以准确度量,研究进一步引入了M/N通道的信息,结合RGB空间变换。通过实验验证,这种方法能够有效补充颜色失真检测。

基于上述特征,VSI可以通过以下公式定义:

MS-x(x, y) = α * VS_s(x, y)/max(VS_i) + β * GM_map(x, y)/max(GM_j) + γ * M_map(x, y)/max(M_k) + δ * N_map(x, y)/max(N_l)

其中,α, β, γ, δ均为正权重常数。最终,图像的VSI值计算为各个像素的加权平均,具体公式如下:

VSI = avg( VS_map × VS_squared + GM_map × GM_squared + M_map × M_squared + N_map × N_squared )

通过实验验证,VSI与多个标准数据库(如TID2013,TID2008,CSIQ,LIVE)得出的指标表现优异。如下表所示:

数据集 SROCC KROCC PLCC RMSE
TID2013 0.8965 0.7183 0.9000 0.5404
TID2008 0.8979 0.7123 0.8762 0.6466
CSIQ 0.9423 0.7857 0.9279 0.0979
LIV 0.9524 0.8058 0.9482 8.6816
加权平均值 0.9100 0.7366 0.9033

这表明VSI在多个标准下均展现出良好的性能,具有广泛的应用价值。

转载地址:http://sgaiz.baihongyu.com/

你可能感兴趣的文章
printf的格式控制字符串
查看>>
PrintStream概述
查看>>
Prismix:Prisma 架构混合器,为复杂项目而生
查看>>
pritunl服务安装及配置
查看>>
Private Destructor
查看>>
private和protected能同时修饰成员变量吗_天天用注解你了解注解是怎么实现的吗?...
查看>>
privoxy Invalid header received from client.
查看>>
Privoxy代码下载
查看>>
Probabilistic-Programming-and-Bayesian-Methods-for-Hackers
查看>>
pytorch中的求和函数sum(axis=x)解释
查看>>
Problem F: 质心算法
查看>>
Problem N HDU 2612 Find a way (两次BFS求最值)
查看>>
Process /usr/libexec/gdu-notification-daemon was killed by signal 6 (SIGABRT)
查看>>
process.env.VUE_APP_BASE_API 获取不到
查看>>
Process.run() 和 Process.start() 之间的区别
查看>>
Processes
查看>>
Processing通过编程实现艺术设计_实现艺术和现实的交互---数据设计分析002
查看>>
ProcessOnLoading
查看>>
SpringBoot中集成screw(螺丝钉)实现数据库表结构文档生成
查看>>
PROFINET 模拟器使用教程
查看>>