All Projects → lelimite4444 → BridgeDepthFlow

lelimite4444 / BridgeDepthFlow

Licence: other
Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence, CVPR 2019

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects
c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to BridgeDepthFlow

EPCDepth
[ICCV 2021] Excavating the Potential Capacity of Self-Supervised Monocular Depth Estimation
Stars: ✭ 105 (-7.89%)
Mutual labels:  depth-estimation, monodepth
Semantic-Mono-Depth
Geometry meets semantics for semi-supervised monocular depth estimation - ACCV 2018
Stars: ✭ 98 (-14.04%)
Mutual labels:  depth-estimation, monodepth
tf-monodepth2
Tensorflow implementation(unofficial) of "Digging into Self-Supervised Monocular Depth Prediction"
Stars: ✭ 75 (-34.21%)
Mutual labels:  depth-estimation, monodepth
pais-mvs
Multi-view stereo image-based 3D reconstruction
Stars: ✭ 55 (-51.75%)
Mutual labels:  stereo-matching, depth-estimation
EPC
Every Pixel Counts ++: Joint Learning of Geometry and Motion with 3D Holistic Understanding
Stars: ✭ 27 (-76.32%)
Mutual labels:  optical-flow, depth-estimation
Learning2AdaptForStereo
Code for: "Learning To Adapt For Stereo" accepted at CVPR2019
Stars: ✭ 73 (-35.96%)
Mutual labels:  stereo-matching, depth-estimation
Monodepth2
[ICCV 2019] Monocular depth estimation from a single image
Stars: ✭ 2,714 (+2280.7%)
Mutual labels:  depth-estimation, monodepth
ONNX-HITNET-Stereo-Depth-estimation
Python scripts form performing stereo depth estimation using the HITNET model in ONNX.
Stars: ✭ 21 (-81.58%)
Mutual labels:  stereo-matching, depth-estimation
diode-devkit
DIODE Development Toolkit
Stars: ✭ 58 (-49.12%)
Mutual labels:  depth-estimation, monodepth
humanflow2
Official repository of Learning Multi-Human Optical Flow (IJCV 2019)
Stars: ✭ 37 (-67.54%)
Mutual labels:  optical-flow
All4Depth
Self-Supervised Depth Estimation on Monocular Sequences
Stars: ✭ 58 (-49.12%)
Mutual labels:  depth-estimation
CrowdFlow
Optical Flow Dataset and Benchmark for Visual Crowd Analysis
Stars: ✭ 87 (-23.68%)
Mutual labels:  optical-flow
RealtimeStereo
Attention-Aware Feature Aggregation for Real-time Stereo Matching on Edge Devices (ACCV, 2020)
Stars: ✭ 110 (-3.51%)
Mutual labels:  stereo-matching
monodepth
Python ROS depth estimation from RGB image based on code from the paper "High Quality Monocular Depth Estimation via Transfer Learning"
Stars: ✭ 41 (-64.04%)
Mutual labels:  depth-estimation
stereo
Perform stereo matching algorithm using Direct 3D (level 9.3) on a mobile device without CUDA support.
Stars: ✭ 13 (-88.6%)
Mutual labels:  stereo-matching
Reversing
Code for "Reversing the cycle: self-supervised deep stereo through enhanced monocular distillation"
Stars: ✭ 43 (-62.28%)
Mutual labels:  stereo-matching
mmflow
OpenMMLab optical flow toolbox and benchmark
Stars: ✭ 711 (+523.68%)
Mutual labels:  optical-flow
edlsm pytorch
Pytorch implementation for stereo matching described in the paper: Efficient Deep learning for stereo matching
Stars: ✭ 16 (-85.96%)
Mutual labels:  stereo-matching
flowattack
Attacking Optical Flow (ICCV 2019)
Stars: ✭ 58 (-49.12%)
Mutual labels:  optical-flow
CorrelationLayer
Pure Pytorch implementation of Correlation Layer that commonly used in learning based optical flow estimator
Stars: ✭ 22 (-80.7%)
Mutual labels:  optical-flow

Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence

PyTorch implementaton of the following paper. In this paper, we propose a unified model for unsupervised stereo matching and optical flow estimation using a single neural network.

Paper

Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence
Hsueh-Ying Lai, Yi-Hsuan Tsai, Wei-Chen Chiu
IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2019.

Please cite our paper if you find it useful for your research. [Project Page]

@inproceedings{lai19cvpr,
 title = {Bridging Stereo Matching and Optical Flow via Spatiotemporal Correspondence},
 author = {Hsueh-Ying Lai and Yi-Hsuan Tsai and Wei-Chen Chiu},
 booktitle = {IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
 year = {2019}
}

Example Results

KITTI Dataset

  • Our model requires rectified stereo pairs with different timestamps from KITTI for training.
    We use two different splits of KITTI 2015, kitti and eigen, for both training and testing. For additional testing, we test on the validation set of KITTI 2012. You can find them in the filenames folder.
  • Download the raw data of KITTI Dataset. This dataset is for training and eigen split evaluation.
wget -i utils/kitti_archives_to_download.txt -P ~/dataset/
KITTI_PATH/
         |--training/
         |--testing/

Installation

  • This code was developed using Python 3.7 & PyTorch 1.0.0 & CUDA 8.0.
  • Other requirements: cv2, matplotlib
  • Clone this repo
git clone https://github.com/lelimite4444/BridgeDepthFlow
cd BridgeDepthFlow

Training

We use kitti split as example.

python train.py --data_path ~/dataset/
                --filenames_file ./utils/filenames/kitti_train_files_png_4frames.txt
                --checkpoint_path YOUR_CHECKPOINT_PATH

The chosen --type_of_2warp from 0 ~ 2 correponds to three types of different 2warp function in Figure 4 of our paper. The --model_name flag allows you to choose which model you want to train on. We provide the PyTorch version of both monodepth and PWC-Net.

Testing

We use the validation set of KITTI 2015 as example. The ground truth of optical flow includes occluded area.

  • You can download our pretrained models from here, the final character of the model name correponds to the type of 2warp in our paper.
  • Test on optical flow
python test_flow.py --data_path KITTI_PATH
                    --filenames_file ./utils/filenames/kitti_flow_val_files_occ_200.txt
                    --checkpoint_path YOUR_CHECKPOINT_PATH/TRAINED_MODEL_NAME
  • Test on stereo matching
python test_stereo.py --data_path KITTI_PATH
                    --filenames_file ./utils/filenames/kitti_stereo_2015_test_files.txt
                    --checkpoint_path YOUR_CHECKPOINT_PATH/TRAINED_MODEL_NAME

The network will output disparities.npy, containing all the estimated disparities of test data. You need to evaluate it by running:

python utils/evaluate_kitti.py --split kitti --predicted_disp_path ./disparities.npy --gt_path ~/dataset/

Acknowledgement

  • The evaluation code of stereo matching and the structure of monodepth is borrowed from monodepth
  • The PWC-Net is implemented by NVlabs-PWC-Net
  • The warping function Resample2d and custom layers Correlation which PWC-Net relys on are implemented by NVIDIA-flownet2
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].