Bildklassifizierung mit Convolutional Neural Networks (CNNs)

Blob Storage
Container Registry
Data Science Virtual Machines
Kubernetes-Dienst
Machine Learning

Lösungsidee

Wenn Sie möchten, dass wir diesen Artikel um weitere Informationen ergänzen, z. B. potenzielle Anwendungsfälle, alternative Dienste, Überlegungen zur Implementierung oder Preisempfehlungen, lassen Sie es uns über Feedback auf GitHub wissen!

Schlanke Fertigung, Kostenkontrolle und die Reduzierung von Ausschuss sind zwingend erforderlich, damit die Produktion wettbewerbsfähig bleibt. Bei der Leiterplattenfertigung können fehlerhafte Platinen die Hersteller Geld und Produktivität kosten. Fertigungslinien erfordern menschliche Bediener, um Platinen schnell zu überprüfen, die von Fertigungslinien-Prüfgeräten als potenziell defekt markiert gekennzeichnet wurden.

Eine in diesem Artikel erläuterte Implementierung dieser Lösungsidee analysiert Bilder elektronischer Komponenten, die von Fertigungslinienkameras in einem Leiterplattenfertigungswerk generiert wurden, und erkennt ihren Fehlerstatus. Menschliche Eingriffe sollen minimiert oder überflüssig gemacht werden. Die Lösung erstellt ein Bildklassifizierungssystem unter Verwendung eines Convolutional Neural Network (CNN) mit 50 verborgenen Ebenen. Dieses wird mit 350.000 Bildern in einem ImageNet-Dataset vortrainiert, um durch das Entfernen der letzten Netzwerkebene visuelle Features der Bilder zu generieren. Mit diesen Features wird dann eine Gradient-Boosted-Entscheidungsstruktur trainiert, um das Bild als „Bestanden“ oder „Nicht bestanden“ zu klassifizieren, und auf Edgecomputern im Werk wird eine abschließende Bewertung durchgeführt. Die Ergebnisse der Leistungsklassifizierung sind gut (AUC der zeitbasierten Kreuzvalidierung > 0,90). Dies bedeutet, dass sich mit dieser Lösung menschliche Eingriffe bei der Fehlererkennung elektronischer Komponenten in montierten Leiterplatten wesentlich verringern lassen.

Verwenden Sie diese Lösung zur Fehlererkennung statt ausschließlich menschlicher Bediener, und tragen Sie dazu bei, die Identifizierung defekter elektronischer Komponenten zu verbessern und die Produktivität zu steigern.

Aufbau

Architekturdiagramm: Bildklassifizierung mit Convolutional Neural Networks und Azure Machine Learning. Laden Sie eine SVG dieser Architektur herunter.

Komponenten

  • Azure Blob Storage: Die Daten werden erfasst und in Azure Blob Storage gespeichert.
  • GPU-basierte Azure Data Science Virtual Machine (DSVM): Die Kernentwicklungsumgebung ist die auf Azure Ubuntu basierende GPU-DSVM. Die Daten werden aus dem Blob auf eine virtuelle Azure-Festplatte (VHD) übertragen, die an die DSVM angeschlossen ist. Auf dieser VHD werden die Daten verarbeitet, aus den Bildern werden mithilfe eines Deep Neural Network (DNN) Features generiert, und es wird ein Gradient-Boosted-Strukturmodell trainiert. Für die Lösungsentwicklung wird ein DSVM-IPython Notebook-Server verwendet.
  • Azure Container Registry: Das Modell und die Webanwendung werden in ein Docker-Image gepackt und in Azure Container Registry geschrieben.
  • Azure Machine-Learning-Modellverwaltung (MLOps): Azure Machine Learning verwendet einen Ansatz mit Machine-Learning-Modellverwaltung (MLOps), um das endgültige Modell auf einem virtuellen Computer bereitzustellen und zu verwalten und mithilfe von Azure Kubernetes Service in einem von Kubernetes verwalteten Azure-Cluster aufzuskalieren. Bei der Implementierung dieser Lösungsidee werden auch ein Vorhersagewebdienst und ein Java ETL-Dienst (Extrahieren, Transformieren, Laden) auf den virtuellen Computer geschrieben, jeweils in einem eigenen Container.
  • Azure Kubernetes Service (AKS): Die Bereitstellung dieser Lösung erfolgt über Azure Kubernetes Service, in dem ein von Kubernetes verwalteter Cluster ausgeführt wird. Die Container werden aus Images bereitgestellt, die in Azure Container Registry gespeichert sind.

Nächste Schritte