前景提要
这篇论文是Multi-frame quality enhancement for compressed video(CVPR 2018)的期刊版本,2019年9月26日被TPAMI(2018年IF=17.730)接收。博主和关振宇导师是共同一作,徐迈老师是通讯作者。

开源代码:https://github.com/RyanXingQL/MFQEv2.0

Citation

@ARTICLE{8855019,
author={Z. {Guan} and Q. {Xing} and M. {Xu} and R. {Yang} and T. {Liu} and Z. {Wang}},
journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
title={{MFQE} 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video},
year={2019},
volume={},
number={},
pages={1-1},
keywords={Quality enhancement;compressed video;deep learning},
doi={10.1109/TPAMI.2019.2944806},
ISSN={},
month={},}

1. 要点

本文提出了一种针对压缩视频的质量增强方法。创新点:

  • 前人的工作大多忽略了帧间相关性。本文利用了视频的帧间相关性

  • 我们应该是第一个考虑了压缩视频的特性:质量波动

  • MFQE应该是第一个运动补偿+质量增强end-to-end方法。

  • 本文提出的方法,核心思想是好帧补偿差帧,是非常具有insight的方法。

我们看图说话:

  1. 如图上半部分黑线,压缩视频中存在显著的质量(本文考虑PSNR)波动状况。其中,第92帧和第96帧达到了PSNR局部极大值点,中间的第95帧处在PSNR局部极小值点。

  2. 如图下半部分,质量好帧——第92和96帧中的篮球比较清晰,而质量差帧——第95帧中的篮球质量很差(马赛克严重)。

  3. 在我们的MFQE算法中,在增强第95帧时,92帧和96帧的信息也会被参考,使得增强效果显著好于图像增强方法DS-CNN(橙色框)。

2. 压缩视频特性分析

2.1 质量波动

首先,我们以压缩视频库中的6个视频为例,看一看质量波动性:

可见,无论是HEVC、H264还是MPEG-1/2/4,这种质量波动性都是存在的,并且在HEVC中尤为明显。本文以HEVC为主要分析对象。

进一步,我们对这种质量波动性进行量化。我们衡量两个指标:

  1. 相邻的好帧和差帧的PSNR差值。差值越大,说明局部质量波动越厉害。这就是所谓的峰值-谷值差值(Peak-Valey Difference, PVD)。

  2. 整个视频PSNR的标准差。标准差越大,说明该视频的PSNR越不稳定,即全局质量波动越厉害。这就是文中的SD。

我们在整个视频库(108个视频)中统计了上述两个指标的平均值,结果如表:

质量波动性有两点意义:

  1. PVD大,说明好帧、差帧质量差距大,说明差帧借助好帧提升质量的潜力很大

  2. SD大,说明好帧补偿差帧的方法非常适用于压缩视频。

2.2 帧间相关性

进一步,我们得看看好帧补偿差帧是否可行。我们测量了相邻若干帧的两帧之间的相关系数及其标准差,如图:

结果说明:

  1. 时序相关性很强:前后距离10帧内,平均相关系数都能超过0.75。

  2. 时序相关性保持较稳定:标准差较小。

那么,压缩视频中好帧(局部质量峰值)之间的平均距离大概是多少呢?我们在上一个表格中展示了PS这个指标,在HEVC大概是2.66。好帧之间的距离如此近,结合上图可知,两个相邻好帧 与它们中间的差帧 之间的相关性极高

总之,我们的思想是有前景的!

3. 方法

我们的MFQE方法由一个框图说明:

  1. 首先,我们用一个分类器,将视频中的好帧(质量局部极大值)找出来。
  2. 对于每一个差帧(只要不是局部极大值,就算差帧),借助其相邻的两个好帧,我们进行质量增强。
  3. 在质量增强之前,这两个好帧要进行运动补偿,补偿到差帧所处时刻的状态。
  4. 好帧也进行同样的流程,此时好帧借助的是相邻好帧。

批注:MFQEv1.0对于好帧的增强采用的是图像增强方法DS-CNN。这里好帧也用相邻好帧进行增强,得到了审稿人好评,因为网络得到了统一和简化。

3.1 分类器

分类器用BiLSTM搭建。对于每一帧,我们都采用参考文献[2]提供的质量评估方法,得到一个36维的向量;然后我们再添加这一帧的比特率和QP(这些都可以从码流中轻易获得),得到一个38维的向量,表征这一帧,输入BiLSTM网络。

理想状况下,BiLSTM能够通过比较这些特征向量,找出局部质量极大值点。

要注意,这是一个无参考(no-reference)的分类器:即不需要原始无损视频信息,不需要PSNR信息,而是通过传统的质量评估方法获得的“特征向量”,再进行学习。

批注:MFQEv1.0中的分类器采用的是SVM。这里用BiLSTM,极大提升了分类准确率,并且降低了分类难度,提升了分类速度。

3.2 好帧运动补偿

为了让整体网络可以端到端训练,这里的运动补偿网络采用的是基于CNN的光流预测网络[29]。

3.3 质量增强网络

运动补偿后的好帧,与差帧一起输入网络。在前端,我们采用了三种scale的特征提取;在后端,我们采用了稠密连接和BN技巧。整体上,我们还采用了短连接。

批注:MFQEv1.0中的质量增强网络是渐进融合网络,效果差得多,参数量也大得多(5倍以上)。

4. 实验

4.1 差帧质量提升效果

好帧在文中就是PQF,差帧就是non-PQF。如图,MFQEv2.0算法在好帧增强上略高于其他算法,但在差帧增强方面显著高于其他算法。这就体现了MFQEv2.0的优势。

4.2 总体效果

我们以PSNR的增强数据为标准。如大表格:

在国际标准测试序列(18个视频)上,MFQEv2.0全面胜出,展现出较好的泛化能力。

编码领域通常还衡量BDBR指标。我们看看结果:

图像方法最多能到9%,而MFQE方法能达到14%。

4.3 缓和压缩视频的质量波动

由于MFQEv2.0对差帧的提升非常显著,因此可以缓和质量波动现象。我们通过SD和PVD的下降程度来验证这一点:

如图,PSNR的标准差显著下降,而峰值-谷值差距减小,说明质量波动下降明显。此外,我们以两个视频的PSNR曲线举例说明:

显然,MFQEv2.0增强后,PSNR曲线最为平滑。

4.4 网络速度

MFQEv2.0不仅效果好,而且参数少、帧速率快。这进一步说明了多帧方法的优势:我们不需要冗余的网络,多帧信息是我们的杀手锏。

如图,其中DS-CNN就是SOTA的单帧方法。

4.5 主观效果

5. 不足和展望

  1. MFQE算法依赖于较为精确的运动补偿(光流预测)。如果运动补偿不准确,那么总体效果可能不理想。现在已经有一些方法跳过了这一步骤,例如使用Conv-LSTM直接输入相邻帧。但是这一点有利有弊,隐式(implicitly)地建模运动(motion),增强性能可能不增反降,因为学习难度增加了。

  2. 我们只考虑了客观质量PSNR。如果进一步考虑感知质量(perceptual loss)等,主观效果会更好。

6. 其他

  1. 根据其他老师和童鞋的反馈,该算法在不finetune的情况下,在VVC等标准的视频上,也能有很高的dpsnr和dssim。

  2. 实验上看,简单的相邻帧补偿 或 差帧补偿好帧,效果是很不理想的。所以“好帧”补偿“坏帧”是本文MFQE框架成功的关键。

  3. 在补偿时要注意:输入的三帧必须在同一场景下。一个视频中可能存在场景切换。可以用SSIM等指标检测切换。

  4. 在训练时,第一阶段的运动补偿网络收敛比较缓慢,可能在前8个epoch的dpsnr都在0dB左右。这是因为训练分为两阶段,整体收敛有难度。

  5. 最后,欢迎大家引用TPAMI作为参考文献,比arXiv更有权威呀!再次放上citation:

    @ARTICLE{8855019,
    author={Z. {Guan} and Q. {Xing} and M. {Xu} and R. {Yang} and T. {Liu} and Z. {Wang}},
    journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
    title={{MFQE} 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video},
    year={2019},
    volume={},
    number={},
    pages={1-1},
    keywords={Quality enhancement;compressed video;deep learning},
    doi={10.1109/TPAMI.2019.2944806},
    ISSN={},
    month={},}

    IEEE Early Access上也能下载Bibtex的引用信息:https://ieeexplore.ieee.org/document/8855019。感谢阅读!欢迎到GitHub上下载代码测试!~

Paper | MFQE 2.0: A New Approach for Multi-frame Quality Enhancement on Compressed Video的更多相关文章

  1. Paper | BLIND QUALITY ASSESSMENT OF COMPRESSED IMAGES VIA PSEUDO STRUCTURAL SIMILARITY

    目录 1. 技术细节 1.1 得到MDI 1.2 判别伪结构,计算伪结构相似性 2. 实验 动机:作者认为,基于块的压缩会产生一种伪结构(pseudo structures),并且不同程度压缩产生的伪 ...

  2. Paper | Predicting the Quality of Images Compressed After Distortion in Two Steps

    目录 1. 问题本质剖析 2. 方法细节 图像质量评估大佬AC Bovik的论文,发表在2019 TIP上. 考虑的问题:对于有参考图像质量评估(R-IQA)任务,参考图像有时是有损的.这会导致评估的 ...

  3. 【论文学习】A Fuzzy-Rule-Based Approach for Single Frame Super Resolution

    加尔各答印度统计研究所,作者: Pulak Purkait (pulak_r@isical.ac.in) 2013 年 代码:CodeForge.cn http://www.codeforge.cn/ ...

  4. Paper | 帧间相关性 + 压缩视频质量增强(MFQE)

    目录 1. ABSTRACT 2. INTRODUCTION 3. RELATED WORKS 3.1. Quality Enhancement 3.2. Multi-frame Super-reso ...

  5. Deep Learning-Based Video Coding: A Review and A Case Study

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 1.Abstract: 本文主要介绍的是2015年以来关于深度图像/视频编码的代表性工作,主要可以分为两类:深度编码方案以及基于传统编码方 ...

  6. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  7. JPEG压缩图像超分辨率重建算法

    压缩图像超分辨率重建算法学习 超分辨率重建是由一幅或多幅的低分辨率图像重构高分辨率图像,如由4幅1m分辨率的遥感图像重构分辨率0.25m分辨率图像.在军用/民用上都有非常大应用. 眼下的超分辨率重建方 ...

  8. 3.EF 6.0 Code-First实现增删查改

    原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/crud-operations-using-entity-framework-5-0-code- ...

  9. 【墙内备份】Android 6.0 APIs

    Android 6.0 APIs In this documentSHOW MORE Fingerprint Authentication Confirm Credential App Linking ...

随机推荐

  1. Hbase初识

    简介 数据模型 相关数据库 典型应用 优势 劣势 key-value Redis 缓存 快速查询 存储数据缺乏结构化 列族 Cassandra,Hbase 分布式的文件系统,大规模的数据存储 易于分布 ...

  2. 06-kubernetes service

    目录 Service ClusterIP 有头 Service 无头 Service Service 说明: Service 是作用于客户端可服务端(Pod)之间,作为一个固定的中间层 主要依赖于ku ...

  3. __dict__和dir()的区别

    __dict__和dir()的区别 dir() 一般用来查看模块的属性 __dict__从某方面上来说是dir()的子集 可以直接打印dir(),显示的是当前执行文件所有的属性 __dict__ __ ...

  4. shell介绍、命令历史、命令补全和别名、通配符、输入输出重定向

    第5周第5次课(4月20日) 课程内容: 8.1 shell介绍8.2 命令历史8.3 命令补全和别名8.4 通配符8.5 输入输出重定向 8.1 shell介绍 使用yum+管道方式查看zsh和ks ...

  5. 虚拟机中linux操作系统raid10(5块磁盘)配置流程及损坏磁盘的移除

    打开所要用的虚拟机,点击编辑虚拟机设置,点击硬盘,添加 2.一直点击下一步不做修改,直到最后完成 3.按照以上步骤添加5块磁盘 4.点击开启虚拟机,输入用户名root密码登录进去 5.进入虚拟机后,鼠 ...

  6. Android DataBinding不能自动生成ViewDataBinding类的解决方法

    如果Build.gradle和Layout文件配置正确,仍无法生成ViewDataBinding类. 经测试,Gradle的sync无效,clean project无效,invalidate and ...

  7. js对象的浅拷贝与深拷贝

    浅拷贝和深拷贝都是对于JS中的引用类型而言的,浅拷贝就只是复制对象的引用(堆和栈的关系,原始(基本)类型Undefined,Null,Boolean,Number和String是存入堆,直接引用,ob ...

  8. Python不再为字符集编码发愁,使用chardet轻松解决你的困扰。

    欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...

  9. 阿里巴巴 Service Mesh 落地的架构与挑战

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 | 方克明(溪翁 ...

  10. Swoole高效跟传统的web开发有什么区别?

    一.swoole的运行模式 Swoole高效跟传统的web开发有什么区别,除了传统的LAMP/LNMP同步开发模式,swoole的异步开发模式是怎么样的. 1.1.传统web开发模式 PHP web开 ...