All Projects → alex04072000 → Cyclicgen

alex04072000 / Cyclicgen

Deep Video Frame Interpolation using Cyclic Frame Generation

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cyclicgen

Pmtween
An elegant and flexible tweening library for iOS and tvOS.
Stars: ✭ 346 (+156.3%)
Mutual labels:  interpolation, motion
Motionmachine
A powerful, elegant, and modular animation library for Swift.
Stars: ✭ 380 (+181.48%)
Mutual labels:  interpolation, motion
React Move
React Move | Beautiful, data-driven animations for React
Stars: ✭ 6,395 (+4637.04%)
Mutual labels:  interpolation, motion
Rpicam
Raspberry PI Surveillance Automation
Stars: ✭ 77 (-42.96%)
Mutual labels:  motion
Hub
Android 开发中通过接口获取实现类,可用于module之间的通信,通过注解解决module的依赖初始化问题,良好的多线程环境下的线程安全以及性能。a concise di library which can get implementation class for a interface easily in multiple module app , also avoid check null when want to invoke a implementation by interface.
Stars: ✭ 79 (-41.48%)
Mutual labels:  frame
Material Motion Swift
A toolkit for building responsive motion using Core Animation.
Stars: ✭ 1,417 (+949.63%)
Mutual labels:  motion
Gonum
开源Go语言数值算法库(An open numerical library purely based on Go programming language)
Stars: ✭ 128 (-5.19%)
Mutual labels:  interpolation
Leaflet.motion
A simple tool to animate polylines and polygons in different way
Stars: ✭ 76 (-43.7%)
Mutual labels:  motion
Healthwatcher
Android Application that can estimate Heart rate, Blood pressure, Respiration rate and Oxygen rate from only the camera of the mobile
Stars: ✭ 112 (-17.04%)
Mutual labels:  frame
Hyperapp Fx
Effects for use with Hyperapp
Stars: ✭ 105 (-22.22%)
Mutual labels:  frame
Smart Security Camera
A Pi Zero and Motion based webcamera that forwards images to Amazon Web Services for Image Processing
Stars: ✭ 103 (-23.7%)
Mutual labels:  motion
Pytoflow
The py version of toflow → https://github.com/anchen1011/toflow
Stars: ✭ 83 (-38.52%)
Mutual labels:  interpolation
Mediametadataretrievercompat
多媒体元数据兼容方案 - 支持获取图片、视频、音频文件的媒体信息、视频图片缩略图
Stars: ✭ 106 (-21.48%)
Mutual labels:  frame
Ios Coremotion Example
Core Motion in iOS using Swift
Stars: ✭ 77 (-42.96%)
Mutual labels:  motion
Naturalmousemotion
This library provides a way to move cursor to specified coordinates on screen reliably, while being randomly arced to look like real hand moved it there by using a mouse. The default settings should look good enough for most cases, but if user wishes, they can heavily customize the settings and implementations responsible for the trajectory of the cursor for specific use cases.
Stars: ✭ 117 (-13.33%)
Mutual labels:  motion
3d Reconstruction
two view structure from motion
Stars: ✭ 76 (-43.7%)
Mutual labels:  motion
Dynamicclipimage
iOS实现动态区域裁剪图片
Stars: ✭ 110 (-18.52%)
Mutual labels:  frame
Vue Tweezing
💃 Easy, customizable and automatic tweening nicely served in scoped slots
Stars: ✭ 101 (-25.19%)
Mutual labels:  motion
Onenote
📚 Linux Electron Onenote - A Linux compatible version of OneNote
Stars: ✭ 1,300 (+862.96%)
Mutual labels:  frame
Motionbook
📖 Awesome iOS UI/UX Application (Open Source)
Stars: ✭ 1,424 (+954.81%)
Mutual labels:  motion

Deep Video Frame Interpolation using Cyclic Frame Generation

Video frame interpolation algorithms predict intermediate frames to produce videos with higher frame rates and smooth view transitions given two consecutive frames as inputs. We propose that: synthesized frames are more reliable if they can be used to reconstruct the input frames with high quality. Based on this idea, we introduce a new loss term, the cycle consistency loss. The cycle consistency loss can better utilize the training data to not only enhance the interpolation results, but also maintain the performance better with less training data. It can be integrated into any frame interpolation network and trained in an end-to-end manner. In addition to the cycle consistency loss, we propose two extensions: motion linearity loss and edge-guided training. The motion linearity loss approximates the motion between two input frames to be linear and regularizes the training. By applying edge-guided training, we further improve results by integrating edge information into training. Both qualitative and quantitative experiments demonstrate that our model outperforms the state-of-the-art methods.

[Project]

Paper

Paper

Overview

This is the author's reference implementation of the video frame interpolation using TensorFlow described in: "Deep Video Frame Interpolation using Cyclic Frame Generation" Yu-Lun Liu, Yi-Tung Liao, Yen-Yu Lin, Yung-Yu Chuang (Academia Sinica & National Taiwan University & MediaTek) in 33rd AAAI Conference on Artificial Intelligence (AAAI) 2019, Oral Presentation. Should you be making use of our work, please cite our paper [1]. Some codes are forked from Deep Voxel Flow (DVF) [2] and Holistically-Nested Edge Detection (HED) [3].

Further information please contact Yu-Lun Liu.

Requirements setup

Data Preparation

Usage

  • Run the training script for stage 1:
python3 CyclicGen_train_stage1.py --subset=train
  • Run the training script for stage 2:
python3 CyclicGen_train_stage2.py --subset=train --pretrained_model_checkpoint_path=./ckpt/CyclicGen/model
  • Run the testing and evaluation script:
python3 CyclicGen_train_stage1.py --pretrained_model_checkpoint_path=./ckpt/CyclicGen/model --subset=test --batch_size=1
  • Run your own pair of frames:
python3 run.py --pretrained_model_checkpoint_path=./ckpt/CyclicGen/model --first=./first.png --second=./second.png --out=./out.png

Note that we provide two baseline models: 1) original DVF CyclicGen_model.py, and 2) DVF with more layers in order to increase the receptive field CyclicGen_model_large.py. While test on UCF-101 dataset, we use the CyclicGen_model.py network. The motions in Middlebury dataset are much larger than UCF-101, some even exceed the receiptive field of DVF network. So we use CyclicGen_model_large.py for fine-tuning and testing. You can easily switch between these two models by changing the line

from CyclicGen_model import Voxel_flow_model

to

from CyclicGen_model_large import Voxel_flow_model.

Video

Citation

[1]  @inproceedings{liu2019cyclicgen,
         author = {Yu-Lun Liu and Yi-Tung Liao and Yen-Yu Lin and Yung-Yu Chuang},
         title = {Deep Video Frame Interpolation using Cyclic Frame Generation},
         booktitle = {Proceedings of the 33rd Conference on Artificial Intelligence (AAAI)},
         year = {2019}
     }
[2]  @inproceedings{liu2017voxelflow,
         author = {Ziwei Liu, Raymond Yeh, Xiaoou Tang, Yiming Liu, and Aseem Agarwala},
         title = {Video Frame Synthesis using Deep Voxel Flow},
         booktitle = {Proceedings of International Conference on Computer Vision (ICCV)},
         month = {October},
         year = {2017} 
     }
[3]  @InProceedings{xie15hed,
         author = {"Xie, Saining and Tu, Zhuowen"},
         Title = {Holistically-Nested Edge Detection},
         Booktitle = "Proceedings of IEEE International Conference on Computer Vision",
         Year  = {2015},
     }

Acknowledgment

This work was supported in part by Ministry of Science and Technology (MOST) under grants MOST 107-2628-E-001-005-MY3, MOST107-2221-E-002-147-MY3, and MOST Joint Research Center for AI Technology and All Vista Healthcare under grant 107-2634-F-002-007.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].