Skip to content

CNES/Pandora_libSGM

Repository files navigation

LibSGM: Semi-Global Matching algorithm library

OverviewInstallUsageRelatedReferences

Overview

libSGM is an implementation of Semi-Global Matching (SGM) algorithm based on [Hirschmuller, 2008], [Ernst, Ines & Hirschmüller, 2008] and [Hirschmüller, Buder & Ernst, 2012].

The main algorithm is written in C++ and is wrapped with cython to provide a libSGM python module.

An experimental less efficient python only module libsgm_python is available for study purposes only.

Install

libsgm is available on Pypi and can be installed by:

pip install libsgm

From source in dev mode, clone the public repository then :

make install 
source venv/bin/activate # Libsgm is installed in virtualenv

Usage

libSGM is a library only and must be used as a package :

import c_libsgm
...
cost_volumes_out = c_libsgm.sgm_api(cost_volume_in, p1, p2, directions, invalid_value, segmentation=optimization_layer, cost_paths=False, overcounting=False)

Let's see pandora_plugin_LibSGM for real life exemple.

Documentation

To build library documentation, doxygen must be installed on your system. After installation from source, dependencies are installed in the virtualenv. Documentation can be generated by:

source venv/bin/activate
make docs

Related

Pandora - A stereo matching framework
Plugin_LibSGM - Stereo Matching Algorithm plugin for Pandora

References

Please cite the following paper when using libsgm: 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.

[Hirschmuller, 2008] H. Hirschmuller, "Stereo Processing by Semiglobal Matching and Mutual Information," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 30, no. 2, pp. 328-341, Feb. 2008. doi: 10.1109/TPAMI.2007.1166

[Ernst, Ines & Hirschmüller, 2008] Ernst, Ines & Hirschmüller, Heiko. (2008). Mutual Information Based Semi-Global Stereo Matching on the GPU. Proceedings of the International Symposium on Visual Computing. 5358. 10.1007/978-3-540-89639-5_22.

[Hirschmüller, Buder & Ernst, 2012] Hirschmüller, Heiko & Buder, Maximilian & Ernst, Ines. (2012). Memory Efficient Semi-Global Matching. ISPRS Annals of Photogrammetry, Remote Sensing and Spatial Information Sciences. I-3. 10.5194/isprsannals-I-3-371-2012.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages