当前位置:网站首页>超分辨率技术在实时音视频领域的研究与实践
超分辨率技术在实时音视频领域的研究与实践
2022-07-07 17:06:00 【网易云信】
前言
近日,计算机视觉和模式识别领域顶级会议 CVPR 在美国新奥尔良市举办,同时计算机图像恢复领域最具影响力的全球性顶级赛事 NTIRE 在会上颁奖,网易云信音视频实验室取得 NTIRE 高效率超分辨率挑战赛总体性能赛道冠军,以及运行时间赛道季军。本文将着眼于 AI 超分技术从研究到部署的落地问题,介绍超分辨率技术现状,以及视频超分在移动端落地应用所面临的机遇与挑战。
超分辨率技术概述
近年来,互联网视频数据呈爆炸式增长。与此同时,视频的分辨率也越来越高,以满足人们对视频体验质量(Quality of Experience, QoE)日益增长的需求。但是,由于带宽的限制,网络传输视频通常会被降采样和压缩,这不可避免地会导致视频质量的下降,进而影响用户的体验与观感。超分技术旨在从低分辨率输入中恢复出视觉质量更佳的高分辨率输出,可以有效地解决视频质量不佳的问题,从而满足播放端用户对于极致高清画质的需求。在直播点播、监控设备、视频编解码、手机拍摄、医学影像、数字高清和视频复原等领域都有非常重要的应用价值。
以下两个场景是我们在生活中经常会碰到的问题,都可以用超分技术解决:
场景一:张三在地铁上观看视频,因为地铁网络不好,所以只能观看标清或者低清视频,再提高分辨就会容易卡顿,体验很差,因此只能接受低画质视频,可以通过超分来提高播放的视频分辨率,增加画质。
场景二:小学生李四使用智能手表与妈妈手机视频通话的时候,发现手表容易发热,流量也用得快。因为受限于芯片性能,发送高分辨率的视频时比较耗电,只能发送低分辨率视频,可以在妈妈的手机上利用超分技术提高画质。
超分辨率技术的分类与发展方向
超分辨率技术广义上讲包含 3 种情况: 单幅图像超分辨率、从多帧连续图像中超分辨率重建单帧图像、视频序列的超分辨率重建。
单幅图像放大主要利用对髙分辨率图像的先验知识和以混叠形式存在的高频信息进行复原。后两种情况除了利用先验知识和单幅图像信息外,还可以应用相邻图像之间的互补信息进行超分辨率重建,得到比任何一幅低分辨率图像分辨率都高的高分辨率图像,但是这两种情况常带来难以接受的计算成本与邻帧重建不连续的风险。因此,在实际落地时,偏向于单图超分辨率技术。
按照时间和效果进行分类,可以将单幅图像超分辨率算法分为传统算法和深度学习算法两类。
传统超分辨率重建算法
传统的超分辨率重建算法主要依靠基本的数字图像处理技术进行重建,常见的有如下几类:
基于插值的超分辨率重建:基于插值的方法将图像上每个像素都看做是图像平面上的一个点,那么对超分辨率图像的估计可以看做是利用已知的像素信息为平面上未知的像素信息进行拟合的过程,这通常由一个预定义的变换函数或者插值核来完成。基于插值的方法计算简单、易于理解,但存在较为明显的缺陷。复原出的图像常常出现模糊、锯齿等现象。常见的基于插值的方法包括最近邻插值法、双线性插值法和双立方插值法等。
基于退化模型的超分辨率重建:此类方法从图像的降质退化模型出发,假定高分辨率图像是经过了适当的运动变换、模糊及噪声才得到低分辨率图像。这种方法通过提取低分辨率图像中的关键信息,并结合对未知的超分辨率图像的先验知识来约束超分辨率图像的生成。常见的方法包括迭代反投影法、凸集投影法和最大后验概率法等。
基于学习的超分辨率重建:基于学习的方法则是利用大量的训练数据,从中学习低分辨率图像和高分辨率图像之间某种对应关系,然后根据学习到的映射关系来预测低分辨率图像所对应的高分辨率图像,从而实现图像的超分辨率重建过程。常见的基于学习的方法包括流形学习、稀疏编码方法。
基于深度学习的超分辨率重建算法
SRCNN 是深度学习方法在超分辨问题的首次尝试,是一个比较简单的卷积网络,由 3 个卷积层构成,每个卷积层负责不同的职能。第一个卷积层的作用主要是负责提取高频特征,第二个卷积层则负责完成从低清特征到高清特征的非线性映射,最后一个卷积层的作用是重建出高分辨率的图像。SRCNN 的网络结构比较简单,超分辨效果也有待改善,不过它确立了深度学习方法在处理超分辨这类问题时的基本思想。后来的深度学习方法,基本都遵循这一思想去进行超分辨的重建。
后来的 ESPCN 基于 SRCNN 进行了一些改进,但由于网络重建能力有限,超分辨的效果也不是特别理想。因为在当时,深度卷积网络的训练是存在问题的。一般对于卷积神经网络来说,当网络层数增加的时候,性能也会增加,但在实际应用中,人们发现当网络层数增加到了一定程度,由于反向传播原理,就会出现梯度消失的问题,导致网络收敛性变差,模型性能降低。这个问题直到 ResNet 提出残差网络结构之后,才得到比较好的解决。但值得注意到是,ESPCN 网络首次提出了亚像素卷积层,去除了低分辨率图像送入神经网络前的预上采操作,极大降低了 SRCNN 的计算量,提高了重建效率。
VDSR 是残差网络以及残差学习思想在超分辨问题上的首次应用,将超分辨网络的层数首次增加到了 20 层。利用残差学习的方式,网络学习残差特征,网络收敛快,对细节更加敏感。后来一些卷积神经网络提出了更复杂的结构,比如 RGAN 提出使用生成式对抗网络来生成高分辨的图像,SRGAN 由 2 部分组成,一个是生成网络,另一个是判别网络。生成网络的作用是根据一张低分辨率的图像来生成一张高分辨的图像,而判别网络的作用是将生成网络生成的高分辨图像判定为假,这样网络在训练的时候,生成网络和判定网络两者之间不断博弈,最终达到平衡,从而生成细节纹理比较逼真的高分辨图像,具有更好的主观视觉效果。其他深度卷积网络方法比如 SRDenseNet、EDSR、RDN,使用了更复杂的网络结构,网络的卷积层越来越深,在单张图像上的超分辨效果也越来越好。
然而,由于高计算成本与内存占用,许多工作难以部署在资源有限的设备上。为此,超分辨率的高效模型设计也引起广泛关注。FSRCNN 采用紧凑的沙漏型架构首次加速 SR 网络;DRCN 和 DRRN 采用递归层来构建具有较少参数的深度网络。CARN 通过将有效残差块与组卷积相结合,减少了 SR 网络的计算。还引入了注意机制来找到信息量最大的区域,以更好地重建高分辨率图像。另外,知识蒸馏也被引用到轻量型超分辨率网络,以提高它们的性能。
实时视频超分辨率的挑战
在移动互联网时代,移动端作为视频内容最重要承载平台,负责着大量的 PGC 和 UGC 视频内容的播放,但受限于模型泛化能力不足,移动端算力有限,算法计算复杂度高等问题,基于 AI 的超分辨率算法的以下特性使得其在移动端上进行实时部署时面临着巨大挑战:
主观效果不佳,直接使用以上提到的基于深度学习的超分辨率算法,会发现其主观效果和 Bicubic 等传统算法差不多,对视频画质的提升效果很有限。
学界 SOTA 方法网络模型参数量过大,即使以轻便称的诸多网络,参数量也都大于 500K,这就导致模型运算量过大,推理很慢,无法满足移动端实时处理视频的要求。
云信 AI 超分
基于真实下采样的训练数据
现有的基于深度学习的超分辨率算法的训练数据,往往是通过 Bicubic 或者其他已知下采样方式得到的。然而往往真实场景并不是,从而导致模型训练数据和实际预测数据存在比较大的差距,使得超分算法效果不够理想。
我们采用一种同样基于对抗生成网络的真实下采样生成方式。如下图所示,对于一张高分辨率图,我们训练下采样生成器 G 和判别器 D,使得 G 生成的低分辨率图和真实低分辨率图接近,从而得到真实下采样 G。得到了 G 以后我们便可以利用高分辨率图大量生成满足真实下采样退化的训练数据对。
云信超分辨率算法
网易云信视频实验室提出一种面向边缘的高效特征蒸馏网络(EFDN),在 2022 年 CVPR NTIRE 高效率超分辨率挑战赛中,Overall Performance 赛道云信以明显优势获得第一名,Runtime 赛道获得第三名的好成绩。
比赛完整报告:
https://arxiv.org/abs/2205.05675
该方法为了提升模型的精度以及降低模型的开销,基于结构重参数的思想,在训练阶段用面向边缘的卷积块(ECB)代替残差特征蒸馏模块(RFDB)中的 SRB 浅残差块,在推理阶段将面向边缘的卷积块(ECB)转换为普通的3x3卷积层,该方法可以更高效地提取图像的纹理信息和边缘信息,在降低开销的同时提升网络性能;同时对增强空间注意力(ESA)模块进行裁剪,减少参数量以及增加池化层步长,进一步减少了算法开销。
为了进一步工程落地,得到一个可在移动设备上实时运行的模型,综合效率与效果,云信团队采用了以下几种优化方法:
模型压缩:在实际落地过程中,为了满足实时处理的要求,我们在CVPR NTIRE 2022 高效率超分挑战赛参赛模型-一种面向边缘的高效特征蒸馏模块(EFDN)的基础上,利用通道剪枝,知识蒸馏等模型压缩技术在优化后的模型架构上进一步减少模型中冗余的参数,去掉对模型性能贡献小的通道,达到减小模型复杂度的目的。同时采用量化技术将权重以低比特存储,从而减小模型体积,加速计算。
工程优化:在移动设备算力、内存带宽有限的情况下,既要满足超分算法实时处理视频的要求,又不能增加太多耗电,对工程化部署要求非常高。我们在工程侧的优化主要通过 SIMD,模型内存优化,数据排布优化等优化方法节省内存开销以及推理耗时,同时深度结合业务场景实现算法在渲染管线与设备之间内存零拷贝,完成了算法的高性能落地。
下表是云信超分在不同平台/设备上的单帧耗时。
效果展示与未来展望
移动端视频超分能突破编解码界限与视频传输的效率瓶颈,优化视频传输速度、播放流畅度等用户体验,并带来众多实际效果:
提升视频清晰度,利用高端机屏幕的高分辨率优势,低清视频高清播放,高清视频提供超高清画质,提升用户视频消费体验。
降低带宽,通过发送端/服务端降低转码分发视频分辨率,结合接收端超分处理呈现高分辨率效果,降低高清播放门槛,提升流畅度,减轻用户网络压力。
未来,我们将持续优化包括超分算法在内的视频增强算法,打造业界顶尖水平的图像恢复和图像增强技术,帮助客户提高视频画质,降低视频播放成本,提供更低耗时,更低功耗,更好的主观质量,覆盖更多的机型以及节省更多的码率的算法, 让用户在不同手机、不同网络环境下享受超高清视频体验。
左为 Bicubic 上采样结果,右为超分优化结果
参考资料
[1] Yawei Li, Kai Zhang, Luc Van Gool, Radu Timofte, et al. Ntire 2022 challenge on efficient super-resolution: Methods and results. In IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2022.
[2] Zheng Hui, Xinbo Gao, Yunchu Yang, and Xiumei Wang. Lightweight image super-resolution with information multi-distillation network. In Proceedings of the ACM International Conference on Multimedia, pages 2024–2032, 2019.
[3] Jie Liu, Jie Tang, and Gangshan Wu. Residual feature distillation network for lightweight image super-resolution. In European Conference on Computer Vision Workshops, pages41–55. Springer, 2020.
[4] Zhang, Xindong and Zeng, Hui and Zhang, Lei. Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices. In Proceedings of the 29th ACM International Conference on Multimedia, pages4034--4043. 2021.
边栏推荐
- App capture of charles+postern
- 50亿,福建又诞生一只母基金
- Cadre de validation des données Apache bval réutilisé
- Version 2.0 of tapdata, the open source live data platform, has been released
- A hodgepodge of ICER knowledge points (attached with a large number of topics, which are constantly being updated)
- How to choose the appropriate automated testing tools?
- Reject policy of thread pool
- Basic operation of chain binary tree (implemented in C language)
- Review of network attack and defense
- Classification and application of enterprise MES Manufacturing Execution System
猜你喜欢
In 2021, the national average salary was released. Have you reached the standard?
如何选择合适的自动化测试工具?
完整的电商系统
Redis
The live broadcast reservation channel is open! Unlock the secret of fast launching of audio and video applications
Reuse of data validation framework Apache bval
Desci: is decentralized science the new trend of Web3.0?
ES6 note 1
直播预约通道开启!解锁音视频应用快速上线的秘诀
Reinforcement learning - learning notes 8 | Q-learning
随机推荐
LeetCode 497(C#)
如何给“不卖笔”的晨光估值?
L1-025 positive integer a+b (Lua)
cmd命令进入MySQL时报服务名或者命令错误(傻瓜式教学)
2022.07.04
GSAP animation library
6. About JWT
Learn open62541 -- [67] add custom enum and display name
RISCV64
Draw squares with Obama (Lua)
The moveposition function of rigidbody2d of unity2d solves the problem of people or screen jitter when moving
Classification and application of enterprise MES Manufacturing Execution System
In the first half of 2022, I found 10 books that have been passed around by my circle of friends
Numpy——2.数组的形状
Flipping Game(枚举)
Seize Jay Chou
最长公共前缀(leetcode题14)
Teach your sister to write the message queue hand in hand
脑洞从何而来?加州大学最新研究:有创造力的人神经连接会「抄近道」
Redis cluster and expansion