Thomas Reinhardt, Developer in Heidelberg, Baden-Württemberg, Germany
Thomas is available for hire
Hire Thomas

Thomas Reinhardt

Verified Expert  in Engineering

Image Processing Developer

Heidelberg, Baden-Württemberg, Germany
Toptal Member Since
April 3, 2015

Thomas started programming at the age of 9, and is fascinated by the world of computer vision, AI, and robotics. He has been working as a freelancer for about a decade. His focus is on algorithm development for challenging computer vision and machine learning tasks. He is a great communicator and an enthusiastic developer.



Preferred Environment

Git, Java, Eclipse

The most amazing...

...things I do in my free time are develop computer vision, locomotion, and AI algorithms for autonomous humanoid soccer robots.

Work Experience


2011 - PRESENT
Smiths Heimann GmbH Wiesbaden, Germany
  • Worked on pattern recognition in millimeter-wave/x-ray images.
  • Developed new algorithms for weapons and explosives detection in baggage.
  • Utilized machine learning and deep learning methods.
  • Implemented signal reconstruction and signal filtering.
  • Developed tracking and optical flow.
Technologies: GDB, Valgrind, CVS, Eclipse, C++, C, Java, Machine Learning


2010 - PRESENT
Swiss Timing/Media Seasons
  • Created real-time image-based tracking methods for curling stones (2014 Winter Olympics).
  • Built real-time generic object recognition algorithms in video sequences (alpine skiing, soccer, bobsled, horse riding).
  • Programmed real-time camera pose estimation and tracking using sports pitch markings.
  • Implemented tracking/optical flow using CUDA.
  • Created stable multi-target tracking and trajectory generation.
Technologies: Eclipse, NVIDIA CUDA, C++, C, Java, Machine Learning


2005 - 2012
Fokus GmbH Leipzig, Germany
  • Developed photogrammetry algorithms.
  • Implemented efficient visual feature extraction from high-resolution images.
  • Estimated intrinsic camera parameters from stereo image matching.
  • Reconstructed 3D forms from stereo images.
  • Programmed fast optical marker detection and recognition from high-resolution images.
Technologies: Eclipse, Java, Computer Vision

Student Research Assistant

2008 - 2009
Max Planck Institute for Human Cognitive and Brain Sciences Leipzig, Germany
  • Removed n-D baseline drifts of signals using entropy minimization.
  • Analyzed and filtered volume datasets using magnetic resonance imaging.
  • Completed a bachelor's thesis entitled "Automatic inhomogeneity compensation for magnetic resonance imaging volume datasets of the human brain."
  • Developed a new recursive super resolution algorithm.
  • Conducted statistical evaluation of huge datasets.
Technologies: Subversion (SVN), Eclipse, Java, Qt, C++, C


2006 - 2008
Max Planck Institute for Human Cognitive and Brain Sciences Leipzig, Germany
  • Designed and implemented an behavior experiment with 60 subjects on "Prediction of human decisions."
  • Created statistical analysis and pattern recognition algorithms in human behaviour.
  • Designed and implemented an exhibit for the research summer 2008 in Leipzig.
  • Implemented signal analysis and pattern recognition algorithms.
  • Developed data analysis software for near-infrared spectroscopy of the human brain.
Technologies: Presentations, C++

Nao Team HTWK

RoboCup is an annual international robotics competition founded in 1997. The aim is to promote robotics and AI research by offering a publicly appealing but formidable challenge.

I was the founding member of the Nao Team HTWK, a succesful RoboCup team since 2009 and Vice World Champion 2014 in the Humanoid Soccer Standard Platform League. My primary tasks (aside from teaching students the fascinating world of robotics and AI) are developing algorithms for object detection and tracking, localization, and stable humanoid locomotion.

Visual Tracking System

I developed real-time vision-based tracking algorithms to estimate camera parameters, distinguish background and foreground objects by motion analysis, and track them with subpixel accuracy. A continuous background model is generated and real-time registration and position queries for finding a particular part of the scene are possible. It differs in many ways from other existing solutions and is part of my own image processing library. It's used, for example, for sports video analysis and robotics competitions.


Java, C++, Octave, C, Assembly


Eclipse IDE, GIS, BibTeX, Open Office, CVS, Git, Mercurial, Subversion (SVN), MATLAB, ANTLR, LaTeX, Apache Maven, CMake, Valgrind, GDB


Image Processing, Computer Vision, Machine Learning, Neural Networks, Photogrammetry, Deep Learning, Algorithms, Optimization Algorithms, Robotics, Artificial Intelligence (AI), Xuggler, Doxygen, Presentations


JavaCV, Qt


JCublas, JCuda, EJML, jblas, libsvm, Eigen, OpenCV, LeapSDK, SLF4J


Object-oriented Programming (OOP), Object-oriented Design (OOD), Unit Testing


Linux, Eclipse, NVIDIA CUDA

2009 - 2011

Master's Degree in Computer Science

University of Applied Sciences - Leipzig, Germany

2005 - 2009

Bachelor's Degree in Computer Science

University of Applied Sciences - Leipzig, Germany

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.


Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring