Profilbild von Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI aus Magdeburg

Philipp Werner

nicht verfügbar bis 20.05.2024

Letztes Update: 23.04.2024

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

Abschluss: Dr.-Ing. / Dipl.-Ing.-Inf. (Diplom Ingenieurinformatik)
Stunden-/Tagessatz: anzeigen
Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)

Skills

Überblick
  • 24 Jahre Programmiererfahrung, davon 21 mit C++ und C, 7 Jahre mit Python, 13 Jahre mit Matlab
  • 12 Jahre praktische Erfahrung in Computer Vision, Bildverarbeitung und maschinellem Lernen
  • 11 Jahre Forschungsaktivität (Autor/Koautor von über 50 wissenschaftlichen Publikationen, die mehr als 1900 mal zitiert wurden)
  • Bearbeitung von F&E-Projekten für 8 industrielle Auftraggeber

Kernkompetenzen
  • Computer Vision, Bildverarbeitung, Videoverarbeitung, 3D-Datenverarbeitung, Signalverarbeitung
  • Maschinelles Lernen, Deep Learning, Mustererkennung, Data Science
  • Software-Entwicklung für Linux, Windows, Cross-Plattform, Mikrocontroller
  • Echtzeitsysteme, eingebettete Systeme, Betriebssysteme, Gerätetreiber
  • Parallelisierung und Performance-Optimierung
  • Entwicklung und Validierung von Algorithmen und Modellen
  • Forschung, wissenschaftliches Schreiben, Präsentation von Ergebnissen
  • effiziente Speicherung und Verarbeitung großer Datenmengen (z.B. > 200 Stunden Videomaterial)
  • Konzeption und Realisierung von Bildaufnahme- und Bildverarbeitungssystemen (Auswahl Hardware, Synchronisation von Kameras und anderen Modalitäten, Kalibrierung, Entwicklung echtzeitfähiger Software)

Programmiersprachen
C++, C, Python, Matlab, Java, C#, Visual Basic, bash

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

Oft verwendete Modelle / Konzepte aus Computer Vision / Maschinellem Lernen / Bildverarbeitung
Convolutional Neural Network (CNN), Support Vector Machine (SVM), Entscheidungsbäume / Random Forests, Ensemble-Methoden, Transferlernen, Multi-Label-Learning, Multi-Task-Learning, Klassifikation, Regression, Detektion, Registrierung, Segmentierung, Warping, Principal Component Analysis, Clustering, Tracking, optischer Fluss, Kameramodelle, Stereo Vision, Iterative Closest Point Algorithmus

Bibliotheken / Technologien
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 Treiber, embedded Linux, Xenomai/Linux, Mikrocontroller

International selbst gehaltene Präsentationen zu eigenen Arbeitsergebnisse (in Englisch)
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, Frankreich) 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, Frankreich) | Int'l Conf. on Affective Computing and Intelligent Interaction 2017 (San Antonio, USA) und 2019 (Cambridge, UK) | Universität Uberlândia (Brasilien, 2013)

Weitere Infos inkl. Publikationsliste
http://www.nit.ovgu.de/Philipp_Werner.html

Projekthistorie

08/2023 - bis jetzt
Analyse, Optimierung und Refactoring eines komplexen C++ Software-Projekts
aigis Informatik GmbH, Meisterschwanden, Schweiz


09/2022 - 12/2023
Aufbau / Erweiterung eines Frameworks zur Datensynthese für Computer Vision
Robert Bosch GmbH / ITK Engineering GmbH (Automobil und Fahrzeugbau, >10.000 Mitarbeiter)

  • Anforderungen: Generierung von synthetischen Kamerabildern inkl. Grundwahrheiten für Automotive Computer Vision Anwendungen, Unterstützung spezifischer komplexer Kamera-Intrinsik-Modelle, Multi-Kamera-Unterstützung, Sicherstellung von einfacher Bedienbarkeit und Installation, Stapelverarbeitung, Grundwahrheiten: Tiefe, optischer Fluss, Positionen von Kalibriermarkern, Odometrie, semantische Segmentierung
  • Tätigkeiten: Detailabstimmung von Anforderungen, Design, Implementierung, Dokumentation, Tests, Integration, Erstellung von 3D-Szenen und Konfigurationen für Tests
  • Tools: Blender, Python (Blender API, numpy, scipy, sklearn, pandas, click, pytest, sphinx), C++, Git/GitHub, OpenCV, OpenEXR

03/2023 - 09/2023
Sr. Staff AI Scientist (part-time / remote)
Uniphore Technologies Inc., Palo Alto, USA (Internet und Informationstechnologie, 500-1000 Mitarbeiter)

Entwicklung eines Deep Learning Modells zur Klassifikation von Audio-Daten für Emotions-KI, mit Programmierung für Training, Test, Echtzeit-Inferenz, Datenauswahl und -verarbeitung (mit Python, Tensorflow, Pandas, Cloud-Infrastruktur) sowie Durchführung von Experimenten zu Modellauswahl und der Optimierung von Hyperparametern

09/2022 - 03/2023
Beratung für bildbasierte Klassifikation von Objekten mit CNN für automatisierte Qualitätsendkontrolle in einer Produktionslinie
MVI PROPLANT Nord GmbH


01/2022 - 12/2022
Entwicklung von Computer-Vision-Algorithmen / Beratung
Anonymous

Bildverarbeitung, Punktlokalisierung, Registrierung, Segmentierung und Klassifikation mit OpenCV, Tensorflow und sklearn (Python)

04/2022 - 06/2022
Entwicklung eines Systems zur Klassifikation von Audiodaten
Anonymes KI-Startup

Nutzung von Tensorflow und Python

01/2022 - 04/2022
Entwicklung eines Systems zur Klassifikation von Bildern und Videos
Anonymes KI-Startup

  • Nutzung von Pytorch, OpenCV, Python und C++

08/2021 - 01/2022
Entwicklung eines Echtzeitsystems zur Analyse von Videos und Erkennung von Ereignissen
HEXAGONE SAS / hexagone-ai.com, Strasburg, Frankreich (Internet und Informationstechnologie)

  • Nutzung von CNN-Architekturen des aktuellen Standes der Technik
  • Verwendung von Tensorflow, Darknet, OpenCV, sklearn, Pandas, C++ und Python

07/2021 - 12/2021
Freiberuflicher Trainer
LYTiQ GmbH, Düsseldorf (Internet und Informationstechnologie)

Trainer für Schulungen zu Machine Learning und Deep Learning mit Python, Tensorflow, Scikit-learn (15 Arbeitstage)


04/2021 - 08/2021
Fertigstellung meiner Doktorarbeit im Bereich Computer Vision
Otto-von-Guericke-Universität Magdeburg, AG Neuro-Informationstechnik (1000-5000 Mitarbeiter)

Thema: "Automatisierte bild- und videobasierte Mimikanalyse für die Messung von Schmerzen und Facial Action Units"
Ich nutze u.a. CNNs, Transferlernen, Multi-Task-Lernen, Multi-Label-Lernen, Augmentierung, SVM, Random Forest, Detektion, Klassifikation, Regression, Clustering, Kameramodelle, optischen Fluss und Methoden der Bildverarbeitung um große Datensätze zu analysieren (hunderte Stunden Video), die Kollegen mit technischer Infrastruktur und Software aufgezeichnet haben, die ich zuvor entwickelt habe. Hierzu gehörte auch low-level-Code zum Betrieb verschiedener Kameras.


07/2020 - 03/2021
Entwicklung von Echtzeitsystem zur Objektdetektion und -registrierung sowie Klassifikation und Regression von Objekteigenschaften
HEXAGONE SAS / hexagone-ai.com, Strasburg, Frankreich (Internet und Informationstechnologie)

  • Technische Konzeption, Implementierung und iterative Verbesserung des Systems basierend auf Kundenanforderungen
  • Deep Learning: Programmierung und Training von CNNs (Architekturen des Standes der Technik)
    • Nutzung von C++ / Darknet und Python / Tensorflow
    • Multi-Label-Klassifikation und -Regression
  • Umsetzung von Programm zum Deployment der CNNs in C++ unter Nutzung von u.a. OpenCV, Boost
    • Optimierung und Parallelisierung der Datenverarbeitungspipeline mit Multi-Threading
    • Erfüllung von (weichen) Echtzeitanforderungen mit sehr hohen Frameraten auch ohne GPU (auf CPU)

01/2018 - 12/2020
Nachwuchsforschungsgruppenleiter "Human Behavior Analysis"
Otto-von-Guericke-Universität Magdeburg, AG Neuro-Informationstechnik (1000-5000 Mitarbeiter)

  • Forschung zur Verbesserung der Robustheit und Genauigkeit von Methoden zur Mimik-, Emotions-, und Schmerzerkennung, Körperposeschätzung, Erkennung von Gesten und Aktivitäten
  • Anleitung von und Zusammenarbeit mit 8 Mitarbeitern und Studenten (über den Gesamtzeitraum)
  • Training und Evaluierung von CNNs, Transferlernen, Multi-Label-Learning, Multi-Task-Learning, Self-Training, Optimierung von Hyperparametern, Weiterentwicklung von Erkennungsalgorithmen
  • Programmierung Python, Tensorflow, C++, OpenCV, dlib, Matlab
  • Zweiter Platz in EmotionNet 2020 Challenge zu Facial Action Unit recognition in the wild (Abstand von nur 0,05% zum Gewinner aber 5,9% zum Drittplatzierten)
    • Video zum CVPRW paper: https://www.youtube.com/watch?v=azMB9lOjcL4
  • Mehr: http://www.nit.ovgu.de/Philipp_Werner.html

07/2011 - 12/2017
Wissenschaftlicher Mitarbeiter
Otto-von-Guericke-Universität Magdeburg, AG Neuro-Informationstechnik (1000-5000 Mitarbeiter)

  • Bearbeitung von Forschungsprojekten zur automatischen Mimikerkennung, Kopfposeschätzung und Schmerzerkennung (gefördert von DFG und BMBF)
  • Entwicklung von Algorithmen zur Analyse von Bildern, Videos, 3D-Daten und Biosignalen
  • Implementierung von Algorithmen in C++, Matlab und Python
  • Anwendung von maschinellem Lernen, überwiegend SVM und Random Forest, später auch CNNs
  • Entwicklung spezialisierter Merkmalsextraktion für kleine Datensätze (wo CNNs nicht optimal funktionieren)
  • Bearbeitung von Projekten zur Schätzung der Kopfpose des Fahrer für einen Automobilkonzern (C++, ADTF, OpenCV, auf Basis von RGBD-Sensoren und Multi-Kamera-Systemen), mehrere Teilprojekte in 2011 bis 2015
  • Bearbeitung einer Machbarkeitsstudie zur Messung von Reifenprofiltiefen mittels kostengünstiger RGBD-Sensoren für eine Werkstatttechnik-Firma
  • Entwicklung von echtzeitfähiger Software für multimodale synchrone Datenaufnahme mehrerer Kameras und anderer Signale, inkl. Videokompression

10/2010 - 06/2011
Weiterentwicklung von Bildverarbeitungsalgorithmen (Wissenschaftliche Hilfskraft)
Otto-von-Guericke-Universität Magdeburg, AG Technische Informatik

  • Schätzung der Eigenbewegung eines Fahrzeugs anhand von Optical Flow
  • Anwendung und Vergleich von Lucas-Kanade-Tomasi-Feature-Tracker und SURF-basierten Feature-Tracking (Software implementiert in C++ mit OpenCV)
  • Software-Entwicklung für Mimikerkennung (C++, OpenCV)

10/2010 - 03/2011
Echtzeitkommunikationskanäle für die FAMOUSO-Middleware (Diplomarbeit)
Otto-von-Guericke-Universität Magdeburg, AG "Embedded Systems and Operating Systems"

Konzeption, Implementierung und Evaluierung von Kommunikationskanälen mit harten Echtzeitanforderungen für verteilte Echtzeitsysteme
  • Umsetzung für CAN und dediziertes Ethernet
  • Uhrensynchronisation
  • Netzwerkzugriff durch TDMA geregelt
  • Dynamische Planung und Reservierungsprotokoll
  • stark konfigurierbare und ressourcenoptimierte Implementierung in C++ unter Nutzung von Templates (erlauen Composability-Checks zur Compile-Zeit sowie weitreichende Optimierung des Programmcodes)
  • Test der Implementierung unter Xenomai/Linux (PC) und auf einem 8-bit AVR-Mikrocontroller (mit 4 Kilobyte RAM)
  • Auszeichnung der Diplomarbeit durch den Fachausschuss Echtzeitsysteme der Gesellschaft für Informatik
Diplomarbeit: http://dx.doi.org/10.13140/2.1.4533.5845
Paper: https://link.springer.com/chapter/10.1007/978-3-642-33707-9_14
FAMOUSO Quellcode (C++): http://famouso.sourceforge.net/

10/2005 - 03/2011
Studium Ingenieurinformatik (Diplom 1,0 mit Auszeichnung)
Otto-von-Guericke-Universität Magdeburg

Schwerpunkte: Echtzeitsysteme, Eingebettete Systeme, Computer Vision, Betriebssysteme, Robotik

Anwendungsfach: Elektrotechnik

Software-Entwicklungsprojekte:
  • Steuerung eines Roboters mit Differentialantrieb durch ein Labyrinth (8-bit AVR Mikrocontroller programmiert mit C++),  Auslesen von Infrarot-, Ultraschall- und Odometrie-Sensoren, Ansteuerung der Motoren, Implementierung eines Wegfindealgorithmus
  • Entwicklung einer C++ Hardware-Abstraktionsbibliothek für Mikrocontroller mit minimalen Resourcenanforderungen
  • Entwicklung und Implementierung eines adaptiven Fragmentierungsprotokolls für die Middleware FAMOUSO (C++)
  • Konzeption und Implementierung eines Echtzeit-Videostreaming (Live-Webcam) über ein Wireless Mesh Network mit niedriger Latenz; automatische Regelung der Bildqualität auf Basis der verfügbaren Bandbreite und Datenverluste (C++, Nutzung von libv4l, libpgf, FAMOUSO)
  • Implementierung von inverser Kinematik und anderen Funktionen für einen simulierten Industrieroboter mit 6 Achsen (in C#)
  • Entwicklung einer KI für das Spiel Dame (in Java)

12/2009 - 01/2010
Rektifizierung von Stereo-Kamerabildern mit CPU und GPU
Otto-von-Guericke-Universität Magdeburg, AG Technische Informatik

  • Implementierung in C++ (CPU)
  • Implementierung einer parallelisierten Version für GPU in OpenCL
  • Validierung

10/2008 - 02/2009
Software- und Treiberentwicklung für ein eingebettetes Bildverarbeitungssystem (Praktikum, Bachelor-Arbeit)
Robert Bosch GmbH (>10.000 Mitarbeiter)

  • Entwicklung eines Linux-Treiber für eine PCI-E FPGA-Beschleunigerkarte (inkl. DMA, Interrupts, parallelem Zugriff mehrerer Prozesse)
  • Entwicklung einer User-Space-Bibliothek und von Testanwendungen (inkl. GUI mit QT)
  • Implementierung in Programmiersprache C
  • Inbetriebnahme der FPGA-Karte und Software in Embedded Linux System
  • XSLT-basierte Codegenerierung (VHDL, C++, Matlab, Dokumentation) für Treiber- und Hardware-Interfaces (sowie Testcode) für einfache Einbindung der Hardwarebeschleunigung für Anwendungsentwickler und vereinfachte Spezifikation für FPGA-Entwickler

03/2004 - 06/2004
Teilnahme am Schülerwettbewerb „Bist du schon digital?!“ - Gewinner!

Zwei Schulfreunde und ich bauen die Ampelanlage einer Kreuzung unserer Heimatstadt im Modell nach, mit LEDs, Fußgängerbedarfstaster, Tag-/Nachtmodus und Steuerung durch einen Mikrocontroller. Ich programmiere die Ampelsteuerung im Mikrocontroller mit BASCOM. Wir werden mit zwei weiteren Finalisten an die Universität Magdeburg zur Vorstellung unseres Projektes eingeladen, gewinnen und erhalten ein Preisgeld von 1000 EUR.

Reisebereitschaft

Verfügbar in den Ländern Deutschland
Bis Mitte Februar 2024 nur verfügbar für stundenweises Consulting (z.B. remote Diskussion von KI-Ideen) Verfügbar ab Mitte Februar 2024, bevorzugt 100% remote (mit gelegentlichen Treffen wenn nötig)
Profilbild von Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI aus Magdeburg Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI
Registrieren