Thomas Reinhardt, Image Processing Developer in Heidelberg, Baden-Württemberg, Germany
Thomas Reinhardt

Image Processing Developer in Heidelberg, Baden-Württemberg, Germany

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.
Thomas is now available for hire




Heidelberg, Baden-Württemberg, Germany



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.


  • Freelancer

    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
  • Freelancer

    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, CUDA, C++, C, Java, Machine Learning
  • Freelancer

    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
  • Trainee

    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.


  • Languages

    Java, C++, Octave, C, Assembly
  • Tools

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

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

    JavaCV, Qt
  • Libraries/APIs

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

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

    Linux, Eclipse, CUDA


  • Master's Degree in Computer Science
    2009 - 2011
    University of Applied Sciences - Leipzig, Germany
  • Bachelor's Degree in Computer Science
    2005 - 2009
    University of Applied Sciences - Leipzig, Germany

To view more profiles

Join Toptal
Share it with others