I am Carsten Haubold, a scientific software developer 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.
After I finished my PhD in 2017, I continued my work on the iPhone photography and image processing app ProCamera part-time. Next to that I worked as a freelancer on the data analysis workflow tool KNIME. In May 2019 I joined Dassault Systèmes, or more precisely, former CST, in the tetrahedral meshing team. My main reason to switch was to feel more as part of a team again - in the two previous projects I was mostly working remotely, while a large part of the team was on-site. The CST office is in Darmstadt where I live, hence that worked our fine for about a year... until COVID-19 .
But hey, this time we're all in the same boat and everyone works from home, which is actually a nice experience.
In my spare time I am often outside running, cycling, swimming, hiking, snowboarding, and trying to take good photos and videos of these actions. I also enjoy playing electric guitar and composing songs with my band.
Software Development Manager - Dassault Systèmes, Darmstadt, Germany (since May 2019)
- Develop meshing techniques that are robust to modeling inacurracies and problems stemming from conversions between different CAD kernels, fulfilling the needs of electromagnetic simulation solvers
- Generalize tetrahedral mesher for electromagnetic simulations from ACIS to CGM, requiring substantial refactoring efforts
Software Developer - KNIME GmbH, Konstanz, Germany (Feb 2018-April 2019)
- Prototype for tensor processing, allowing partial and lazy processing of very large tensors of data
Graphics Programmer - Cocologics, Mannheim, Germany (Jan 2018-April 2019)
- Research prototypes for automatic perspective correction, panorama capture and depth editing
- Using the latest iOS features to improve the image editing performance
Graphics Programmer - Cocologics, Mannheim, Germany (Oct 2010-Nov 2013)
- Realization of an OpenGL image processing pipeline for iOS devices, exploiting the GPU. Published in the iPhone app ProCamera.
- Research project to perform real multi-exposure HDR photography on the iPhone.
Research assistant - TU Darmstadt, Prof. Michael Gösele (Mar 2009-Aug 2013)
- Developed a framework for automatic distribution of NVIDIA CUDA jobs to a cluster
- Tutored and assisted in the lecture "Programming Massively Parallel Processors"
- Implementation 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)
- Taught 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)
- Supported the R&D team with the development of a bookshelf visualization in OpenGL on iOS and Android
Technical Editor - Course PTR (Fall 2008)
- Supervised 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)
Moderator - Gamedev.net's NeHe Forums (since 2006)
- Active member of the NeHe OpenGL Forums
- published several iOS tutorials on NeHe
Dr. rer. nat., University of Heidelberg, with Prof. Fred A. Hamprecht, 2013-2017
- Invented an approximative solver for the discrete optimization problem in multi-object-tracking with dividing targets based on network flows.
- Tutored the lecture “Basics of Modern Image Analysis”, including Neural Networks
- Core 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.
- Supported by a stipend of the Heidelberg Graduate School of Mathematical and Computational Methods for the Sciences
- Attended 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
- Modules included: Computer Graphics, Computer Vision, Digital Image Processing, Capturing Reality, Programming Massively Parallel Processors, Machine Learning
- studied two semesters (Feb - Nov 2011) at QUT Brisbane, Australia
B.Sc. in Computer Science, TU Darmstadt, 2007-2010
- "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
- "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
- "Diverse Shortest Paths for Bioimage Analysis.", V. Uhlmann, C. Haubold, F. A. Hamprecht, and M. Unser. In: Bioinformatics. 2017
- "A Generalized Successive Shortest Paths Solver for Tracking Dividing Targets.", C. Haubold, J. Ales, S. Wolf, F. A. Hamprecht. In: ECCV 2016 Proceedings. Poster
- "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).
- "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), 2015
- "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, 2015
- "Semi-Global Matching: a principled derivation in terms of Message Passing". Amnon Drory, Carsten Haubold, Shai Avidan, Fred A. Hamprecht. GCPR 2014
- Master's Thesis: "Out-of-core bidirectional path tracing on a multi-GPU system", 2013. Available on request
- "Ambient Point Clouds for View Interpolation". Michael Goesele, Jens Ackermann, Simon Fuhrmann, Carsten Haubold, Ronnny Klovsky, Drew Steedly, Richard Szeliski. ACM SIGGRAPH 2010
- Bachelor Thesis: "Path-Tracing on a Heterogeneous Multi-GPU Cluster", 2010. Available on request