Frame-Recurrent Video Super-Resolution
1.摘要
作者认为以往的做法是多个LR帧得到一个HR帧。这种的方法有两个主要的缺点:
1)每个输入帧都经过多次处理和变形,从而增加了计算成本;
2)每个输出帧都是根据输入帧进行独立估计的,从而限制了系统产生时间上一致的结果的能力
作者提出的网络是使用预测出来的HR,继续预测后面的帧。由于其重复性,所提出的方法具有同化大量先前帧的能力,而不会增加计算需求。
2.Introduction
最新的视频超分辨率方法通过组合一批LR帧以估计单个HR帧来解决该问题,从而有效地将视频超分辨率的任务划分为大量单独的多帧超分辨率。然而着各种方法计算量大。独立生成每个输出帧会降低系统生成时间上一致帧的能力,从而导致令人不快的闪烁伪像。
作者使用一个recurrent方法将之前预测的HR帧作为下次迭代的输入。使用这种方法的好处有:
1)每个输入帧只需要处理一次,降低了计算的损耗;
2)信息可以从上一帧传递给下一帧通过HR估计。
3)这种传递方式有利于系统产生细节和时序一致性
3. Method
3.1 FRVSR Framework
网络训练部分是图中红色的模块。网络的输入包括 I t L R I_t^{LR} ItLR, I t − 1 L R I_{t-1}^{LR} It−1LR和前一帧预测的HR I t − 1 e s t I_{t-1}^{est} It−1est.
- Flow estimation
F L R = F N e t ( I t − 1 L R , I t L R ) ∈ [ − 1 , 1 ] H × W × 2 F^{LR} = FNet(I_{t-1}^{LR}, I_t^{LR}) \in [-1, 1]^{H \times W \times2} FLR=FNet(It−1LR,ItLR)∈[−1,1]H×W×2 - Upscaling flow
bilinear interpolation
F H R = U P ( F L R ) ∈ [ − 1 , 1 ] s H × s W × 2 F^{HR} = UP(F^{LR}) \in [-1, 1]^{sH \times sW \times 2} FHR=UP(FLR)∈[−1,1]sH×sW×2 - Warping previous output
I ^ t − 1 e s t = W P ( I t − 1 e s t , F H R ) \hat I_{t-1}^{est} = WP(I_{t-1}^{est}, F^{HR}) I^t−1est=WP(It−1est,FHR) - Mapping to LR space
space-to-depth
S s : [ 0 , 1 ] s H × s W × C → [ 0 , 1 ] H × W × s 2 C S_s: [0,1]^{sH \times sW \times C} \to [0,1]^{H \times W \times s^2C} Ss:[0,1]sH×sW×C→[0,1]H×W×s2C
- Super-Resolution
将上一帧超分的结果和这一帧LR图像一起送入SRNet
3.2 Loss functions
作者使用了两个loss, L s r L_{sr} Lsr,用于SRNet的输出,反向传播给SRNet和FNet
L s r = ∣ ∣ I t e s t − I t H R ∣ ∣ 2 2 L_{sr} = ||I_t^{est} - I_t^{HR}||_2^2 Lsr=∣∣Itest−ItHR∣∣22
FNet
L f l o w = ∣ ∣ W P ( I t − 1 L R , F L R ) − I t L R ∣ ∣ 2 2 L_{flow} = ||WP(I_{t-1}^{LR}, F^{LR}) - I_t^{LR}||_2^2 Lflow=∣∣WP(It−1LR,FLR)−ItLR∣∣22
L = L s r + L f l o w L = L_{sr} + L_{flow} L=Lsr+Lflow
3.3 Justifications
FNet, SRNet的网络结构