**************************************************************************************************** ** OpenGM develop ** **************************************************************************************************** * **** **************************************************************************************************** ** OpenGM GithubVersion ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * * ******* **************************************************************************************************** ** OpenGM 2.3.6 (30.10.2015) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * * *********** * bugfixes: *********** * several small python bugfixes * bugfix several typos * add missing includes * replace assert by OPENGM_TEST in unit-tests * *************** * New Features: *************** * Add Cut, Glue and Cut (CGC) inference for multicut-problems * Add Multicut Fusion (intersection based inference) inference for multicut-problems * Muticut supports generalized Potts functions up to order 11 * Add CanonicalView Function * Extend MatLab interface * TRWS can now return min marginals * improved install scripts (Thanks to Ghislain Antony Vaillant) * Multicut can start with a tighter polytope **************************************************************************************************** ** OpenGM 2.3.5 (02.07.2015) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * news: ******** * new branch at github that supports learning (experimental) * *********** * bugfixes: *********** * undef eps-def in MPLP * bugfix of minor typos * fix compiler issues on OSX * fix cmake issues * make compatiblewith Vigra 1.10 * *************** * New Features: *************** * add wrapper for SRMP * support for blackbox-test of higher-order models * adjusting parameters for smoothing based algorithms * improved detection of gurobi * interfaces for bloosomV and planarity -> planar max-cut solver available * implement interface for LPCPLEX to set a starting-point (this can help a lot) * add implementation for more advanced queues * Multicut: * - speed up multicut by using advanced queues (ChangeablePriorityQueue) * - add option for multicut with chordal-search or post-chordal testing * - add option to buffer the best state for the multicut algorithm * add more inference method in the reduced inference caller * add support for constrained graphical models: * - add generic (I)LP-interface for CPLEX and Gurobi * - add (I)LP solver for graphical models (based on CPLEX and GUROBI) that can handel * --- constrained-based functions ( constraints and constraints with additional auxillary variables) * --- support incrematal construction of the polytope * - add interface for constrain-functions * - add linear constraint function * - add label order function * - add number of active labels function * add so;vers to Matlab-Interface ***** **************************************************************************************************** ** OpenGM 2.3.4 (19.11.2014) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * bugfixes: ************ * adopt patches for GCO and MPLP to latest versions * fix several warnings * *************** * New features: *************** * add Wrapper for Gurobi * extended interface for LPCPlex * add support for FoE-functions * ***** **************************************************************************************************** ** OpenGM 2.3.3 (01.08.2014) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * bugfixes: ************ * Ad3 (wrong bound) -> use now our own fork, need to be deleted and downloaded new * InfAndFlip (tiny numerical problems) * DAOOPT (worker flag is set to ON automatically ) * LibDAI (wrapper was brocken - fixed ) * model-order : 32-bit bug * python : minor small fixes * *************** * New features: *************** * Graphical Model: * - Implement the functor concept which avoids lookups from the factor to the function * This allows to call a functor on a factor, which will work on the function behind directly. * * Inference: * - Proposal Based Fusion (new) * - Self Fusion (new) * - LSA-TR (new) * - Make Sequential BP and Sequential TRBP available trough the caller * - Asymetric Multyway Cuts (new - supported by multicut) * - ADSAL (smoothing strategy significantly refactored) * - Astar (improfe default ordering) * - DD-based (decomposition into k-fans) * - Message Passing: implement functor operations -> sigificant speedup * * Timming Visitor: * - stores accumulated time instead of time for a single step * - supports memmory logging * * Python: * - convenient function to create potts model for 3d grid graph with a flexible regularizer * - added workflow parm to multicut-python * * Matlab: * - efficient interface to load and store Potts models * * C++-Tutorials: * - learning modelparameters with EM * - inference on the or-and-semiring * - inference on the min-sum-semiring * - inference on the max-sum-semiring * - building models * - load and store models * - reimplementations of the Middleburry MRF benchmark * - supervised image segmentation ***** **************************************************************************************************** ** OpenGM 2.3.2 (05.5.2014) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * some bugfixes ***** * minor MAC bugfixes * increase soft-inf for MQPBO ( was too small) * Bugfix in commandlineinterface concerning storing empty vectors * Bugfixes for ADSAL, TRWSi, Nesterov * Bugfix incorrect assert-usage in MArray -> Signifficant speedup * Bugfix manual decomposition in DD-based methods * add exception if dynamic programming is used for higher-order models * some bugfixes in doxygen * fix code for some warnings * new features ***** * MatLab: Interface for a more efficient adding of pairwise factors * MatLab: enable some inference algorithms for the matlab interface * additional features for ADSAL, TRWSi, Nesterov * added code to get fractional ad3 solutions * Speedup for model evaluation * Refactoring generation of primal solution for DD-Based algorithms ->Speedup * make parameter for stoppint TRWS on change of dual available via parameter object * make manual decomposition available for DD-based methods * Implement bound and reparametrisation interface for FastPD **************************************************************************************************** ** OpenGM 2.3.1 (04.3.2014) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * some bugfixes ***** * bugfixes ***** * fix incorrect linking in CMake for MAC * add missing cmath-include in visitor * fix bug in dynamic programming (had worked only up to 255 states correctly before (this bug had caused sideeffects in DualDecomosition and Astar, this is fixed too) * new features ***** * add nesterovs algorithm * add smoothing strategy in seperate file * add interface to dual variables for some methods **************************************************************************************************** ** OpenGM 2.3.0 (24.2.2014) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * simpler visitor framework (not fully compatible with the old one * update of instalation scripts for external code * several bugfixes ***** * bugfixes ***** * bugfix in pythpn glue code for generalized inference interface generation * bugfix in python wrapped graphical model manipulator (lock/unlocks's where missing) * simplified the adding of mebmber function of python wrapped inference algorithms * minor bugfixes for several solvers * bugfixes for TWSi,transportation-solver, CombiLP * GCO: Patches updated for latest version * IBFS: Patch and wrapper updated for latest version (still bugy - bug reported to the IBFS authors) * MULTICUT: Better timeout handling * DAOOPT: Visitor injection * new features ***** * Visitor: New and simpler Visitor implementation * Visitor: addlog() and log() for additional protocolation * FastPD: Lower bound * DualDecomposition: Add hypergraph-subproblems into cmd * Converter: Partition models -> weighted UDAG * Python: fusion Moves **************************************************************************************************** ** OpenGM 2.2.1 (05.12.2013) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * bugfixes ***** * several bugfixes for MacOS (thanks to Toru Tamaki) * clean up of old/unused code * Fix critical bug in python-interface with Potts functions * TRWSi can hande isolated nodes * Add stopping condition for for TRWSi * Some fixes in the LibDAI-wrapper (Thanks to Toru Tamaki) * Improve CMake Find-Script for CPleX (Thanks to Ulrich Koethe) * start with the new visitor interface **************************************************************************************************** ** OpenGM 2.2.0 (10.10.2013) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * some refactoring ***** * remove editable support for graphical model ( was to slow any way -> use graphicalmodelmanipolator * change internal storage of factor-variables -> use reserve options to speedup code and avoid szstem calls * add LPGurobi (still alpha version with linking problems, we will fix this soon) * add support for naming cplex constraints (thanks to martinsch) * bugfix partition-move: typo in macro * add unsigned char support to marray_hdf5 * bugfixes in cmake for better MAC-support (thanks to vene) * add autodetect for numpy (thanks to vene) * add wrapper for MPLP * add wrapper for daoopt/braobb * refactoring reduced inference - supports now higher order too * add modelmanipulator for fixing variables in models **************************************************************************************************** ** OpenGM 2.1.2 (18.07.2013) ** ** Developers in charge: ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * Bugfixes ***** * fix memory leak in QPBO interface * bugfix for modelgenerator/unittest - testing with varying number of labels * bugfixes TRWSi * bugfixes ADSAL * TRWS interface now supports varying number of labels * add unittest for gco interface * add modelmanipulator to add evidence to models * use modelmanipulator instead of editable-models in AStar **************************************************************************************************** ** OpenGM 2.1.1 (17.06.2013) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * Bugfixes ***** * update matlab interface * bugfixes python interface * bugfix libdai interface/cales * bugfix mqpbo visitor **************************************************************************************************** ** OpenGM 2.1 (31.05.2013) ** ** Developers in charge: ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * Since the release of 2.0.2 some time has gone we have fixed several bugs and add new functionality. * OpenGM has been used for a computer vision benchmark, which has profit from the high flexibility of * OpenGM. ***** * bug-fixes in DualDecomposition * bug-fixes in Alpha-beta-swap (stopping condition) * bug-fixes for several functions ( e.g. sparsefunction) * bug-fixes for Gibbs * bug-fixes for code using external libraries * several small bugfixes * CMake cleanup * add support for maximizing models with LPCPLEX * add compiler-warning-level-option to cmake * add method to get the function corresponding to a factor * add method to get internalIDs to add additional constraints to LPCPLEX * generalize the caller interface -> all callers need to be a bit modified * add python interface (beta-state) * add new matlab interface (beta-state) * add some modelconverters e.g. opengm2uai * change default mode into RELEASE * unittest now always use asserts even in release mode * New inference Methods - MQPBO - Reduced Inference - Alpha-Expansion-Fusion (using the reduction code of Alexander Fix) - InfAndFlip (Meta-solver) - native opengm TRWS solver (implemented by Bogdan Savchynskyy) - native opengm ADSAL solver (implemented by Bogdan Savchynskyy) - primal-LP-bound - code to get feasible primal values for local polytope relaxations (implemented by Bogdan Savchynskyy) * new wrappers for external libs - FastPD - GCO-Lib **************************************************************************************************** ** OpenGM 2.0.2 beta (01.06.2012) ** ** Developers in charge: ** * Bjoern Andres ( bjoern[AT]andres[DOT]sc ) ** * Thorsten Beier ( thorsten.beier[AT]iwr[DOT]uni-heidelberg[DOT]de ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * We realize, that having just tables available to store/represent functions, which was sufficient for * our problems at this time, is not sufficient for many large scale problems. The fact that i) many * factors map the same function to different variables and ii) functions can often be represented much * more memory efficient. This ends up in the extended factor graph framework which includes functions * as another set of nodes in the graph and allows factors to share functions. Furthermore, opengm-model * can now deal with different types of functions. * As a consequence OpenGM2 is not compatible with OpenGM1 ***** * Change to from BSD to MIT licence * put project on github * reorganize project structure * Extend factor graph models by a set of function(-nodes) * add several type of functions * introduce more template parameters to the model - ValueType type used for objective function - IndexType type used to index variables and factors - LabelType type used for state-/label-space * add different space types * re-implement the model-decomposition * model-generator and blackbox-test-framework for inference-unit-tests * add inference algorithms - dualdecomposition with subgradient and bundle methods - alpha-expansion - alpha-beta-swap - dynamic programming - ILP and LP-relaxation solvers (using CPLEX) - LOC - QPBO - 2SAT-solver - gibbs-sampler - swendsenwang algorithm * add wrappers to external inference libraries - extern/MRF-LIB - extern/QPBO - extern/TRWS - extern/LibDAI - provide wrappers for fast external maxflow code (IBFS, Kolmogorov's MaxFlow) * redesign LBP and TRBP * redesign the visitor concept for code injection * implement our own command-line tool **************************************************************************************************** ** OpenGM 1.0 (21.09.2010) ** ** Developers in charge: ** * Bjoern Andres ( bjoern[AT]andres[DOT]sc ) ** * Joerg Hendrik Kappes ( kappes[AT]math[DOT]uni-heidelberg[DOT]de ) **************************************************************************************************** * Initial release as a merge of two independent projects by Bjoern Andres and Joerg Hendrik Kappes. ***** * discrete factor graph models over various semi-rings which can be exchanged by templates * factors only support explicit functions (tables) but can depend from more than 2 variables * inference algorithms - AStar - LBP - TRBP - GraphCut (using boost/max-flow) - ICM - LazzyFlipper * command-line interface with tclap * file i/o which allows to save models into HDF5 files * primitive matlab interface * cmake build scripts