Zephyrnet-Logo

Automatisierung der visuellen Inspektion mit Amazon SageMaker JumpStart

Datum:

Laut Gartner, Hyperautomation ist der Trend Nummer eins im Jahr 2022 und wird auch in Zukunft weiter voranschreiten. Eines der Haupthindernisse für die Hyperautomatisierung liegt in Bereichen, in denen wir immer noch darum kämpfen, die menschliche Beteiligung zu reduzieren. Intelligente Systeme haben trotz großer Fortschritte beim Deep Learning in der Computer Vision Schwierigkeiten, die Fähigkeiten der menschlichen visuellen Erkennung zu erreichen. Dies liegt hauptsächlich an dem Mangel an annotierten Daten (oder wenn die Daten spärlich sind) und in Bereichen wie der Qualitätskontrolle, in denen das geschulte menschliche Auge immer noch dominiert. Ein weiterer Grund ist die Durchführbarkeit des menschlichen Zugangs in allen Bereichen der Produktlieferkette, beispielsweise bei der Qualitätskontrolle an der Produktionslinie. Die Sichtprüfung wird häufig zur Durchführung interner und externer Bewertungen verschiedener Geräte in einer Produktionsanlage eingesetzt, z. B. Lagertanks, Druckbehälter, Rohrleitungen, Verkaufsautomaten und andere Geräte, die sich auf viele Branchen wie Elektronik, Medizin, CPG, und Rohstoffe und mehr.

Der Einsatz künstlicher Intelligenz (KI) für die automatisierte visuelle Inspektion oder die Erweiterung des menschlichen visuellen Inspektionsprozesses durch KI kann dazu beitragen, die unten beschriebenen Herausforderungen zu bewältigen.

Herausforderungen der menschlichen visuellen Inspektion

Die von Menschen geführte Sichtprüfung weist die folgenden allgemeinen Probleme auf:

  • Skalieren – Die meisten Produkte durchlaufen mehrere Phasen, von der Montage über die Lieferkette bis hin zur Qualitätskontrolle, bevor sie dem Endverbraucher zur Verfügung gestellt werden. Fehler können während des Herstellungsprozesses oder der Montage zu unterschiedlichen räumlichen und zeitlichen Zeitpunkten auftreten. Daher ist es nicht immer machbar oder kosteneffektiv, eine persönliche Sichtprüfung durch Menschen durchzuführen. Diese Unfähigkeit zur Skalierung kann zu Katastrophen wie der führen BP Deepwater Horizon Ölpest und Explosion des Challenger-Space-Shuttles, deren negative Gesamtwirkung (für Mensch und Natur) die monetären Kosten bei weitem übersteigt.
  • Menschlicher visueller Fehler – In Bereichen, in denen eine benutzergeführte visuelle Inspektion bequem durchgeführt werden kann, ist menschliches Versagen ein wichtiger Faktor, der oft übersehen wird. Nach folgendem berichten, sind die meisten Inspektionsaufgaben komplex und weisen typischerweise Fehlerquoten von 20–30 % auf, was sich direkt in Kosten und unerwünschten Ergebnissen niederschlägt.
  • Personal- und sonstige Kosten – Obwohl die Gesamtkosten der Qualitätskontrolle je nach Branche und Standort stark variieren können, meinen einige Schätzungen, liegt das Gehalt eines ausgebildeten Qualitätsprüfers zwischen 26,000 und 60,000 USD (USD) pro Jahr. Es gibt auch andere verschiedene Kosten, die möglicherweise nicht immer berücksichtigt werden.

SageMaker JumpStart ist ein großartiger Ort, um mit verschiedenen zu beginnen Amazon Sage Maker Funktionen und Fähigkeiten durch kuratierte Ein-Klick-Lösungen, Beispiel-Notebooks und vortrainierte Computer Vision-, Natural Language Processing- und tabellarische Datenmodelle, die Benutzer auswählen, (falls erforderlich) feinabstimmen und mithilfe der AWS SageMaker-Infrastruktur bereitstellen können.

In diesem Beitrag zeigen wir Ihnen, wie Sie mithilfe eines öffentlich verfügbaren Datensatzes und SageMaker JumpStart schnell eine automatisierte Fehlererkennungslösung bereitstellen können, von der Datenaufnahme bis zur Modellinferenz.

Lösungsüberblick

Diese Lösung verwendet einen hochmodernen Deep-Learning-Ansatz zur automatischen Erkennung von Oberflächenfehlern mit SageMaker. Das Fehlererkennungsnetzwerk bzw DDN-Modell verstärkt die Schnelleres R-CNN und identifiziert mögliche Defekte in einem Bild einer Stahloberfläche. Das NEU Oberflächendefektdatenbank, ist ein ausgewogener Datensatz, der sechs Arten von typischen Oberflächenfehlern eines warmgewalzten Stahlbands enthält: Walzzunder (RS), Flecken (Pa), Rissbildung (Cr), narbige Oberfläche (PS), Einschlüsse (In), und Kratzer (Sc). Die Datenbank umfasst 1,800 Graustufenbilder: jeweils 300 Muster der Fehlerart.

Inhalt

Die JumpStart-Lösung enthält die folgenden Artefakte, die Ihnen unter verfügbar sind JupyterLab-Dateibrowser:

  • Wolkenbildung/ - AWS CloudFormation Konfigurationsdateien, um relevante SageMaker-Ressourcen zu erstellen und Berechtigungen anzuwenden. Enthält auch Bereinigungsskripts zum Löschen erstellter Ressourcen.
  • src / – Enthält Folgendes:
    • Vorbereiten_Daten/ – Datenvorbereitung für NEU-Datensätze.
    • sagemaker_defect_detection/ – Hauptpaket mit folgendem Inhalt:
      • Datensatz – Enthält die Handhabung von NEU-Datensätzen.
      • für – Enthält ein automatisiertes Fehlerinspektionssystem (ADI) namens Defect Detection Network. Siehe Folgendes Krepppapier für weitere Einzelheiten.
      • utils – Diverse Utilities zur Visualisierung und COCO-Auswertung.
      • classifier.py – Für die Klassifizierungsaufgabe.
      • Detektor.py – Für die Detektionsaufgabe.
      • transforms.py – Enthält die im Training verwendeten Bildtransformationen.
  • notizbücher/ – Die einzelnen Notizbücher, die später in diesem Beitrag ausführlicher besprochen werden.
  • Drehbücher / – Verschiedene Skripte zum Trainieren und Bauen.

Standarddatensatz

Diese Lösung trainiert einen Klassifikator auf dem NEU-CLS-Datensatz und einen Detektor auf dem NEU-DET-Datensatz. Dieser Datensatz enthält insgesamt 1800 Bilder und 4189 Begrenzungsrahmen. Die Art der Fehler in unserem Datensatz sind wie folgt:

  • Verrückt (Klasse: Cr, Bezeichnung: 0)
  • Inklusion (Klasse: In, Bezeichnung: 1)
  • Narbige Oberfläche (Klasse: PS, Bezeichnung: 2)
  • Aufnäher (Klasse: Pa, Label: 3)
  • Eingerollte Skala (Klasse: RS, Bezeichnung: 4)
  • Kratzer (Klasse: Sc, Bezeichnung: 5)

Im Folgenden finden Sie Beispielbilder der sechs Klassen.

Die folgenden Bilder sind beispielhafte Erkennungsergebnisse. Von links nach rechts haben wir das Originalbild, die Ground-Truth-Erkennung und die SageMaker-DDN-Modellausgabe.

Architektur

Die JumpStart-Lösung wird vorkonfiguriert mit geliefert Amazon SageMaker-Studio Notebooks, die die erforderlichen Datensätze herunterladen und den Code und die Hilfsfunktionen zum Trainieren des Modells/der Modelle und der Bereitstellung mit einem Echtzeit-SageMaker-Endpunkt enthalten.

Alle Notebooks laden den Datensatz von einer Öffentlichkeit herunter Amazon Simple Storage-Service (Amazon S3) Bucket- und Import-Hilfsfunktionen zur Visualisierung der Bilder. Die Notebooks ermöglichen es dem Benutzer, die Lösung anzupassen, beispielsweise Hyperparameter für das Modelltraining oder durchzuführen Transferlernen falls Sie sich entscheiden, die Lösung für Ihren Anwendungsfall zur Fehlererkennung zu verwenden.

Die Lösung enthält die folgenden vier Studio-Notebooks:

  • 0_demo.ipynb – Erstellt ein Modellobjekt aus einem vortrainierten DDN-Modell auf dem NEU-DET-Datensatz und stellt es hinter einem Echtzeit-SageMaker-Endpunkt bereit. Dann senden wir einige Bildmuster mit Defekten zur Erkennung und visualisieren die Ergebnisse.
  • 1_retrain_from_checkpoint.ipynb – Trainiert unseren vortrainierten Detektor für ein paar weitere Epochen neu und vergleicht die Ergebnisse. Sie können auch Ihren eigenen Datensatz mitbringen; Wir verwenden jedoch denselben Datensatz im Notebook. Ebenfalls enthalten ist ein Schritt zum Durchführen des Transferlernens durch Feinabstimmung des vorab trainierten Modells. Die Feinabstimmung eines Deep-Learning-Modells für eine bestimmte Aufgabe beinhaltet die Verwendung der erlernten Gewichtungen aus einem bestimmten Datensatz, um die Leistung des Modells für einen anderen Datensatz zu verbessern. Sie können auch eine Feinabstimmung über denselben Datensatz durchführen, der im anfänglichen Training verwendet wurde, jedoch möglicherweise mit anderen Hyperparametern.
  • 2_detector_from_scratch.ipynb – Trainiert unseren Detektor von Grund auf neu, um zu erkennen, ob Fehler in einem Bild vorhanden sind.
  • 3_classification_from_scratch.ipynb – Trainiert unseren Klassifikator von Grund auf neu, um die Art des Fehlers in einem Bild zu klassifizieren.

Jedes Notebook enthält Boilerplate-Code, der einen SageMaker bereitstellt Echtzeit-Endpunkt für die Modellinferenz. Sie können die Liste der Notebooks anzeigen, indem Sie zum JupyterLab-Dateibrowser gehen und zum Ordner „Notebooks“ im Verzeichnis der JumpStart-Lösung navigieren oder indem Sie auf der JumpStart-Lösung auf „Notebook öffnen“ klicken, insbesondere auf der Lösungsseite „Produktdefekterkennung“ (siehe unten). ).

Voraussetzungen:

Die in diesem Beitrag skizzierte Lösung ist ein Teil davon Amazon SageMaker-JumpStart. Um diese SageMaker JumpStart 1P-Lösung auszuführen und die Infrastruktur auf Ihrem AWS-Konto bereitzustellen, müssen Sie eine aktive Amazon SageMaker Studio-Instance erstellen (siehe Onboard to Amazon SageMaker Domain).

Starthilfe Funktionen sind in SageMaker-Notebook-Instances nicht verfügbar, und Sie können nicht über die darauf zugreifen AWS-Befehlszeilenschnittstelle (AWS-CLI).

Stellen Sie die Lösung bereit

Wir bieten Walkthrough-Videos für die allgemeinen Schritte zu dieser Lösung. Starten Sie zunächst SageMaker JumpStart und wählen Sie die Produktfehlererkennung Lösung auf der Lösungen Tab.

Die bereitgestellten SageMaker-Notebooks laden die Eingabedaten herunter und starten die späteren Phasen. Die Eingabedaten befinden sich in einem S3-Bucket.

Wir trainieren die Klassifikator- und Detektormodelle und werten die Ergebnisse in SageMaker aus. Bei Bedarf können Sie die trainierten Modelle bereitstellen und SageMaker-Endpunkte erstellen.

Der im vorherigen Schritt erstellte SageMaker-Endpunkt ist eine HTTPS-Endpunkt und ist in der Lage, Vorhersagen zu treffen.

Sie können das Training und die Bereitstellung des Modells über überwachen Amazon CloudWatch.

Aufräumen

Wenn Sie mit dieser Lösung fertig sind, stellen Sie sicher, dass Sie alle unerwünschten AWS-Ressourcen löschen. Sie können AWS CloudFormation verwenden, um automatisch alle Standardressourcen zu löschen, die von der Lösung und dem Notebook erstellt wurden. Löschen Sie in der AWS CloudFormation-Konsole den übergeordneten Stack. Durch das Löschen des übergeordneten Stacks werden automatisch die verschachtelten Stacks gelöscht.

Sie müssen alle zusätzlichen Ressourcen, die Sie möglicherweise in diesem Notebook erstellt haben, manuell löschen, z. B. zusätzliche S3-Buckets zusätzlich zum Standard-Bucket der Lösung oder zusätzliche SageMaker-Endpunkte (unter Verwendung eines benutzerdefinierten Namens).

Zusammenfassung

In diesem Beitrag haben wir eine Lösung mit SageMaker JumpStart vorgestellt, um Probleme mit dem aktuellen Stand der visuellen Inspektion, Qualitätskontrolle und Fehlererkennung in verschiedenen Branchen anzugehen. Wir empfahlen einen neuartigen Ansatz namens Automated Defect Inspection System, der mit einem vortrainierten erstellt wurde DDN-Modell zur Fehlersuche auf Stahloberflächen. Nachdem Sie die JumpStart-Lösung gestartet und die öffentlichen NEU-Datensätze heruntergeladen haben, haben Sie ein vortrainiertes Modell hinter einem SageMaker-Echtzeitendpunkt bereitgestellt und die Endpunktmetriken mit CloudWatch analysiert. Wir haben auch andere Funktionen der JumpStart-Lösung besprochen, z. B. wie Sie Ihre eigenen Trainingsdaten mitbringen, Transfer Learning durchführen und Detektor und Klassifikator neu trainieren können.

Probieren Sie das aus JumpStart-Lösung in SageMaker Studio entweder das vorhandene Modell auf einem neuen Datensatz zur Fehlererkennung neu trainieren oder aus der Bibliothek von SageMaker JumpStart auswählen Computer-Vision-Modelle, NLP-Modelle or tabellarische Modelle und stellen Sie sie für Ihren spezifischen Anwendungsfall bereit.


Über die Autoren

Vedant Jain ist ein Sr. AI/ML Specialist Solutions Architect, der Kunden dabei hilft, Wert aus dem Machine Learning-Ökosystem bei AWS zu ziehen. Vor seinem Eintritt bei AWS hatte Vedant Positionen im Bereich ML/Data Science Specialty bei verschiedenen Unternehmen wie Databricks, Hortonworks (jetzt Cloudera) und JP Morgan Chase inne. Außerhalb seiner Arbeit macht Vedant leidenschaftlich gerne Musik, nutzt die Wissenschaft, um ein sinnvolles Leben zu führen, und erforscht köstliche vegetarische Gerichte aus der ganzen Welt.

Tao Sonne ist ein angewandter Wissenschaftler bei AWS. Er erhielt seinen Ph.D. in Informatik von der University of Massachusetts, Amherst. Seine Forschungsinteressen liegen in Deep Reinforcement Learning und probabilistischer Modellierung. Er hat zu AWS DeepRacer, AWS DeepComposer beigetragen. In seiner Freizeit mag er Gesellschaftstanz und Lesen.

spot_img

Neueste Intelligenz

spot_img

Chat mit uns

Hallo! Wie kann ich dir helfen?