/Pandora

Primary LanguagePythonApache License 2.0Apache-2.0

Pandora Stereo Framework

A stereo matching framework that will help you design your stereo matching pipeline with state of the art performances.

Documentation Status

OverviewInstallFirst StepCustomizeCreditsRelatedReferences

Overview

From stereo rectified images to disparity map Pandora is working with cost volumes

Pandora aims at shortening the path between a stereo-matching prototype and its industrialized version.
By providing a modular pipeline inspired from the (Scharstein et al., 2002) taxonomy, it allows one to emulate, analyse and hopefully improve state of the art stereo algorithms with a few lines of code.

We (CNES) have actually been using Pandora to create the stereo matching pipeline for the CNES & Airbus off board processing chain.
Leaning on Pandora's versatility and a fast-paced constantly evolving field we are still calling this framework a work in progress !

Install

Pandora is available on Pypi and can be installed by:

pip install pandora

For stereo reconstruction we invite you to install pandora and the required plugins using instead the following shortcut:

pip install pandora[sgm, mccnn]

First step

Pandora requires a config.json to declare the pipeline and the stereo pair of images to process. Download our data sample to start right away !

# install pandora latest release
pip install pandora

# download data samples
wget https://raw.githubusercontent.com/CNES/Pandora/master/data_samples/images/cones.zip  # input stereo pair
wget https://raw.githubusercontent.com/CNES/Pandora/master/data_samples/json_conf_files/a_local_block_matching.json # configuration file

# uncompress data
unzip cones.zip

# run pandora
pandora a_local_block_matching.json output_dir

#Left (respectively right) disparity map is saved in output_dir/left_disparity.tif (respectively output_dir/right_disparity.tif)

To go further

To create you own stereo matching pipeline and choose among the variety of algorithms we provide, please consult our online documentation.

You will learn:

Credits

Our data test sample is based on the 2003 Middleburry dataset (D. Scharstein & R. Szeliski, 2003).

(D. Scharstein & R. Szeliski, 2002). Scharstein, D., & Szeliski, R. (2002). A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. International journal of computer vision, 47(1-3), 7-42.
(D. Scharstein & R. Szeliski, 2003). Scharstein, D., & Szeliski, R. (2003, June). High-accuracy stereo depth maps using structured light. In 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2003. Proceedings. (Vol. 1, pp. I-I). IEEE.

Related

Plugin_LibSGM - Stereo Matching Algorithm plugin for Pandora
Plugin_MC-CNN - MC-CNN Neural Network plugin for Pandora
CARS - CNES 3D reconstruction software

References

Please cite the following paper when using Pandora:
Cournet, M., Sarrazin, E., Dumas, L., Michel, J., Guinet, J., Youssefi, D., Defonte, V., Fardet, Q., 2020. Ground-truth generation and disparity estimation for optical satellite imagery. ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences.