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

Thomas Reinhardt

Image Processing Developer

Location
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.

Thomas is available for hire
Hire Thomas

Portfolio

Smiths Heimann GmbH Wiesbaden, Germany
GDB, Valgrind, CVS, Eclipse, C++, C, Java, Machine Learning
Swiss Timing/Media Seasons
Eclipse, NVIDIA CUDA, C++, C, Java, Machine Learning
Fokus GmbH Leipzig, Germany
Eclipse, Java, Computer Vision

Experience

Image Processing - 12 yearsComputer Vision - 12 yearsJava - 10 yearsEclipse IDE - 10 yearsMachine Learning - 6 yearsNeural Networks - 6 yearsDeep Learning - 5 years

Location

Heidelberg, Baden-Württemberg, Germany

Availability

Part-time

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

Freelancer

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

Freelancer

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

Freelancer

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
2008 - 2009

Student Research Assistant

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

Trainee

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++

Experience

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.

Skills

Languages

Java, C++, Octave, C, Assembly

Tools

Eclipse IDE, GIS, BibTeX, Open Office, CVS, Git, Mercurial, Subversion (SVN), MATLAB, ANTLR, LaTeX, Apache 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, NVIDIA CUDA

Education

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