VMAF原理学习笔记

一、基本框架

VMAF是一种Full-reference的视频质量评估方法,主要包括三种指标:视觉信息保真度(VIF:visual quality fidelity)、细节损失指标(DLM:detail loss measure)、时域运动指标/平均相关位置像素差(TI:temporal information)。其中VIF和DLM是空间域的,一帧画面之内的特征。TI 是时间域的,多帧画面之间相关性的特征。这些特性之间融合计算总分的过程使用了训练好的SVM来预测。

二、具体实现

1)视觉信息保真度(VIF)

      视觉信息保真度指标来源于论文《Image Information and Visual Quality》,它是一种基于自然场景统计模型(NSS:natural scene statistics)、图像失真和人类视觉失真建模的新判据。该指标认为人眼看到的图像是图像通过HVS过滤出来的信息,HVS本身就是一个失真通道,即人类视觉失真通道,而失真图像只是比原始图像在经过HVS之前又多经过了一个图像失真通道,故可以使用信息论的知识将人眼提取的信息与从原始图像提取的信息进行比较,得出最终评测结果。

  • a)信源模型(Natural Image Source)

        这里用的是GSM model in the wavelet domain(高斯标量混合模型),用来对图像金字塔分解的小波系数进行统计学建模,模型即对给定子带的多尺寸多方向分解,去模拟人类视觉系统的多通道特性。

            C是原始图像中一个随机向量,I是整个子带的空间索引集。

          S是正向标量因子。

              U是高斯向量,随机场S和U独立。

        这种建模主要是为了符合自然图像的统计特性,公式如下:

      

  • b)失真模型(Distortion Channel)

        利用增益和加性噪声相结合的方法对畸变过程进行了建模。

    

        C是原始图像中一个随机向量,D是给定自带损失图像的随机场,G是确定性的标量增益,V是独立平稳加性零均值高斯向量,且独立于S和U。

  • c)HVS模型

      HVS模型是人类本身的失真通道模型,根据人类视觉系统的特征,对比度灵敏度函数、掩膜效应等机制使得人类视觉不可能把图像中所有信息都提取出来,所以无论原始图像直接经过HVS还是已经先过失真模型再经过HVS都会有视觉噪声。E和F分别代表着上述两条通路获取到的最终信息。最后使用两通道的互信息相除得到VIF。公式如下:

     

      两个通道互信息如下:

     

     

  • d)VIF计算公式

     

     VIF的取值范围是[0,1],VIF越大图像质量越好,反之则反,原始图像的VIF由于两个互信息值相同,VIF=1。

  • e)应用场景限制

      VIF模块是基于NSS自然场景图像统计学原理计算,《Image Information and Visual Quality》写着,自然场景仅针对现实生活的图片,但是对于计算机合成图片,不适用。所以使用该工具测评时,需要注意片源类型。

      

     

2)细节损失指标(DLM)

    细节损失指标是另一个图像质量指标,来源于论文《Image Quality Assessment by Separately Evaluating Detail Losses and Additive Impairments》。该算法分别评估细节损失(Detail Loss Measure, DLM)和附加损伤(Additive Impairment Measure, AIM)。细节损失是指影响内容可视性的有用视觉信息的损失,附加损伤是指多余的视觉信息,即在测试图像中出现的分散观众对有用内容的注意力的信息,从而导致不好的观看体验。

     

为了分离细节损失和加性损伤,首先将原始参考图像和被测图像通过一种小波域解耦算法进行分离,分离出小波变换系数O、修复图像的小波变换系数R以及加性损伤的小波变换系数A。经过对比敏感度函数和对比掩膜效应函数两种近似HVS敏感度的特性处理后,得到了O'、R'、A',再通过两种简单的质量测量方法,得到两种质量结果q1和q2,最后将细节损失和附加损伤两个质量度量的输出与视觉质量相关联,得到总体质量指数s。在VMAF中只使用细节损失q1作为基本指标,但也对一些特殊情况采取了必要的措施,如导致原始公式中的数值计算失效的黑帧。

3)时域运动指标/平均相关位置像素差(TI)

  时域运动指标/平均相关位置像素差是一种衡量相邻帧之间时域差分的算法。这个最为简单,仅仅计算像素亮度分量的均值作差即可得到该值。

三、核心模块

VMAF基于SVM的nuSvr算法,在运行的过程中,根据事先训练好的model,赋予每种视频特征以不同的权重。对每一帧画面都生成一个评分,最终以均值算法进行归总(也可以使用其他的归总算法),算出该视频的最终评分。其中主要的几个核心模块如下:

各个模块的作用:

  • Asset

       Asset单元,包含一个正在执行的任务信息。比如目标视频与原始视频的帧范围,低分辨率视频帧上采样信息等(VMAF 会在特征提取前通过上采样的方式保证两个视频分辨率相同)。

  • Executor

      Executor会取走并计算Asset链表中每一个Asset单元,将执行结果返回到一个Results链表中。Executor类是FeatureExtractor与QualityRunner的基类。它提供了一些基函数,包括 Results 的操作函数、FIFO 管道函数、clean 函数等。

  • Result

      Result是以key-value形式,将Executor执行的结果存储起来。key存储的是“FrameNum”或者质量分数的类型(VMAF_feature_vif_scale0_score 或 VMAF_feature_vif_scale1_score 等),value存储的是一系列分值组成的链表。Result类也提供了一个汇总工具,将每个单元的质量分数汇总成一个值。默认的汇总算法是“均值算法”,但是Result.set_score_aggregate_method()方法允许定制其他的算法。

  • ResultStore

      ResultStore类提供了Result数据集的存储、加载的能力。

  • FeatureExtractor

      FeatureExtractor是Extractor子类,专门用于从Asset集合中提取特征,作为基本的特征提取类。任何具体的特征提取接口,都继承自FeatureExtractor,例如VmafFeatureExtractor/PsnrFeatureExtractor/SsimFeatureExtractor等。

  • FeatureAssembler

      FeatureAssembler是一个聚合类,通过在构造函数传入feature_dict参数,指定具体的特征提取标准,将该标准提取出的特征结果聚合,输出到一个BasicResult对象中。FeatureAssembler被QualityRunner调用,用来将提取后的特征数组传给 TrainTestModel 使用。

  • TrainTestModel

     TrainTestModel是任何具体的回归因子接口的基类,回归因子必须提供一个train()方法去训练数据集,predict()方法去预测数据集,以及to_file(),frome_file() 方法去保存、加载训练好的模型。回归方程的超参数必须通过TrainTestModel的构造函数传入。TrainTestModel类提供了一些基础方法,例如归一化、反归一化、评估预测性能。

  • CrossValidation

     CrossValidation提供了一组静态方法来促进TrainTestModel训练结果的验证。因此它还提供了搜索TrainTestModel最优超参的方法。

  • QualityRunner

     QualityRunner是Executor子类,用来评估Asset任务集合的画质分数。任何用于生成最终质量评分的接口都应该继承QualityRunner。例如跑vmaf标准的VmafQualityRunner,跑psnr标准的PsnrQualityRunner都是QualityRunner的子类。

四、代码走读

main
->run_wrapper
->compute_vmaf
->RunVmaf
->VmafQualityRunner::run
->combo
->combo_threadfunc
->compute_psnr
   compute_ssim
   compute_ms_ssim
   compute_adm-----计算附加损伤(Additive Impairment Measure, AIM)和评估细节损失(Detail Loss Measure, DLM)
   compute_motion---计算SAD绝对误差和(TI,时间复杂度,运动估计计算)
   compute_vif----计算视觉信息保真度

五、model训练工具(待续)

参考:vmaf-master\resource\example

六、参考

https://netflixtechblog.com/toward-a-practical-perceptual-video-quality-metric-653f208b9652

视频/图像质量评价综述(二) - 知乎

揭秘 VMAF 视频质量评测标准_ITPUB博客

《VMAF_ICIP17》

  • 16
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值