All Projects → bryanyzhu → GuidedNet

bryanyzhu / GuidedNet

Licence: MIT license
Caffe implementation for "Guided Optical Flow Learning"

Programming Languages

C++
36643 projects - #6 most used programming language
Cuda
1817 projects
python
139335 projects - #7 most used programming language
Protocol Buffer
295 projects
matlab
3953 projects
Makefile
30231 projects

Projects that are alternatives of or similar to GuidedNet

deepOF
TensorFlow implementation for "Guided Optical Flow Learning"
Stars: ✭ 26 (-7.14%)
Mutual labels:  optical-flow, flownet, unsupervised-learning, kitti-dataset, mpi-sintel
Hidden Two Stream
Caffe implementation for "Hidden Two-Stream Convolutional Networks for Action Recognition"
Stars: ✭ 179 (+539.29%)
Mutual labels:  caffe, optical-flow, unsupervised-learning
Similarity-Adaptive-Deep-Hashing
Unsupervised Deep Hashing with Similarity-Adaptive and Discrete Optimization (TPAMI2018)
Stars: ✭ 18 (-35.71%)
Mutual labels:  caffe, unsupervised-learning
Liteflownet
LiteFlowNet: A Lightweight Convolutional Neural Network for Optical Flow Estimation, CVPR 2018 (Spotlight paper, 6.6%)
Stars: ✭ 474 (+1592.86%)
Mutual labels:  caffe, optical-flow
Dispnet Flownet Docker
Dockerfile and runscripts for DispNet and FlowNet1 (estimation of disparity and optical flow)
Stars: ✭ 78 (+178.57%)
Mutual labels:  caffe, optical-flow
Back2future.pytorch
Unsupervised Learning of Multi-Frame Optical Flow with Occlusions
Stars: ✭ 104 (+271.43%)
Mutual labels:  optical-flow, unsupervised-learning
Arflow
The official PyTorch implementation of the paper "Learning by Analogy: Reliable Supervision from Transformations for Unsupervised Optical Flow Estimation".
Stars: ✭ 134 (+378.57%)
Mutual labels:  optical-flow, unsupervised-learning
Pwc Net
PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume, CVPR 2018 (Oral)
Stars: ✭ 1,142 (+3978.57%)
Mutual labels:  caffe, optical-flow
Selflow
SelFlow: Self-Supervised Learning of Optical Flow
Stars: ✭ 319 (+1039.29%)
Mutual labels:  optical-flow, unsupervised-learning
Splitbrainauto
Split-Brain Autoencoders: Unsupervised Learning by Cross-Channel Prediction. In CVPR, 2017.
Stars: ✭ 137 (+389.29%)
Mutual labels:  caffe, unsupervised-learning
Pixelnet
The repository contains source code and models to use PixelNet architecture used for various pixel-level tasks. More details can be accessed at <http://www.cs.cmu.edu/~aayushb/pixelNet/>.
Stars: ✭ 194 (+592.86%)
Mutual labels:  caffe, unsupervised-learning
Ddflow
DDFlow: Learning Optical Flow with Unlabeled Data Distillation
Stars: ✭ 101 (+260.71%)
Mutual labels:  optical-flow, unsupervised-learning
Voxelmorph
Unsupervised Learning for Image Registration
Stars: ✭ 1,057 (+3675%)
Mutual labels:  optical-flow, unsupervised-learning
Unflow
UnFlow: Unsupervised Learning of Optical Flow with a Bidirectional Census Loss
Stars: ✭ 239 (+753.57%)
Mutual labels:  optical-flow, unsupervised-learning
Cc
Competitive Collaboration: Joint Unsupervised Learning of Depth, Camera Motion, Optical Flow and Motion Segmentation
Stars: ✭ 348 (+1142.86%)
Mutual labels:  optical-flow, unsupervised-learning
Flownet2
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 938 (+3250%)
Mutual labels:  caffe, optical-flow
Change Detection Review
A review of change detection methods, including codes and open data sets for deep learning. From paper: change detection based on artificial intelligence: state-of-the-art and challenges.
Stars: ✭ 248 (+785.71%)
Mutual labels:  caffe, unsupervised-learning
PCLNet
Unsupervised Learning for Optical Flow Estimation Using Pyramid Convolution LSTM.
Stars: ✭ 29 (+3.57%)
Mutual labels:  optical-flow, unsupervised-learning
back2future
Unsupervised Learning of Multi-Frame Optical Flow with Occlusions
Stars: ✭ 39 (+39.29%)
Mutual labels:  optical-flow, unsupervised-learning
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (+389.29%)
Mutual labels:  caffe, optical-flow

Caffe with GuidedNet

This the relase of the CVPR 2017 BNMW workshop version of GuidedNet, "Guided Optical Flow Learning". You can refer to paper for more details at Openreview or Arxiv.

The code base is heavily borrowed from DispNet and UnsupFlownet. Thanks for open sourcing the code.

Dependencies

OpenCV 3 (Installation can be refered here)

Tested on Ubuntu 16.04 with Titan X GPU, CUDNN 5.1

Compiling

To get started with GuidedNet, first compile caffe, by configuring a

"Makefile.config" 

then make with

$ make -j 6 all

Training

(this assumes you compiled the code sucessfully)

First you need to download and prepare the training data. For that go to the data folder:

cd data 

Then run:

./download.sh 

Then prepare FlyingChairs_release.list file, change the directory accordingly. For example, if you want to train with FlowFields proxy ground truth, you need to first generate FlowFields flow estimation by yourself and change:

FlyingChairs_release/data/00001_img1.ppm  FlyingChairs_release/data/00001_img2.ppm  FlyingChairs_release/data/00001_flow.flo 

to:

FlyingChairs_release/data/00001_img1.ppm  FlyingChairs_release/data/00001_img2.ppm  FlyingChairs_release/FlowFields/00001_flow.flo 

Then run:

./make-lmdbs.sh 

(this will take some time and disk space)

To train a GuidedNet network, go to this folder:

cd ./GuidedNet/models/FlowNetS_FlowFields/

Then just run:

./train.py 

To train GuidedNet network with unsuervised fine-tuning, go to this folder:

cd ./GuidedNet/models/Unsup_FineTune/

Then just run:

./train.py 

NOTE: You may get better performance if you carefully tune the hyper-params for different datasets, such as loss weights, learning rate etc.

Testing

(this assumes you compiled the code sucessfully)

E.g. go to this folder:

cd ./GuidedNet/models/FlowNetS_FlowFields/

First, download pre-trained models:

FlowNetS trained with FlowFields proxy ground truth for Flying Chairs dataset

FlowNetS trained with FlowFields and unsupervised fine-tuning for Flying Chairs dataset

FlowNetS trained with FlowFields and unsupervised fine-tuning for MPI-Sintel dataset

Then prepare image pairs list, as in the example of fc_val_im0.txt and fc_val_im1.txt.

Change line 157 in run.py to use the correct model. To try out GuidedNet on sample image pairs, run

./run.py fc_val_im0.txt fc_val_im1.txt 

This is just an example of testing on Flying Chairs dataset. You can generate your own image pairs list for any dataset.

License and Citation

Please cite this paper in your publications if you use GuidedNet for your research:

@article{guided_flow_17,
  title={{Guided Optical Flow Learning}},
  author={Yi Zhu and Zhenzhong Lan and Shawn Newsam and Alexander G. Hauptmann},
  journal={arXiv preprint arXiv:1702.022952},
  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].