Klasyfikacja obrazów przy użyciu splotowych sieci neuronowych

Blob Storage
Container Registry
Maszyny wirtualne Data Science Virtual Machine
Kubernetes Service
Usługa Machine Learning

Pomysł rozwiązania Solution Idea

Jeśli chcesz się dowiedzieć, Rozszerz ten artykuł, aby uzyskać więcej informacji, szczegóły dotyczące implementacji, wskazówki dotyczące cen lub przykłady kodu, powiadom nas o opinii usługi GitHub.If you'd like to see us expand this article with more information, implementation details, pricing guidance, or code examples, let us know with GitHub Feedback!

Produkcja produkcji oszczędnej, kontrola kosztów i zmniejszenie ilości odpadów są bezwzględnie przeznaczone do produkcji, aby zachować konkurencyjność.Lean manufacturing, cost control, and waste reduction are imperative for manufacturing to remain competitive. W przypadku produkcji tablicy obwodowej wadliwe tablice mogą kosztować producenci i produktywność.In circuit-board manufacturing, faulty boards can cost manufacturers money and productivity. Linie zestawu polegają na operatorach ludzkich, aby szybko przeglądać i weryfikować tablice oflagowane jako potencjalnie uszkodzone przez maszyny testowe w wierszu zestawu.Assembly lines rely on human operators to quickly review and validate boards flagged as potentially faulty by assembly-line test machines.

To rozwiązanie analizuje obrazy składnika elektronicznego wygenerowane przez aparaty produkcyjne w sieci obwodowej oraz wykrywa ich stan błędu.This solution analyzes electronic component images generated by assembly-line cameras in a circuit-board manufacturing plant and detects their error status. Celem jest minimalizacja lub usunięcie potrzeby interwencji człowieka.The goal is to minimize or remove the need for human intervention. Rozwiązanie kompiluje system klasyfikacji obrazów przy użyciu sieci neuronowych splotowych z warstwami ukrytymi 50, które są następnie nałożone na 350 000 obrazów w zestawie danych ImageNet w celu wygenerowania wizualnych funkcji obrazów przez usunięcie ostatniej warstwy sieciowej.The solution builds an image classification system using a convolutional neural network with 50 hidden layers, pretrained on 350,000 images in an ImageNet dataset to generate visual features of the images by removing the last network layer. Te funkcje są następnie używane do uczenia wzmocnionego drzewa decyzyjnego w celu klasyfikowania obrazu jako "Pass" lub "Niepowodzenie" oraz końcowego oceny wykonywanej na maszynach brzegowych w zakładzie.These features are then used to train a boosted decision tree to classify the image as "pass" or "fail" and final scoring conducted on edge machines at the plant. Wyniki klasyfikacji wydajności są dobre (oparte na czasie> AUC krzyżowego sprawdzania poprawności. 90), które wskazuje, że rozwiązanie jest odpowiednie do drastycznego minimalizowania interwencji człowieka na potrzeby wykrywania awarii składników elektronicznych w zmontowanych płytach obwodowych.The classification performance results are good (time-based cross-validation AUC>.90) which indicates the solution is suitable to drastically minimize human intervention for electronic-components failure detection in assembled circuit boards.

Korzystanie z tego rozwiązania do automatyzowania wykrywania awarii zamiast polegania wyłącznie na operatorach ludzkich pomaga poprawić identyfikację wadliwych składników elektronicznych i zwiększyć produktywność.Using this solution to automate failure detection instead of relying solely on human operators helps improve the identification of faulty electronic components and boost productivity.

ArchitekturaArchitecture

Diagram architektury Pobiera plik SVG z tej architektury.Architecture Diagram Download an SVG of this architecture.

SkładnikiComponents

  • Azure BLOB Storage: dane są pozyskiwane i przechowywane w usłudze Azure Blob Storage.Azure Blob Storage: Data is ingested and stored in Azure Blob Storage.
  • Oparty na procesorze gpu Data Science Virtual Machine platformy Azure: podstawowe środowisko deweloperskie to DSVM procesora GPU oparty na platformie Azure Ubuntu.GPU based Azure Data Science Virtual Machine: The core development environment is the Azure Ubuntu-based GPU DSVM. Dane są pobierane z obiektu BLOB na wirtualny dysk twardy (VHD) platformy Azure dołączonym do DSVM.The data is pulled from blob onto an Azure virtual hard disk (VHD) attached to the DSVM. W tym wirtualnym dysku twardym dane są przetwarzane, obrazy są featurized przy użyciu sieci głębokiej neuronowych, a wzmocniony Model drzewa jest szkolony.On that VHD, the data is processed, the images are featurized using a Deep Neural Network, and a Boosted Tree model is trained. Serwer notesu DSVM IPython jest używany do opracowywania rozwiązań.DSVM IPython Notebook server is used for solution development.
  • Microsoft Machine Learning for Apache Spark klastrów usługi HDInsight Spark: jako alternatywę dla szkolenia opartego na DSVM, w przypadku dużych zestawów danych korzystamy z MMLSpark, aby utworzyć wysoce skalowalne rozwiązanie szkoleniowe.Microsoft Machine Learning for Apache Spark HDInsight Spark Cluster: As an alternative to DSVM-based training, for big datasets, we use MMLSpark to build a highly scalable training solution.
  • Azure Container Registry: model i aplikacja sieci Web są spakowane w obrazie platformy Docker i zapisywane w Azure Container Registry.Azure Container Registry: The model and web application are packaged into a Docker image and written to Azure Container Registry.
  • Usługa Azure Machine Learning Zarządzanie modelami: usługa Azure Machine Learning Zarządzanie modelami służy do wdrażania i zarządzania końcowym modelem na maszynie wirtualnej oraz do skalowania w poziomie przy użyciu usługi Azure Kubernetes do Kubernetes zarządzanego klastra platformy Azure.Azure Machine Learning Model Management Service: Azure Machine Learning Model Management service is used to deploy and manage the final model on a VM and to scale out using Azure Kubernetes Service to a Kubernetes managed Azure cluster. Przewidywalna usługa sieci Web i usługa w języku Java jest również zapisywana na maszynie wirtualnej, z której każdy znajduje się w własnym kontenerze.A predictive web service and a Java ETL service are also written onto the VM, each in its own container.
  • Usługa Azure Kubernetes Service (AKS): wdrożenie tego rozwiązania korzysta z usługi Azure Kubernetes Service działającego w klastrze zarządzanym przez Kubernetes.Azure Kubernetes Service (AKS): Deployment for this solution uses Azure Kubernetes Service running a Kubernetes-managed cluster. Kontenery są wdrażane na podstawie obrazów przechowywanych w Azure Container Registry.The containers are deployed from images stored in Azure Container Registry.

Następne krokiNext steps