Video Frame Synthesis using Deep Voxel Flow 论文笔记
Video Frame Synthesis using Deep Voxel Flow 论文笔记
arXiv
摘要:本文解决了模拟新的视频帧的问题,要么是现有视频帧之间的插值,要么是紧跟着他们的探索。这个问题是非常具有挑战性的,因为,视频的外观和运动是非常复杂的。传统 optical-flow-based solutions 当 flow estimation 失败的时候,就变得非常困难;而最新的基于神经网络的方法直接预测像素值,经常产生模糊的结果。
于是,在此motivation的基础上,作者提出了结合这两种方法的思路,通过训练一个神经网络,来学习去合成视频帧,通过 flowing pixel values from existing ones, 我们称之为:deep voxel flow. 所提出的方法不需要人类监督,任何video都可以用于训练,通过丢掉,并且预测现有的frames。这种方法是非常有效的,可以用于任何的分辨率。实验结果还是不错的。
引言:本文所涉及到的两个重要的部分,一个是 video interporation;一个是 video extrapolation。
传统的方法解决上述问题,就是依赖于 帧与帧之间的 optical flow,然后进行 optical flow vectors 之间的【插值】或者 【预测】。这种方法称为:“optical-flow-complete”;当光流准确的时候,这种方法是非常有效的,但是当不准确的时候,就会产生额外的错误信息。一种基于产生式 CNN 的方法,直接产生 RGB 像素值。但是这种方法经常会产生模糊的情况,并非像光流一样有效。
本文的目标是结合这两种方法的优势。作者有两个方面的观察:
1. 大部分像素块都是近邻图像的直接copy,而直接copy pixels 比模拟产生他们,要简单的多。
2. 端到端训练的神经网络是一个非常有效的工具。对于 video interpolation 和 extrapolation 来说,更是如此,因为训练可以是无限的;任何video都可以用于训练一个无监督的神经网络。
所以,我们就可以利用现有的video进行无监督的学习。我们扔掉 frames,然后利用损失函数来衡量 产生的像素值 和 gt 像素值之间的差距。但是,像 optical-flow approaches 一样,我们的网络通过从附近的 frames 插值 pixel values。这个网络包括 a voxel flow layer ------ a per-pixel, 3D optical flow vector across space and time in the input video. 所以,对于 video interpolation,最终输出的像素值,可以是前一帧和后一帧混合的像素值。
The Proposed Methods :
本文提出一种 Deep Voxel Flow (DVF) 算法 ------ an end-to-end fully differentiable network for video frame synthesis.
像上图所展示的那样,卷积 encoder-decoder 预测 the 3D voxel flow, 然后我们添加 添加一个 volume sampling layer sythesizes the desired frame, accordingly. DVF 学习去模拟target frame Y,输入的video为 X。我们将 the convolutional encoder-decoder 看做是 H(),H 的输出是 3D voxel flow field F
voxel flow F 的空间成分表示 从 target frame 到 the next frame 的optical flow;该光流的 negative 用来鉴别对应的前一帧的位置。即,我们假设光流是局部线性的,并且是 时间上对称的 around the in-between frame. 准确的说,我们在前一帧和后一帧,定义了对应位置的绝对位置:$L_0, L_1$。
voxel flow F 时间上的成分是 a linear blend weight between the previous and next frames to form a color in the target frame.
我们利用这个 voxel flow 来采样原始的输入video X with a volume sampling function T 来构成最终的拟合帧 Y:
The volume sampling function 从 X 上计算出 在 optical-flow-aligned video volume 内部进行插值采样color。给定对应的位置 (L0, L1),我们利用这个 volume 构建一个 virtual voxel,然后利用 trilinear interpolation 来计算输出的 video color 。我们在输入 video X 上计算 the virtual voxel 的 8个顶点的 integer locations :
给定了这个 virtual voxel,3D voxel flow 通过 trilinear interpolation,产生每个 target voxel Y
其中,$W^{ijk}$ 是 trilinear resampling weight.
这个 3D voxel flow 可以看做是 2D motion field 和 前一帧和后一帧的 mask 选择。我们可以将 F 分为 $F_{motion} and F_{mask}$。
Network Architecture.
DVF 由 一个完整的 全卷积 encoder-decoder architecture, 包括三个卷积层,三个反卷积层 和 一个 bottleneck layer。
1. Learning
网络训练的目标函数为:
其中,D 是所有视频三元组的 训练集合,N 是对应的基数,Y 是需要重构的 target frame。
$||F_{motion}||_1$ 是 在 (x, y)上的 total variation term ;
$||F_{mask}||_1$ 是 the regularizer on the temporal component of voxel flow。
2. Multi-scale Flow Fusion.
3. Multi-step Prediction.
Video Frame Synthesis using Deep Voxel Flow 论文笔记的更多相关文章
- Research Guide for Video Frame Interpolation with Deep Learning
Research Guide for Video Frame Interpolation with Deep Learning This blog is from: https://heartbeat ...
- 《StackGAN: Text to Photo-realistic Image Synthesis with Stacked GAN》论文笔记
出处:arxiv 2016 尚未出版 Motivation 根据文字描述来合成相片级真实感的图片是一项极具挑战性的任务.现有的生成手段,往往只能合成大体的目标,而丢失了生动的细节信息.StackGAN ...
- [CVPR 2016] Weakly Supervised Deep Detection Networks论文笔记
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #323333 } p. ...
- 【医学影像】《Identifying Medical Diagnoses and Treatable Diseases by Image-Based Deep Learning》论文笔记
这篇论文的作者是张康教授为首的团队,联合国内外众多医院及科研机构,合力完成,最后发表在cell上,实至名归. 从方法的角度上来说,与上一篇博客中的论文很相似,采用的都是InceptionV3模型,同时 ...
- Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记
Deep Reinforcement Learning for Visual Object Tracking in Videos 论文笔记 arXiv 摘要:本文提出了一种 DRL 算法进行单目标跟踪 ...
- Deep Learning论文笔记之(八)Deep Learning最新综述
Deep Learning论文笔记之(八)Deep Learning最新综述 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文,但老感觉看完 ...
- Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现(转)
Deep Learning论文笔记之(四)CNN卷积神经网络推导和实现 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些论文, ...
- Deep Learning论文笔记之(六)Multi-Stage多级架构分析
Deep Learning论文笔记之(六)Multi-Stage多级架构分析 zouxy09@qq.com http://blog.csdn.net/zouxy09 自己平时看了一些 ...
- 论文笔记(1):Deep Learning.
论文笔记1:Deep Learning 2015年,深度学习三位大牛(Yann LeCun,Yoshua Bengio & Geoffrey Hinton),合作在Nature ...
随机推荐
- C# 队列(Queue)和 堆栈(Stack)
C# 队列(Queue)和 堆栈(Stack) C# 队列(Queue) 队列(Queue)代表了一个先进先出的对象集合.当您需要对各项进行先进先出的访问时,则使用队列.当您在列表中添加一项,称为入队 ...
- 多线程实现Thread.Start()与ThreadPool.QueueUserWorkItem两种方式对比
Thread.Start(),ThreadPool.QueueUserWorkItem都是在实现多线程并行编程时常用的方法.两种方式有何异同点,而又该如何取舍? 写一个Demo,分别用两种方式实现.观 ...
- Java基础语法(三)
七.方法 定义: 方法就是完成特定功能的代码块 在很多语言里面都有函数的定义 函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 函数体; ...
- Swift之关键字使用(I)
static和class的使用 static 使用 在非class的类型(包括enum和struct)中,一般使用static来描述类型作用域.在这个类型中,我们可以在类型范围中声明并使用存储属性,计 ...
- python csv文件转换成xml, 构建新xml文件
csv文件 code from xml.etree.ElementTree import Element,ElementTree,tostring import json,csv def csvtox ...
- python 数据序列化(json、pickle、shelve)
本来要查一下json系列化自定义对象的一个问题,然后发现这篇博客(https://www.cnblogs.com/yyds/p/6563608.html)很全面,感谢作者,关于python序列化的知识 ...
- web3.js编译Solidity,发布,调用全部流程(手把手教程)
web3.js编译Solidity,发布,调用全部流程(手把手教程) 下面教程是打算在尽量牵涉可能少的以太坊的相关工具,主要使用web3.js这个以太坊提供的工具包,来完成合约的编译,发布,合约方法调 ...
- TensorFlow 分布式实践
此wiki主要介绍分布式环境使用的一些条件,一直所要注意的内容: 确保在此之前阅读过TensorFlow for distributed 1.集群描述 当前tensorflow 的版本(0.8.0), ...
- python之字符串函数
1. endswith() startswith() # 以什么什么结尾 # 以什么什么开始 test = "alex" v = test.endswith('ex') v = ...
- mysql数据库介绍
一.数据库概述 二.MySql安装和基本管理 三.mysql基本语句 四.库的操作 五.表的操作 六.数据类型 七.数据类型二 八.完整性约束 九.外键的变种 三种关系 十.数据的增删改 十一.多表查 ...