<!--[if lt IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='Welcome_files/WelcomeIE.css'/><![endif]--> <!--[if gte IE 8]><link rel='stylesheet' type='text/css' media='screen,print' href='Media/IE8.css'/><![endif]-->

Carsten Haubold


I am Carsten Haubold, born in Germany. I have a Bachelor of Computer Science (2010) and a Master of Visual Computing (2013) from the TU Darmstadt, and a PhD (2017) from the Heidelberg Collaboratory for Image Processing, University of Heidelberg.

Fascinated by computer graphics as a child I began to learn how to program OpenGL even before I enrolled for a Bachelor of Computer Science. My research has then grown from real-time rendering to offline light transport simulations, especially bidirectional path tracing which has been part of my Bachelor thesis and was still important in my Master thesis topic. Because of my interest in rendering, photography, and computer vision, I worked as student assistant in a department focusing on stereo reconstruction, and also for a company producing an iPhone camera and image processing app. After my graduation in 2013, I wanted to work on interdisciplinary scientific topics, and hence pursued a PhD at the University of Heidelberg with Prof. Fred Hamprecht. My research focused on multi-object-tracking algorithms for cells in time-series of microscopy images. I also supported our lab in developing the open-source tool ilastik which uses machine learning to let users -- mostly biologists -- segment and classify their image data by sparsely annotating it using brush strokes.

I finished my PhD in 2017, and currently I work again on the iPhone photography and image processing app ProCamera. And I also work as a freelancer on the data analysis workflow tool KNIME.

About Me

About Me



Software Developer - KNIME GmbH, Konstanz, Germany (since Feb 2018)

  1. BulletPrototype for tensor processing, allowing partial and lazy processing of very large tensors of data

Graphics Programmer - Cocologics, Mannheim, Germany (since Jan 2018)

  1. BulletResearch prototypes for automatic perspective correction, panorama capture and depth editing

  2. BulletUsing the latest iOS features to improve the image editing performance

Graphics Programmer - Cocologics, Mannheim, Germany (Oct 2010-Nov 2013)

  1. BulletRealization of an OpenGL image processing pipeline for iOS devices, exploiting the GPU. Published in the iPhone app ProCamera: www.procamera-app.com

  2. BulletResearch project to perform real multi-exposure HDR photography on the iPhone.

Research assistant - TU Darmstadt, Prof. Michael Gösele (Mar 2009-Aug 2013)

  1. BulletDeveloped a framework for automatic distribution of NVIDIA CUDA jobs to a cluster

  2. BulletTutored and assisted in the lecture "Programming Massively Parallel Processors"

  3. BulletImplementation of projects related to building 3D reconstructions through multi-view stereo, including a renderer to display view transitions. Published in "Ambient Point Clouds for View Interpolation", SIGGRAPH 2010

Instructor - Big Nerd Ranch Europe (April 2009, March 2010, Feb 2012)

  1. BulletTaught OpenGL to Mac OSX and iOS developers three times in Eltville, Germany in a one-week boot camp, together with Prof. Jay Martin Anderson.

Consultant - Deutsche Telekom (Nov-Dec 2010)

  1. BulletSupported the R&D team with the development of a bookshelf visualization in OpenGL on iOS and Android

Technical Editor - Course PTR (Fall 2008)

  1. BulletSupervised technical soundness of the book "Beginning OpenGL Game Programming Second Edition" by Luke Benstead, also helped to develop and test the sample applications.

Intern - Google Summer of Code 2008 (April-July 2008)

  1. BulletImplemented NURBS modeling tools for K-3D, supervised by Brad Larsson.

Moderator - Gamedev.net's NeHe Forums (since 2006)

  1. BulletActive member of the NeHe OpenGL Forums, published several iOS tutorials on NeHe

Work Experience

Work Experience

Dr. rer. nat., University of Heidelberg, with Prof. Fred A. Hamprecht, 2013-2017

  1. BulletInvented an approximative solver for the discrete optimization problem in multi-object-tracking with dividing targets based on network flows.

  2. BulletTutored the lecture “Basics of Modern Image Analysis”, including Neural Networks

  3. BulletCore developer of ilastik, the interactive segmentation and learning toolkit, which packages state-of-the art machine learning and optimization methods with an intuitive user interface for biological image processing. Developed in Python and C++, deployment using Conda.

  4. BulletSupported by a stipend of the Heidelberg Graduate School of Mathematical and Computational Methods for the Sciences

  5. BulletAttended courses: Mixed integer programming and combinatorial optimization, Prof. Reinelt, 10.-13. Feb. 2014; Machine Learning Summer School, 15. - 20. June 2014, Beijing

M.Sc. Visual Computing, TU Darmstadt, 2010-2013, graduated with Honors

    1. BulletModules included: Computer Graphics, Computer Vision, Digital Image Processing, Capturing Reality, Programming Massively Parallel Processors, Machine Learning

    2. Bulletstudied two semesters (Feb - Nov 2011) at QUT Brisbane, Australia

B.Sc. in Computer Science, TU Darmstadt, 2007-2010



  1. Bullet"An Objective Comparison of Cell Tracking Algorithms.", V. Ulman, M. Maška, K. Magnusson, O. Ronneberger, C. Haubold, N. Harder, P. Matula, D. Svoboda, M. Radojevic, I. Smal, K. Rohr, J. Jaldén, H. Blau, O. Dzyubachyk, B. Lelieveldt, P. Xiao, Y. Li, S. Cho, A. Dufour, J. Olivo-Marin, C. Reyes-Aldasoro, J. Solis-Lemus, R. Bensch, T. Brox, J. Stegmaier, R. Mikut, S. Wolf, F. Hamprecht, T. Esteves, P. Quelhas, Ö. Demirel, L. Malström, F. Jug, P. TomanĨák, E. Meijering, A. Muñoz-Barrutia, M. Kozubek, C. Ortiz-de-Solorzano. In: Nature Methods 14 1141-1152, 2017

  2. Bullet"Diverse M-best Solutions by Dynamic Programming.", C. Haubold, V. Uhlmann, M. Unser and F. A. Hamprecht. In: GCPR. Proceedings. Springer. LNCS 10496255-267. 2017

  3. Bullet"Diverse Shortest Paths for Bioimage Analysis.", V. Uhlmann, C. Haubold, F. A. Hamprecht, and M. Unser. In: Bioinformatics. 2017

  4. Bullet"A Generalized Successive Shortest Paths Solver for Tracking Dividing Targets.", C. Haubold, J. Ales, S. Wolf, F. A. Hamprecht. In: ECCV 2016 Proceedings

  5. Bullet"Segmenting and Tracking Multiple Dividing Targets Using ilastik.", C. Haubold, M. Schiegg, A. Kreshuk, S. Berg, U. Köthe, F. A. Hamprecht. In: Focus on Bio-Image Informatics. Springer. 219 199-229, (2016).

  6. Bullet"Proofreading Guidance in Cell Tracking by Sampling from Tracking-by-assignment Models.", M. Schiegg, B. Heuer, C. Haubold, S. Wolf, U. Köthe, F. A. Hamprecht. In: Proceedings of the International Symposium on Biomedical Imaging: From Nano to Macro (ISBI 2015), in press, 2015

  7. Bullet"Graphical Model for Joint Segmentation and Tracking of Multiple Dividing Cells.", M. Schiegg, P. Hanslovsky, C. Haubold, U. Koethe, L. Hufnagel, F. A. Hamprecht. In: Bioinformatics, in press, 2015

  8. Bullet"Semi-Global Matching: a principled derivation in terms of Message Passing". Amnon Drory, Carsten Haubold, Shai Avidan, Fred A. Hamprecht. GCPR 2014

  9. BulletMaster's Thesis: "Out-of-core bidirectional path tracing on a multi-GPU system", 2013. Available on request

  10. Bullet"Ambient Point Clouds for View Interpolation". Michael Goesele, Jens Ackermann, Simon Fuhrmann, Carsten Haubold, Ronnny Klovsky, Drew Steedly, Richard Szeliski. ACM SIGGRAPH 2010

  11. BulletBachelor Thesis: "Path-Tracing on a Heterogeneous Multi-GPU Cluster", 2010. Available on request

In my spare time I have developed several tutorials on rendering, and created a math library as a drop-in replacement for OpenGL's matrix stack that was removed in version OpenGL 3.0.

  1. BulletNeHe OpenGL tutorials

  2. BulletKazmath math library