The Software Workshop is a unique central scientific facility that brings together scientists and software engineers to translate basic research into software systems that can be used internally and deployed.

*The Columbia Computer Center IBM Machine Room, about 1980*

Photo: Bob Resnikoff

Our goal is to increase the impact of the research made at the Max Planck Institute for Intelligent Systems by:

- improving software that demonstrate a scientific outcome (eg. speeding up, port to a new framework, ...)
- helping scientists write good software (teaching, training or consulting),
- providing scientists with good infrastructure, good practices and tutorials,
- disseminating expertise through code reviews and software documentation,
- assisting scientists and departments or research groups in fields related to software engineering to ease the deployment, maintenance, or acceptance of a software
- developing tools that improve the workflow of scientists

Fields of expertise:

- Programming languages: C++, Python, CMake, CUDA, OpenCL, C#, Java, Matlab, R ... bash & powershell
- Technologies: Django (+ celery + rest), Qt, OpenCV, Ansible, Kinect2, Caffe2, iOS, Android
- Methodology: Scrum

Tübingen |

Tübingen |

Tübingen |

2014-06-01

The Grassmann Averages PCA is a method for extracting the principal components from a sets of vectors, with the nice following properties: 1) it is of linear complexity wrt. the dimension of the vectors and the size of the data, which makes the method highly scalable, 2) It is more robust to outliers than PCA in the sense that it minimizes an L1 norm instead of the L2 norm of the standard PCA. It comes with two variants: 1) the standard computation, that coincides with the PCA for normally distributed data, also referred to as the GA, 2) a trimmed variant, that is more robust to outliers, referred to the TGA. We provide implementations for the Grassmann Average, the Trimmed Grassmann Average, and the Grassmann Median. The simplest is the Matlab implementation used in the CVPR 2014 paper, but we also provide a faster C++ implementation, which can be used either directly from C++ or through a Matlab wrapper interface. The repository contains the following:

- a C++ multi-threaded implementation of the GA and TGA
- a C++ multi-threaded implementation of the EM-PCA (for comparisons)
- binaries that computes the GA, TGA and EM-PCA on a set of images (frames of a video)
- Matlab bindings
- Documentation of the C++ API

https://ps.is.tuebingen.mpg.de/research_projects/robust-pca

https://github.com/MPI-IS/Grassmann-Averages-PCA

2014-06-01

A small Django application for hosting documentation and artifacts, generated from source code and for easy access.

https://bitbucket.org/renficiaud/code_doc/

django continuous-integration documentation python

The tool we developed for generating the videos on MLSS 2015

https://github.com/raffienficiaud/livius

python batch processing video ffmpeg

3 results

Hauberg, S., Feragen, A., Enficiaud, R., Black, M.

(24098), ETH Zurich, 2017 (phdthesis)

Hochschule Osnabrück - University of Applied Sciences, 2017 (thesis)