All Projects → sniklaus → revisiting-sepconv

sniklaus / revisiting-sepconv

Licence: other
an implementation of Revisiting Adaptive Convolutions for Video Frame Interpolation using PyTorch

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to revisiting-sepconv

Cupy
NumPy & SciPy for GPU
Stars: ✭ 5,625 (+12981.4%)
Mutual labels:  cuda, cupy
Chainer
A flexible framework of neural networks for deep learning
Stars: ✭ 5,656 (+13053.49%)
Mutual labels:  cuda, cupy
Pytorch Pwc
a reimplementation of PWC-Net in PyTorch that matches the official Caffe version
Stars: ✭ 402 (+834.88%)
Mutual labels:  cuda, cupy
Pytorch Liteflownet
a reimplementation of LiteFlowNet in PyTorch that matches the official Caffe version
Stars: ✭ 281 (+553.49%)
Mutual labels:  cuda, cupy
Adacof Pytorch
Official source code for our paper "AdaCoF: Adaptive Collaboration of Flows for Video Frame Interpolation" (CVPR 2020)
Stars: ✭ 110 (+155.81%)
Mutual labels:  cuda, cupy
Sepconv Slomo
an implementation of Video Frame Interpolation via Adaptive Separable Convolution using PyTorch
Stars: ✭ 918 (+2034.88%)
Mutual labels:  cuda, cupy
Speedtorch
Library for faster pinned CPU <-> GPU transfer in Pytorch
Stars: ✭ 615 (+1330.23%)
Mutual labels:  cuda, cupy
Spanet
Spatial Attentive Single-Image Deraining with a High Quality Real Rain Dataset (CVPR'19)
Stars: ✭ 136 (+216.28%)
Mutual labels:  cuda, cupy
Pynvvl
A Python wrapper of NVIDIA Video Loader (NVVL) with CuPy for fast video loading with Python
Stars: ✭ 95 (+120.93%)
Mutual labels:  cuda, cupy
3d Ken Burns
an implementation of 3D Ken Burns Effect from a Single Image using PyTorch
Stars: ✭ 1,073 (+2395.35%)
Mutual labels:  cuda, cupy
Pytorch Unflow
a reimplementation of UnFlow in PyTorch that matches the official TensorFlow version
Stars: ✭ 113 (+162.79%)
Mutual labels:  cuda, cupy
Softmax Splatting
an implementation of softmax splatting for differentiable forward warping using PyTorch
Stars: ✭ 218 (+406.98%)
Mutual labels:  cuda, cupy
ClothTOP
GPU-accelerated Cloth TOP node for TouchDesigner using the NVIDIA Flex physics solver.
Stars: ✭ 33 (-23.26%)
Mutual labels:  cuda
cresset
Template repository to build PyTorch projects from source on any version of PyTorch/CUDA/cuDNN.
Stars: ✭ 573 (+1232.56%)
Mutual labels:  cuda
Arch-Data-Science
Archlinux PKGBUILDs for Data Science, Machine Learning, Deep Learning, NLP and Computer Vision
Stars: ✭ 92 (+113.95%)
Mutual labels:  cuda
Fat-Clouds
GPU Fluid Simulation with Volumetric Rendering
Stars: ✭ 81 (+88.37%)
Mutual labels:  cuda
disptools
Generate displacement fields with known volume changes
Stars: ✭ 17 (-60.47%)
Mutual labels:  cuda
warp
continuous energy monte carlo neutron transport in general geometries on GPUs
Stars: ✭ 27 (-37.21%)
Mutual labels:  cuda
cuda memtest
Fork of CUDA GPU memtest 👓
Stars: ✭ 68 (+58.14%)
Mutual labels:  cuda
FLAMEGPU2
FLAME GPU 2 is a GPU accelerated agent based modelling framework for C++ and Python
Stars: ✭ 25 (-41.86%)
Mutual labels:  cuda

revisiting-sepconv

This is a reference implementation of Revisiting Adaptive Convolutions for Video Frame Interpolation [1] using PyTorch. Given two frames, it will make use of adaptive convolution [2] in a separable manner [3] to interpolate the intermediate frame. Should you be making use of our work, please cite our paper [1].

Paper

For the original SepConv, see: https://github.com/sniklaus/sepconv-slomo
For softmax splatting, please see: https://github.com/sniklaus/softmax-splatting

setup

The separable convolution layer is implemented in CUDA using CuPy, which is why CuPy is a required dependency. It can be installed using pip install cupy or alternatively using one of the provided binary packages as outlined in the CuPy repository.

If you plan to process videos, then please also make sure to have pip install moviepy installed.

usage

To run it on your own pair of frames, use the following command.

python run.py --model paper --one ./images/one.png --two ./images/two.png --out ./out.png

To run in on a video, use the following command.

python run.py --model paper --video ./videos/car-turn.mp4 --out ./out.mp4

For a quick benchmark using examples from the Middlebury benchmark for optical flow, run python benchmark.py. You can use it to easily verify that the provided implementation runs as expected.

video

Video

license

Please refer to the appropriate file within this repository.

references

[1]  @inproceedings{Niklaus_WACV_2021,
         author = {Simon Niklaus and Long Mai and Oliver Wang},
         title = {Revisiting Adaptive Convolutions for Video Frame Interpolation},
         booktitle = {IEEE Winter Conference on Applications of Computer Vision},
         year = {2021}
     }
[2]  @inproceedings{Niklaus_ICCV_2017,
         author = {Simon Niklaus and Long Mai and Feng Liu},
         title = {Video Frame Interpolation via Adaptive Separable Convolution},
         booktitle = {IEEE International Conference on Computer Vision},
         year = {2017}
     }
[3]  @inproceedings{Niklaus_CVPR_2017,
         author = {Simon Niklaus and Long Mai and Feng Liu},
         title = {Video Frame Interpolation via Adaptive Convolution},
         booktitle = {IEEE Conference on Computer Vision and Pattern Recognition},
         year = {2017}
     }
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].