Mercedes me Portal

In zahlreichen Anwendungen wird heutzutage Machine Learning eingesetzt. Ein bekanntes Beispiel ist die automatische Objekterkennung. Dafür wird ein System so trainiert, dass es eigenständig Objekte auf Bildern oder in realer Umgebung erkennen kann.

Ein Einsatzgebiet für diese Technologie ist der Wartungsprozess von Maschinen oder Werkzeugen. Die Wartung erfordert oftmals mehrere aufeinander folgende Arbeitsschritte. Anleitungen stehen in der Regel in Form von Texten oder Videos zur Verfügung. KI-Systeme, die zur Objekterkennung in der Lage sind, können hier den Nutzer interaktiv unterstützen, indem sie mitteilen, welcher Schritt als nächstes auszuführen ist.

Wir entwickelten ein solches System für den Reinigungsprozess einer Lackierpistole eines mittelständischen Industrieunternehmens. Wie das System aufgebaut ist und wie es funktioniert, wird nachfolgend erklärt.

Aufbau des Systems

Die Idee ist einfach: der Nutzer hält die zu reinigende Lackierpistole  vor eine Kamera und das System sagt ihm, was er als nächstes tun soll. Dazu muss das System zum einen die einzelnen Schritte des Reinigungsprozesses kennen und zum anderen feststellen können, in welchem Prozessschritt sich der Nutzer gerade befindet.

Der Reinigungsprozess

Der (vereinfachte) Reinigungsprozess der Lackierpistole besteht aus fünf Schritten.

Zu Beginn ist die Pistole vollständig zusammengebaut. Im ersten Schritt muss eine Schraube am Ende des Pistolenkörpers entfernt werden, mit der die Farbnadel befestigt ist. Im zweiten Schritt wird die Düse am Kopf des Pistolenkörpers entfernt. Diese Düse wird im dritten Schritt gereinigt. Im Anschluss wird die Lackierpistole wieder in der umgekehrten Reihenfolge zusammengesetzt. Der Endzustand entspricht dem Zustand am Anfang. Mit Start und Ende hat die Pistole im  Reinigungsprozess somit sieben mögliche Zustände, die nacheinander in einer festgelegten Reihenfolge durchlaufen werden müssen.

Das System erkennt die Zustände daran, welche der drei Teile der Pistole jeweils angebracht und dem entsprechend im Bild der Kamera zu sehen sind. Die Reinigung der Düse wird in diesem Beispiel dadurch angezeigt, dass die Düse von vorn zu sehen ist. In Kombination mit der definierten Abfolge der einzelnen Zustände erkennt das System, in welchem Reinigungsschritt sich der Nutzer gerade befindet.

Diese zwei Aufgaben – Erkennen der Bestandteile der Lackierpistole im Bild und Bestimmen des nächsten Reinigungsschrittes – werden von jeweils einem Untersystemen ausgeführt: einem Objektdetektor und einem Statuserkennungssystem.

Bilderkennung dank Object Detection

Der Objektdetektor erkennt im Bild der Kamera folgende Bestandteile der Lackierpistole: den Pistolenkörper, die Düse am Kopf und die Schraube am Ende des Pistolenkörpers, sowie die Düse von vorn.

Um sicherzustellen, dass sich die Bestandteile nicht nur im Bild befinden, sondern auch richtig am Pistolenkörper angebracht sind, berücksichtigt der Objektdetektor zusätzlich die Position der Teile und ihre Größenverhältnisse zueinander. Um das System zu vereinfachen, wird die Pistole dabei nur von der linken Seite betrachtet, sodass sich die Düse immer links und die Schraube immer rechts vom Pistolenkörper befinden, wenn sie montiert sind.

Um zu verhindern, dass der Objekterkenner einen neuen Zustand vorhersagt, obwohl ein Bestandteil der Pistole beim Umbau lediglich von der Hand des Nutzers verdeckt ist, muss ein Zustand eine bestimmte Mindestzeit konstant sein, um als solcher gewertet zu werden.

Die Informationen über die erkannten Zustände gibt der Objektdetektor an das Statuserkennungssystem weiter.

Bestimmen der Reinigungsschritte

Die Aufgabe des Statuserkennungssystems ist es, zu entscheiden, in welchem Reinigungsschritt sich die Pistole aktuell befindet und welcher Schritt daraufhin erfolgt.

Dafür sind in einem Zustandsautomaten die einzelnen Zustände der Lackierpistole kodiert hinterlegt und die Reihenfolge der Zustände im Reinigungsprozess festgelegt. Die vier betrachteten Objekte – Pistolenkörper, Schraube, Düse und Düse von vorn – können dabei im Bild vorhanden (1) oder nicht vorhanden (0) sein. In Kombination mit der festgelegten Abfolge der Zustände lassen sich so der aktuelle bzw. folgende Reinigungsschritt eindeutig bestimmen.

Ist der nächste Reinigungsschritt bestimmt, sendet das Statuserkennungssystem eine entsprechende Handlungsaufforderung an den Nutzer, die als Text auf dem Computerbildschirm erscheint.

Eingesetzte Technologie & Training

Der Objektdetektor basiert auf einem sog. Convolutional Neural Network (CNN), einer besonderen Form eines neuronalen Netzwerks, das insbesondere für die Objekterkennung eingesetzt wird.

Um die Entwicklung zu beschleunigen, wurde über die Tensorflow Object Detection API ein vortrainiertes neuronales Netz heruntergeladen. Dieses künstliche neuronale Netz verfügte schon über die grundsätzliche Fähigkeit, Objekte zu erkennen und musste nur noch an die spezifische Aufgabe – das Erkennen der Bestandteile der Lackierpistole – angepasst werden. Dieses Vorgehen nennt sich Transfer Learning.

Um das Modell zu trainieren, wurden jeweils 125 Fotos von der Pistole aus der seitlichen Perspektive und von der Düse von vorn gemacht. Dabei wurde auf möglichst unterschiedliche Lichtverhältnisse und Hintergründe geachtet, damit sich die Bilder nicht zu stark gleichen und das Modell so besser lernt, die relevanten Bestandteile der Pistole zu erkennen.

Das Training des Systems erfolgt über einen Prozess, der überwachtes Lernen (supervised learning) genannt wird. Dabei muss das neuronale Netz erraten, was sich auf den Bildern befindet und bekommt danach die korrekte Lösung mitgeteilt. Das System vergleicht seine Lösung mit der richtigen Lösung und passt daraufhin seinen Entscheidungsprozess an. Dieser Vorgang wird Back Propagation genannt.  Mit jedem Versuch wird das neuronale Netz so immer besser. Damit man dem System jedoch sagen kann, was sich auf den Trainingsbildern befindet, müssen im Vorhinein in jeder Bilddatei die Objekte von Hand markiert und benannt werden (Annotation). Für das Training des Objektdetektors wurden mit den 250 erstellten und benannten Bildern 10.000 dieser Trainingsdurchläufe (Iterationen) durchgeführt.

Im Einsatz wird das System in Python ausgeführt. Die Bilder der Lackierpistole werden live über die Webcam des Computers an das System übertragen.

Fazit

Machine Learning ist die Technologie der Zukunft. Um morgen erfolgreich zu sein, sollten digital aufgeschlossene Unternehmen heute in Machine Learning investieren und wertvolle Erfahrung zu sammeln. Denn ist ein entsprechendes System einmal implementiert, bietet es zahlreiche Vorteile.

Zum einen lassen sich trainierte Systeme relativ leicht an andere vergleichbare Szenarien anpassen. Des Weiteren können Machine-Learning-Systeme durch die Integration von Nutzerfeedback im Einsatz von allein besser werden. Für ein solches System ist jede Verwendung zugleich Training.

Eine interessante Weiterentwicklung des hier beschriebenen Systems könnte die Integration in eine Augmented Reality-Brille sein, die die entsprechenden Einzelteile an der Lackierpistole für den Nutzer sichtbar hervorhebt. Die zugehörigen Anweisungen könnten in Textform direkt auf der Brille angezeigt werden. Auch für die Logistikbranche oder die Qualitätssicherung in der Industrie ist die Kombination aus AR-Brille und Objekterkennung sinnvoll, um beispielsweise Pakete oder fehlerhafte Produkte automatisch zu erkennen. So eingesetzt führt Machine Learning zu einer Reduktion der Fehler im Arbeitsprozess, kürzeren Einarbeitungszeiten und besseren Arbeitsergebnissen.

Kommen Sie einfach auf uns zu! Wir freuen uns, mit Ihnen zu sprechen.

Gerne beantworte ich Ihre Fragen in einem persönlichen Gespräch.

René Porth

Senior Strategy Consultant
Termin vereinbaren