Puzzle & Karten
So wird künstliche Intelligenz industrietauglich - Teil 2/2
Der zweite Teil der Serie stellt Werkzeuge für die künstliche Intelligenz (KI) vor, wie beispielsweise Attention Maps für die Erklärbarkeit oder visuelle Editoren zur Programmierung, die den Einsatz von KI in der Bildverarbeitung für die Anwender vereinfachen.
Puzzeln statt Programmieren
Wer komplexere Abläufe für KI-basierte Visionaufgaben erstellen möchte, muss nicht zwingend auf C++ oder anderen textbasierte Programmiersprachen zurückgreifen. Verpackt man die Funktionsbibliothek in Blöcke und setzt dazu eine visuellen Editor ein, können Abläufe wie Puzzleteile zusammengesteckt werden, ohne sich Gedanken über die exakten Befehle der einzelnen Programmiersprachen machen zu müssen. Blockly ist ein Projekt von Google, das genau zu diesem Zweck erstellt wurde. IDS greift bei der Erstellung von KI-Anwendungen auf Blockly zurück und adaptiert eigene Funktionalitäten, um Inferenzaufgaben der Kamera in eine Art Baukasten in beliebig komplexen Abläufen zusammenzustecken zu können.
Dank der intuitiven Oberfläche des Blockly Editors erzielen auch Anfänger schnell Erfolge. Der Vorteil der visuellen Programmierung mit diesem Baukastensystem gegenüber dem Anwendungs-Assistenten (s. Teil 1) ist die Möglichkeit eigene Abläufe zu erstellen. So können Variablen, Parameter und KI-Ergebnisse durch logische Verknüpfungen mit mathematischen Berechnungen und bedingten if/else-Anweisungen bzw. wiederholenden Aktionen mittels Schleifen verknüpft werden. Das ermöglicht auch komplexere Workflows mit zweistufiger Prüfung von Objekten und mehreren neuronalen Netzen. Eine Objekterkennung sorgt z.B. für eine grundlegende Vorsortierung von unterschiedlichen Teilen, gefolgt von einer detaillierten Fehleranalyse durch einen zweiten Klassifikator, um Teile noch spezifischer zu kategorisieren. Solche Abläufe sind sonst nur mit dem völlig frei programmierbaren VAC (IDS NXT Vision App Creator) und Kenntnissen in C++ möglich.
Ein weiterer Vorteil der gepuzzelten Apps ist ihre dynamische Verwendung. Ähnlich wie man es von Python kennt, erlaubt die Vision App-Programmierung mit Blockly die Möglichkeit, Code direkt auszuführen, da kein aufwendiges Cross-Kompilieren notwendig ist. Eine in NXT lighthouse erstellte Anwendung kann nach ersten Tests in der Kamera interaktiv dort weiter programmiert werden. Vision Apps können dort auch direkt entworfen werden. Das macht den visuellen App-Editor zum idealen Werkzeug von der Test- und Erprobungsphase bis zum operativen Einsatz. Vom vollständig automatisierten Anwendungskonfigurator, über einen Vision App Baukasten mit visuellen Interface bis zur völlig freien Programmierung mit klassischem SDK bietet NXT für jedes Wissenslevel das passende Hilfsmittel. Das spart Zeit und Kosten bei der Inbetriebnahme und Einrichtung von individuellen KI-Visionanwendungen.
Erklärbare Ergebnisse
Trotz der bekannten Vorteile von KI-Vision und der hohen Genauigkeiten der eingesetzten KNN gestaltet sich eine Diagnose im Fehlerfall meist schwierig. Fehlende Nachvollziehbarkeit in die Arbeitsweise bzw. unerklärliche Ergebnisse sind die Kehrseite der Medaille, was die Verbreitung der Algorithmen erschwert. In der Öffentlichkeit werden KNN oft fälschlicherweise als Blackbox wahrgenommen, deren Entscheidungen nicht nachvollziehbar sind. "Obwohl DL-Modelle zweifellos komplex sind, sind sie keine Blackboxen. Tatsächlich wäre es zutreffender, sie als Glaskästen zu bezeichnen, denn wir können buchstäblich hineinschauen und sehen, was jede Komponente tut." [Zitat 'The Black Box Metaphor in Machine learning']. Inferenz-Entscheidungen neuronaler Netze basieren zwar nicht auf klassischen nachvollziehbaren Regeln und die komplexen Wechselwirkungen ihrer künstlichen Neuronen sind für den Menschen nicht einfach erfassbar, aber dennoch Ergebnisse eines mathematischen Systems und damit reproduzier- und analysierbar. Es fehlen nur die richtigen Werkzeugezur Unterstützung. Genau in diesem Bereich der KI ist derzeit noch Luft nach oben.
IDS forscht auf diesem Gebiet zusammen mit Instituten und Universitäten, um genau diese Werkzeuge zu entwickeln. Die NXT ocean Software beinhaltet bereits erste Ergebnisse dieser Zusammenarbeit. Eine Visualisierung in Form sogenannter Attention Maps (Heat Maps) ermöglicht Entscheidungen einer KI leichter nachzuvollziehen, um so die Akzeptanz neuronaler Netze im industriellen Umfeld zu erhöhen. Ebenso lassen sich damit eintrainierte Datenverzerrungen (sog. Bias) erkennen und vermeiden. Auch statistische Analysen mit Hilfe einer sogenannten Confusion Matrix werden in Kürze sowohl in der cloudbasierten Trainingssoftware NXT lighthouse als auch in der NXT Kamera selbst möglich sein. Mit Hilfe dieser Tools können Anwender das Verhalten und die Ergebnisse ihrer NXT KI direkter auf Schwächen innerhalb des Trainingsdatensatzes zurückführen und diese gezielt ausbessern. So wird die KI für jeden erklär- und nachvollziehbar.
Fazit
Das enorme Potential der KI steht außer Frage. Verfügbare Hardware in Form von Inferenzkameras mit KI-Beschleunigern zeigen zudem, wie effizient sie sich in der Bildverarbeitung bereits einsetzen lässt. Doch die Bereitstellung von Hardware alleine reicht nicht aus, die Industrie flächendeckend von der KI zu überzeugen. Die Hersteller sind gefordert, Anwender zu unterstützen, indem sie ihre Kompetenzen in Form von benutzerfreundlicher Software und integrierten Prozessen weitergeben. Verglichen mit den bewährten Visionlösungen, die über Jahre gereift sind und sich mit Dokumentation, Wissenstransfer und vielen Software-Werkzeugen einen treuen Kundestamm aufgebaut hat, gibt es für die KI noch Nachholbedarf. Auch an Standards und Zertifizierungen wird aktuell gearbeitet, um die Akzeptanz und Erklärbarkeit weiter zu steigern und die KI an den großen Tisch zu holen. Letztendlich sollte sich jeder mit der neuen Technologie vertraut machen, um den Anschluss nicht zu verpassen. Mit NXT ocean ist bereits ein Embedded KI-System verfügbar, das mit nutzerfreundlichen Software-Werkzeugen von jeder Anwendergruppe als Industriewerkzeug genutzt werden kann, auch ohne tiefgehende Kenntnisse in Machine Learning, Bildverarbeitung oder Anwendungsprogrammierung.
Der zweite Teil der Serie stellt Werkzeuge für die künstliche Intelligenz (KI) vor, wie beispielsweise Attention Maps für die Erklärbarkeit oder visuelle Editoren zur Programmierung, die den Einsatz von KI in der Bildverarbeitung für die Anwender vereinfachen.
Puzzeln statt Programmieren
Wer komplexere Abläufe für KI-basierte Visionaufgaben erstellen möchte, muss nicht zwingend auf C++ oder anderen textbasierte Programmiersprachen zurückgreifen. Verpackt man die Funktionsbibliothek in Blöcke und setzt dazu eine visuellen Editor ein, können Abläufe wie Puzzleteile zusammengesteckt werden, ohne sich Gedanken über die exakten Befehle der einzelnen Programmiersprachen machen zu müssen. Blockly ist ein Projekt von Google, das genau zu diesem Zweck erstellt wurde. IDS greift bei der Erstellung von KI-Anwendungen auf Blockly zurück und adaptiert eigene Funktionalitäten, um Inferenzaufgaben der Kamera in eine Art Baukasten in beliebig komplexen Abläufen zusammenzustecken zu können.
Dank der intuitiven Oberfläche des Blockly Editors erzielen auch Anfänger schnell Erfolge. Der Vorteil der visuellen Programmierung mit diesem Baukastensystem gegenüber dem Anwendungs-Assistenten (s. Teil 1) ist die Möglichkeit eigene Abläufe zu erstellen. So können Variablen, Parameter und KI-Ergebnisse durch logische Verknüpfungen mit mathematischen Berechnungen und bedingten if/else-Anweisungen bzw. wiederholenden Aktionen mittels Schleifen verknüpft werden. Das ermöglicht auch komplexere Workflows mit zweistufiger Prüfung von Objekten und mehreren neuronalen Netzen. Eine Objekterkennung sorgt z.B. für eine grundlegende Vorsortierung von unterschiedlichen Teilen, gefolgt von einer detaillierten Fehleranalyse durch einen zweiten Klassifikator, um Teile noch spezifischer zu kategorisieren. Solche Abläufe sind sonst nur mit dem völlig frei programmierbaren VAC (IDS NXT Vision App Creator) und Kenntnissen in C++ möglich.
Ein weiterer Vorteil der gepuzzelten Apps ist ihre dynamische Verwendung. Ähnlich wie man es von Python kennt, erlaubt die Vision App-Programmierung mit Blockly die Möglichkeit, Code direkt auszuführen, da kein aufwendiges Cross-Kompilieren notwendig ist. Eine in NXT lighthouse erstellte Anwendung kann nach ersten Tests in der Kamera interaktiv dort weiter programmiert werden. Vision Apps können dort auch direkt entworfen werden. Das macht den visuellen App-Editor zum idealen Werkzeug von der Test- und Erprobungsphase bis zum operativen Einsatz. Vom vollständig automatisierten Anwendungskonfigurator, über einen Vision App Baukasten mit visuellen Interface bis zur völlig freien Programmierung mit klassischem SDK bietet NXT für jedes Wissenslevel das passende Hilfsmittel. Das spart Zeit und Kosten bei der Inbetriebnahme und Einrichtung von individuellen KI-Visionanwendungen.
IDS Imaging Development Systems GmbH
Dieser Artikel erschien in inVISION 6 (November) 2021 - 10.11.21.Für weitere Artikel besuchen Sie www.invision-news.de