《LearnPython-Python学习笔记》-无参考质量评估在视频增强的进展与应用

admin 2025-11-07 01:28:50 编程 来源:ZONE.CI 全球网 0 阅读模式
  • WaDIQAM(NR)
  • DeepVQA

    全参考评价的设计指标就是与原视频无限接近才能够达到满分,这样不能反映人眼主观的MOS (Mean Opinion Score) 分数。mxrkbnj664.jpeg第一类是Full Reference (FR) vs Non Reference (NR),即有/无参考质量评估,Non Reference在应用场景中应用比例较高。第二类是基于参考评价分为Traditional vs Deep Learning (DL),传统方法譬如信号处理PS3R,人的感官对于结构化更加敏感,透过人眼的喜好度进行MOS评分让打分机制进行学习,是通过Deep Learning (DL)实现。第三类根据打分分为Distortion Generic vs General (Enhancement Included)、Coarse Grain vs Fine Grain和Image (IQA) vs Video (VQA)。Distortion Generic加了许多的噪声破坏(单调破坏),由于在其中某些东西是一直上升到MOS到达一定程度后又呈现下降趋势,所以目前很少能看到Distortion Generic的训练集。质量评估可以作为产品上线后的监督,也可以介入闭环的开发过程评估演算法。Image (IQA) vs Video (VQA)区别在图像和视频部分。

    WaDIQAM(NR)

    nlwc0t4qbg.jpeg上图中有关Non Reference (NR)、Deep Learning (DL)、Image (IQA)图像质量评估可以看到,进来一张图通常会取N个Patch,每个块通过CNN深度学习网络找到Image 的feature,之后针对每个块的权重和特征来学习它的位置以及在质量评估中的比例(Patch Weight Estimate),Patch Quality Estimate是通过CNN抽取feature之后做 Regression,再通过线性回归得出MOS分数,最后将Patch Weight Estimate和Patch Quality Estimate做一个结合得到Image Quality Estimate。7oq0ka4yek.jpegLIVE和TID2013是两个主观评价的训练集,包含各式各样的图片、Destruction和打分,LCC和SROCC是关于质量评估的两个指标,LCC是通过相关性和准确性衡量算法性能,SROCC是通过单调顺序性衡量算法性能,这两个指标越接近1越好。Non Reference (NR)Wa方法的表现还算不错,而且有对应的Full Reference (FR)版本,在大家的理解上普遍存在Non Reference (NR)方法比Full Reference (FR)稍差的概念。

    DeepVQA

    40d1sqzwbe.jpegDQA相较于IQA多了一些时域上的信息,由上图可知,上层两张frame图是压缩破坏前的Original frame,下层显示的是压缩破坏后的图片,有frame1和frame2的motion map,所以是存在时域上的特征。hxj0zvpxyx.jpeg在网络里相当于是把四个东西concatenate在一起,它有衡量IQA输入的Distorted Image,也有motion上的Distortion 可以把frame1和frame2相减,它把Temporal Error map传输进去,也不止是把破坏过的图像传入进去,它是Full Reference (FR)但也把Reference 时域上的差距传进去建构CNN,最后得到Subjective Score。真正测试时会通过上层已经经过训练的网络,再通过某个Temporal weight和pooling把时域上的信息抽取出来。

    https://cloud.tencent.com/developer/article/1478327

    weinxin
    版权声明
    本站原创文章转载请注明文章出处及链接,谢谢合作!
    golang百度视频 编程

    golang百度视频

    golang语言已经成为现代软件开发行业中广受欢迎的编程语言之一。其出色的性能、简洁的语法以及强大的并发能力使得它在各种不同领域的开发中得到广泛应用。本文将探讨
    golang可视化检测包循环引用 编程

    golang可视化检测包循环引用

    一、引言在Go语言的开发过程中,包的循环引用是一个比较常见的问题。当两个或多个包之间存在循环依赖时,编译器会报错,导致程序无法正常运行。这个问题可能会给开发者带
    评论:0   参与:  0