forked from opengm/opengm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.txt
438 lines (391 loc) · 16.7 KB
/
ChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
****************************************************************************************************
** 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.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