Architektura rozwiązania: Klasyfikacja obrazów przy użyciu splotowych sieci neuronowych

Oszczędna produkcja, kontrola kosztów i redukcja odpadów są koniecznością, aby produkcja pozostała konkurencyjna. Podczas produkcji płytek drukowanych wadliwe płytki mogą kosztować producentów pieniądze i wydajność. Linie montażowe polegają na operatorach podczas szybkiego przeglądania i oceniania płytek oznaczonych jako potencjalnie wadliwe przez maszyny kontrolne na linii montażowej.

To rozwiązanie analizuje obrazy komponentów elektronicznych wygenerowane przez kamery na linii montażowej w zakładzie produkcyjnym płytek drukowanych oraz wykrywa ich błędy. Celem jest minimalizacja lub usunięcie potrzeby interwencji człowieka. Rozwiązanie jest oparte na systemie klasyfikacji obrazów wykorzystującym splotowe sieci neuronowe mające 50 ukrytych warstw, wstępnie przetrenowane na 350 000 obrazów w zestawie danych sieci ImageNet w celu wygenerowania cech wizualnych obrazów poprzez usunięcie ostatniej warstwy sieci. Te cechy są następnie używane do trenowania drzewa decyzyjnego do klasyfikowania obrazów jako „powodzenie” lub „niepowodzenie” oraz dokonywania końcowej oceny przeprowadzanej przez skrajne maszyny w zakładzie. Wyniki wydajności klasyfikacji są dobre (krzyżowa weryfikacja czasowa AUC > 0,90), co oznacza, że rozwiązanie nada się do zdecydowanego ograniczenia interwencji człowieka podczas wykrywania defektów komponentów elektronicznych na zmontowanych płytkach drukowanych.

Wykorzystanie tego rozwiązania do automatyzacji wykrywania usterek zamiast polegania wyłącznie na operatorach pomoże poprawić identyfikację wadliwych komponentów elektronicznych i poprawić wydajność.

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

Wytyczne dotyczące implementacji

Produkty/opis Dokumentacja

Azure Blob Storage

Dane są pozyskiwane i przechowywane w usłudze Azure Blob Storage.

Oparta na procesorze GPU maszyna wirtualna do analizy danych (DSVM) na platformie Azure

Podstawowym środowiskiem deweloperskim jest oparta na procesorze GPU maszyna DSVM z systemem Ubuntu na platformie Azure. Dane są pobierane z obiektu blob na wirtualnym dysku twardym (VHD) platformy Azure dołączonym do maszyny DSVM. Na tym dysku VHD dane są przetwarzane, obrazy mają nadawane cechy za pomocą sieci Deep Neural Network, a następnie następuje trening modelu drzewa decyzyjnego. Serwer DSVM IPython Notebook służy do rozwoju rozwiązania.

Trening sztucznej inteligencji usługi Azure Batch (BAIT)

Jako alternatywy dla treningu opartego na maszynie DSVM, dla wymagających zaawansowanych obliczeń zadań wykorzystujących przetwarzanie obrazu do głębokiego uczenia używamy metody BAIT jako zarządzanej struktury usługi Azure Batch do równoległych i rozproszonych obliczeń z użyciem klastrów węzłów obliczeniowych z procesorem GPU.

Microsoft Machine Learning dla klastra Apache Spark HDInsight Spark Cluster

Jako alternatywy dla treningu opartego na maszynie DSVM, dla dużych zestawów danych używamy narzędzia MMLSpark do budowy dobrze skalowalnego rozwiązania treningowego.

Azure Container Registry

Model i aplikacja internetowa są zapakowane do obrazu platformy Docker i zapisane w usłudze Azure Container Registry.

Zarządzanie modelami w usłudze Azure Machine Learning

Zarządzanie modelami w usłudze Azure Machine Learning służy do wdrażania końcowego modelu i zarządzania nim na maszynie wirtualnej oraz do skalowania za pomocą usługi Azure Container Service do klastra platformy Azure zarządzanego przez usługę Kubernetes.

Predykcyjna usługa internetowa i usługa Java ETL są również zapisane na maszynie wirtualnej, każde we własnym kontenerze.

Klaster usługi Azure Container Service

Wdrożenie tego rozwiązania wykorzystuje usługę Azure Container Service działającą w klastrze zarządzanym przez usługę Kubernetes. Kontenery są wdrażane z obrazów przechowywanych w usłudze Azure Container Registry.