Maschinelles Lernen

Wir sind ein engagiertes Team, das sich mit Leidenschaft den Bereichen maschinelles Lernen, Bildverarbeitung und Robotik widmet. Unser Fokus liegt dabei auf den spannenden Themenfeldern der Bildverarbeitung, insbesondere Tracking und Detektion, der Robotik mit Schwerpunkt auf Reinforcement Learning (RL) für Fortbewegung und Manipulation sowie dem Einsatz von Modellen des Maschinellen Lernens auf eingebetteten Systemen. Dabei arbeiten wir sowohl an autonom fahrenden als auch an laufenden Robotersystemen.

In der Bildverarbeitung nutzen wir fortschrittliche Algorithmen und Techniken, um Objekte in Echtzeit zu verfolgen und zu erkennen. Durch den Einsatz von modernen Computer Vision Methoden sind unsere Systeme in der Lage, komplexe visuelle Daten zu analysieren und zu interpretieren.

In der Robotik konzentrieren wir uns auf das Gebiet des Reinforcement Learning. Hierbei ermöglichen wir unseren Robotern, autonom zu lernen und ihre Bewegungsabläufe sowie Manipulationsfähigkeiten zu verbessern. Wir setzen Reinforcement Learning sowohl für fahrende Systeme als auch laufende Roboter ein, die in verschiedenen Umgebungen agieren können.

Unser Team vereint Fachwissen aus den Bereichen Künstliche Intelligenz, Robotik und Bildverarbeitung, um innovative Lösungen zu entwickeln. Unser Ziel ist es, die Möglichkeiten dieser faszinierenden Technologien zu erweitern und praktisch umsetzbare Ergebnisse zu erzielen.

Multi-Object Tracking

Multi-Object Tracking (Mehrobjektverfolgung) ist eine fortschrittliche Technik in der Bildverarbeitung, die es ermöglicht, mehrere Objekte in einer Szene über die Zeit hinweg zu verfolgen und ihre Bewegungen zu analysieren. Diese Methode findet in verschiedenen Anwendungsgebieten Anwendung, darunter auch die Optimierung logistischer Abläufe im 24/7-Betrieb.

Im logistischen Bereich ist es oft von großer Bedeutung, den genauen Standort und die Bewegungen von verschiedenen Entitäten wie Fahrzeugen, Paketen oder Waren zu verfolgen. Mithilfe des Multi-Object  Tracking können diese kontinuierlich überwacht werden, um eine präzise und zuverlässige Lokalisierung und Verfolgung in Echtzeit zu gewährleisten . Dadurch können Betriebsabläufe optimiert werden, indem beispielsweise Engpässe erkannt, Routen geplant oder die Effizienz von Lagerhaltungssystemen verbessert wird.

Die Multi-Object Tracking-Algorithmen basieren auf fortschrittlichen Computer Vision-Techniken wie Objekterkennung und Bewegungsschätzung. Zunächst werden die Objekte in einem Videostream oder einer Bildsequenz erkannt und lokalisiert. Anschließend wird die Verfolgung der erkannten Objekte über mehrere Frames hinweg ermöglicht, indem ihre Bewegungen durch Methoden wie Kalman Filter geschätzt werden. Dies geschieht oft unter Berücksichtigung von zusätzlichen Informationen wie Geschwindigkeit, Form oder Größe der Objekte.

Die Anwendung von Multi-Object Tracking im logistischen Bereich bietet eine Vielzahl von Vorteilen. Dazu gehören eine verbesserte Echtzeitüberwachung, die Identifizierung von Engpässen oder unerwarteten Verzögerungen, die Optimierung von Liefer- und Transportrouten sowie die Steigerung der Effizienz bei der Lagerverwaltung. 

Zudem erlauben unsere Ansätze auch den Einsatz vieler Kameras, um die Genauigkeit zu verbessern. Während Verdeckungen bei nur einer Kamera zu einer Verschlechterung führen können, ist bei mehreren Kameras das Objekt meist noch in mindestens einer zu sehen. Durch spezielle Hand-Over Verfahren kann die Verfolgung dann von einer zur nächsten Kamera übergeben werden, so dass Lücken in der Verfolgung vermieden werden können. 

Autonome Mobile Roboter

Die Fortbewegung von mobilen Robotern stellt eine anspruchsvolle Aufgabe dar, insbesondere wenn es um die präzise Ausführung von Bewegungsabläufen geht. Die Dynamik des Roboters spielt hierbei eine wichtige Rolle, da sie Effekte wie Rutschen oder Instabilität bei schnellen Kurvenfahrten mit sich bringen kann. Um solche Herausforderungen zu bewältigen, integrieren wir maschinelles Lernen in die Planung, um eine präzise Ausführung trotz dieser Effekte zu ermöglichen.

Durch den Einsatz von maschinellem Lernen können wir das Verhalten des Roboters und seine Reaktionen auf unterschiedliche dynamische Bedingungen besser verstehen und modellieren. Hierbei werden Methoden des Reinforcement Learning eingesetzt, bei denen der Roboter durch Interaktion mit seiner Umgebung lernt, geeignete Bewegungsabläufe zu wählen, um das gewünschte Ziel zu erreichen. Durch kontinuierliches Training und Feedback lernt der Roboter, wie er seine Bewegungen an die spezifischen Anforderungen und Einschränkungen anpassen kann.

Bei der Planung der Bewegungsabläufe berücksichtigen wir die physikalischen und insbesondere dynamischen Eigenschaften des Roboters, um sicherzustellen, dass die gewünschten Bewegungen präzise und stabil ausgeführt werden. Hierbei werden physikalische Modelle und dynamische Einschränkungen verwendet, um die Machbarkeit der geplanten Bewegungen zu überprüfen. Durch den Einsatz von maschinellem Lernen können wir jedoch über die rein physikalischen Modelle hinausgehen und auch die nichtlinearen Effekte der Dynamik berücksichtigen.

Manipulation

Grasping, also das Greifen von Objekten, ist eine zentrale Fähigkeit von Robotern in der Manipulation von Objekten. Insbesondere bei der Anwendung von Reinforcement Learning und der Verwendung von Punktewolken eröffnen sich neue Möglichkeiten, um effektive Greifstrategien zu entwickeln.

Punktewolken sind 3D-Daten, die eine Szene oder ein Objekt repräsentieren. Sie werden häufig mit Hilfe von Sensoren wie beispielsweise 3D-Kameras oder Lidar-Systemen erfasst. Durch die Verwendung von Punktewolken erhalten die Verfahren detaillierte Informationen über die Umgebung und die Objekte, die sie greifen möchten. 

Reinforcement Learning (RL) ist eine Methode des maschinellen Lernens, bei der ein Agent durch Interaktion mit seiner Umgebung lernt, geeignete Aktionen auszuführen, um ein bestimmtes Ziel zu erreichen. Beim Grasping mittels RL wird der Roboter dazu trainiert, die bestmögliche Greifstrategie zu erlernen, indem er Punktewolken verwendet, um relevante Informationen über die Form, Position und Orientierung der Objekte zu extrahieren. 

Der RL-Agent führt dabei wiederholt Greifaktionen durch und erhält Rückmeldungen in Form von Belohnungen oder Bestrafungen, abhängig davon, wie erfolgreich der Greifvorgang war. Durch dieses iterative Lernen verbessert der Agent seine Greifstrategien im Laufe der Zeit und entwickelt präzisere und effektivere Bewegungen.

Dies ermöglicht Anwendungen in verschiedenen Bereichen wie der industriellen Automatisierung, Logistik oder Haushaltsrobotik, bei denen präzise und zuverlässige Greifaktionen erforderlich sind.

Roboterschwärme

Autonom fahrende Roboter in Schwärmen sind eine faszinierende Anwendung, bei der mehrere mobile Roboter zusammenarbeiten, um gemeinsame Ziele zu erreichen. Ein besonders interessanter Ansatz besteht darin, Reinforcement Learning einzusetzen, um die Roboter autonom und kollisionsfrei zu ihren Zielen navigieren zu lassen, ohne dass sie miteinander kommunizieren müssen.

Die Verwendung von RL ermöglicht es den Robotern, durch Erfahrung und Interaktion mit ihrer Umgebung zu lernen, wie sie ihre Aktionen anpassen können, um sicher und effizient zu navigieren. Indem sie Belohnungen basierend auf ihren Aktionen erhalten, lernen die Roboter, wie sie Hindernissen ausweichen und kollisionsfrei zu ihren Zielen gelangen können. 

Der entscheidende Aspekt bei der Schwarmnavigation besteht darin, dass die Roboter nicht direkt miteinander kommunizieren müssen, um koordinierte Bewegungen auszuführen. Stattdessen basiert ihr Verhalten auf individuellen Beobachtungen (Messungen mit Hilfe der Sensoren) und Entscheidungen. Jeder Roboter nimmt seine Umgebung wahr, erfasst Informationen über Hindernisse, Ziele und andere Roboter und verwendet diese Informationen, um seine Aktionen zu planen.

Durch den Einsatz von RL werden die Roboter dazu trainiert, individuell optimale Bewegungen auszuführen, wobei sie die Kollisionsfreiheit berücksichtigen. Sie lernen, wie Hindernissen ausgewichen und gleichzeitig effiziente Routen zu ihren Zielen gefunden werden können. Durch wiederholtes Training und Erfahrung verbessern die Roboter ihre Navigationsfähigkeiten und entwickeln Strategien, um komplexe Szenarien mit mehreren Robotern zu bewältigen.

Die Vorteile der Verwendung von RL-basierten Schwärmen liegen in der Skalierbarkeit und Flexibilität des Systems. Da die Roboter nicht auf Kommunikation und dadurch auf keine zentrale Infrastruktur angewiesen sind, können sie autonom und dezentral agieren, was die Skalierbarkeit auf eine größere Anzahl von Robotern ermöglicht. Darüber hinaus ermöglicht die individuelle Anpassung der Bewegungen eine flexible und robuste Navigation in komplexen Umgebungen.

Fahrende Roboter in Schwärmen, die RL zur kollisionsfreien Navigation einsetzen, finden Anwendung in verschiedenen Bereichen, wie zum Beispiel der Logistik, der Überwachung von Umgebungen oder der Teamarbeit in der Robotik. Durch die autonome und kooperative Navigation können Roboter effizient arbeiten und Aufgaben in dynamischen und anspruchsvollen Umgebungen bewältigen.

Compiler für Maschinelles Lernen

Machine Learning (ML)-Compiler sind spezialisierte Werkzeuge, die entwickelt wurden, um trainierte Modelle aus dem Bereich des maschinellen Lernens in ausführbaren Code zu übersetzen. Hauptziel ist es, die Ausführung der Modelle für diverse Hardwareplattformen zu optimieren.

Der Prozess des Übersetzens von ML-Modellen umfasst mehrere Schritte. Zunächst wird das trainierte Modell analysiert, um seine Struktur und die verwendeten mathematischen Operationen zu verstehen. Anschließend wird dieser Code analysiert und optimiert, um eine effiziente Ausführung auf der Zielhardware zu ermöglichen. Die Optimierungen können verschiedene Techniken umfassen, wie zum Beispiel das Vereinfachen von Berechnungen, das Entfernen redundanter Operationen oder das Neuanordnen von Code, um die Speicherzugriffe zu optimieren. Das Ziel ist es, Code zu erzeugen, der die Berechnungen des Modells mit minimalen Ressourcenanforderungen und maximaler Geschwindigkeit ausführt.

Ein weiterer wichtiger Aspekt der ML-Compiler ist die Unterstützung verschiedener Hardwareplattformen. Die Compiler müssen in der Lage sein, den optimierten Code an die spezifischen Eigenschaften der Zielplattform anzupassen, wie zum Beispiel den zur Verfügung stehenden Speicher oder die Unterstützung von bestimmten Instruktionssätzen. Nur dadurch kann eine optimale Ausführung des Modells auf der Zielhardware gewährleistet werden.

Des Weiteren ermöglichen ML-Compiler eine effiziente Ausführung des Modells auf unterschiedlichen Hardwareplattformen ohne die Notwendigkeit von umfangreichen Frameworks. Ein maßgeblich am IML entwickelte Komponente ermöglicht die Übersetzung der Modelle in die Programmiersprache C und C++, um eine einfache Bereitstellung auf verschiedensten Hardwareplattformen zu ermöglichen. Dies erlaubt auch die Integration des Modells in bestehende Systeme und Anwendungen, die in C, C++ oder anderen Sprachen entwickelt wurden. Insbesondere der Einsatz von ML-Modellen auf eingebetteten Systemen mit beschränkten Ressourcen steht hierbei im Vordergrund.

In diesem Bereich beteiligen wir uns aktiv an den Open-Source-Entwicklungen des LLVM Compiler-Infrastruktur-Projekts, des von Google initiierten OpenXLA ML-Compiler Ecosystems. Ebenso stellen wir eigene Entwicklungen als Open-Source-Software zur Verfügung.