Skip to content
Undirected Probailistic Graphical Modes for C++
C++ CMake
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Undirected Probabilistic Graphical Models in C++

Copyright (C) 2014-2019 Jose Raul Ruiz Sarmiento

University of Malaga (

Personal webpage:

Project webpage:

ROS wrapper repository:

If you use UPGM++, please cite us by:

author = {Ruiz-Sarmiento, J. R. and Galindo, Cipriano and Gonz{'{a}}lez-Jim{'{e}}nez, Javier},
title = {UPGMpp: a Software Library for Contextual Object Recognition},
booktitle = {3rd. Workshop on Recognition and Action for Scene Understanding (REACTS)},
year = {2015}

General information

This is a standalone C++ library for Undirected Probabilistic Graphical Models. Some examples are provided for a better understanding of the library use. NEW! A ROS wrapper is now available here.

I want to thank Prof. Dr. Joachim Hertzberg and Mr. Martin Günther for the motivation and support that they gave me in the first steps of this library, which was started during my stay at the University of Osnabrück, Germany.

In this guide:


Install dependencies:

  • Eigen.

  • Boost.

  • liblbfgs:

      sudo apt-get install liblbfgs-dev

    That package is available starting with Ubuntu 12.10 Raring; if you're using Ubuntu Precise, go to and download the Raring package (or later). You also need the dependency liblbfgs0. From the command line:

      cd /tmp
      wget     # replace amd64 by i386 if compiling on a 32 bit Ubuntu
      wget  # replace amd64 by i386 if compiling on a 32 bit Ubuntu
      sudo dpkg -i liblbfgs0_1.10-5_amd64.deb liblbfgs-dev_1.10-5_amd64.deb


mkdir build && cd build && cmake .. && make


sudo make install

Known issues

At execution time:

  • If you selected the ENABLE_OPTIMIZATION_FLAG in CMake and your program crashes, it could be due to the -march=native flag. Try chaging its value (e.g. x86-64 check this) or removing it.
You can’t perform that action at this time.