写点什么

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

  • 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:06864

评论

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

基于AI的架构优化:创新数据集构造法提升Feature envy坏味道检测与重构准确率

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 智能检测

交互式白板软件有哪些?全球顶级的7款白板软件盘点!

彭宏豪95

在线白板 办公软件 团队协作工具 效率软件 数字白板

手把手入门MO | 如何通过 Superset 实现 MatrixOne 的可视化监控

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

MatrixOne Meetup回顾 | 深圳站

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

一文带你掌握C语言的分支结构

不在线第一只蜗牛

算法 编程语言 C语言

MatrixOne实战系列回顾 | MatrixOne 集群运维

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

基于xstate实现携程金服业务流程动态化

赫杰辉

软件测试/人工智能|Python关键字:代码掌中利器的关键之处

霍格沃兹测试开发学社

音视频FAQ(二)视频直播延时高

ZEGO即构

【AIOps】一种全新的日志异常检测评估框架:LightAD,相关成果已被软工顶会ICSE 2024录用

华为云PaaS服务小智

云计算 华为云

究竟什么是用户画像?不得不看的构建法宝!

职场工具箱

用户画像

一站式解决方案:带你体验在线生成用户画像的魅力

职场工具箱

用户画像

软件测试/人工智能|Python函数与调用:解放编程力量的关键

霍格沃兹测试开发学社

单元测试|如何编写更安全、更可靠的代码?

秃头小帅oi

低代码 单元测试

矩阵起源入选IDC《中国大数据管理解决方案技术评估,2023》

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

软件测试/人工智能|Python标识符:代码世界中的命名之道

霍格沃兹测试开发学社

掌握HarmonyOS框架的ArkTs如何管理和共享状态数据

不在线第一只蜗牛

数据库 HarmonyOS 鸿蒙系统

小程序开发实战案例之如何获取用户信息(一)

盐焗代码虾

支付宝小程序 经验分享 小程序开发 用户信息

哈啰一面:如何优化大表的查询速度?

王磊

Java 面试

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