- Drucken
Defekterkennung mit Lookout for Vision
Defekt-Erkennung mit Lookout for Vision
Implementieren Sie eine automatische Sichtprüfung auf Fehler mit Tulip Vision und AWS Lookout for Vision
Visuelle Inspektion ist ein wichtiger Aspekt bei der Aufrechterhaltung der Produktionsqualität, lässt sich aber nur schwer umsetzen und gleichzeitig schlank halten, da die Kosten für spezielle menschliche Inspektionsressourcen hoch sind. Die manuelle visuelle Inspektion ist außerdem ein sehr aufwändiger Vorgang, da sie sich stark wiederholt und visuell anspruchsvoll sein kann.
Die automatische visuelle Inspektion mit Kameras und maschinellem Lernen ändert die Situation völlig. Auf maschinellem Lernen basierende Algorithmen für die visuelle Inspektion sind so weit fortgeschritten, dass sie die menschliche Leistung sowohl in Bezug auf Zeit als auch auf Genauigkeit übertreffen.
Mit Tulip können Sie eine automatische visuelle Inspektion implementieren, indem Sie die Ausgänge Ihrer Vision-Kameras mit einem erstklassigen Cloud-Service zur Erkennung visueller Anomalien verbinden. Lookout for Vision von Amazon ist ein solcher Dienst, der einen leistungsstarken Algorithmus über einen einfachen REST-API-Endpunkt anbietet, der leicht in Tulip integriert werden kann.
In diesem Artikel zeigen wir Ihnen, wie Sie sowohl auf AWS mit Cloud Formation als auch innerhalb von Tulip mit einer vorgebündelten Bibliotheks-App schnell alles einrichten können. Im folgenden Video sehen Sie ein Live-Tutorial zu diesem Prozess.
Voraussetzungen
Bevor Sie mit diesem Prozess beginnen, stellen Sie bitte sicher, dass Sie die folgenden Ressourcen zur Verfügung haben:
- Eine USB-Kamera, die an einen Tulip Player PC angeschlossen ist (siehe die Tulip Vision Hardware-Empfehlung
- Eine Tulip Vision Kamera-Konfiguration für die angeschlossene Kamera und ein verifizierter, funktionierender Videostream (siehe die Anleitung Erste Schritte mit Vision
- Gesammelte Daten mit Normal-Anomalie-Anmerkungen in einer Tulip-Tabelle (siehe die Datenerfassungs-App)
- AWS-Konto mit einem Benutzer, der berechtigt ist, Ressourcen wie Lookout for Vision und API Gateway zu erstellen (siehe Leitfaden für die ersten Schritte von Amazon)
:::(Info) (HINWEIS) Derzeit ist Lookout for Vision nur in bestimmten AWS-Regionen verfügbar. :::
Einrichten von Lookout for Vision in der AWS-Konsole
Um die Einrichtung der erforderlichen Cloud-Infrastruktur in der AWS-Konsole zu unterstützen, stellen wir eine Cloud Formation Template(Download) zur Verfügung. Das CFT ist ein kurzes Skript, das alles bereitstellt, was in der AWS-Cloud benötigt wird, um Erkennungsmodelle von Lookout for Vision (LfV) mit Tulip zu trainieren und auszuführen. Es erstellt ein LfV-Projekt, einige AWS Lambda-Funktionen zur Aktivierung des LfV-Modells und ein AWS API Gateway zur Kommunikation mit den Funktionen. Tulip ruft die AWS API Gateway Endpunkte auf und führt somit Befehle an das LfV-Modell von Tulip Apps aus - wo die visuelle Inspektion durchgeführt wird.
- Erstellen Sie einen Stack und laden Sie die CFT-Datei hoch.
- Führen Sie das CloudFormation Stack-Erstellungsskript aus.
- Notieren Sie die Ausgaben.
- Notieren Sie sich den Wert apiGatewayInvokeURL oder notieren Sie ihn anderweitig, da wir ihn in Kürze erneut verwenden werden, um unsere Connector-Funktionen einzurichten.
Notieren Sie sich auch den API-Schlüssel auf der Registerkarte Ressourcen. Sie müssen darauf klicken, um den Wert zu finden.
Da AWS nun von Cloud Formation bereitgestellt wurde, können wir ein visuelles maschinelles Lernmodell mit Lookout for Vision trainieren. Zu diesem Zweck benötigen wir einen kommentierten Datensatz mit Bildern. Sie können den Datensatz zwar manuell erstellen, aber wir bieten eine einfache Möglichkeit, Daten mit Tulip zu sammeln, indem wir unsere Data Collection App [Link] verwenden. Die Daten werden in einer Tulip-Tabelle gespeichert und können leicht daraus exportiert werden. Für die nächsten Schritte gehen wir davon aus, dass ein Datensatz in Tulip gesammelt wurde.
- Datensatz aus der Tulip-Tabelle exportieren.
- Hochladen des Datensatzes in den von Lookout for Vision erstellten S3-Bucked.
- Erstellen Sie ein Dataset auf Lookout for Vision und wählen Sie den S3-Bucket als Quelle.
Vergewissern Sie sich, dass die Option Beschriftungen automatisch anhängen aktiviert ist:
Nun, da ein Datensatz in Lookout for Vision bereit ist, können wir ein Modell trainieren. Dieser Vorgang dauert etwa 45 Minuten und ist in der AWS-Konsole einfach durchzuführen.
- Klicken Sie auf Train Model.
- Überprüfen Sie den Trainingsstatus.
- Überprüfen Sie die Trainingsergebnisse.
Sobald das Modell die Schulung abgeschlossen hat, müssen wir auf der AWS-Seite nichts mehr tun. Alle Verbindungen wurden von der Cloud Formation für uns hergestellt, und wir können Tulip mit Lookout for Vision verbinden.
Einrichten von Tulip zum Aufrufen von Lookout for Vision-Modellen
Tulip ist in hohem Maße in der Lage, sich über APIs in externe Dienste zu integrieren. Deshalb ist es einfach, es mit AWS Lookout for Vision zu verbinden. Wir werden den REST-API-Endpunkt aus dem letzten Abschnitt verwenden, um das LfV-Modell über Tulip Connector Functions zu steuern. Anstatt die Funktionen jedoch von Grund auf neu zu erstellen, stellen wir sie in unserer "Defect Detection with Lookout for Vision" Library App vorgefertigt zur Verfügung. Dies spart Ihnen viel Zeit und stellt sicher, dass die Konnektoren korrekt erstellt werden. Zunächst müssen wir jedoch die Konnektor-Funktion mit den richtigen Daten aus Ihrem spezifischen AWS-Konto füllen.
- Suchen Sie die Connector-Funktionen in Tulip.
- Geben Sie für den Connector die korrekte Endpunkt-URL von AWS ein, die Sie zuvor aus Cloud Formation kopiert haben:
- Stellen Sie für jede Funktion den API KEY von AWS ein.
Stellen Sie sicher, dass Sie dies für alle 4 Funktionen tun.
Verwendung von Lookout for Vision in Tulip-Apps
In der mitgelieferten Defect Detection App aus der Bibliothek haben wir einen sehr rudimentären Prozess für die Durchführung der visuellen Inspektion eingerichtet. Sie können die App modifizieren oder Teile davon in andere Apps kopieren, um sie Ihren Bedürfnissen anzupassen. Um die App zu verwenden, müssen Sie einige kleine Änderungen vornehmen, damit sie mit Ihrer spezifischen Tulip Vision-Einrichtung funktioniert. Sie müssen den Aufnahmeauslöser auf Ihre Vision-Kamera-Konfiguration richten, sowie das Kamera-Vorschau-Widget für visuelles Feedback.
- Richten Sie das Tulip App Kamera-Widget mit der richtigen Kamera-Konfiguration ein.
- Richten Sie den "Anomalien erkennen"-Trigger mit der richtigen Kamerakonfiguration ein.
Jetzt ist alles für die Ausführung Ihres Modells auf Tulip vorbereitet. Bevor das Modell für die Inferenz (Auswertung eines Bildes) zur Verfügung steht, muss es "gehostet" werden, d.h. es wird eine Cloud-Rechenressource, wie z.B. eine virtuelle Cloud-Maschine, belegen, um das Modell für Ihre App bereitzustellen. Wir haben dazu eine Schaltfläche in der Tulip-App erstellt.
:::(Info) (HINWEIS) Sobald das Modell "gehostet" ist, verbraucht es Ressourcen, die mit Kosten verbunden sind. Denken Sie daran, Ihre Modelle abzuschalten, wenn sie nicht gebraucht werden, sonst riskieren Sie, Geld für nichts auszugeben. Die Preise für AWS LfV können hier nachgelesen werden. Beachten Sie, dass AWS auch ein Free Tier für LfV anbietet. Tulip ist nicht verantwortlich für Ressourcen, die privat auf AWS gehostet werden, aber Sie können sich gerne mit uns in Verbindung setzen, wenn Sie Fragen haben:::
Starten Sie die Defect Detection App auf dem Player-PC mit der angeschlossenen Inspektionskamera. Die folgenden Schritte werden mit der laufenden App durchgeführt:
- Schalten Sie das Modell EIN ("Hosting").
:::(Info) (HINWEIS) Sobald Sie das Modell starten, beginnt es, Kosten zu verursachen. Denken Sie daran, es auszuschalten:::
- Prüfen Sie den Host-Status des Modells.
Achten Sie auf den Status "HOSTED". Solange der Status nicht "HOSTED" ist, akzeptiert das Modell keine Abfragen.
- Führen Sie eine Inferenzanfrage an das Modell aus.
Das Modell sollte nun Vorhersagen darüber machen, ob es sich bei dem Objekt um einen Defekt oder ein normales Teil handelt. Wir haben Schaltflächen hinzugefügt, um eine Rückmeldung über die Erkennungsgenauigkeit zu geben, falls das Modell eine falsche Vorhersage macht. Diese Schaltflächen fügen der Tulpentabelle und Ihrem Datensatz weitere Daten hinzu. Trainieren Sie das Modell regelmäßig neu, indem Sie es mit mehr Beispielbildern versorgen, um die Robustheit Ihres Modells zu erhöhen.
Schlussfolgerung
Wir haben einen einfach zu befolgenden Prozess für den Einstieg in die auf maschinellem Lernen basierende automatische visuelle Inspektion mit Tulip gesehen. Dieser Prozess kann Ihnen die manuellen Ressourcen für die visuelle Inspektion durch eine Person ersparen. Durch die Anwendung dieses Prozesses erhalten Sie außerdem einen visuellen Datensatz aller Fehler, die in Ihrem Produkt auftreten, den Sie auf andere Weise als die Inspektion verwenden können.
Sie können maschinelles Lernen mit Tulip leicht anwenden und implementieren, indem Sie seine Konnektivitätsfunktionen nutzen. Entscheiden Sie sich für die Nutzung anderer Cloud-ML-Dienste in ähnlicher Weise.