Profileimage by Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI from Magdeburg

Philipp Werner

not available until 04/30/2024

Last update: 09.04.2024

Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI

Graduation: PhD Computer Science (Dr.-Ing.) / Diploma Computer Science in Engineering (Dipl.-Ing.-Inf.)
Hourly-/Daily rates: show
Languages: German (Native or Bilingual) | English (Full Professional)

Skills

Overview
  • 24 years programming experience, including 21 years with C++ and C, 7 years with Python, 13 years with Matlab
  • 12 years hand-on experience in computer vision, image processing, and machine learning
  • 11 years research activity (author/co-author of more than 50 scientific publications, which have been cited more than 1900 times)
  • worked on R&D projects for 8 companies

Core skills
  • Computer vision, image processing, video processing, 3D data processing, signal processing
  • Machine learning, deep learning, pattern recognition, data science
  • Software development for Linux, Windows, cross-plattform, microcontrollers
  • Real-time systems, embedded systems, operating system, device drivers
  • Parallelization and optimization of performance
  • Develoment and validation of algorithms and models
  • Research, scientific writing, presentation of results
  • Efficiently storing and processing big data (e.g. > 200 hours of video)
  • Designing and implementing image capturing and processing systems (selecting hardware, synchronizing cameras and other sensors, calibration, development of real-time software)

Programming languages
C++, C, Python, Matlab, Java, C#, Visual Basic, bash

Software development tools
VS Code, Visual Studio, CMake, GNU tools, git, subversion, doxygen, sphinx (docs), vim

Often used models / concepts from computer vision / machine learning / image processing
Convolutional Neural Network (CNN), Support Vector Machine (SVM), decision trees / Random Forests, ensemble methods, transfer learning, multi-label learning, multi-task learning, classification, regression, detection, registration, segmentation, warping, Principal Component Analysis, clustering, tracking, optical flow, camera models, stereo vision, Iterative Closest Point algorithm

Libraries / technologies
OpenCV, Boost, dlib, tensorflow, numpy, pandas, scikit-learn, darknet (neural network framework), pytorch, OpenGL, multithreading, GPU, CUDA, OpenCL, ffmpeg/libav, protobuf, ADTF, Fox Toolkit, QT, wxWidgets, Windows, WinAPI, Linux, Linux device driver, embedded Linux, Xenomai/Linux, microcontroller

Where I have presented my own work internationally
MIT Media Lab
(Boston, USA, 2018) | IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops 2020 (remote) | International Conf. on Image Processing 2017 (Beijing, China), 2014 (Paris, France) und 2012 (Orlando, USA) | British Machine Vision Conf. 2015 (Swansea, UK) und 2013 (Bristol, UK) | Int'l Conf. on Pattern Recognition 2014 (Stockholm, Schweden) | Int'l Conf. on Automatic Face and Gesture Recognition 2019 (Lille, France) | Int'l Conf. on Affective Computing and Intelligent Interaction 2017 (San Antonio, USA) und 2019 (Cambridge, UK) | Universität Uberlândia (Brasil, 2013)

More information including publication list
http://www.nit.ovgu.de/Philipp_Werner.html

Project history

08/2023 - Present
Analyzing, optimizing, and refactoring a complex C++ software project.
aigis Informatik GmbH, Meisterschwanden, Switzerland


09/2022 - 11/2023
Building / extending a data synthesis framework for computer vision
Robert Bosch GmbH / ITK Engineering GmbH (Automotive and vehicle construction, >10.000 employees)

  • Requirements: render realistic camera images with accurate ground truth for automotive computer vision applications, support specific complex camera intrinsic models, multi-camera, and batch processing, and ensure ease of use and installation; ground truth gener­ated: depth, optical flow, position of calibration markers, odometry, semantic segmentation
  • Activities: coordination of requirements, design, implementation, documenta­tion, tests, integration, creating 3D scenes and test configurations
  • Tools: Blender, Python (Blender API, numpy, scipy, sklearn, pandas, click, pytest, sphinx), C++, OpenCV, OpenEXR, Git/GitHub

03/2023 - 09/2023
Sr. Staff AI Scientist (part-time / remote)
Uniphore Technologies Inc., Palo Alto, USA (Internet and Information Technology, 500-1000 employees)

Developing a deep learning model for classifying audio data for Emotion AI, including code for training, testing, real-time inference, data selection and processing (using Python, Tensorflow, Pandas, cloud infrastructure) and conducting experiments for model selection and hyperparameter tuning

09/2022 - 03/2023
Consulting for image based classification of objects with CNN for automated final quality control in a production line
MVI PROPLANT Nord GmbH


01/2022 - 12/2022
Developing computer vision algorithms / consulting
Anonymous company

Image processing, keypoint localization, registration, segmentation and classification with OpenCV, Tensorflow, and sklearn (Python)

04/2022 - 06/2022
Developing a system for classifying audio data
Anonymous company

Using Tensorflow and Python

01/2022 - 04/2022
Developing a system for classifying images and videos
Anonymous company

Using Pytorch, OpenCV, Python and C++

08/2021 - 01/2022
Developing a real-time system for analyzing videos and recognizing events
HEXAGONE SAS / hexagone-ai.com, Strasbourg, France (Internet and Information Technology)

Using state-of-the-art CNN architectures, Tensorflow, Darknet, OpenCV, sklearn, Pandas, C++, and Python


07/2021 - 12/2021
Freelance trainer
LYTiQ GmbH, Düsseldorf, Germany

Giving trainings on Machine Learning and Deep Learning with Python, Tensorflow, Scikit-learn (15 work days)

04/2021 - 08/2021
Finishing my PhD Thesis
Otto-von-Guericke-Universität Magdeburg, Neuro-Information Technology group

I have finished my PhD Thesis on computer vision for recognizing pain and facial action units. I use CNNs, Transfer Learning, Multi-Task-Learning, Multi-Label-Learning, data augmentation, SVM, Random Forest, detection, classification, regression, clustering, camera models, optical flow, image processing, and more in order to analyze huge datasets (hundreds of hours) that some colleagues have collected using the technical infrastructure and tools developed by me in 2012. This included developing and implementing an own file format for efficiently storing and loading Gigabytes of depth data recorded using a Microsoft Kinect sensor and low-level code for reading data from several types of cameras. Further, it included applying camera calibration methods.

07/2020 - 03/2021
Developing a real-time system for object detection / registration and classification / regression of object properties
HEXAGONE SAS / hexagone-ai.com, Strasbourg, France

I have developed a real-time system for object detection, registration as well as classification and regression of object properties (details are subject to confidentiality agreement). According to the customer requirements, I have designed, implemented, and iteratively improved the system based on state-of-the-art CNN architectures in Python and C++ (using Tensorflow, Pandas, OpenCV, Boost). An important part was optimizing and parallelizing the deployment code, for reaching very high frame rates even on CPU.

01/2018 - 12/2020
Research team leader
Otto-von-Guericke-Universität Magdeburg, Neuro-Information Technology group

I have worked on improving the robustness and accuracy of methods for recognizing facial expressions, emotions, pain, body pose, and body gestures (using CNNs, Python, Tensorflow, Matlab, OpenCV, Dlib, Visual Studio, and more). In total I have supervised and worked with 8 colleagues and students.

07/2011 - 12/2017
Research fellow
Otto-von-Guericke-Universität Magdeburg, Neuro-Information Technology group

I have worked on different projects for recognizing facial expressions, pain, and head pose (funded by DFG and BMBF), developing algorithms for analyzing images, videos, 3D data, and biomedicial signals (using C++, Matlab, Python, SVM, Random Forest, specialized features extraction, CNN, Visual Studio). Further, between 2011 and 2015 I have worked on some projects for an automobile corporation (estimating head pose with RGBD sensors or multi-camera systems, and acquiring ground truth with an industrial IMU sensor). Another industry project I have done was a feasibility study for using low-cost RGBD sensors for measuring tire tread depth.

10/2010 - 06/2011
Research assistant
Otto-von-Guericke-Universität Magdeburg, Technical Computer Science group

Developing computer vision software for (a) estimating a vehicle’s ego-motion from camera and (b) recognizing facial expressions (both with C++ / OpenCV).

10/2010 - 03/2011
Diploma Thesis
Otto-von-Guericke-Universität Magdeburg, Embedded Systems and Operating Systems group

I have developed real-time communication channels for a middleware (in C++), working in heterogeneous distributed systems (including 8-bit microcontrollers). My Thesis has been awarded by the “Gesellschaft für Informatik”. http://dx.doi.org/10.13140/2.1.4533.5845

10/2005 - 03/2011
Studying "Computer Science in Engineering"
Otto-von-Guericke-Universität Magdeburg

I have focused on Computer Vision, Image Processing, Embedded Systems, Real-Time Systems, Operating Systems, and Robotics. My final grade was 1.0 (with award). I have done several programming projects, including rectification of stereo camera images with CPU and GPU (parallelization), an adaptive real-time video streaming solution, and controlling a robot using a microcontroller (including reading and processing sensor data and controlling actuators).


10/2008 - 02/2009
Software and driver development for an embedded image processing system (internship and Bachelor Thesis)
Robert Bosch GmbH (>10.000 employees)

Developing a Linux driver and libraries for a Computer Vision acceleration hardware (including deployment in an Embedded Linux System). Further, I have developed a GUI for controlling the hardware using QT.

03/2004 - 06/2004
Student competetion "Bist du schon digital?"

Two friends from school and I built a model of a crossroad including the traffic lights (with LEDs, day/nigh mode, button for pedestrians, and a microcontroller). I have programmed the traffic light control with BASCOM. We won the competition and 1000 EUR.

Local Availability

Only available in these countries: Germany
Before mid of February 2024 only available for hourly Consulting (e.g. remote discussion of AI ideas) Available full-time probably starting mid of February 2024. I prefer 100% remote (with infrequent meeting in person if needed)
Profileimage by Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI from Magdeburg Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI
Register