Classificazione delle immagini con reti neurali convoluzionali (CNN)

Archiviazione BLOB
Registro contenitori
Data Science Virtual Machine
Servizio Kubernetes
Machine Learning

Idea della soluzione

Se si desidera vedere questo articolo con altre informazioni, ad esempio potenziali casi d'uso, servizi alternativi, considerazioni sull'implementazione o linee guida sui prezzi, è possibile inviare commenti e suggerimenti GitHub!

La produzione snella, il controllo dei costi e la riduzione degli sprechi sono imperativi per mantenere la concorrenza. Nella produzione di circuiti, le schede difettose possono costare ai produttori denaro e produttività. Le linee di assemblaggio si basano su operatori umani per esaminare e convalidare rapidamente le lavagna contrassegnate come potenzialmente difettose dai computer di test della linea di assemblaggio.

Un'implementazione di questa idea di soluzione illustrata in questo articolo analizza le immagini dei componenti elettronici generate dalle fotocamere a linee di assemblaggio in uno stabilimento di produzione di circuiti e ne rileva lo stato di errore. L'obiettivo è ridurre al minimo o rimuovere la necessità di intervento umano. La soluzione crea un sistema di classificazione delle immagini usando una rete neurale convoluzionale (CNN) 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 eseguire il training di un albero delle decisioni con boosting per classificare l'immagine come "pass" o "fail" e l'assegnazione dei punteggi finale eseguita sulle macchine perimetrali nello stabilimento. I risultati delle prestazioni di classificazione sono buoni (convalida incrociata basata sul tempo AUC > 0,90), che indica che la soluzione è adatta per ridurre drasticamente al minimo l'intervento umano per il rilevamento dei guasti dei componenti elettronici nelle schede assemblate.

Usare questa soluzione per automatizzare il rilevamento degli errori anziché affidarsi esclusivamente agli operatori umani e contribuire a migliorare l'identificazione di componenti elettronici difettosi e migliorare la produttività.

Architettura

Diagramma dell'architettura: classificazione delle immagini con reti neurali convoluzionali e Azure Machine Learning. Scaricare una versione SVG di questa architettura.

Componenti

  • Blob di Azure Archiviazione:i dati vengono inseriti e archiviati in Blob Archiviazione Azure.
  • DSVM (Azure Data Science Virtual Machine)basata su GPU: l'ambiente di sviluppo principale è la DSVM GPU basata su Azure Ubuntu. I dati vengono estratti dal BLOB in un disco rigido virtuale (VHD) di Azure collegato alla DSVM. In tale disco rigido virtuale i dati vengono elaborati, le immagini vengono trasformate in funzionalità usando una rete neurale profonda (DNN) e viene training un modello di albero con boosted. Il server IPython Notebook della DSVM viene usato per lo sviluppo di soluzioni.
    • In alternativa al training basato su DSVM, per set di dati di grandi dimensioni è possibile usare ML Services in Azure HDInsight per creare una soluzione di training altamente scalabile.
  • Registro Azure Container:il modello e l'applicazione Web vengono in pacchetto in un'immagine Docker e scritti in Registro Azure Container.
  • Azure Machine Learning Gestione modelli (MLOps):Azure Machine Learning usa un approccio di Machine Learning Operations (MLOps) per distribuire e gestire il modello finale in una macchina virtuale e per aumentare il numero di servizio Azure Kubernetes in un cluster di Azure gestito da Kubernetes. Nell'implementazionedi questa idea di soluzione vengono scritti anche un servizio Web predittivo e un servizio Java ETL (extract, transform, load) nella macchina virtuale, ognuno nel proprio contenitore.
  • servizio Azure Kubernetes : la distribuzioneper questa soluzione usa servizio Azure Kubernetes un cluster gestito da Kubernetes. I contenitori vengono distribuiti dalle immagini archiviate in Registro Azure Container.

Passaggi successivi