当前位置: 首页 > 科技观察

两张照片可以变成一个视频!Google提出FLIM帧插值模型

时间:2023-03-14 21:39:20 科技观察

帧插值(FrameInterpolation)是计算机视觉领域的一项关键任务。该模型需要基于两个给定的帧来预测和合成平滑的中间图像。巨大的应用价值。一个常见的插帧应用场景是改善一些帧率不够的视频。有些设备配备了特殊的硬件来对输入视频的帧率进行采样,这样低帧率的视频也可以在高帧率显示器上流畅显示。播放,无需“眨眼填满画面”。随着深度学习模型越来越强大,帧插值技术可以从正常帧率视频合成慢动作视频,即合成更多的中间图像。随着智能手机的日益普及,数码摄影对插帧技术也有了新的要求。一般情况下,我们在拍照的时候,通常会在几秒钟内连续拍几张照片,然后从这些照片中选择一张比较好的“拍照秘籍”。这类画面有一个特点:场景基本重复,主角只有少量的动作和表情变化。如果对这类图片进行插帧处理,会产生一个神奇的效果:照片会动,变成视频!通常,视频比照片更具沉浸感和瞬间感。是不是有一种“现场拍照”的感觉?但帧插值的主要问题之一是它无法有效处理大场景中的运动。传统的帧插值是对帧率进行上采样,基本上是对接近重复的照片进行插值。如果两张图片之间的时间间隔超过1秒甚至更多,那么就需要帧插值模型能够理解物体的运动规律,这也是当前帧插值模型的主要研究内容。最近,谷歌研究团队提出了一种新的帧插值模型FLIM,可以对运动差异比较大的两幅图像进行帧插值。以前的帧插值模型通常很复杂,需要多个网络来估计光流或深度,以及一个专门用于帧合成的单独网络。然而,FLIM只需要一个统一的网络,使用多尺度特征提取器,在所有尺度上共享可训练的权重,并且可以只用帧来训练,不需要光流或深度数据。FLIM的实验结果也证明其优于以往的研究成果,能够合成高质量的图像,生成的视频也更加连贯。代码和预训练模型都是开源的。论文地址:https://arxiv.org/pdf/2202.04901代码地址:https://github.com/google-research/frame-interpolation模型架构FLIM模型的架构包含三个主要阶段。1.Scale-agnosticfeatureextraction(scale-agnosticfeatureextraction)FLIM的特征提取器的主要特点是在流量预测阶段共享权重,可以在粗粒度和细粒度分辨率下获得权重。首先,为两个输入图像创建图像金字塔,然后使用共享的UNet编码器在图像金字塔的每一层构建一个特征金字塔,并使用卷积层提取4个尺度的特征。需要注意的是,在金字塔层级的相同深度,使用相同的卷积权重来创建兼容的多尺度特征(compatiblemultiscalefeatures)。特征提取器的最后一步通过连接不同深度但具有相同空间维度的特征图来构建一个与尺度无关的特征金字塔。最细粒度的特征只能聚合一个特征图,次细粒度的特征是两个,其余可以聚合三个共享特征图。2.Motion/flowestimation(运动/流估计)提取出特征金字塔后,需要用它们来计算每个金字塔的双向运动。与之前的研究一样,运动估计是从最粗糙的层开始执行的。与其他方法不同,FLIM直接预测从中间帧到输入的面向任务的流程。根据传统的训练方法,不可能使用groundtruth光流来计算两个输入帧之间的光流,因为无法从尚未计算的中间帧预测光流。但是在一个端到端的帧插值系统中,网络实际上已经能够根据输入帧和对应的特征金字塔进行很好的预测。因此,计算每个级别的面向任务的光流是来自较粗粒度的预测残差和上采样流的总和。最后,FLIM在中间时间t创建了一个特征金字塔。3.Fusion:输出结果图像的最后阶段(fusion)FILM在每个金字塔层级拼接时间t的尺度无关特征图和双向运动,然后将其送入UNet-like解码器合成最终的中间帧.在损失函数的设计上,FLIM仅使用图像合成损失(imagesynthesislosses)来监督训练的最终输出,并没有在中间阶段使用辅助损失项。我们首先使用L1重建损失来最小化插值帧和标准帧之间的像素级RGB差异。但是如果只使用L1损失,生成的插值帧通常是模糊的,用其他类似的损失函数训练也会产生类似的结果。所以FLIM加入了第二个损失函数perceptualloss(感知损失)来增加图像的细节,使用VGG-19的高级特征L1正则表示。由于每一层的感受区域,感知损失在每个输出像素周围的小区域强制结构相似,实验还表明,感知损失有助于减少各种图像合成任务中的模糊伪影。第三个loss是Styleloss,也叫Grammatrixloss,可以进一步扩大VGGloss的优势。FLIM也是第一个将Gram矩阵损失应用于帧插值的工作。研究人员发现,这种损失有效地解决了图像清晰度问题,在存在不透明度的情况下保留了图像细节,并消除了具有大量运动的序列中的干扰。为了达到高基准分数和高质量的中间帧合成,最终损失同时使用三个损失加权和,每个损失的权重由研究人员凭经验设置。前150万次迭代的权重为(1,1,0),接下来的150万次迭代的权重为(1,0.25,40)。超参数是通过网格搜索的自动调整获得的。在实验部分,研究人员从指标量化和生成质量两方面对FLIM网络进行了评估。使用的数据集包括Vimeo-90K、UCF101和Middle-bury,以及最近提出的大型运动数据集Xiph。研究人员使用Vimeo-90K作为训练数据集。定量指标包括峰值信噪比(PSNR)和结构相似度图像(SSIM),分数越高表示结果越好。感知失真权衡表明,仅最小化失真指标(例如PSNR或SSIM)会对感知质量产生不利影响。帧插值研究的多个目标是实现低失真、高感知质量和时间相干的视频。因此,研究人员使用提出的基于Gram矩阵的损失LS来优化模型,这对失真和感知质量都有好处。当包括感知敏感损失时,FILM在Vimeo-90K上的表现优于最先进的SoftSplat。它还在Middlebury和UCF101上取得了最高分。在质量比较方面,首先从清晰度的角度出发,为了评估基于Gram矩阵的损失函数在保持图像清晰度方面的有效性,将FLIM生成的结果与其他方法呈现的图像进行视觉比较。与其他方法相比,FLIM合成的结果非常好,人脸图像细节清晰,手指关节也得到了保留。在帧插值中,大部分被遮挡的像素应该在输入帧中可见。根据运动的复杂性,一部分像素可能无法从输入中获得。因此,为了有效地屏蔽像素,模型必须学习适当的运动或生成新的像素。从结果可以看出,与其他方法相比,FILM在保持清晰度的同时正确地绘制了像素。它还保留了对象的结构,例如红色玩具车。而SoftSplat会扭曲,而ABME会产生模糊的画中画。大运动是帧插值中最难的部分之一。为了扩大运动搜索的范围,模型通常采用多尺度方法或密集特征图来增加模型的神经容量。其他方法通过在大型运动数据集上进行训练来实现。从实验结果可以看出,SoftSplat和ABME可以捕捉到狗鼻子附近的运动,但是在地面上产生了较大的伪影。FILM的优点是可以很好地捕捉运动并保留背景细节。