All Projects → lmb-freiburg → Demon

lmb-freiburg / Demon

Licence: gpl-3.0
DeMoN: Depth and Motion Network

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Demon

Dispnet Flownet Docker
Dockerfile and runscripts for DispNet and FlowNet1 (estimation of disparity and optical flow)
Stars: ✭ 78 (-84.43%)
Mutual labels:  cnn, cvpr
Flownet2
FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
Stars: ✭ 938 (+87.23%)
Mutual labels:  cnn, cvpr
Flownet2 Docker
Dockerfile and runscripts for FlowNet 2.0 (estimation of optical flow)
Stars: ✭ 137 (-72.65%)
Mutual labels:  cnn, cvpr
Monodepth360
Master's project implementing depth estimation for spherical images using unsupervised learning with CNNs.
Stars: ✭ 41 (-91.82%)
Mutual labels:  cnn, depth
Deeptam
DeepTAM: Deep Tracking and Mapping https://lmb.informatik.uni-freiburg.de/people/zhouh/deeptam/
Stars: ✭ 198 (-60.48%)
Mutual labels:  cnn, structure-from-motion
Cvpr2021 Papers With Code
CVPR 2021 论文和开源项目合集
Stars: ✭ 7,138 (+1324.75%)
Mutual labels:  cvpr
Fsa Net
[CVPR19] FSA-Net: Learning Fine-Grained Structure Aggregation for Head Pose Estimation from a Single Image
Stars: ✭ 469 (-6.39%)
Mutual labels:  cvpr
Class Balanced Loss
Class-Balanced Loss Based on Effective Number of Samples. CVPR 2019
Stars: ✭ 433 (-13.57%)
Mutual labels:  cvpr
Fast Srgan
A Fast Deep Learning Model to Upsample Low Resolution Videos to High Resolution at 30fps
Stars: ✭ 417 (-16.77%)
Mutual labels:  cnn
Regl Cnn
Digit recognition with Convolutional Neural Networks in WebGL
Stars: ✭ 490 (-2.2%)
Mutual labels:  cnn
Deepalignmentnetwork
A deep neural network for face alignment
Stars: ✭ 480 (-4.19%)
Mutual labels:  cvpr
Mimicry
[CVPR 2020 Workshop] A PyTorch GAN library that reproduces research results for popular GANs.
Stars: ✭ 458 (-8.58%)
Mutual labels:  cvpr
Sknet
Code for our CVPR 2019 paper: Selective Kernel Networks; See zhihu:https://zhuanlan.zhihu.com/p/59690223
Stars: ✭ 443 (-11.58%)
Mutual labels:  cnn
Liteflownet
LiteFlowNet: A Lightweight Convolutional Neural Network for Optical Flow Estimation, CVPR 2018 (Spotlight paper, 6.6%)
Stars: ✭ 474 (-5.39%)
Mutual labels:  cnn
Numpycnn
Building Convolutional Neural Networks From Scratch using NumPy
Stars: ✭ 436 (-12.97%)
Mutual labels:  cnn
Lstm Fcn
Codebase for the paper LSTM Fully Convolutional Networks for Time Series Classification
Stars: ✭ 482 (-3.79%)
Mutual labels:  cnn
Tensorflow Tutorial
Tensorflow tutorial from basic to hard, 莫烦Python 中文AI教学
Stars: ✭ 4,122 (+722.75%)
Mutual labels:  cnn
Cryptocurrencyprediction
Predict Cryptocurrency Price with Deep Learning
Stars: ✭ 453 (-9.58%)
Mutual labels:  cnn
Epipolarpose
Self-Supervised Learning of 3D Human Pose using Multi-view Geometry (CVPR2019)
Stars: ✭ 477 (-4.79%)
Mutual labels:  cvpr
Food Recipe Cnn
food image to recipe with deep convolutional neural networks.
Stars: ✭ 448 (-10.58%)
Mutual labels:  cnn

DeMoN: Depth and Motion Network

License

DeMoN is "A computer algorithm for reconstructing a scene from two projections"1. The network estimates the depth and relative camera motion for pairs of images; it addresses the important two view case in structure from motion.

Teaser

If you use this code for research please cite:

@InProceedings{UZUMIDB17,
  author       = "B. Ummenhofer and H. Zhou and J. Uhrig and N. Mayer and E. Ilg and A. Dosovitskiy and T. Brox",
  title        = "DeMoN: Depth and Motion Network for Learning Monocular Stereo",
  booktitle    = "IEEE Conference on Computer Vision and Pattern Recognition (CVPR)",
  month        = " ",
  year         = "2017",
  url          = "http://lmb.informatik.uni-freiburg.de//Publications/2017/UZUMIDB17"
}

See the project website for the paper and other material.

1 This is the title of H. C. Longuet-Higgins paper from 1981, which perfectly describes what our method does. DeMoN shows that complex geometric relations can be learnt by a ConvNet.

Requirements

Building and using requires the following libraries and programs

tensorflow 1.4.0
cmake 3.7.1
python 3.5
cuda 8.0.61 (required for gpu support)
VTK 7.1 with python3 interface (required for visualizing point clouds)

The versions match the configuration we have tested on an ubuntu 16.04 system. DeMoN can work with other versions of the aforementioned dependencies, e.g. tensorflow 1.3, but this is not well tested.

The binary package from vtk.org does not come with a python3 interface. To enable python3 support VTK needs to be built from source. Alternatively, there are also VTK packages with python3 support available in Anaconda via the conda package manager.

The network also depends on our lmbspecialops library which is included as a submodule.

Build instructions

The following describes how to install tensorflow and demon into a new virtualenv and run the inference example. We will use pew (pip3 install pew) to manage a new virtualenv named demon_venv in the following:

# create virtualenv
pew new demon_venv

The following commands all run inside the virtualenv:

# install python module dependencies
pip3 install tensorflow-gpu # or 'tensorflow' without gpu support
pip3 install pillow # for reading images
pip3 install matplotlib # required for visualizing depth maps
pip3 install Cython # required for visualizing point clouds
# clone repo with submodules
git clone --recursive https://github.com/lmb-freiburg/demon.git

# build lmbspecialops
DEMON_DIR=$PWD/demon
mkdir $DEMON_DIR/lmbspecialops/build
cd $DEMON_DIR/lmbspecialops/build
cmake .. # add '-DBUILD_WITH_CUDA=OFF' to build without gpu support
# (optional) run 'ccmake .' here to adjust settings for gpu code generation
make
pew add $DEMON_DIR/lmbspecialops/python # add to python path

# download weights
cd $DEMON_DIR/weights
./download_weights.sh

# run example
cd $DEMON_DIR/examples
python3 example.py # opens a window with the depth map (and the point cloud if vtk is available)

Data reader op & evaluation

The data reader op and the evaluation code have additional dependencies. The code for the data reader is in the multivih5datareaderop directory. See the corresponding readme for more details.

For the evaluation see the example examples/evaluation.py. The evaluation code requires the following additional python3 packages, which can be installed with pip:

h5py
minieigen
pandas
scipy
scikit-image
xarray

Note that the evaluation code also depends on the data reader op.

Training code

Instructions for training a clean tensorflow version of DeMoN are here. Note that the tensorflow training code and model are work in progress and are not identical to the original Caffe version.

Datasets

Download scripts for training and testing are located in the datasets subdirectory. Note that due to a bug that some of the dataset files with the prefix rgbd did contain some samples from the test set. The affected files have been replaced and now have the prefix rgbd_bugfix. MD5 checksums for all files can be found in the file traindata.md5.

License

DeMoN is under the GNU General Public License v3.0

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