The goal of this package is to include a number of fast graph cut algorithms. Currently, the package package only includes our serial and parallel implementations of the Quadratic Pseudo-Boolean Optimization (QPBO) algorithm. We plan to include more algorithms in the future.
Install from repository (requires Cython
):
git clone https://github.com/Skielex/shrdr
cd shrdr
pip install .
Package will be made available on PyPI later.
The package is targeted anyone working with boolean optimization problems, in particular for computer vision. Examples include:
- Minimization of both submodular and non-submodular boolean optimization problems.
- Image segmentation
- Surface detection
- Image restoration
- Image synthesis
- ...and many other tasks.
See notebooks available at doi.org/10.5281/zenodo.5201619 for benchmark examples. More usage examples will come later!
The M-QPBO and P-QPBO algorithms in the package are being presented at ICCV 2021. We show that P-QPBO is up to 20x faster than the original QPBO algorithm for large segmentation tasks.
- slgbuilder Python package (CVPR 2020)
- thinqpbo Python package
- thinmaxflow Python package
- thinhpf Python package
- C++ implementations of max-flow/min-cut algorithms
MIT License (see LICENSE file).
If you use this any of this for academic work, please consider citing our work:
N. Jeppesen, A. N. Christensen, V. A. Dahl and A. B. Dahl, "Sparse Layered Graphs for Multi-Object Segmentation," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 12774-12782, doi: 10.1109/CVPR42600.2020.01279.
[ paper ] [ supp ] [ CVF ] [ IEEE ]
N. Jeppesen, P. M. Jensen, A. N. Christensen, A. B. Dahl and V. A. Dahl, "Faster Multi-Object Segmentation using Parallel Quadratic Pseudo-Boolean Optimization," 2021 IEEE/CVF International Conference on Computer Vision (ICCV), 2021, pp. 6240-6249, doi: 10.1109/ICCV48922.2021.00620.
[ paper ] [ supp ] [ CVF ] [ IEEE ]
@INPROCEEDINGS{9156301, author={Jeppesen, Niels and Christensen, Anders N. and Dahl, Vedrana A. and Dahl, Anders B.}, booktitle={2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, title={Sparse Layered Graphs for Multi-Object Segmentation}, year={2020}, volume={}, number={}, pages={12774-12782}, doi={10.1109/CVPR42600.2020.01279}}
@INPROCEEDINGS{9710633, author={Jeppesen, Niels and Jensen, Patrick M. and Christensen, Anders N. and Dahl, Anders B. and Dahl, Vedrana A.}, booktitle={2021 IEEE/CVF International Conference on Computer Vision (ICCV)}, title={Faster Multi-Object Segmentation using Parallel Quadratic Pseudo-Boolean Optimization}, year={2021}, volume={}, number={}, pages={6240-6249}, doi={10.1109/ICCV48922.2021.00620}}