专栏首页媒矿工厂图像模糊度评价性能提升方法简介

图像模糊度评价性能提升方法简介

背景介绍

随着多媒体技术的发展,图像以及视频服务逐渐成为人们获取信息的主要载体。传统上,视频或图像质量的好坏需要人眼去看,并且为了得到一个合适的评价分数,一般需要组织多人评价之后取其平均意见。但在实际生活中,面对海量视频及图像服务,纯人力评价成本过高,基本无法实现。而图像质量评价技术(Image Quality Assessment,IQA), 目的是通过相关算法,在不需要人眼观看的情况下,能够对任一图像进行质量评价,输出与人眼主观感受贴近甚至一致的评价分数。IQA算法根据是否需要原始无损图像,可以分成三大类:无参考(No Reference, NR)、半参考(Reduced reference, RR)和全参考(Full Reference, FR)评价。全参考质量评价主要是将失真视频图像和无损参考图像进行对比,评价失真图像相对无损图像的质量损失;半参考质量评价则需要从失真图像和无损图像中分别提取某些有效特征进行分析对比,得出对失真图像的质量评价;无参考评价不需要任何无损图像,直接评价失真图像,是最具有实际应用价值的评价方式。而图像质量评价一般要面对多种损伤类型,最常见的一种就是模糊,它显著地影响人的主观感受,是用户体验(Quality of Experience)需要衡量的一个关键因素。

相关技术

图像模糊度检测算法一般分为以下几类:1. 基于图像边缘,此类方法认为模糊首先会降低图像的清晰度,使边缘纹理变得更粗,通过边缘宽度可以衡量模糊程度;2. 基于像素值的统计信息,此类方法认为清晰的图像中所有像素值的统计分布是规范的(如广义高斯分布),而图像的模糊化会影响改变该分布,因此通过对像素值统计分布参数的计算可以反映模糊程度;3. 变换域方法,此类方法认为模糊会降低图像中的纹理特征,在变换域(如DCT变换后)中纹理一般对应的是高频分量,因此通过衡量图像变换域高频信息的丰富程度可以反映模糊程度。上述三种方法都属于特征工程方法,即找到一些受模糊度影响的特征用作评价指标。随着深度学习的发展,神经网络如CNN等也被用于质量评价领域,但是受限的问题在于,图像的质量评价分数标记需要耗费大量的人力,因此目前的神经网络方法还未大量用于实际。

模糊度评价和其他图像损伤如块损伤评价(马赛克效应)不一样的地方在于,物理上同样程度的模糊,人眼对于其主观感受却不同,见下面的例子:

上面两张图像是通过相同参数的高斯滤波器模糊处理后得到的,在10分值范围内(分数越大表示越清晰),第一张图的得分是3.1分,第二张图的得分是5.9分。所以可以看出对于模糊损伤,人眼的主观感受与图像的内容是强相关的。而目前的评价算法捕捉的主要是像素信息,所以评价算法需要一个修正步骤使得结果更加贴近人眼的感受。

修正方法

传统上,一般的模糊度评价修正采用如下的Logistic函数,其中x是算法的输出值,f(x)是输出值的修正结果,参数通过在常见的IQA数据库上拟合得到。

但是这样的方法忽略了内容类型,比如选取最常用的S3模糊度评价算法,在3个常用的IQA数据库CIDIQ、TID2013、VLC上使用上述修正方法,效果如下图所示。图中横轴是算法输出值,纵轴是人眼主观评价值,理想情况下,如果二者相等,那么形成的散点应该分布在y = x 也就是图中的对角线上。故评价算法的性能用线性相关系数PCC和主客观分数均方差值RMSE衡量。图中第一行是算法修正前的分数以及在各数据库上拟合得到的修正函数,第二行是算法修正后的分数,三列分别代表三个数据库。我们可以发现:

▪ 不同的数据库(内容)所需拟合函数参数不完全相同

▪ 对中轻度模糊基本没有改善(第二行靠近右上方的数据点在修正后反而更偏离对角线了)

最新进展

上海交通大学图像所研究团队提出了一种基于图像内容检索的模糊度评价性能提升方法,在一定程度上解决了上述两个问题,该方法框图如下:

第一步,离线内容数据库构建。使用无损图像通过不同程度的高斯模糊生成不同程度的模糊版本。之后首先采用全参考图像质量评价VIF算法对各模糊版本进行打分(在大规模数据量下无法进行主观评测,使用全参考客观评分代替)。再采用无参考评价算法独立对各模糊度版本进行评分。我们使用目前规模最大的视频质量评价数据库Waterloo数据集,该数据库提供了4744张各种内容的无损图像,对于每张图片,使用高斯模糊对其进行5级损伤处理,5级损伤分别对应于PSNR值为33dB,30dB,27dB,24dB,21dB。形成如图所示的散点图,其中y轴表示全参考VIF分数,x轴表示无参考指标分数。

第二步,内容分类。对于建立的模糊图片数据库,对其中相同内容的不同模糊等级图像对应的数据点进行线性拟合,依据得到的线性回归直线的斜率进行聚类,形成5个内容簇,每个簇用不同的颜色表示。之后在每一类所有数据点中分别进行Logistic非线性拟合。保存每个内容簇中距离聚类中心最近的10张无损图片作为类代表图片,其余的原始图片及其各模糊版本按照内容分为训练集(70%)及验证集(30%),在下一步进行检索网络的训练。我们选取了基于卷积神经网络的图片检索网络KevenNet对内容图像进行检索匹配。

第三步,评分修正。通过检索网络找到与其内容最相近的聚类中心参考图像,并获得那一个簇的 logistic 回归参数。对于一张待评价图像,首先用评价算法输出评价分数,之后再用该图像所在类别的修正函数进行修正。

为方便起见,将上述CIDIQ、TID2013、VLC数据库结合在一起,并对比传统单类修正与我们提出的分类修正方法的性能差异,仍用S3方法作为评价指标。如下图所示;

可以发现:

▪ 多分类修正相对单类修正可以进一步提高模糊度指标总体准确性,PCC值升高,RMSE值下降;

▪ 多分类修正可以提高轻度到中度损伤程度的评价准确性,如图中右上方框内容所示,且所有数据点更加收敛于y = x直线上。

由对比发现,经过我们提出的基于内容分类的修正方法修正后的模糊度指标,相比分类修正前或不经过分类直接修正的模糊度指标,均有明显的评价准确率提升。

更多论文细节和实验分析详见论文:

Y. Liu, Li Song, W. Zhang, A generic method to improve no reference video blurriness assessment[C]. IEEE Conference on Visual Communications and Image Processing (VCIP), 2017:1-4.

下载链接

http://medialab.sjtu.edu.cn/publications/2017/VCIP2017_YKLiu_A%20Generic%20Method%20to%20Improve%20No-Reference%20Image%20Blur%20Metric%20Accuracy%20in%20Video%20Contents.pdf

本文分享自微信公众号 - 媒矿工厂(media_tech),作者:刘彦凯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-12-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HDR关键技术:逆色调映射(二)

    HDR技术近年来发展迅猛,在未来将会成为图像与视频领域的主流。当前HDR内容非常短缺,限制了HDR视听节目的广泛应用。逆色调映射(Inverse Tone Ma...

    用户1324186
  • JPEG 白皮书: 建立媒体区块链的标准化框架

    虚假新闻、版权侵犯、媒体取证、隐私和安全是数字媒体面临的新挑战。JPEG已经确定, 区块链技术作为一个技术组件, 在透明和可信的媒体交易中应对这些挑战具有巨大潜...

    用户1324186
  • 大规模图像检索的深度哈希方法简介

    传统的图像检索过程,先通过人工对图像进行文字标注,再利用关键字来检索图像,这种依据图像描述的字符匹配程度提供检索结果的方法,称为“以字找图”(text-base...

    用户1324186
  • CVPR2019 | 港中文&腾讯优图等提出:暗光下的图像增强

    论文地址:http://jiaya.me/papers/photoenhance_cvpr19.pdf

    小白学视觉
  • 苹果自动驾驶“排名垫底”,每1.1英里就发生一次脱离

    美国加州有一个规定,只要一家厂商在该州的公共道路上测试自动驾驶汽车,就会被要求提供年度报告,其中涉及自动驾驶汽车的脱离次数等数据。

    镁客网
  • Let the Balloon Rise

    题意:就是找到颜色最多的那个气球的颜色并且输出~ 那么颜色和次数之间是有关系的~ 很容易想到用map<string ,int >;

    用户7727433
  • 【相机标定篇】halcon自标定(3)

    在项目中,偶尔会遇到由于产品形状、拍摄位置等原因导致标定板很难放置的情况,此时可以考虑使用halcon自标定算法来标定相机。由于自标定可以在不使用用标定板情况下...

    threeQing
  • 实战 | 相机标定

    版权声明:本文为博主原创文章,未经博主允许不得转载。违者必究。 https://blog.c...

    用户1150922
  • Python:裁剪图片

    py3study
  • 跟我学习php字符串常用函数-上篇

    1> string trim ( string $str [, string $charlist = " \t\n\r\0\x0B" ] )

    _simple

扫码关注云+社区

领取腾讯云代金券