视频插帧论文阅读(一)——FLAVR

在这里插入图片描述

CVPR2021

论文地址:https://arxiv.org/abs/2012.08512
代码地址:https://github.com/avinashpaliwal/Super-SloMo


1. 亮点
  • 使用3D卷积来学习帧间运动信息
  • 无光流估计的单次预测视频插帧方法(CAIN也是,但CAIN一次只能插一帧(t=0.5),FLAVR可以进行一次多帧预测)
2. Sampling Training Data from Unlabeled Videos
  • 训练时以插帧倍数为步长从原始视频数据中进行抽帧,比如要进行4倍插帧,那么要采样的视频帧序列就是 A 1 A_{1} A1 A 5 A_{5} A5 A 9 A_{9} A9 A 13 A_{13} A13,…

  • 设置了滑动窗口(时间窗口),窗口大小为2 C C C C > = 1 C>=1 C>=1 C ∈ Z C\in\Z CZ),表示C组上下文帧信息(Context Frames),图中所示就是 C = 2 C=2 C=2,利用{ A 1 A_{1} A1 A 5 A_{5} A5 A 9 A_{9} A9 A 13 A_{13} A13} 作为输入,然后一次生成中间的{ A 6 A_{6} A6 A 7 A_{7} A7 A 8 A_{8} A8}帧

  • 基于上述的训练过程,该网络设置了如下损失函数:
    L ( { I ‾ } , { I } ) = 1 N ∑ i = 1 N ∑ j = 1 k − 1 ∣ ∣ I ^ j ( i ) − I j ( i ) ∣ ∣ 1 L(\lbrace \overline{I} \rbrace,\lbrace {I} \rbrace) =\frac{1}{N}\sum_{i=1}^{N}\sum_{j=1}^{k-1}||\hat{I}_j^{(i)}-{I}_j^{(i)}||_{1} L({I},{I})=N1i=1Nj=1k1I^j(i)Ij(i)1
    ​ 其中, N N N表示min-batch的大小,而k-1就是要一次生成的中间帧的数量,k表示插帧倍数

3. 模型结构
  • 3D U-Net结构,希望利用3D核所引入的时间维度来学习插帧所需要的时间信息(包含运动轨迹、动作以及帧间的对应关系)

  • encoder部分使用ResNet-3D(R3D)并移除了最后的分类器,取而代之的是5个3D conv模块

  • decoder部分渐进形地融合编码器特征以及多尺度上采样特征(融合高级语义信息以及低级的细节纹理信息)

  • 针对decoder部分使用3D TransConv上采样导致的棋盘格伪影,在3D TransConv layers后加入了3D Conv

  • decoder部分输出的是一个3D feature map,通过一个2D Conv(时间信息融合层)转为2D feature map

  • Spatio-Temporal Feature Gating(时空特征选通模块),实际是一种注意力机制,网络中每一个block最后都会加上该模块,通过适当提高特征映射的某些block的权重,以学习更有用的信息

4.训练时的一些设置
  • 基于问题的对称性,随机选择输入序列并随机对序列进行反转,也会对输入帧进行一个随机的水平翻转

  • 评估阶段,对于多帧插帧,计算生成的多个中间帧的平均PSNR 和 SSIM

5.实验结果
5.1 单帧插值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87BkiGxA-1647083156310)(C:\Users\chenfei\AppData\Roaming\Typora\typora-user-images\image-20220312104806273.png)]

表1 各算法2倍插帧(单帧插值)的结果
  • 单帧插值,视频帧率由15FPS—>30FPS

  • 上述结构是在VImeo90K的训练集上训练,然后分别在Vimeo90K-val以及UCF101和DAVIS数据集上进行评估,后两者是为了测试模型的泛化能力

  • DAIN以及QVI都引入了额外的模块(已有的网络),DAIN是深度估计以及光流估计网络,QVI是光流估计网络PWC-Net


5.2 多帧插值

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S622zt6L-1647083156310)(C:\Users\chenfei\AppData\Roaming\Typora\typora-user-images\image-20220312110312962.png)]

表2 各算法8倍插帧(多帧插帧)的结果
  • 8倍插帧,相邻帧间要插入7帧,视频帧率由30FPS------>240FPS

  • 在GoPro上进行训练,然后在GoPro的val集和Adobe 数据集上进行评估

  • QVI在Adobe上的效果更好,但是该模型引入了额外的预训练流估计网络

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yy6nqxop-1647083156310)(C:\Users\chenfei\AppData\Roaming\Typora\typora-user-images\image-20220312111011897.png)]

表3 各算法4倍插帧(多帧插帧)的结果

5.3 速度vs.精度
图3 各算法推理速度和质量的比较图
图4 各算法在不同倍数下的插帧推理速度折线图

  • 图3是各算法在GoPro数据集(512x512图像分辨率 240FPS)上进行8倍插帧后的一个PSNR和推理速度的比较图

  • 图4文中没有提到是在哪个数据集上测出来的结果(能进行32倍插帧比较的话应该是GoPro),但从结果上来说,FLAVR的推理速度随着K的增加几乎没有增加,这一点比较亮眼

  • 文章中也提到这篇工作最大的共享可能就在于提出的FLAVR在现有方法中在速度和精度上达到了最佳平衡,尽管CAIN的速度也很快,但是它只能在t=0.5时刻进行插帧,所以这也是第一篇不需要利用流估计且能进行多帧插值的视频插帧算法


5.4 面对不同任务难度的鲁棒性比较
图5 各算法在SNU-Film不同插帧难度下的PSNR折现图
  • 上图所示结果是在SNU-Film数据集(AAAI 2020)上测出来的,该数据集根据不同的帧间隔,设置了不同的插帧难度:

    • easy(120-240FPS)
    • medium(60-120FPS)
    • hard(30-60FPS)
    • extreme(15-30FPS)

    都是进行x2插帧(单帧插值),但是很明显若帧间的时间间隔越大,帧间所具有的时间信息就会越多,网络所需要学习并预测的运动信息也会越多,难度就更大。实际上,easy,medium,hard这三个难度是如今更多场合下所需要的。


5.5 一些消融实验

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-szMOAXZj-1647083156312)(C:\Users\chenfei\AppData\Roaming\Typora\typora-user-images\image-20220312151719977.png)]

图6 在Vimeo90k上的几个消融实验结果
  • 不同的骨干网络以及上下文输入帧

    • R3D(ResNet 3D)的整体效果优于R2D

    • 采用两组含上下文信息的视频帧(C=2)作为输入的效果会比较好

  • 编码器和解码器部分的不同特征融合方式

    • 比起不进行融合,在编解码器之间相同维度上采用一定的特征传输(融合)方式,能够达到更好的效果(原因:编码器所提供的细节纹理信息和解码器的一个语义信息将进行融合)
    • 融合方式上,从实验结果上来说沿通道维度拼接后,在通过CNN进行聚合优于直接相加
  • 时间步的设置

    • 池化(pooling)和步长(striding)的设置会在一定程度上造成帧间细节信息,而对于VFI这样low-level的合成任务来说对这些细节信息又是有需求的
  • 特征选通(Gating Module)的作用

    • 如下图所示,在每个block后添加了Gating Module后,拥有最大激活值(注意力权重)的特征图如(b)所示会更加关注帧间可视的运动信息,这一点上和CAIN的想法是一致的

在这里插入图片描述

图7 注意力加权特征图的可视化

6.总结

​ 上下文帧对中间帧的合成很重要,一般情况下不能引入太多的相关帧,这会带来太多的干扰信息,但并不意味着仅使用前后两帧作为输入(目前大部分方法还是使用这种策略),尤其是在比较高帧率的视频上插帧,时间间隔小了,更大的窗口应该也能引入更多有用信息,QVI做了转变,但实际上也仅是对运动情况做了稍微复杂一点的假设,我觉得FLAVR使用3D Conv 全靠网络自己学习运动轨迹,至少学到得轨迹是不规则的,。。大致就是我觉得前面的方法有下限,也有上限,但这个属于没下限(应该是下限比前者低)也没有上限 。

​ 还没跑模型,但我觉得网络要学习这么多的信息,模型可能会不太好训练,即不容易收敛

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下酒番陪绅士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值