Ein Teil der KI-Technologie kommt aus Bereichen, in denen man sie nicht erwarten würde. Diffusionsmodelle sind beispielsweise aus Anwendungen im Bereich der fotorealistischen Darstellung hervorgegangen. Die Flexibilität vieler dieser Modelle macht es jedoch leicht, neue Anwendungen für sie zu finden, zum Beispiel um rechnerisch effizientere und dennoch genauere Annäherungen an komplexe Strömungsvorgänge zu liefern. Diese Flexibilität macht die Systeme einem viel größeren Nutzerkreis zugänglich und kann sie in bestimmten Umgebungen sogar reaktionsfähiger machen.
Ein Beispiel mit direktem Bezug zu Embedded-Controllern und Robotik stammt aus einem Wettbewerb, den Google 2023 auf Kaggle startete. Das Unternehmen suchte nach KI-Modellen, die von Kameras erfasste Handzeichen zuverlässig in Text übersetzen können. Um die Teilnehmer bei der Entwicklung ihrer Lösungen zu unterstützen, stellte Google einen Datensatz mit drei Millionen Zeichen aus dem Fingeralphabet der amerikanischen Gebärdensprache (ASL) zur Verfügung.
Eines der Ziele des Kaggle-ASL-Projekts war die Vereinfachung der Interaktion mit Geräten wie Smartphones, von denen viele über eingebaute Beschleuniger verfügen, die weit verbreitete KI-Sprachen wie Tensorflow Lite und PyTorch unterstützen. Fingerbuchstaben sind nur ein Teil von ASL. Sie nutzen Handhaltungen, um einzelne Buchstaben darzustellen, werden aber hauptsächlich verwendet, um Namen, Adressen, Telefonnummern und ähnliche Informationen zu übermitteln. Experimente mit Fingerbuchstaben in der Amerikanischen Gebärdensprache (ASL) haben gezeigt, dass sie oft schneller sind als die Tastatureingabe auf einem Smartphone oder Tablet.
Dieselben Techniken lassen sich auch für Signale an Roboterfahrzeuge in einer lauten Werkstattumgebung nutzen. In solchen Situationen ist eine Sprachsteuerung nicht praktikabel und die Bediener können aufgrund von Verunreinigungen durch Schmutz, Staub und Fett nicht mit einer Tastatur oder einem Touchscreen interagieren. Handzeichen bieten einen Mechanismus zur einfachen und effizienten Steuerung dieser Fahrzeuge. Die Kombination von offener Software und Hardware kann die notwendige KI-Unterstützung bieten, um Handzeichen vor einer Kamera zu interpretieren und Befehle an die Bewegungssysteme eines Roboters zu übermitteln.
Dank der Google-Datensätze für ASL ist das Ausgangsmaterial oft leicht verfügbar. Anwender können Modelle aus diesen Wettbewerben übernehmen oder die Datensätze nutzen, um Modelle mit einer für ihre Anwendungsfälle geeigneten Architektur zu trainieren, sofern das Material in Form von freier oder Open-Source-Software zur Verfügung steht.
Tools wie die AMD Vitis Unified Software Platform erleichtern den Zugang sowohl zur Rechenleistung als auch zu Softwareumgebungen, die diesen Open-Source-Code hosten können, der häufig in TensorFlow Lite, PyTorch oder anderen offenen KI-Entwicklungsumgebungen geschrieben ist. Mit der Vitis-Plattform können Ingenieure C/C++-Anwendungscode und IP-Blöcke für AMDs Multiprozessor-System-on-Chip-Lösung (MPSoC) entwickeln. Die Lösung kann dann auf handelsüblichen oder kundenspezifischen Single-Board-Computern (SBCs) wie dem Tria ZUBoard 1CG eingesetzt werden, das auf dem Zynq UltraScale+ MPSoC basiert. Diese leistungsstarken Bausteine kombinieren Mehrkernprozessoren auf Basis der Arm Cortex-A-Architektur mit einer Reihe programmierbarer Logikzellen. Das Ergebnis ist eine Hardware, die nicht nur die erforderliche Leistung für KI-gestützte Robotikanwendungen bietet, sondern auch über eine programmierbare Logik verfügt, die sich hervorragend für die Implementierung komplexer Motorsteuerungsalgorithmen eignet.
Die Unterstützung für die Robotersteuerung ist dank der Einführung des Robot-Operating-System (ROS) nun ebenfalls leicht zugänglich. ROS wurde ursprünglich von einer Gruppe an der Stanford University entwickelt und wird heute von der Open Source Robotics Foundation (OSRF) verwaltet. Mit der Veröffentlichung von ROS2 hat sich der Funktionsumfang geändert: Durch die Integration von Echtzeit-Bewegungsverarbeitung und Sicherheitsfunktionen ist die Software nun auch für die industrielle Steuerung und den kommerziellen Betrieb von Drohnen geeignet. AMD hat den ROS2-Code auf das Betriebssystem PetaLinux für die MPSoC-Hardware portiert, um Kunden die Integration zu erleichtern.
Robotikanwendungen lassen sich mit ROS2 anhand leicht verständlicher Grafiken erstellen. Diese sind in einem Publisher-Subscriber-Flow angeordnet, einem Designmuster, das häufig in industriellen und automobilen Steuerungssystemen verwendet wird. In diesen Diagrammen werden Datendienste und Eingaben als Publisher-Knoten behandelt, die Informationen zu bestimmten Themen an Subscriber-Knoten weitergeben, die diese verarbeiten.
Diese Struktur ermöglicht eine einfache Integration der Module, die für den Aufbau eines funktionsfähigen Robotersystems erforderlich sind. Kameras, die über Standard-MIPI-Schnittstellen verbunden sind, können Bilder an Knoten liefern, auf denen Bildverarbeitungssoftware wie OpenCV läuft, die Helligkeit und Kontrast anpassen und andere Verbesserungsfunktionen ausführen kann, um eine Sequenz qualitativ hochwertiger Bilder an ein Bildklassifikationsmodell zu liefern. Dieses Modell gibt dann Textdaten aus, die von der Bewegungssteuerungssoftware des Roboters verarbeitet werden. Im Fall dieser ASL-basierten Anwendung befehlen Fingerbuchstaben dem Roboter, sich zu drehen, vorwärts zu bewegen und anzuhalten. Nach dem Zusammenstellen, Kompilieren und Herunterladen auf den Roboter sollte die Anwendung nicht als statisch betrachtet werden.
Die rasche Entwicklung von Open-Source-Software für KI und Robotersteuerung bietet Entwicklern die Möglichkeit, ihre Systeme zu optimieren. Die erste Demonstration eines ASL-gesteuerten Roboters von Tria nutzte ein Handzeichen-Klassifikationsmodell, das auf der VGG-16-Architektur basiert und mit dem Google-Datensatz trainiert wurde. Vor zehn Jahren entwickelten Forscher der Visual Geometry Group an der Universität Oxford dieses populäre tiefe neuronale Faltungsnetzwerk, um eine gute Genauigkeit für eine Vielzahl von Bilderkennungsaufgaben zu erreichen. Ein wesentlicher Vorteil des VGG-16 ist sein Stapel von Faltungsschichten, gefolgt von einer Reihe von Max-Pooling-Schichten, um die Dimensionen bei größerer Tiefe zu reduzieren. Dies hilft dem Modell, hierarchische Darstellungen von visuellen Merkmalen zu lernen, eine geeignete Eigenschaft für die Handzeichenerkennung, bei der das Modell zunächst eine gültige Handform im Kamerabild erkennen und daraus die Anordnung der Finger bestimmen muss, die ein ASL-Zeichen darstellen.
Obwohl VGG-16 eine gute Leistung bietet und die Funktionalität des Prototyps unter Beweis gestellt hat, profitiert jede Embedded-Plattform von höherer Effizienz. Die Entwickler von Tria erreichten dies, indem sie VGG-16 durch den neueren Klassifikator MobileNet V2 ersetzten. Dabei handelt es sich um einen architektonisch komplexeren Stack mit mehr als hundert Convolutional-, Pooling- und so genannten Bottleneck-Layern. Dennoch erreicht MobileNet V2 bei der ASL-Klassifikationsaufgabe eine höhere Genauigkeit als VGG-16 bei deutlich weniger Rechenoperationen pro Bild.
So kann das Modell auf dem Tria ZUBoard 1CG mit mehr als zwanzig Bildern pro Sekunde ausgeführt werden, während VGG-16 nur zwei bis drei Bilder pro Sekunde schafft.
Dieses Beispiel zeigt, wie leistungsfähig Kombinationen aus offener Hardware, Software und KI sein können, wenn sie in neuartige Systemkonzepte umgesetzt werden. Durch die Wahl einer Hardware, die ein hohes Maß an Kompatibilität mit den derzeit verfügbaren Entwicklungsumgebungen für Robotik- und KI-Anwendungen bietet, können Entwickler entscheidende Zeitvorteile bei der Markteinführung bahnbrechender Ideen erzielen.