DGM lib

Direct Graphical Models


DGM is a C++ library implementing various tasks in probabilistic graphical models with pairwise dependencies. The library aims to be used for the Markov and Conditional Random Fields (MRF / CRF), Markov Chains, Bayesian Networks, etc. Specifically, it includes a variety of methods for the following tasks:

  • Learning: Training of unary and pairwise potentials
  • Inference / Decoding: Computing the conditional probabilities and the most likely configuration
  • Parameter Estimation: Computing maximum likelihood (or MAP) estimates of the parameters
  • Evaluation / Visualization: Evaluation and visualization of the classification results
  • Data Analysis: Extraction, analysis and visualization of valuable knowledge from training data
  • Feature Extraction: Extraction of various descriptors from images, which are useful for classification

These tasks are optimized for speed, i.e. high-efficient calculations. The code is written in optimized C++11, compiled with Microsoft Visual Studio and can take advantage of multi-core processing. DGM is released under a BSD license and hence it is free for both academic and commercial use.

Application Examples

  • Remote Sensing

  • Microbiology

  • Stereo

  • Medical Imagery

If you have applied the DGM library in your work and achieved some interesting results, please send them to me via sergey.kosov@project-10.de, so I could allocate them at this web-page. This will help us to spread and improve the library. We thank you in advance for your support.


Version 1.5.1 (CMake)

Version 1.4.2 (MSVS)


Download DGM 1.5.1 library source code

Win32 Binary

Download DGM 1.5.1 library with precompiled Win32 vc14 binaries

x64 Binary

Download DGM 1.5.1 library with precompiled x64 vc14 binaries


Download DGM 1.4.2 library source code

Win32 Binary

Download DGM 1.4.2 library with precompiled Win32 vc14 binaries

x64 Binary

Download DGM 1.4.2 library with precompiled x64 vc14 binaries

DGM in Publication

Selected main publications:

See also more publications, where the DGM library was used:

To reference DGM in a publication, please include the library name and a link to this website [BibTeX]. You may also want to include the library version, since we currently update the software.


If you use this software in a publication, please cite the work using the following information:

Sergey Kosov. Direct graphical models C++ library. http://research.project-10.de/dgm/, 2013.

or using the BibTeX file.