把高糊视频变清晰,对于 AI 而言算不上新鲜事。
但如果是实时处理,而且速度比主流方法还快了 9 倍呢?
而且计算量降低了,重建图像的质量却还非常能打:
这种图像质量和速度性能之间的平衡到底是怎么做到的?
今天就来看看东南大学的研究者们带来的最新研究:4K 视频实时超分辨率系统 EGVSR。
GAN 保证重建质量
为了使模型具有良好的感知质量,生成对抗网络 GAN 成为了超分辨率研究中广泛使用的一种方法。
比如,要处理 VSR 任务中大规模的分辨率退化,就常常依靠 GAN 的深度特征学习能力。
于是参考 TecoGAN 的设计,EGVSR 系统引入了空间-时间对抗结构,用来帮助判别器理解和学习空间-时间信息的分布。
也避免了传统 GAN 在时域遇到的不稳定效应。
同时,研究者参照高效 CNN 架构,为 EGVSR 设计了一个轻量级的网络结构:
▲ EGVSR 生成器的部分框架
其中,生成器部分分为 FNet 模块和 SRNet 模块,分别用于光流估计和视频帧超分辨率。
接下来,就是增强 EGVSR 的实时处理能力了。
三种方法提升速度
研究者主要通过三种方法来提高网络训练和推理的速度。
一、对 BN 层进行优化。
在 EGVSR 网络中,FNet 模块里大量使用了 BN(批量归一化)层。
因此,研究者省去计算 BN 的环节,将其转换为矩阵形式,利用 1×1 卷积层来实现和替换 BN 层:
优化之后,速度就提高了 5% 左右。
二、寻找高效的上采样方法。
上采样层(Upsampling layer)是超分辨率网络中最重要的部分之一。
因此,在保持其他网络结构和配置的情况下,研究者希望从以下三种上采样方法中,选择出一种在实际 SR 网络中效率最高的:
A. 调整大小卷积(使用双线性插值)
B. 去卷积(Deconvolution)
C. 子像素卷积(Sub-pixel convolution)
在使用这三种方法训练了多组 SR 网络后,可以看到子像素卷积方法的效果最佳:
三、设计一种适合硬件部署的高效卷积算法
传统的朴素卷积(Nnaïve Convolution)方法使用了 6 个循环结构,这导致它的计算效率相当低。
因此,研究者们使用矩阵乘法(MatMul)算法通过逆向 col2im 转换得到所需的输出特征结果。
这样,就将卷积计算转换为了矩阵乘法。
也就通过内存空间节省了推理时间,最终提高计算效率。
性能提升 7.92 倍
那么最终速度提升的效果如何呢?
可以看到,在使用 CPU 时,对比经典的 TecoGAN 算法,VESPCN 的速度最高能提升 9.05 倍。
而在使用 GPU 加速时,VESPCN 最高也能比 TecoGAN 的性能提升 7.92 倍。
如果从总计算成本来看,EGVSR 仅为 VESPCN 的 29.57%,SOFVSR 的 12.63%,FRVSR 和 TecoGAN 的 14.96%。
与此同时,EGVSR 也取得了较高的图像细节重建质量,结果最接近 GT(Ground Truth)图像:
而对于多张图像之间的连贯性评估,研究者们引入了两个指标来衡量 VSR 结果与相应的 GT 参考结果之间的差异:
tOF:测量从序列中估计的运动的像素差异;
tLP:使用深度特征图测量感知上的变化。
从结果可以看到 VESPCN 的分数最小:
这说明了在满足时间连贯性的情况下,EGVSR 网络可以恢复更多的空间细节,满足人眼的主观感受。
所有实验的结果都表明,EGVSR 确实在保证 VSR 高视觉质量的前提下,将计算负载降低到最低要求,完成了 4K VSR 在硬件平台上的实时实现。
研究团队
论文的前三位作者都来自东南大学的国际信息显示与可视化联合研究实验室。
一作 Yanpeng Cao 目前研究生在读,主要研究方向为加密域图像处理和图像超分辨率等领域。
其余两位分别是 Chengcheng Wang 和 Changjun Song。
最后一位作者 He Li 来自剑桥大学的工程系。
论文地址:
https://arxiv.org/abs/2107.05307
下载:
https://github.com/Thmen/EGVSR