雷锋网 AI 开发者:近日,持续 3 个多月的阿里 2019 优酷视频增强和超分辨率挑战赛终于落下了帷幕,最终,来自中国科学技术大学智能媒体计算实验室的研三学生陈嘉乐、单超炜,通过对当下最先进 EDVR 方案的视频感知能力、时序信息及特征表达三大内容进行优化与改进,一举夺得桂冠;并向我们公开了详细的冠军方案解读,雷锋网 AI 开发者将其整理编辑如下。
大赛背景简介
视频增强和超分是计算机视觉领域的核心算法之一,目的是恢复降质视频本身的内容,提高视频的清晰度。该技术在工业界有着重要的实用意义,并对于早期胶片视频的质量和清晰度的提升有着重大的意义。
本次大赛「阿里巴巴优酷视频增强和超分辨率挑战赛」由优酷主办,面向全社会开放,参赛队伍包括:个人、高等院校、科研单位、企业、创客团队等共计 1514 支,赛程分为初赛、复赛、决赛三个阶段,设置奖金池为 230000 元。
大赛提供了业界最大、最具广泛性的数据集,包括不同内容品类,不同噪声模型、不同难度等,参赛选手需要通过训练样本对视频增强和超分模型进行建模,对测试集中的低分辨率视频样本预测高分辨率视频,提交结果评分将进行实时更新。
冠军团队资料
本次获得大赛冠军的团队来自中国科学技术大学智能媒体计算实验室(Intelligent Media Computing Lab, IMCL)。
团队成员包括:陈嘉乐,中国科学技术大学研三学生,主要的研究方向是强化学习和视觉计算,在本次比赛中主导算法设计、模型训练调试的工作;单超炜,中国科学技术大学研三学生,主要研究方向是图像处理和增强,负责算法设计和模型训练。
团队指导老师包括:中国科学技术大学教授陈志波、中国科学技术大学博士刘森以及微软亚研院高级研究员谭旭。
图像、视频超分辨研究现状
根据数据类型分类,目前的超分辨工作分为图像超分和视频超分。
图像超分
图像超分领域随着卷积神经网络的应用,不断有新的网络结构取得更优的性能,以下 6 种结构是目前图像超分领域所使用的方法:
残差结构 目前超分领域普遍认为更深的网络能够带来更优性能,但更深的网络也带来训练困难的问题,残差结构能够缓解该问题,例如:EDSR;
多分支结构 从增加网络的宽度来提升性能,也是一种增强特征表达的方式,例如:REDNet;
(以上两种结构都会带来巨大的参数量)
循环结构 利用共享网络参数、循环递归的方式,在减少网络参数的情况下提升性能,例如:DRCN;
渐进式结构 把超分辩设计成多个阶段的网络结构,利用逐步增加分辨率的方式,提高超分性能,例如:SCN;
注意力机制 提高特征的表达能力,从而提高性能,例如:RCAN、DRLN;
对抗模型 利用 GAN 的思想生成更符合人眼视觉评价的高分辨率图片,例如:SRGAN、EnhanceNet、ESRGAN.
视频超分
视频超分与图像超分的区别主要有两点,包括:
视频帧对齐 因为视频中存在各种运动信息,所以存在参考帧和目标帧的偏差,但超分辩一般需要利用邻帧跟参考帧做对齐;
视频帧融合 视频中存在运动模糊和场景切换的问题,如何有效融合视频帧,去除干扰信息,对最终的结果也有影响。
而在这两方面,视频超分的主要结构有以下几个类型:
三维卷积 直接利用 3D 卷积捕捉时域特征的功能,直接做帧间融合;
循环结构 可用于提取帧间关系,融合目标帧和参考帧的信息,例如: LSTM 的结构来做帧间融合;
滤波器预测 利用融合后的帧间信息预测滤波器参数,再通过滤波的方式做超分辩,获得自适应的滤波效果;
根据对图像、视频超分辨相关特性的分析,本次网络结构中,我们选择了将商汤的 EDVR 方案作为建模基础。该方案提出将对齐和融合两个操作分开处理,可增加模型的可解释性。最终,整个视频处理流程分为对齐,融合,重建三个部分。
EDVR 视频超分辨核心
详细方案分析
目前,EDVR 主要存在三点问题,即感知能力不够强,时序特征不充分,特征表达不高效。针对这几个问题,我们分别作了对应的优化如下。
增强感知能力
EDVR 在做帧间对齐这个任务上提出一个高效的模块——多尺度的可变卷积模块。
可变卷积能够自适应学习 feature map 中最相关的特征点,即学习一个 offset,然后通过 offset 来利用相关点做卷积操作;利用多尺度的结构提升了可变卷积的对齐能力,多尺度的网络结构在各个尺度下完成视频帧对齐,然后利用不同尺度下的对齐信息来提高对齐操作的感受野;这个模块的性能提升大概在 0.3db 左右。
增强感知能力——多尺度的可变卷积模块
第二个优化是利用何恺明提出的 Non local neural network。
这个结构借鉴了 NLP 领域的 self-attention 机制。例如:输入是 TCHW 这样一个维度,然后通过矩阵相乘得到一个全局关系矩阵 THWxTHW,得到 feature map 中每个点和其他点的相关性,从而让网络结构近乎有全局感受野。
增强感知能力——3D Non local
但该结构有一个缺点,特别是在视频特征上,全局关系矩阵的维度很高,维度大小为(THW)^2。从而导致参数量剧增,使得这个结构无法承受所有的 3D non local 参数量。
因此,我们利用了一种 separate non local 的形式来解决这个问题,分别在空间维度、通道维度、时间维度做了 self-attention,减少所需参数量,并增大感受野。在实验过程中,这个模块带来了将近 0.3db 的性能增益。
增强感知能力——separate non local
时序特征不充分优化
在 EDVR 做视频帧融合的时候,提出了一种叫 Temporal and Spatial Attention,具体做法是所有帧跟中间帧去优化一个 attention map,但这忽略了邻帧之间的信息。
虽然在前面已经做过对齐,但这个过程很难做到完全准确,所以帧之间仍然具有一定的时域信息。
因此我们在这部分利用一个 3D 卷积来捕获帧间信息,这个部分取得了 0.1db 的增益。
时序特征不充分优化——融合模块
提高特征表达效率
EDVR 的重建模块由 40 层的 resblock 堆叠而成,尽管深层网络结构增加了跳接结构,但依然难以保证训练的高效性,所以我们利用了一种 channel attention 的机制来处理这个问题。
channel attention 为 feature map 的每一个通道分配一个权重,从而让网络去关注特征中对超分更有信息量的部分。具体做法是利用 average pooling 和全连接结构来学习这个通道权重,再乘回原来的 feature map。这一优化使得该方法的性能提高了 0.23db。
提高特征表达效率——channel attention
实验结果
我们在前 800 个视频上训练,在 800-849 这些视频上抽帧测试,结果如下图所示。其中 base 是指该网络使用了 20 层的重建模块,large 是使用了 40 层的重建模块。
Base 模型下各个模块的性能增益分析
结果显示,separate non local 模块在参数量和 flops 增加不大的情况下,性能提升了近 0.3db;3D 卷积模块带来了 0.1db 的性能增益,channel attention 模块带来了 0.23db 的性能增益,所有模块合计共获得 0.4db 的性能增益。
Large 模型下各个模块的性能增益分析
上图则显示了 large 模型下的实验结果。可以看到,edvr large model 性能是 35.75db,而当我们使用一个 20 层的 base model 就能够超过该 large model 的性能,并且参数量和 flops 都消耗更少。
如果把模型再加到大模型,最终模型可得到 35.97db 的 PSNR,这与原始 EDVR base model 比较,提高了 0.1db 的性能增益,但同时模型的参数量和 flops 将会大幅度增加。这部分的增益性价比不高,也表明了我们的结构更有利于在有限参数下获得更好的性能。
而在可视化上,我们的结构和 EDVR 的对比,该网络在一些文字的细节恢复上效果更好。
可视化实验结果对比
方案总结
我们的方法主要有三个创新点:
利用 separate non local 提高了网络感受野,增强了感知能力,最终实现利用小模型获得大模型的性能,提高性能的同时也降低了训练难度;
利用 3D 卷积的方式捕获帧间信息,提高了特征时序信息的完整度;
利用 channel attention 提高了特征的表达能力效率的同时,增大了模型的性能增益;
目前,该方法的优点是在相同性能下,模型使用的网络参数更少,训练更简单;缺点则是由于模型未能去掉 EDVR 中的可变卷积,这一结构存在训练不稳定性的问题,这也是我们未来进一步优化的方向。另外,目前这一模型依然会存在泛化能力问题,如何在退化模型未知的情况下获得更好的超分效果,这可能是未来超分领域一个值得深入研究的问题。
雷锋网 AI 开发者