Architettura della soluzione: Classificazione delle immagini con le reti neurali convoluzionali

Il lean manufacturing, il controllo dei costi e la riduzione degli sprechi sono essenziali per mantenere la competitività dei processi produttivi. Nella produzione di circuiti stampati eventuali circuiti difettosi possono costare denaro e produttività ai produttori. Le catene di montaggio si basano su operatori umani per la verifica e la convalida veloce dei circuiti contrassegnati come potenzialmente difettosi dalle apparecchiature di test della catena di montaggio.

Questa soluzione analizza le immagini di componenti elettronici generate dalle videocamere della catena di montaggio e rileva il rispettivo stato di errore. L'obiettivo consiste nel ridurre al minimo o rimuovere la necessità di intervento umano. La soluzione crea un sistema di classificazione di immagini tramite una rete neurale convoluzionale con 50 livelli nascosti, con training preliminare su 350.000 immagini in un set di dati ImageNet per generare funzionalità visive delle immagini, rimuovendo l'ultimo livello di rete. Queste funzionalità vengono quindi usate per il training di un albero delle decisioni con boosting per classificare l'immagine come "corretto" o "difettoso" e assegnare un punteggio finale tramite i computer perimetrali della fabbrica. I risultati delle prestazioni della classificazione sono buoni (Area sotto la curva di convalida incrociata basata sul tempo >0,90) e ciò indica che la soluzione è idonea per la riduzione drastica dell'intervento umano per il rilevamento di errori nei componenti elettronici in circuiti stampati assemblati.

Usando questa soluzione per automatizzare il rilevamento degli errori, invece di affidarsi solo a operatori umani, è possibile contribuire al miglioramento dell'identificazione di componenti elettronici difettosi e incrementare la produttività.

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

Linee guida di implementazione

Prodotti/Descrizione Documentazione

Archiviazione BLOB di Azure

I dati vengono inseriti e archiviati nell'archiviazione BLOB di Azure.

Macchina virtuale di data science di Azure basata su GPU

L'ambiente di sviluppo core è DSVM GPU basato su Ubuntu per Azure. Viene eseguito il pull di dati dal BLOB a un disco rigido virtuale collegato a DSVM. In tale disco rigido virtuale vengono elaborati i dati, vengono analizzate le immagini tramite una rete neurale profonda e viene eseguito il training di un modello di albero con boosting. Il server DSVM IPython Notebook viene usato per lo sviluppo della soluzione.

Azure Batch AI Training (BAIT)

In alternativa al training basato su DSVM, per i processi a elevato utilizzo di calcolo che usano l'elaborazione di immagini tramite Deep Learning è possibile usare BAIT come framework gestito di Azure Batch per calcoli paralleli e distribuiti tramite cluster di nodi di calcolo GPU.

Microsoft Machine Learning per cluster Apache Spark HDInsight Spark

Come alternativa al training basato su DSVM, per set di dati di grandi dimensioni è possibile usare MMLSpark per creare una soluzione di training a scalabilità elevata.

Registro di sistema del contenitore di Azure

Il modello e l'applicazione Web vengono inseriti in un pacchetto nell'immagine Docker e vengono scritti nel Registro contenitori di Azure.

Servizio Gestione modelli di Machine Learning

Il servizio Gestione modelli di Machine Learning viene usato per distribuire e gestire il modello finale in una VM e per aumentare il numero di istanze usando il servizio contenitore di Azure in un cluster Azure gestito da Kubernetes.

Anche un servizio Web predittivo e un servizio ETL Java vengono scritti nella VM, ognuno nel rispettivo contenitore.

Cluster del servizio contenitore di Azure

La distribuzione per questa soluzione usa il servizio contenitore di Azure che esegue un cluster gestito da Kubernetes. I contenitori vengono distribuiti da immagini archiviate nel Registro contenitori di Azure.