Mit maschinellem Lernen (ML) stehen leistungsfähigere Technologien zur Verfügung, die die Aufgabe der Erkennung visueller Anomalien in einem Produkt automatisieren können. Die Implementierung solcher ML-Lösungen ist jedoch zeitaufwändig und teuer, da sie die Verwaltung und Einrichtung einer komplexen Infrastruktur sowie die entsprechenden ML-Kenntnisse erfordert. Darüber hinaus benötigen ML-Anwendungen die Aufsicht eines Menschen, um die Genauigkeit der Anomalieerkennung sicherzustellen, kontinuierliche Verbesserungen bereitzustellen und Modelle mit aktualisierten Vorhersagen neu zu trainieren. Allerdings sind Sie oft gezwungen, sich zwischen einem reinen ML- oder einem rein menschlichen System zu entscheiden. Unternehmen suchen nach dem Besten aus beiden Welten: Sie integrieren ML-Systeme in Ihren Arbeitsablauf und behalten gleichzeitig ein menschliches Auge auf die Ergebnisse, um eine höhere Präzision zu erreichen.
In diesem Beitrag zeigen wir, wie Sie die Einrichtung ganz einfach durchführen können Amazon Lookout For Vision Um ein visuelles Anomalieerkennungsmodell mithilfe eines Leiterplattendatensatzes zu trainieren, verwenden Sie einen Human-in-the-Loop-Workflow, um die Vorhersagen zu überprüfen Amazon Augmented AI (Amazon A2I), erweitern Sie den Datensatz um menschliche Eingaben und trainieren Sie das Modell neu.
Lösungsüberblick
Lookout for Vision ist ein ML-Service, der dabei hilft, Produktfehler mithilfe von Computer Vision zu erkennen und den Qualitätsprüfungsprozess in Ihren Fertigungslinien zu automatisieren, ohne dass ML-Kenntnisse erforderlich sind. Sie können mit nur 30 Produktbildern (20 normale, 10 anomale) beginnen, um Ihr einzigartiges ML-Modell zu trainieren. Lookout for Vision nutzt Ihr einzigartiges ML-Modell, um Ihre Produktbilder nahezu in Echtzeit zu analysieren und Produktfehler zu erkennen, sodass Ihr Werkspersonal Diagnosen stellen und Korrekturmaßnahmen ergreifen kann.
Amazon A2I ist ein ML-Dienst, mit dem sich die für die Überprüfung durch den Benutzer erforderlichen Workflows auf einfache Weise erstellen lassen. Amazon A2I bietet allen Entwicklern menschliche Überprüfungen und beseitigt das undifferenzierte schwere Heben, das mit dem Erstellen menschlicher Überprüfungssysteme oder der Verwaltung einer großen Anzahl menschlicher Überprüfer verbunden ist, unabhängig davon, ob sie mit AWS ausgeführt werden oder nicht.
Um mit Lookout for Vision zu beginnen, erstellen wir ein Projekt, erstellen einen Datensatz, trainieren ein Modell und führen eine Inferenz auf Testbildern durch. Nachdem Sie diese Schritte durchlaufen haben, zeigen wir Ihnen, wie Sie mit Amazon A2I schnell einen menschlichen Überprüfungsprozess einrichten und Ihr Modell mit erweiterten oder von Menschen überprüften Datensätzen neu trainieren können. Wir bieten auch eine Begleitung an Jupyter Notizbuch.
Architektur Überblick
Das folgende Diagramm zeigt die Lösungsarchitektur.
Die Lösung hat folgenden Workflow:
- Laden Sie Daten von der Quelle hoch Amazon Simple Storage-Service (Amazon S3).
- Führen Sie Lookout for Vision aus, um Daten aus dem Amazon S3-Pfad zu verarbeiten.
- Speichern Sie Inferenzergebnisse in Amazon S3 zur nachgelagerten Überprüfung.
- Verwenden Sie Lookout for Vision, um festzustellen, ob ein Eingabebild beschädigt ist, und um zu überprüfen, ob das Konfidenzniveau über 70 % liegt. Wenn der Wert unter 70 % liegt, starten wir eine menschliche Schleife, damit ein Mitarbeiter manuell feststellen kann, ob ein Bild beschädigt ist.
- Ein privates Team untersucht und validiert die festgestellten Schäden und gibt Feedback.
- Aktualisieren Sie die Trainingsdaten mit entsprechendem Feedback für die anschließende Neuschulung des Modells.
- Wiederholen Sie den Umschulungszyklus für eine kontinuierliche Neuschulung des Modells.
Voraussetzungen:
Führen Sie die folgenden Schritte aus, um das Jupyter-Notizbuch einzurichten, bevor Sie beginnen:
- Erstellen Sie eine Notebook-Instanz in Amazon Sage Maker.
- Wenn das Notebook aktiv ist, wählen Sie Öffne Jupyter.
- Wählen Sie im Jupyter-Dashboard die Option Neu, und wähle Terminal.
- Geben Sie im Terminal den folgenden Code ein:
- Öffnen Sie das Notizbuch für diesen Beitrag:
Amazon-Lookout-for-Vision-and-Amazon-A2I-Integration.ipynb
.
Jetzt können Sie die Notebook-Zellen ausführen.
- Führen Sie den Schritt zum Einrichten der Umgebung aus, um die erforderlichen Python-SDKs und -Variablen einzurichten:
Im ersten Schritt müssen Sie Folgendes definieren:
- Region – Die Region, in der sich Ihr Projekt befindet
- Projektname – Der Name Ihres Lookout for Vision-Projekts
- Eimer – Der Name des Amazon S3-Buckets, in dem wir die Modellergebnisse ausgeben
- Modellversion – Ihre Modellversion (die Standardeinstellung ist 1)
- Erstellen Sie die S3-Buckets zum Speichern von Bildern:
- Erstellen Sie eine Manifestdatei aus dem Datensatz, indem Sie die Zelle im Abschnitt ausführen Erstellen Sie eine Manifestdatei aus dem Datensatz im Notizbuch.
Lookout for Vision verwendet diese Manifestdatei, um den Speicherort der Dateien sowie die mit den Dateien verknüpften Bezeichnungen zu ermitteln.
Laden Sie Leiterplattenbilder auf Amazon S3 hoch
Um ein Lookout for Vision-Modell zu trainieren, müssen wir den Beispieldatensatz von unserem lokalen Jupyter-Notebook nach Amazon S3 kopieren:
Erstellen Sie ein Lookout for Vision-Projekt
Sie haben mehrere Möglichkeiten, Ihr Lookout for Vision-Projekt zu erstellen: die Lookout for Vision-Konsole, die AWS-Befehlszeilenschnittstelle (AWS CLI) oder das Boto3 SDK. Wir haben uns in diesem Beispiel für das Boto3 SDK entschieden, empfehlen Ihnen jedoch dringend, auch die Konsolenmethode auszuprobieren.
Die Schritte, die wir mit dem SDK unternehmen, sind:
- Erstellen Sie ein Projekt (der Name wurde zu Beginn definiert) und teilen Sie Ihrem Projekt mit, wo sich Ihr Trainingsdatensatz befindet. Dies erfolgt über die Manifestdatei für das Training.
- Teilen Sie Ihrem Projekt mit, wo sich Ihr Testdatensatz befindet. Dies erfolgt zu Testzwecken über die Manifestdatei.
Dieser zweite Schritt ist optional. Im Allgemeinen ist der gesamte testbezogene Code optional. Lookout for Vision funktioniert auch nur mit einem Trainingsdatensatz. Wir verwenden beides, da Training und Tests eine gängige (Best-)Praxis beim Training von KI- und ML-Modellen sind.
Erstellen Sie eine Manifestdatei aus dem Datensatz
Lookout for Vision verwendet diese Manifestdatei, um den Speicherort der Dateien sowie die mit den Dateien verknüpften Bezeichnungen zu ermitteln. Siehe den folgenden Code:
Erstellen Sie ein Lookout for Vision-Projekt
Der folgende Befehl erstellt ein Lookout for Vision-Projekt:
Erstellen und trainieren Sie ein Modell
In diesem Abschnitt gehen wir die Schritte zum Erstellen der Trainings- und Testdatensätze, zum Trainieren des Modells und zum Hosten des Modells durch.
Erstellen Sie die Trainings- und Testdatensätze aus Bildern in Amazon S3
Nachdem wir das Lookout for Vision-Projekt erstellt haben, erstellen wir den Projektdatensatz, indem wir die Beispielbilder, die wir zusammen mit den Manifestdateien auf Amazon S3 hochgeladen haben, verwenden. Siehe den folgenden Code:
Trainiere das Modell
Nachdem wir das Lookout for Vision-Projekt und die Datensätze erstellt haben, können wir unser erstes Modell trainieren:
Wenn das Training abgeschlossen ist, können wir die verfügbaren Modellmetriken anzeigen:
Sie sollten eine Ausgabe ähnlich der folgenden sehen.
Metrik | Modell RNS | Status Nachricht | Leistung | Modellleistung |
F1-Punktzahl | 1 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 0.93023 |
Präzision | 1 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 0.86957 |
Erinnern | 1 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 1 |
Hosten Sie das Modell
Bevor wir unser neu trainiertes Lookout for Vision-Modell verwenden können, müssen wir es hosten:
Richten Sie Amazon A2I ein, um Vorhersagen von Lookout for Vision zu überprüfen
In diesem Abschnitt richten Sie in Amazon A2I eine menschliche Überprüfungsschleife ein, um Schlussfolgerungen zu überprüfen, die unter dem Konfidenzschwellenwert liegen. Sie müssen zunächst eine private Belegschaft und eine Benutzeroberfläche für menschliche Aufgaben erstellen.
Schaffen Sie eine Belegschaft
Du brauchst eine Belegschaft schaffen über die SageMaker-Konsole. Beachten Sie das ARN der Belegschaft und geben Sie den Wert in die Notizbuchzelle ein:
Der folgende Screenshot zeigt die Details eines privaten Teams mit dem Namen lfv-a2i
und der entsprechende ARN.
Erstellen Sie eine Benutzeroberfläche für menschliche Aufgaben
Sie erstellen jetzt eine UI-Ressource für menschliche Aufgaben: eine UI-Vorlage in flüssigem HTML. Diese HTML-Seite wird den menschlichen Mitarbeitern immer dann angezeigt, wenn eine menschliche Schleife erforderlich ist. Über 70 vorgefertigte Benutzeroberflächen finden Sie im amazon-a2i-sample-task-uis GitHub Repo.
Befolgen Sie die Schritte im Abschnitt „Notizbuch“. Erstellen Sie eine Benutzeroberfläche für menschliche Aufgaben So erstellen Sie das Webformular, initialisieren Amazon A2I-APIs und überprüfen die Ausgabe:
Erstellen Sie einen Arbeitsablauf für menschliche Aufgaben
Mit Workflow-Definitionen können Sie Folgendes angeben:
- Die Arbeitsvorlage oder Benutzeroberfläche für menschliche Aufgaben, die Sie im vorherigen Schritt erstellt haben.
- Die Belegschaft, an die Ihre Aufgaben gesendet werden. Bei diesem Beitrag handelt es sich um die private Belegschaft, die Sie in den erforderlichen Schritten erstellt haben.
- Die Anweisungen, die Ihre Mitarbeiter erhalten.
Dieser Beitrag verwendet die Create Flow Definition
API zum Erstellen einer Workflow-Definition. Die Ergebnisse der menschlichen Überprüfung werden in einem Amazon S3-Bucket gespeichert, auf den die Client-Anwendung zugreifen kann. Führen Sie die Zelle aus Erstellen Sie einen Workflow für menschliche Aufgaben im Notebook und überprüfen Sie die Ausgabe:
Treffen Sie Vorhersagen und starten Sie eine menschliche Schleife basierend auf dem Schwellenwert für das Konfidenzniveau
In diesem Abschnitt durchlaufen wir eine Reihe neuer Bilder und verwenden das Lookout for Vision SDK, um festzustellen, ob unsere Eingabebilder beschädigt sind oder nicht und ob sie über oder unter einem definierten Schwellenwert liegen. Für diesen Beitrag haben wir den Schwellenwert für das Konfidenzniveau auf 70 festgelegt. Wenn unser Ergebnis unter 70 liegt, starten wir eine menschliche Schleife, damit ein Mitarbeiter manuell feststellen kann, ob unser Bild normal oder eine Anomalie ist. Siehe den folgenden Code:
Sie sollten die im folgenden Screenshot gezeigte Ausgabe erhalten.
Schließen Sie Ihre Überprüfung ab und überprüfen Sie den Human-Loop-Status
Wenn die Inferenzergebnisse unter dem definierten Schwellenwert liegen, wird eine menschliche Schleife erstellt. Wir können den Status dieser Jobs überprüfen und auf Ergebnisse warten:
Das Arbeitsteam sieht den folgenden Screenshot, um die richtige Beschriftung für das Bild auszuwählen.
Sehen Sie sich die Ergebnisse des Amazon A2I-Workflows an und verschieben Sie Objekte zur erneuten Schulung in den richtigen Ordner
Nachdem die Mitglieder des Arbeitsteams die Human-Loop-Aufgaben abgeschlossen haben, verwenden wir die Ergebnisse der Aufgaben, um unsere Bilder in die richtigen Ordner zu sortieren, um ein neues Modell zu trainieren. Siehe den folgenden Code:
Trainieren Sie Ihr Modell basierend auf erweiterten Datensätzen von Amazon A2I neu
Das Training einer neuen Modellversion kann als Batch-Job nach einem Zeitplan ausgelöst werden, manuell nach Bedarf, basierend auf der Anzahl neuer Bilder, die den Trainingsordnern hinzugefügt wurden usw. In diesem Beispiel verwenden wir das Lookout for Vision SDK, um unser Modell mithilfe der Bilder neu zu trainieren, die wir jetzt in unseren geänderten Datensatz aufgenommen haben. Folgen Sie dem beigefügten Jupyter-Notizbuch, das von [GitHub-LINK] heruntergeladen werden kann, um das vollständige Notizbuch zu erhalten.
Sie sollten eine Ausgabe ähnlich der folgenden sehen.
Nachdem wir nun ein neues Modell mit neu hinzugefügten Bildern trainiert haben, überprüfen wir die Modellmetriken! Wir zeigen die Ergebnisse des ersten Modells und des zweiten Modells gleichzeitig:
Sie sollten eine Ausgabe ähnlich der folgenden sehen. Die Tabelle zeigt zwei Modelle: ein gehostetes Modell (ModelVersion:1
) und das umgeschulte Modell (ModelVersion:2
). Die Leistung des neu trainierten Modells ist besser, wenn die vom Menschen überprüften und beschrifteten Bilder vorliegen.
Metrik | ModelVersion | Status | Statusnachricht | Modellleistung |
F1-Punktzahl | 2 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 0.98 |
Präzision | 2 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 0.96 |
Erinnern | 2 | AUSGEBILDET | Schulung erfolgreich abgeschlossen. | 1 |
F1-Punktzahl | 1 | BEREITGESTELLT | Das Modell läuft. | 0.93023 |
Präzision | 1 | BEREITGESTELLT | Das Modell läuft. | 0.86957 |
Erinnern | 1 | BEREITGESTELLT | Das Modell läuft. | 1 |
Aufräumen
Führen Sie die Stoppen Sie das Modell und bereinigen Sie die Ressourcen Zelle, um die erstellten Ressourcen zu bereinigen. Löschen Sie alle Lookout for Vision-Projekte, die Sie nicht mehr verwenden, und entfernen Sie Objekte aus Amazon S3, um Kosten zu sparen. Siehe den folgenden Code:
Zusammenfassung
In diesem Beitrag wurde gezeigt, wie Sie Lookout for Vision und Amazon A2I verwenden können, um Modelle zu trainieren, um Fehler in Objekten zu erkennen, die für Ihr Unternehmen einzigartig sind, und Bedingungen zu definieren, um die Vorhersagen an einen menschlichen Workflow mit Etikettierern zu senden, um die Ergebnisse zu überprüfen und zu aktualisieren. Sie können die von Menschen beschriftete Ausgabe verwenden, um den Trainingsdatensatz für ein erneutes Training zu erweitern und so die Modellgenauigkeit zu verbessern.
Beginnen Sie Ihre Reise zur Erkennung und Identifizierung industrieller Anomalien, indem Sie die Halten Sie Ausschau nach dem Vision-Entwicklerhandbuch und für Amazon A2I-Entwicklerhandbuch.
Über den Autor
Dennis Thurmon ist Lösungsarchitekt bei AWS mit einer Leidenschaft für künstliche Intelligenz und maschinelles Lernen. Mit Sitz in Seattle, Washington, arbeitete Dennis als Systementwicklungsingenieur im Amazon Go- und Amazon Books-Team, bevor er sich darauf konzentrierte, AWS-Kunden dabei zu helfen, ihre Workloads in der AWS Cloud zum Leben zu erwecken.
Amit Gupta ist AI Services Solutions Architect bei AWS. Er ist begeistert davon, Kunden maßstabsgetreue Lösungen für maschinelles Lernen in großem Maßstab zu ermöglichen.
Neel Sendas ist Senior Technical Account Manager bei Amazon Web Services. Neel arbeitet mit Unternehmenskunden zusammen, um Cloud-Anwendungen zu entwerfen, bereitzustellen und zu skalieren, um ihre Geschäftsziele zu erreichen. Er hat an verschiedenen ML-Anwendungsfällen gearbeitet, die von der Erkennung von Anomalien bis zur prädiktiven Produktqualität für die Fertigungs- und Logistikoptimierung reichen. Wenn er Kunden nicht hilft, spielt er Golf und Salsa.
- '
- "
- 100
- 11
- 7
- 9
- Konto
- aktiv
- AI
- Alle
- Zulassen
- Amazon
- Amazon Go
- Amazon Web Services
- Anomalieerkennung
- Bienen
- APIs
- Anwendung
- Anwendungen
- Architektur
- künstliche Intelligenz
- Künstliche Intelligenz und maschinelles Lernen
- AWS
- BESTE
- Tafel
- Bücher
- bauen
- Building
- Geschäft
- Fälle
- Übernehmen
- Cloud
- Cloud-Anwendungen
- Code
- gemeinsam
- Unternehmen
- Komponente
- Computer Vision
- Vertrauen
- Inhalt
- Kosten
- Paar
- Erstellen
- Strom
- Kunden
- Armaturenbrett
- technische Daten
- Design
- Entdeckung
- Entwickler:in / Unternehmen
- Entwickler
- Entwicklung
- Ingenieur
- Unternehmen
- Unternehmenskunden
- Arbeitsumfeld
- Auge
- Vorname
- Fluss
- folgen
- unten stehende Formular
- Format
- Zukunft
- Allgemeines
- Git
- GitHub
- hier
- Hosting
- Ultraschall
- Hilfe
- HTTPS
- Login
- Image
- industriell
- Infrastruktur
- Intelligenz
- IT
- Job
- Jobs
- Jupyter Notizbuch
- Aufbewahrung
- Etiketten
- grosse
- lernen
- Niveau
- Line
- Flüssigkeit
- aus einer regionalen
- Standorte
- Logistik
- Maschinelles Lernen
- Herstellung
- Mitglieder
- Metrik
- ML
- Modell
- schlauer bewegen
- Zahlen
- Optionen
- Leistung
- Personal
- Portal
- Präzision
- Prognosen
- privat
- Produkt
- Produktqualität
- Projekt
- Projekte
- Python
- Qualität
- RE
- Ressourcen
- Downloads
- Antwort
- Die Ergebnisse
- Umschulung
- Rückgabe
- Überprüfen
- Führen Sie
- Laufen
- sagemaker
- Skalieren
- Sdk
- Seattle
- sieht
- Dienstleistungen
- kompensieren
- Einstellung
- Einfacher
- Fähigkeiten
- So
- Lösungen
- Spot
- Anfang
- begonnen
- Status
- Lagerung
- speichern
- Subdomain
- System
- Systeme und Techniken
- Technische
- Technologies
- Test
- Testen
- Die Quelle
- Zeit
- Ausbildung
- ui
- Aktualisierung
- Wert
- Anzeigen
- Seh-
- warten
- Washington
- Netz
- Web-Services
- .
- Arbeiten
- Arbeiter
- Arbeitsablauf.
- Belegschaft
- Werk