华为难题-实时视频流超分辨率推断加速方法研究与实现

华为难题-实时视频流超分辨率推断加速方法研究与实现

实时视频流超分辨率推断加速方法研究与实现 1、问题背景 视频超分辨率技术可以利用终端设备或边缘设备的计算能力以提升视频的质量,将视频传输的带宽压力部分转移为设备的计算负载。 视频超分辨率任务具有帧间相似性的重要特点,意味着视频的前后帧中有大量可以有助于恢复目标图像细节的信息,从大量的前后帧中提取所需

实时视频流超分辨率推断加速方法研究与实现

1、问题背景

视频超分辨率技术可以利用终端设备或边缘设备的计算能力以提升视频的质量,将视频传输的带宽压力部分转移为设备的计算负载。

视频超分辨率任务具有帧间相似性的重要特点,意味着视频的前后帧中有大量可以有助于恢复目标图像细节的信息,从大量的前后帧中提取所需的信息可以有效地帮助目标图像恢复。利用帧间相似性就成了影响视频超分辨率模型性能的关键因素,如何有效提取并融合多帧图像中的信息以帮助模型恢复图像细节也就成为了此类模型领域研究的重点。

由于融合多帧信息需要同时在多个帧的特征图上进行计算,其模型计算量需求较高,导致现有计算资源有限的端或边侧设备难以支持这些高质量的视频超分辨率模型。

为了实现在算力受限设备中的低延迟的视频超分辨率推断,主流研究可以分为模型裁剪和分布式推断加速两个方向。前者主要通过减小模型本身的计算量达到加速的目的,其优化算法通过通道裁剪等方案来减小矩阵计算的次数和规模,但是带来了视频质量的较大下降;后者则利用数据并行模式将输入图片或中间特征裁剪成小的分块交给独立的超分辨率模型进行并行处理,但是由于实时视频流单次推断输入帧较少,加速效果可能有限。

另一方面,实时视频应用也对模型推断速度提出了进一步要求,需要在保证应用实时性的同时提升输出视频质量的瓶颈。而目前主流高质量视频超分辨率模型在移动设备上仍然无法达到逐帧实时计算的需求。

因此,为了实现极低算力下的实时视频超分,一方面可以改进视频超分辨率模型,减少其参数量与计算量,并且对其精度进行控制。另一方面还可以通过设计集成解码机制以复用超分辨率输出帧的结果,减少模型推理频次以显著降低超分辨率视频流对计算资源的需求。

2、需求理解

构建一个端侧的视频超分辨率框架,并且保证:

1. 加速视频超分辨率模型以保证推断实时性

2. 优化视频流解码过程以保证视频的高质量

针对第1点,需要设计一个具有高精度低延时的视频超分辨率推理模型,结合所设计模型的结构特点对模型进行裁剪并增加中间数据压缩模块。此外,设计一个集成该模型的解码器,其可以利用解码得到的运动矢量和残差等信息完成单超分辨率帧的复用,实现一次推断得到多帧高质量帧。

针对第2点,由于模型推断输出的超分辨率高清帧质量会影响其复用的效果,并且复用单帧超分辨率帧的过程可能会导致质量损失累积,因此还需要考虑模型本身的推断过程以确定质量影响更大的帧,并挖掘推断过程和集成解码过程间的相互影响因素,设计质量优化算法,保证精度到达阈值条件。

3、初步方案

1 方案架构图

方案主要从模型设计、解码控制两方面进行延迟和质量的优化,最终依据此设计出具有质量控制的实时视频超分辨率的集成解码系统。

l  延迟敏感的视频超分辨率模型推断加速机制

为了在保证视频超分辨率模型推断过程的实时性,针对现有模型结构的缺陷提出了一种易于并行加速的分支并行化超分辨率模型结构。基于目前超分辨率模型常用的主干结构设计新的分支并行化超分辨率模型主干结构,解耦模型结构中的数据依赖,使模型中的主要结构可以并行地执行;其次,综合运用模型裁剪和特征压缩技术以进一步降低模型并行推断的延迟。

此外,为了降低超分辨率模型推断所带来的延迟,设计并引入超分辨率集成解码器,可以利用保存在压缩视频流内的运动矢量和残差信息以实现低帧率高清视频流和高帧率低清视频流合成高帧率高清视频流。其在超分辨率帧推断的过程中进行低清帧缓存,推断完成后进行合成。

由于输入帧数量会影响推理集成解码过程的延迟,设计一种自适应算法以确定推断过程的输入帧(窗口)的最大数量,从而在动态的网络环境下将模型推断的端到端延迟控制在指定范围内。

l  质量敏感的视频超分辨率集成解码控制策略

集成解码器输出的视频质量主要会受其获取超分辨率视频帧的间隔影响,输入超分辨率视频帧间隔越小,缓存视频帧上积累的质量损失就能被及时覆盖,从而提升整体的视频质量。而超分辨率模型输入帧越多,质量又提升越高。

同时,为了保证实时性,计算量巨大的超分辨率推断过程又很难在计算资源相对较弱的设备下过于频繁地进行。因此窗口的具体大小设置需要在最大数量中寻找一个平衡点,即优化集成解码所得到视频流的质量,需要对集成解码的过程中窗口的大小进行控制。

相关研究表明,视频内容的细节丰富程度和视频内像素的变换速度对超分辨率推断质量有显著影响,因此可以刻画视频帧数据包大小、模型推断过程的吞吐量、推断输出高清帧的质量与超分辨率集成解码输出视频质量之间的联系,基于视频帧数据包大小进行集成解码质量估计。

使用基于强化学习的策略对滑动窗口大小、推断吞吐量以及输入视频数据包大小和视频质量之间的概率分布进行拟合,实现视频质量估计,通过窗口大小的选择对质量进行优化,最终实现视频超分辨率集成解码过程的整体质量优化。

Comment