写点什么

基于三维卷积神经网络的全参考视频质量评估算法(二)

  • 2020-01-17
  • 本文字数:2130 字

    阅读完需:约 7 分钟

基于三维卷积神经网络的全参考视频质量评估算法(二)

传统 VQA 算法不能有效的使用视频的运动信息

客观视频质量评估算法只需要计算视频的质量分数。从工业界的角度来看,经典的客观算法有 PSNR,SSIM [4],MS-SSIM [5],这些算法基于经典的信号保真度来判断失真视频与无损视频源的差异,再根据差异大小拟合出视频感知质量。近期的算法有 VQM [6],从多个维度提取时空联合特征去逼近主观质量。目前的主流算法有 VMAF [7],使用机器学习方法对多个图像质量客观算法进行融合。借助于融合的思想,VMAF 能够灵活的加入新的客观算法。另一方面,通过使用新的数据集来重新训练,VMAF 也可以方便的迁移到细分维度的视频质量评估任务。


图像质量评估主要是衡量画面内失真在画面掩盖效应影响下的可感知程度。而视频质量评估不仅仅取决于画面内的失真,也包含时域内的失真和时域掩盖效应。这里掩盖效应可简单理解为背景的复杂程度。如果背景较复杂,我们称之为较强的掩盖效应,反之亦然。举个例子,图一中滑板处于快速运动的状态,掩盖效应较强,所以滑板区域的失真更难察觉。而背景中蓝天部门是大片的光滑区域,掩盖效应较弱,细微的压缩失真也能容易察觉到。因此,在开发一个客观视频质量评估算法中,我们必须把视频固有的运动信息考虑进来。


在学术界,有很多相应的策略被提出。最常用的做法是提取两种特征,一种特征去描述画面质量,另一种特征去描述视频运动的大小。比较主流的运动特征包含:TI (Temporal Information),运动向量(Motion Vector),光流(Optical Flow) 等。这种做法最大的缺陷是完全剥离了画面信息和运动信息,视频不再被当作三维数据来处理,而是二维数据加一维数据来处理。



图 2 三维空间内视频切片示意图


为了解决上述问题,另外一种比较直观的方法是对视频进行三维切片[8]。如图 2 所示,我们使用(x, y, t)来标记空域和时域轴。这里切片如果与时间轴垂直,即(x, y)方向,那么切出来的就是传统意义上的视频帧;如果与时间轴平行,即(x, t) 或(y, t)方向,我们就得到了时空联合的二维切片。在某种程度上,后两个切片包含了运动信息。对以上三种切片使用图像质量评估算法,再把切片分数融合起来,就能取得不错的质量提升。尽管如此,三维切片还是没有最大程度的使用运动信息。


有不少图片质量评估算法是基于经典的 DCT 或小波变换,再从变换系数中提取特征向量。对视频而言,一种比较直观的拓展就是使用三维变换,如三维 DCT 变换,三维小波变换等。经过三维变换后,我们从变换系数中进一步提取特征来而做质量评估。这种方法保留了视频的时空联合信息,但是三维变换会引入复杂度过高的问题。

使用三维卷积神经网络来学习视频的时空联合特征(C3D, Convolutional 3D Neural Network)

近年来深度学习在多个计算机视觉图片任务中取得了瞩目的成就。同时也有学者把二维神经网络扩展到三维神经网络来更好的处理视频任务[9]。我们尝试使用三维卷积神经网络来学习时空特征并把它用到视频质量任务中。我们先给出基本的二维和三维卷积模块,再进一步介绍所提出的网络结构。


1、图 3a 给出了二维卷积核在二维输入上的卷积操作。为了避免歧义,我们假设是对二维图像进行卷积操作。其中输入图像大小为 HxW,卷积核大小为 kxk,图像时域深度和卷积核时域深度均为 1。经过卷积运算输出仍为二维。输入输出均不包含任何运动信息。


2、图 3b 给出了二维卷积核在三维输入上的卷积操作。我们可以假设输入为一个画面大小为 HxW,包含 L 帧的视频。这里卷积核的深度不再是 1,而是跟视频帧数相同。经过卷积操作,输出仍为二维,且与图 3a 的输出大小相同。这种卷积操作有利用到视频前后帧的运动信息,但是只用一步卷积就把所有运动信息给吃掉了。


3、图 3c 给出了三维卷积核在三维输入上的卷积操作。与图 3b 相比,这里卷积核的深度为 d,且 d 小于 L。经过三维卷积操作,输出仍为三维。当 d=1 时,等价为图 3a 的卷积操作对视频帧进行逐帧处理,但是并没有利用到前后帧的运动信息。当 d=L 时,它的效果等同于图 3b。所以当 d 小于 L 时,三维卷积能更可控的利用运动信息。如果我们想让运动信息消失的快一些,就调大三维卷积的深度 d。相反,使用小一些的 d 能更缓慢的提取运动信息。



图 3 二维与三维卷积操作示意图


在此基础上,我们设计了自己的视频质量评估算法 C3DVQA。其核心思想是使用三维卷积来学习时空联合特征,进而更好的去刻画视频质量。


图 4 给出了我们所提出的网络结构图,其输入为损伤视频和残差视频。网络包含两层二维卷积来逐帧提取空域特征。经级联后,空域特征仍保留前后帧的时许关系。网络接着使用四层三维卷积层来学习时空联合特征。在这里,三维卷积输出描述了视频的时空掩盖效应,而且我们使用它来模拟人眼对视频残差的感知情况:掩盖效应弱的地方,残差更容易被感知;掩盖效应强的地方,复杂的背景更能掩盖画面失真。


网络最后是池化层和全连接层。池化层的输入为残差帧经掩盖效应处理后的结果,它代表了人眼可感知残差。全连接层学习整体感知质量和目标质量分数区间的非线性回归关系。



图 4 本文所提出的网络结构图。包含两层二维卷积,四层三维卷积,池化和全连接层。卷积参数表示:(channel,kernel size,stride,padding)


本文转载自 腾讯多媒体实验室公众号。


原文链接:https://mp.weixin.qq.com/s/Kk7J8dLMhHbhksxMumHuwA


2020-01-17 18:061113

评论

发布
暂无评论
发现更多内容

一篇文章让你了解基于Spring的测试,java自学百度网盘

Java 程序员 后端

三面蚂蚁金服终获 java高岗 offer,却直言再也不想体验第二次了

Java 程序员 后端

一文看透Java高并发:Synchronized锁的性质、原理及其缺陷

Java 程序员 后端

一次完整的JVM NativeMemoryTracking 堆外内存泄露分析

Java 程序员 后端

一篇文带你入门SSM框架Spring开发!精彩干货不间断!

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图(1)

Java 程序员 后端

一篇送给临近35岁程序员的文章,mysql数据库sql语句面试题

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里(1)

Java 程序员 后端

两年JAVA程序员的面试总结,mysql索引原理

Java 程序员 后端

一款SQL自动检查神器,再也不用担心SQL出错了,自动补全

Java 程序员 后端

一行Java代码实现两玩家交换装备【并发编程】

Java 程序员 后端

万字长文,字节大牛百万调优经验之作:JVM调优实战笔记

Java 程序员 后端

三面腾讯,已拿offer!分享复习经验和后台开发面经

Java 程序员 后端

三面阿里云斩获offer:微服务+Redis,积累总结

Java 程序员 后端

不是吧阿sir,你这多线程并发也太熟了吧,震惊面试官第四年

Java 程序员 后端

不是吧,就因为他和面试官多聊了半个小时红黑树,进了腾讯

Java 程序员 后端

一文掌握大数据架构师需要具备的能力和格局,别再说你不会JVM性能监控和调优了

Java 程序员 后端

一文彻底弄懂如何选择抽象类还是接口,linux基础入门知识

Java 程序员 后端

三、Spring Cloud之软负载均衡 Ribbon,mysql架构

Java 程序员 后端

不到30岁开上兰博基尼的程序员,为什么这么强,他告诉我只需要把多线程搞好你也行

Java 程序员 后端

不错,这么好的东西不白嫖也太可惜了!阿里内部首发

Java 程序员 后端

一文读懂 spring MVC 请求处理流程,Java开发新手入门教程

Java 程序员 后端

世界顶级SQL技术专家呕心沥血半年才整理出这份:SQL优化核心思想笔记,手慢无

Java 程序员 后端

三面遭阿里新微服务框架暴锤,含恨吃透这份手抄本笔记,终入阿里

Java 程序员 后端

不会吧不会吧?字节“百万级,nginx视频教程吾爱破解

Java 程序员 后端

不是吧阿sir,你这Redis太熟了吧,震惊面试官第六年

Java 程序员 后端

一篇文章丢给你,让你一文了解JVM,2021Java最新大厂面试真题总结

Java 程序员 后端

一篇文章带你快速理解JVM运行时数据区 、程序计数器详解 (手画详图

Java 程序员 后端

上线半天下载量破100W!美团大佬的Java性能调优实战手册,超详细

Java 程序员 后端

上线半天下载量破100W!阿里内部微服务进阶笔记,超详细

Java 程序员 后端

不要再本地启动项目调试了,试SpringBoot远程调试你会发现新大陆!

Java 程序员 后端

基于三维卷积神经网络的全参考视频质量评估算法(二)_文化 & 方法_腾讯多媒体实验室_InfoQ精选文章