Lösungsarchitektur: Bildklassifizierung mit Convolutional Neural Networks

Schlanke Produktionsprozesse, Kostenkontrolle und Abfallreduzierung spielen in der Fertigung eine wesentliche Rolle, um die Wettbewerbsfähigkeit aufrechtzuerhalten. Fehler bei der Fertigung von Leiterplatinen können zu Kosten- und Produktivitätseinbußen führen. Bei der Fließbandfertigung müssen Leiterplatinen, die von Fließband-Prüfgeräten als möglicherweise fehlerhaft gekennzeichnet wurden, von Mitarbeitern schnell überprüft werden können.

Diese Lösung analysiert Bilder von elektronischen Komponenten, die von Fließbandkameras in einem Fertigungswerk für Leiterplatinen aufgenommen werden, und erkennt den entsprechenden Fehlerstatus. Ziel ist es, die Notwendigkeit menschlicher Eingriffe auf ein Minimum zu reduzieren oder vollständig zu beseitigen. Die Lösung erstellt anhand eines künstlichen neuronalen Netzes („Convolutional Neural Network“) ein Bildklassifizierungssystem mit 50 verdeckten Schichten. Dieses wurde vorab mit 350.000 Bildern in einem ImageNet-Dataset trainiert, um durch Entfernen der letzten Netzschicht visuelle Merkmale der Bilder zu generieren. Anhand dieser Merkmale wird anschließend ein verstärkter Entscheidungsbaum für die Klassifizierung des Bilds als „bestanden“ oder „nicht bestanden“ trainiert und auf den Peripheriegeräten im Werk eine Endbewertung durchgeführt. Die Klassifizierungsergebnisse sind gut (zeitbasierte Kreuzvalidierung AUC>0,90). Dies weist darauf hin, dass die Lösung geeignet ist, um die Notwendigkeit menschlicher Eingriffe bei der Fehlererkennung elektronischer Komponenten für die Fertigung von Leiterplatinen erheblich zu reduzieren.

Wenn die Fehlererkennung nicht mehr alleine in den Händen der Bediener liegt, sondern durch eine solche Lösung automatisiert wird, lässt sich die Identifizierung fehlerhafter elektronischer Komponenten verbessern und die Produktivität erheblich steigern.

Azure Blob Storage GPU Data Science Virtual Machine Azure Container Registry Azure Machine Learning Model Management Service Machine Learning Model Predictive Web Application Azure Container Service Java ETL

Implementierungsleitfaden

Produkte Dokumentation

Azure Blob Storage

Daten werden erfasst und im Azure Blob Storage gespeichert.

GPU-basierte Azure Data Science Virtual Machine

Die Kernentwicklungsumgebung ist die GPU-basierte Data Science Virtual Machine (DSVM) unter Azure Ubuntu. Die Daten werden vom Blob auf eine an die DSVM angefügte virtuelle Azure-Festplatte (Virtual Hard Disk, VHD) übertragen. Auf dieser VHD werden die Daten verarbeitet, die Bilder anhand eines Deep Convolutional Neural Network mit Merkmalen versehen und ein verstärktes Entscheidungsbaummodell trainiert. Für die Lösungsentwicklung wird DSVM IPython Notebook-Server verwendet.

Azure Batch AI Training (BAIT)

Als Alternative zum DSVM-basierten Training verwenden wir für rechenintensive Aufträge, bei denen die Deep-Learning-Bildverarbeitung zum Einsatz kommt, BAIT als verwaltetes Azure Batch-Framework für paralleles und verteiltes Computing mithilfe von GPU-Computeknotenclustern.

Microsoft Machine Learning für Apache Spark HDInsight Spark-Cluster

Als Alternative zu DSVM-basiertem Training verwenden wir für große Datasets MMLSpark, um eine hochgradig skalierbare Trainingslösung zu erstellen.

Azure-Containerregistrierung

Das Modell und die Webanwendung werden in ein Docker-Image gepackt und in Azure Container Registry geschrieben.

Azure Machine Learning-Modellverwaltungsdienst

Mithilfe des Azure Machine Learning-Modellverwaltungsdiensts wird das endgültige Modell auf einem virtuellen Computer bereitgestellt und verwaltet und in Verbindung mit Azure Container Service horizontal auf einen mit Kubernetes verwalteten Azure-Cluster hochskaliert.

Ein Webdienst für die Vorhersage und ein Java ETL-Dienst werden, jeweils in einem eigenen Container, ebenfalls auf den virtuellen Computer geschrieben.

Azure Container Service-Cluster

Die Bereitstellung dieser Lösung verwendet einen Azure Container Service, der einen mit Kubernetes verwalteten Cluster ausführt. Die Container werden über die in Azure Container Registry gespeicherten Images bereitgestellt.