All Projects → sczhou → Stfan

sczhou / Stfan

Licence: mit
Code repo for "Spatio-Temporal Filter Adaptive Network for Video Deblurring" (ICCV'19)

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Stfan

Alignedcollectionviewflowlayout
A collection view layout that gives you control over the horizontal and vertical alignment of the cells.
Stars: ✭ 751 (+582.73%)
Mutual labels:  alignment
Edit Distance
Python library for computing edit distance between arbitrary Python sequences.
Stars: ✭ 61 (-44.55%)
Mutual labels:  alignment
Sibeliaz
A fast whole-genome aligner based on de Bruijn graphs
Stars: ✭ 76 (-30.91%)
Mutual labels:  alignment
Facealignmentcompare
Empirical Study of Recent Face Alignment Methods
Stars: ✭ 15 (-86.36%)
Mutual labels:  alignment
Groot
A resistome profiler for Graphing Resistance Out Of meTagenomes
Stars: ✭ 48 (-56.36%)
Mutual labels:  alignment
Mtcnn
face detection and alignment with mtcnn
Stars: ✭ 66 (-40%)
Mutual labels:  alignment
Ffsubsync
Automagically synchronize subtitles with video.
Stars: ✭ 5,167 (+4597.27%)
Mutual labels:  alignment
Awesome Image Alignment And Stitching
A curated list of awesome resources for image alignment and stitching ...
Stars: ✭ 101 (-8.18%)
Mutual labels:  alignment
Lambda
LAMBDA – the Local Aligner for Massive Biological DatA
Stars: ✭ 59 (-46.36%)
Mutual labels:  alignment
Atom Aligner
Easily align multi-line with support for different operators and custom configurations
Stars: ✭ 73 (-33.64%)
Mutual labels:  alignment
Pandas
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
Stars: ✭ 32,029 (+29017.27%)
Mutual labels:  alignment
Unsupervisedrr
[CVPR 2021 - Oral] UnsupervisedR&R: Unsupervised Point Cloud Registration via Differentiable Rendering
Stars: ✭ 43 (-60.91%)
Mutual labels:  alignment
Faciallandmark caffe
Facial Landmark Detection with Caffe CNN. Face alignment avaiable.
Stars: ✭ 70 (-36.36%)
Mutual labels:  alignment
Tabulate
Table Maker for Modern C++
Stars: ✭ 862 (+683.64%)
Mutual labels:  alignment
Beautifyr
RStudio addin for formatting Rmarkdown tables
Stars: ✭ 77 (-30%)
Mutual labels:  alignment
Aligntab
An alignment plugin for Sublime Text using regular expression
Stars: ✭ 611 (+455.45%)
Mutual labels:  alignment
Align
A general purpose application and library for aligning text.
Stars: ✭ 63 (-42.73%)
Mutual labels:  alignment
Sortmerna
SortMeRNA: next-generation sequence filtering and alignment tool
Stars: ✭ 108 (-1.82%)
Mutual labels:  alignment
Vertical Rhythm
Put some typographical vertical rhythm in your CSS. LESS, Stylus and SCSS/SASS versions included.
Stars: ✭ 83 (-24.55%)
Mutual labels:  alignment
Traffic Shm
traffic-shm (Anna) is a Java based lock free IPC library.
Stars: ✭ 72 (-34.55%)
Mutual labels:  alignment

STFAN

Code repo for the paper "Spatio-Temporal Filter Adaptive Network for Video Deblurring".  [Paper]   [Project Page] 

Filter Adaptive Convolutional (FAC) Layer

The proposed filter adaptive convolutional (FAC) layer applies generated pixel variant filters to the features, In theory, the element-wise adaptive filters is five-dimensional . In practice, the dimension of the generated filter is and we reshape it into the five-dimensional filter. For each position of input feature, a specific local filter (reshape from ) is applied to the region centered around .

➤ The forward pass of the proposed Filter Adaptive Convolutional (FAC) Layer is as follows:

➤ The backward pass can be presented as:

Illustration of Alignment and Deblurring Processes by FAC layer

The frame alignment and deblurring are both spatially variant tasks. Using the proposed FAC layer, we consider these two processes as two filter adaptive convolution in feature domain. The convolution operation can transform the pixels of features, which can be used for frames alignment (a) and deblurring (b) using estimated corresponding filters.

Pretrained Models

You could download the pretrained model (21.5MB) of STFAN from here.

(Note that the model does not need to unzip, just load it directly.)

Prerequisites

  • Linux (tested on Ubuntu 14.04/16.04)
  • CUDA 8.0/9.0/10.0
  • gcc 4.9+
  • Python 2.7+
  • PyTorch 1.0+
  • easydict
  • tensorboardX Note that if your CUDA is 10.2+, you need to modify KernelConv2D_cuda.cpp:
1. Uncomment: #include <c10/cuda/CUDAStream.h>
2. Modify: at::cuda::getCurrentCUDAStream() -> c10::cuda::getCurrentCUDAStream()

Installation

pip install -r requirements.txt
bash install.sh

Get Started

Download DeepVideoDeblurring dataset from this link, and modify the data index tree as following:

├── [DATASET_ROOT]
│   ├── train
│   │   ├── input
│   │   ├── GT
│   ├── test
│   │   ├── input
│   │   ├── GT

Use the following command to train the neural network:

python runner.py 
        --phase 'train'\
        --data [dataset path]\
        --out [output path]

Use the following command to test the neural network:

python runner.py \
        --phase 'test'\
        --weights './ckpt/best-ckpt.pth.tar'\
        --data [dataset path]\
        --out [output path]

Use the following command to resume training the neural network:

python runner.py 
        --phase 'resume'\
        --weights './ckpt/best-ckpt.pth.tar'\
        --data [dataset path]\
        --out [output path]

You can also use the following simple command, with changing the settings in config.py:

python runner.py

Results on the testing dataset and real blurry videos

Some results are shown in [Project Page].

Citation

If you find STFANet, or FAC layer useful in your research, please consider citing:

@inproceedings{zhou2019stfan,
  title={Spatio-Temporal Filter Adaptive Network for Video Deblurring},
  author={Zhou, Shangchen and Zhang, Jiawei and Pan, Jinshan and Xie, Haozhe and  Zuo, Wangmeng and Ren, Jimmy},
  booktitle={Proceedings of the IEEE International Conference on Computer Vision},
  year={2019}
}

Contact

We are glad to hear if you have any suggestions and questions.

Please send email to [email protected]

License

This project is open sourced under MIT license.

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].