Philipp Werner teilweise verfügbar

Philipp Werner

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

teilweise verfügbar
Profilbild von Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI aus Magdeburg
  • 39106 Magdeburg Freelancer in
  • Abschluss: Diplom Ingenieurinformatik (Dipl.-Ing.-Inf.)
  • Stunden-/Tagessatz: nicht angegeben
  • Sprachkenntnisse: deutsch (Muttersprache) | englisch (verhandlungssicher)
  • Letztes Update: 26.07.2021
SCHLAGWORTE
PROFILBILD
Profilbild von Philipp Werner Machine Learning Engineer, Software Developer | Computer Vision, Data Science, AI aus Magdeburg
SKILLS
Überblick
  • 21 Jahre Programmiererfahrung, davon 18 mit C++ und C, 4 Jahre mit Python, 10 Jahre mit Matlab
  • 9 Jahre praktische Erfahrung in Computer Vision, Bildverarbeitung und maschinellem Lernen
  • 9 Jahre Forschungsaktivität (Autor/Koautor von über 40 wissenschaftlichen Publikationen, die mehr als 750 mal zitiert wurden)
  • Bearbeitung von F&E-Projekten für 3 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)

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

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

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), 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.iikt.ovgu.de/Philipp_Werner.html
PROJEKTHISTORIE
  • 07/2020 - 03/2021

    • (KI-Startup)
    • < 10 Mitarbeiter
    • Internet und Informationstechnologie
  • Entwicklung von Echtzeitsystem zur Objektdetektion und -registrierung sowie Klassifikation und Regression von Objekteigenschaften
    • Technische Konzeption des Systems basierend auf Kundenanforderungen
    • Deep Learning: Programmierung und Training von CNNs
      • Anpassung von YOLOv4 zur kombinierten Objektdetektion und -registrierung (Trainingscode in C++ / Darknet)
      • Anpassung von MobileNetV3 zur Multi-Label-Klassifikation und -Regression von Objekteigenschaften (Trainingscode in Python / Tensorflow)
    • Umsetzung von Programm zum Deployment der CNNs
      • Implementierung in C++ unter Nutzung von OpenCV, Boost, Protobuf
      • Parallelisierung der Datenverarbeitungspipeline mit Multi-Threading
      • Erfüllung von (weichen) Echtzeitanforderungen:
        • GPU: 160 Frames / Sekunde
        • CPU: 45 Frames / Sekunde

  • 01/2018 - 12/2020

    • Otto-von-Guericke-Universität Magdeburg, AG Neuro-Informationstechnik
    • 1000-5000 Mitarbeiter
  • Nachwuchsforschungsgruppenleiter "Human Behavior Analysis"
    • 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.iikt.ovgu.de/Philipp_Werner.html

  • 07/2011 - 12/2017

    • Otto-von-Guericke-Universität Magdeburg, AG Neuro-Informationstechnik
    • 1000-5000 Mitarbeiter
  • Wissenschaftlicher 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

    • Otto-von-Guericke-Universität Magdeburg, AG Technische Informatik
  • Weiterentwicklung von Bildverarbeitungsalgorithmen (Wissenschaftliche Hilfskraft)
    • 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

    • Otto-von-Guericke-Universität Magdeburg, AG "Embedded Systems and Operating Systems"
  • Echtzeitkommunikationskanäle für die FAMOUSO-Middleware (Diplomarbeit)
  • 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

    • Otto-von-Guericke-Universität Magdeburg
  • Studium Ingenieurinformatik (Diplom 1,0 mit Auszeichnung)
  • 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

    • Otto-von-Guericke-Universität Magdeburg, AG Technische Informatik
  • Rektifizierung von Stereo-Kamerabildern mit CPU und GPU
    • Implementierung in C++ (CPU)
    • Implementierung einer parallelisierten Version für GPU in OpenCL
    • Validierung

  • 10/2008 - 02/2009

    • Robert Bosch GmbH
    • >10.000 Mitarbeiter
  • Software- und Treiberentwicklung für ein eingebettetes Bildverarbeitungssystem (Praktikum, Bachelor-Arbeit)
    • 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.

ZEITLICHE UND RÄUMLICHE VERFÜGBARKEIT
Bis November 2021 nur verfügbar für stundenweises Consulting (z.B. remote Diskussion von KI-Ideen)
Vollzeit verfügbar ab November 2021, bevorzugt 100% remote (mit gelegentlichen Treffen wenn nötig)
KONTAKTANFRAGE VERSENDEN

Nachricht:

Absenderdaten:

WEITERE PROFILE IM NETZ