Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/majioa/libqpbo
QPBO implementation by Vladimir Kolmogorov as a system library
https://github.com/majioa/libqpbo
Last synced: 1 day ago
JSON representation
QPBO implementation by Vladimir Kolmogorov as a system library
- Host: GitHub
- URL: https://github.com/majioa/libqpbo
- Owner: majioa
- License: gpl-3.0
- Created: 2024-02-11T19:30:42.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2024-02-18T17:05:49.000Z (11 months ago)
- Last Synced: 2024-11-23T00:19:19.159Z (2 months ago)
- Language: C++
- Size: 62.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.TXT
- License: LICENSE
Awesome Lists containing this project
README
QPBO
====# QPBO with large graph support
This is a ready-to-use QPBO adaptation for OpenGM (original code courtesy of V. Kolmogorov) for very large graphs. Original source code availbable at http://pub.ist.ac.at/~vnk/software.html.## Original description
Implements algorithms for minimizing functions of binary variables with unary and pairwise terms based on roof duality described in the following papers:
Roof duality, complementation and persistency in quadratic 0-1 optimization.
P. L. Hammer, P. Hansen, and B. Simeone.
Mathematical Programming, 28:121-155, 1984.
Network flows and minimization of quadratic pseudo-Boolean functions.
E. Boros, P. L. Hammer, and X. Sun.
Technical Report RRR 17-1991, RUTCOR Research Report, May 1991.
Preprocessing of Unconstrained Quadratic Binary Optimization.
E. Boros, P. L. Hammer, and G. Tavares.
Technical Report RRR 10-2006, RUTCOR Research Report, April 2006.
Optimizing binary MRFs via extended roof duality.
C. Rother, V. Kolmogorov, V. Lempitsky, and M. Szummer.
CVPR 2007.
Original implementation by Vladimir Kolmogorov.
The source is originated from several ones: [1](https://github.com/fgrsnau/libqpbo.git), [2](https://github.com/Skielex/QPBO.git), [3](https://github.com/NSchertler/QPBO-opengm.git), and [4](https://github.com/micmacIGN/micmac/tree/master/src/uti_phgrm/GraphCut/QPBO-v1.4).
## Modifications
Changed to allow for very large graphs with up to 2.1 billion nodes and "any number" of edges/terms.
Main changes include:
- Changed edge variables to `long long`.
- Changed a few other variables to `long long`.
- Reduced `sizeof(Node)` by changing some variable types in the `struct`.