视频去模糊论文阅读-Cascaded Deep Video Deblurring Using Temporal Sharpness Prior

论文链接:http://openaccess.thecvf.com/content_CVPR_2020/papers/Pan_Cascaded_Deep_Video_Deblurring_Using_Temporal_Sharpness_Prior_CVPR_2020_paper.pdf

代码地址:https://github.com/csbhr/CDVD-TSP

Abstract  

        本文提出了一种简单而有效的深度卷积神经网络(CNN)视频去模糊模型。该算法主要由中间潜在帧的光流估计和潜在帧恢复步骤组成。首先建立了一个深度CNN模型,从中间潜在帧估计光流,然后根据估计的光流恢复潜在帧。为了更好地探索视频中的时间信息,我们开发了一个temporal sharpness prior来约束深度CNN模型,以帮助潜在帧的恢复。我们开发了一种有效的级联训练方法,并以端到端的方式联合训练所提出的CNN模型。大量的实验结果表明,该算法在benchmark datasets和real-world videos上都优于当时最先进的方法。

1.Introduction

        视频去模糊是视觉和图形学的一个基本问题,旨在从模糊序列中估计潜在帧。随着越来越多的视频使用手持和机载视频捕捉设备拍摄,这个问题在过去十年中得到了积极的研究。视频中的模糊通常是由相机抖动、物体运动和深度变化引起的。恢复潜在帧是高度不适定问题,因为只给出了模糊的视频。为了从模糊序列中恢复潜在帧,传统的方法通常会对运动模糊和潜在帧进行估计。在这些方法中,运动模糊通常被建模为光流[1,2,3,4]。这些方法成功的关键是在一些hand-crafted priors约束下联合估计了光流和潜在帧。然而,对运动模糊和潜在帧的估计通常会导致复杂的能量函数难以解决。深度卷积神经网络(CNN)已被开发用于解决视频去模糊问题,由于深度CNN在单图像去模糊中的成功,[5]中使用连接连续帧的方法,并开发了基于编码-解码器结构的深度CNN来直接估计潜在帧。[6]开发了一个深度循环网络,通过连接多帧特征来周期性地恢复潜在帧.为了更好地获取时间信息,[7]开发了时空3D卷积来帮助潜在帧恢复。当运动模糊不显著和输入帧间的位移较小时,这些方法表现良好。然而,它们对于包含明显模糊和位移较大的帧的情况时就不那么有效了,因为它们不考虑输入帧之间的对齐。为了解决这个问题,有几种方法估计了显式[8,9,10]或隐式[11]的连续输入帧之间的对齐,以使用端到端可训练的深度cnn来恢复潜在帧。这些算法表明,使用更好的对齐策略能够提高视频去模糊的性能。然而,这些算法的主要成功是由于大模型的使用。这些模型不能在实际情况下很好地推广出来。我们注意到在variational model-based的方法中存在大量的先验知识,并且在视频去模糊方面是有效的。一个很自然的问题是,我们是否可以利用variational model-based的方法中的先验知识,使深度CNN模型更加紧凑,从而提高视频去模糊的准确性?

        为了解决这一问题,我们提出了一个简单而紧凑的深度CNN视频去模糊模型。我们的算法是将相邻帧warp到参考帧,使得连续的帧与参考帧对齐,从而产生更清晰的中间潜在帧。由于生成的中间潜在帧可能包含伪影和模糊效应,我们进一步开发了一个基于编解码器架构的深度CNN模型来去除伪影和模糊。为了更好地探索连续帧的性质,我们在约束深度CNN模型之前开发了一个temporal sharpness。然而,由于我们的算法从中间潜在帧估计光流作为运动模糊信息,它需要一个反馈回路。为了有效地训练该算法,我们开发了一种级联训练方法,并以端到端的方式联合训练所提出的模型。

        本文贡献如下:

1)我们提出了一个简单而紧凑的深度CNN模型,它可以同时估计视频去模糊的光流和潜在帧。

2)为了更好地探索连续帧的性质,我们在约束深度CNN模型之前开发了一个temporal sharpness。

2.Motivation(这一段有感兴趣的话可以参考文献12)

        为了更好地激励我们的工作,我们首先重新审视传统的variational model-based方法。对于视频中的模糊过程,第i个模糊图像通常被建模为:

其中I_{i} 表示第i个清晰图像;τ代表相对曝光时间;H_{i\rightarrow i+1}^tH_{i\rightarrow i-1}^t表示为warping functions,将I_{i}wrap到I_{i+1}I_{i-1},如果我们将u_{i\rightarrow i+1}u_{i\rightarrow i-1}表示为第i帧的双向光流,那么H_{i\rightarrow i+1}^{t}(I_{i})H_{i\rightarrow i-1}^{t}(I_{i})就被表示为:I_{i}(x+tu_{i\rightarrow i+1})I_{i}(x+tu_{i\rightarrow i-1})。基于模糊模型(公式1),去模糊的过程可以看作是下式的最小化:

扫描二维码关注公众号,回复: 14724120 查看本文章

其中\varphi (I_{i})\phi (u_{i\rightarrow i+j}) 为潜在图像和光流的约束条件。在优化过程中,大多数传统的方法(如[12])通过迭代最小化来估计潜在图像和光流。

我们注意到,最小化公式3和公式4能够消除模糊 ,然而去模糊的性能主要取决于潜在图像和光流的约束条件的选择,并且确定适当的约束条件并不简单。此外,常用的约束条件通常会导致高度非凸的目标函数,难以解决。

        我们进一步注意到,大多数基于CNN的深度方法直接从模糊输入中估计清晰的视频。然而,他们是从模糊的输入估计warping functions而不是使用清晰的帧,并且也没有用到一些先验知识。这对于具有显著模糊的视频去模糊效果较差。为了克服这些问题,我们开发了一种有效的算法,充分利用了variational model-based方法中的优点,并使用了先验知识,使深度cnn更紧凑的视频去模糊。

3.Proposed Algorithm

         ​​​​​​该算法包含optical flow estimation module、latent image restoration module和the temporal sharpness prior。光流估计模块提供了关于潜在图像恢复的运动信息,而潜在图像恢复模块进一步便于光流估计,从而使估计的光流更加准确。the temporal sharpness prior能够探索从相邻帧的锐度像素,从而促进更好的帧恢复。所有的模块都在一个统一的框架内进行联合训练。

3.1.Optical flow estimation

        光流估计模块用于估计输入的相邻帧之间的光流,其中所估计的光流为图像恢复提供运动信息。 我们使用PWC-Net[13]作为光流估计算法。给定任意两个中间潜在帧I_{i}I_{i+1},我们计算光流为:u_{i\rightarrow i+1} = N_{f}(I_{i};I_{i+1}),其中,N_{f}为以两张图像为输入的光流估计网络。对于任何其他两个帧,网络N_{f}共享相同的网络参数。

3.2.Latent frame restoration(其中里面的公式细节可以参考文献14)

        利用估计的光流,我们可以利variational model据现有的方法[12]恢复潜在帧。然而,在求解公式3中W(I_{i})会产生很大的计算量,并且需要定义潜在帧I_{i}的先验,这使得图像恢复变得更加复杂。我们注意到,W(I_{i})即模糊过程(公式1)的效果是生成一个模糊的帧,使它尽可能地接近于观察到的输入帧B_{i}。其可以近似为:

 根据估计的光流u_{i\rightarrow i+1}u_{i\rightarrow i-1},如果我们将τ设为1,W(I_{i})可以近似为:

 相比于生成一个模糊的帧,我们更想根据估计光流u_{i-1\rightarrow i}u_{i+1\rightarrow i}生成一个清晰的帧。因此,I_{i+1}(x+u_{i+1\rightarrow i})I_{i-1}(x+u_{i-1\rightarrow i})可以与I_{i}(x)对齐。因此,我们可以使用以下公式来更新潜在帧I_{i}

 然而,直接使用公式8将会导致结果可能出现伪影,由于​​​​​​​I_{i+1}(x+u_{i+1\rightarrow i})和 I_{i-1}(x+u_{i-1\rightarrow i})

  错位引起的。为了避免这个问题,并生成高质量的潜在帧I_{i},我们使用​​​​​​​I_{i+1}(x+u_{i+1\rightarrow i})I_{i-1}(x+u_{i-1\rightarrow i})作为指导帧,并开发了一个深度CNN模型来恢复潜在帧I_{i}

 其中,C(\cdot )为concatenate操作,N_{l}为恢复网络。我们使用双线性插值来计算warped frames。对于深度CNN模型N_{l},我们使用了一种基于[15]的编解码器体系结构。

3.3.Temporal sharpness prior

         如[14]所示,视频中的模糊是不规则的,因此存在一些不模糊的像素。根据传统的方法[14],我们探索这些清晰像素,以帮助视频去模糊。

        如果在I_{i}(x)中的像素x是清晰的,那么这个像素值在I_{i+1}(x+u_{i+1\rightarrow i})I_{i-1}(x+u_{i-1\rightarrow i})

 应该接近I_{i}(x)。因此,我们将这个标准定义为:

D(I_{i+j}(x+u_{i+j\rightarrow i});I_{i}(x))被定义为:\left \| I_{i+j}(x+u_{i+j\rightarrow i}) - I_{i}(x) \right \|^2。基于公式10,如果S_{i}(x)的值接近1,那么像素x很可能是清晰的。因此我们可以使用S_{i}(x)来帮助深度神经网络区分像素是否清晰,从而帮助潜在帧的恢复。为了增加S_{i}(x) 的鲁棒性,我们将 D(I_{i+j}(x+u_{i+j\rightarrow i});I_{i}(x))

 定义为:

 其中,ω(x)表示以像素x为中心的图像patch。利用temporal sharpness prior Si(x),我们对潜在帧恢复公式9进行了修改:

 其中C_{I_{i}} = C(I_{i+1}(x+u_{i+1\rightarrow i});I_{i}(x);I_{i-1(x+u_{i-1\rightarrow i})})

 3.4.Inference

         由于该算法包含了optical flow estimationlatent frame estimationtemporal sharpness computation,因此我们以级联的方式训练该算法。

        设\theta _{t} = \left \{ O_{t},L_{t} \right \}表示在迭代阶段t帧时的光流估计和潜在帧恢复网络的模型参数。给定2j+1个模糊帧,通过最小化代价函数来学习参数\theta _{t}:

 其中,F_{\theta _{t}}表示整个去模糊网络。算法1总结了级联训练方法的主要步骤。

 4.Experimental Results

 5.Concluding Remarks

        我们提出了一种简单而有效的CNN深度视频去模糊模型。所提出的CNN模型探索了在variational model-based的方法中使用的简单和完善的原则主要包括中间潜帧的光流估计和潜帧恢复。我们开发了一个temporal sharpness prior来帮助潜在图像恢复和一个有效的级联训练方法来训练所提出的CNN模型。通过端到端方式的训练,我们已经证明了所提出的CNN模型更紧凑和高效,并且在基准数据集和真实世界的视频上都优于最先进的方法。

6.Model Structure

References

[1] Bar L, Berkels B, Rumpf M, et al. A variational framework for simultaneous motion estimation and restoration of motion-blurred video[C]//2007 IEEE 11th International Conference on Computer Vision. IEEE, 2007: 1-8.

[2] Dai S, Wu Y. Motion from blur[C]//2008 IEEE Conference on Computer Vision and Pattern Recognition. IEEE, 2008: 1-8.

[3] Hyun Kim T, Mu Lee K. Generalized video deblurring for dynamic scenes[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 5426-5434.

[4] Wulff J, Black M J. Modeling blurred video with layers[C]//European Conference on Computer Vision. Springer, Cham, 2014: 236-252.

[5] Su S, Delbracio M, Wang J, et al. Deep video deblurring for hand-held cameras[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017: 1279-1288.

[6] Hyun Kim T, Mu Lee K, Scholkopf B, et al. Online video deblurring via dynamic temporal blending network[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 4038-4047.

[7] Zhang K, Luo W, Zhong Y, et al. Adversarial spatio-temporal learning for video deblurring[J]. IEEE Transactions on Image Processing, 2018, 28(1): 291-301.

[8] Kim T H, Sajjadi M S M, Hirsch M, et al. Spatio-temporal transformer network for video restoration[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 106-122.

[9] Chen H, Gu J, Gallo O, et al. Reblur2deblur: Deblurring videos via self-supervised learning[C]//2018 IEEE International Conference on Computational Photography (ICCP). IEEE, 2018: 1-9.

[10] Wang X, Chan K C K, Yu K, et al. Edvr: Video restoration with enhanced deformable convolutional networks[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2019: 0-0.

[11] Zhou S, Zhang J, Pan J, et al. Spatio-temporal filter adaptive network for video deblurring[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2019: 2482-2491.

[12] Hyun Kim T, Mu Lee K. Generalized video deblurring for dynamic scenes[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 5426-5434.

[13] Sun D, Yang X, Liu M Y, et al. Pwc-net: Cnns for optical flow using pyramid, warping, and cost volume[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 8934-8943.

[14] Cho S, Wang J, Lee S. Video deblurring for hand-held cameras using patch-based synthesis[J]. ACM Transactions on Graphics (TOG), 2012, 31(4): 1-9.

[15] Tao X, Gao H, Shen X, et al. Scale-recurrent network for deep image deblurring[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 8174-8182.

猜你喜欢

转载自blog.csdn.net/wwb12138/article/details/123984388