Lösningsarkitektur: Bildklassificering med CNN-nätverk (Convolutional Neural Network)

Lean manufacturing, kostnadskontroll och slöserireducering är viktigt för att tillverkningen ska bibehålla sin konkurrenskraft. Vid kretskortstillverkning kan felaktiga kort innebära ökade kostnader och minskad produktivitet för tillverkarna. Monteringsrader är beroende av mänskliga operatörer för att snabbt granska och validera kort som flaggats som potentiellt felaktiga av monteringsradernas testmaskiner.

Den här lösningen analyserar bilder av elektroniska komponenter som tagits av monteringsradens kameror på en anläggning för tillverkning av kretskort och identifierar felstatus. Målet är att minimera, eller eliminera, behovet av mänskligt ingripande. Med lösningen skapas ett bildklassificeringssystem med ett CNN-nätverk (Convolutional Neural Network) med 50 dolda lager, som tränats på 350 000 bilder i en ImageNet-datauppsättning för att skapa visuella funktioner för bilderna genom att ta bort det sista nätverkslagret. Dessa funktioner används sedan för att träna ett beslutsträd i att klassificera bilden som ”godkänd” eller ”icke godkänd” och den slutliga poängsättningen görs av maskiner på anläggningen. Prestandaresultaten för klassificering är goda (tidsbaserad korsvalidering AUC>.90) vilket visar att lösningen skulle kunna minska det mänskliga ingripandet drastiskt när det gäller felidentifiering för elektroniska komponenter i monterade kretskort.

Med hjälp av den här lösningen går det att automatisera felidentifieringen (i stället för att enbart förlita sig på mänskliga operatörer), förbättra identifieringen av felaktiga elektroniska komponenter och öka produktiviteten.

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

Implementeringsanvisningar

Produkter Dokumentation

Azure Blob Storage

Data matas in och lagras i Azure Blob Storage.

GPU-baserad Azure Data Science Virtual Machine

Den huvudsakliga utvecklingsmiljön är Azure Ubuntu-baserad GPU DSVM. Data hämtas från bloben till en virtuell Azure-hårddisk (VHD) som sitter i DSVM. Data bearbetas, bilderna bearbetas med hjälp av ett djupt neuralt nätverk och en trädmodell tränas på den virtuella hårddisken. DSVM IPython Notebook-server används för utveckling av lösningar.

Azure Batch AI Training (BAIT)

Som ett alternativ till DSVM-baserad träning, for beräkningsintensiva jobb som använder bildbearbetning med djupinlärning använder vi BAIT som ett hanterat Azure Batch-ramverk för parallell och distribuerad bearbetning med kluster av GPU-beräkningsnoder.

Microsoft Machine Learning för Apache Spark HDInsight Spark Cluster

Som ett alternativ till DSVM-baserad träning, för stora datauppsättningar, använder vi MMLSpark för att bygga en mycket skalbar träningslösning.

Azure Container Registry

Modellen och webbappen paketeras i en Docker-avbildning och skrivs till Azure Container Registry.

Azure Machine Learning Model Management Service

Tjänsten Azure Machine Learning Model Management används för att distribuera och hantera den slutliga modellen på en virtuell dator och för att skala ut med Azure Container Service till ett Kubernetes-hanterat Azure-kluster.

En förutsägelsewebbtjänst och en Java ETL-tjänst skrivs också till den virtuella datorn, var och en i en egen behållare.

Azure Container Service Cluster

Vid distributionen av den här lösningen används en Azure Container Service som kör ett Kubernetes-hanterat kluster. Behållarna distribueras från avbildningar som lagras i Azure Container Registry.