KI-gestützte Fehlererkennung bei einem Vespa-Modell
Heute stellen wir euch ein weiteres Projekt aus unserer Zusammenarbeit mit dem Dgitalisierungszentrum Ulm | Alb-Donau | Biberach vor. Mit diesem Use Case adressieren wir Explainable AI und machen unser System für die Anwender verständlich. Zudem stärken wir das Vertrauen in KI-Lösungen, die für Außenstehende oftmals wie eine Art Blackbox wirken.
Der Use Case
Unser Ziel ist es, mit Hilfe von Neuronalen Netzen mögliche Fehler am Aufbau eines Vespa-Modells aus Klemmbausteinen zu erkennen. Der Algorithmus wird mit Bildern des vollständigen LEGO Modells aus verschiedenen Blickwinkeln sowie mit unterschiedlichen Belichtungen trainiert. So lernt die KI Bilder von fehlerfrei aufgebauten Vespas zu erzeugen. Diese werden anschließend mit Vergleichsbildern abgeglichen. Dadurch soll nicht nur entdeckt werden, ob ein Fehler an dem Modell vorliegt, sondern auch wo und mit welcher Sicherheit.
Das Video wird von YouTube eingebettet und erst beim Klick auf den Play-Button geladen. Es gelten die Datenschutzerklärungen von Google.
Wie unsere Künstliche Intelligenz detektiert, welche Teile an einem LEGO-Modell fehlen
Die Kernkomponente der Anwendung ist ein Autoencoder-Modell. Ein Autoencoder ist ein neuronales Netz, welches versucht, die Eingangsinformationen zu komprimieren und mit den reduzierten Informationen im Ausgang wieder korrekt nachzubilden. Zuerst wird dafür ein Algorithmus mit Bildern des vollständigen LEGO-Modells aus verschiedenen Blickwinkeln sowie mit unterschiedlichen Belichtungen trainiert. So lernt die KI Bilder von fehlerfrei aufgebauten Vespas zu erzeugen.
Anschließend wird dieses Programm mit fehlerhaften Bildern des Modells ausgeführt. Ein Autoencoder besteht aus zwei Teilen, einem Encoder und einem Decoder. Der Encoder komprimiert die Input-Daten. Aber es können nicht alle Informationen aus dem Input in den komprimierten Daten gespeichert werden, sodass der Encoder priorisieren und unwichtige Informationen auslassen muss. Anschließend versucht der Decoder, aus dieser verkleinerten Darstellung der Bildinformationen die ursprüngliche Form der Vespa so gut wie möglich wiederherzustellen.
Um Anomalien in den Bildern zu erkennen, vergleichen wir jetzt den Input mit dem Output des Autoencoders. Wenn das Bild des Modells vollständig ist, sollte der Output dem Input sehr ähnlich sein. Wenn jedoch eine Anomalie im Bild vorhanden ist, wie zum Beispiel fehlende Teile an der Vespa, kann der Autoencoder diese nur schlecht rekonstruieren. Das liegt daran, dass der Encoder ungewöhnliche Merkmale nicht als wichtig erachtet und deshalb in der komprimierten Darstellung vernachlässigt. Daher verwenden wir die Differenz zwischen Input und Output als Maß für die Anomalität. Je größer die Differenz ist, desto wahrscheinlicher ist es, dass das Bild eine Anomalie aufweist.
In einem ersten Schritt wurden die Bilder hierfür in dem 3D-Grafikprogramm Blender erstellt. Später sollen die Neuronalen Netze aber auf Fotos der realen LEGO Vespa zurückgreifen.