GitPedia

CREStereo

Official MegEngine implementation of CREStereo(CVPR 2022 Oral).

From megvii-research·Updated June 14, 2026·View on GitHub·

This repository contains [MegEngine](https://github.com/MegEngine/MegEngine) implementation of our paper: The project is written primarily in Python, distributed under the Apache License 2.0 license, first published in 2022. Key topics include: computer-vision, cvpr, dataset, deep-learning, megengine.

[CVPR 2022] Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation

This repository contains MegEngine implementation of our paper:

Practical Stereo Matching via Cascaded Recurrent Network with Adaptive Correlation
Jiankun Li, Peisen Wang, Pengfei Xiong, Tao Cai, Ziwei Yan, Lei Yang, Jiangyu Liu, Haoqiang Fan, Shuaicheng Liu
CVPR 2022 (Oral)

Paper | ArXiv | BibTeX

<img src="img/teaser.jpg">

Datasets

The Proposed Dataset

Download

There are two ways to download the dataset(~400GB) proposed in our paper:

  • Download using shell scripts dataset_download.sh
shell
sh dataset_download.sh

the dataset will be downloaded and extracted in ./stereo_trainset/crestereo

  • Download from BaiduCloud here(Extraction code: aa3g) and extract the tar files manually.

Disparity Format

The disparity is saved as .png uint16 format which can be loaded using opencv imread function:

python
def get_disp(disp_path): disp = cv2.imread(disp_path, cv2.IMREAD_UNCHANGED) return disp.astype(np.float32) / 32

Other Public Datasets

Other public datasets we use including

Dependencies

CUDA Version: 10.1, Python Version: 3.6.9

  • MegEngine v1.8.2
  • opencv-python v3.4.0
  • numpy v1.18.1
  • Pillow v8.4.0
  • tensorboardX v2.1
bash
python3 -m pip install -r requirements.txt

We also provide docker to run the code quickly:

bash
docker run --gpus all -it -v /tmp:/tmp ylmegvii/crestereo shotwell /tmp/disparity.png

Inference

Download the pretrained MegEngine model from here and run:

shell
python3 test.py --model_path path_to_mge_model --left img/test/left.png --right img/test/right.png --size 1024x1536 --output disparity.png

Training

Modify the configurations in cfgs/train.yaml and run the following command:

shell
python3 train.py

You can launch a TensorBoard to monitor the training process:

shell
tensorboard --logdir ./train_log

and navigate to the page at http://localhost:6006 in your browser.

Acknowledgements

Part of the code is adapted from previous works:

We thank all the authors for their awesome repos.

Citation

If you find the code or datasets helpful in your research, please cite:

@inproceedings{li2022practical,
  title={Practical stereo matching via cascaded recurrent network with adaptive correlation},
  author={Li, Jiankun and Wang, Peisen and Xiong, Pengfei and Cai, Tao and Yan, Ziwei and Yang, Lei and Liu, Jiangyu and Fan, Haoqiang and Liu, Shuaicheng},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={16263--16272},
  year={2022}
}

Contributors

Showing top 5 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from megvii-research/CREStereo via the GitHub API.Last fetched: 6/17/2026