Amazon Lookout per la visione è un servizio di machine learning (ML) che individua difetti e anomalie nelle rappresentazioni visive utilizzando la visione artificiale (CV). Con Amazon Lookout for Vision, le aziende manifatturiere possono aumentare la qualità e ridurre i costi operativi identificando rapidamente le differenze nelle immagini degli oggetti su larga scala.
Molti clienti aziendali desiderano identificare componenti mancanti nei prodotti, danni a veicoli o strutture, irregolarità nelle linee di produzione, difetti minuscoli nei wafer di silicio e altri problemi simili. Amazon Lookout for Vision utilizza ML per vedere e comprendere le immagini da qualsiasi telecamera come farebbe una persona, ma con un grado di precisione ancora più elevato e su una scala molto più ampia. Amazon Lookout for Vision elimina la necessità di un'ispezione manuale costosa e incoerente, migliorando il controllo di qualità, la valutazione di difetti e danni e la conformità. In pochi minuti puoi iniziare a utilizzare Amazon Lookout for Vision per automatizzare l'ispezione di immagini e oggetti, senza che sia richiesta alcuna competenza nel machine learning.
In questo post, vedremo come possiamo automatizzare il rilevamento di anomalie nei wafer di silicio e la notifica agli operatori in tempo reale.
Panoramica della soluzione
Tenere traccia della qualità dei prodotti in una linea di produzione è un compito impegnativo. Alcune fasi del processo acquisiscono immagini del prodotto che gli esseri umani esaminano per assicurarne una buona qualità. Grazie all'intelligenza artificiale, puoi automatizzare queste attività di rilevamento delle anomalie, ma potrebbe essere necessario l'intervento umano una volta rilevate le anomalie. Un approccio standard consiste nell'invio di e-mail quando vengono rilevati prodotti problematici. Queste e-mail potrebbero essere trascurate, il che potrebbe causare una perdita di qualità in uno stabilimento di produzione.
In questo post, automatizziamo il processo di rilevamento delle anomalie nei wafer di silicio e di notifica agli operatori in tempo reale utilizzando chiamate telefoniche automatizzate. Il diagramma seguente illustra la nostra architettura. Distribuiamo un sito Web statico utilizzando AWS Amplifica, che funge da punto di ingresso per la nostra applicazione. Ogni volta che una nuova immagine viene caricata tramite l'interfaccia utente (1), un file AWS Lambda La funzione richiama il modello Amazon Lookout for Vision (2) e prevede se questo wafer è anomalo o meno. La funzione memorizza ogni immagine caricata in Servizio di archiviazione semplice Amazon (Amazon S3) (3). Se il wafer è anomalo, la funzione invia la confidenza della previsione a Amazon Connect e chiama un operatore (4), che può intraprendere ulteriori azioni (5).
Configurazione di Amazon Connect e del flusso di contatti associato
Per configurare Amazon Connect e il flusso di contatti, completa i seguenti passaggi di alto livello:
- Crea un'istanza Amazon Connect.
- Imposta il flusso dei contatti.
- Richiedi il tuo numero di telefono.
Crea un'istanza Amazon Connect
Il primo passo è quello di creare un'istanza Amazon Connect. Per il resto della configurazione, utilizziamo i valori predefiniti, ma non dimenticare di creare un accesso amministratore.
La creazione dell'istanza può richiedere alcuni minuti, dopodiché possiamo accedere all'istanza Amazon Connect utilizzando l'account amministratore che abbiamo creato.
Impostazione del flusso di contatto
In questo post abbiamo un flusso di contatti predefinito che possiamo importare. Per ulteriori informazioni sull'importazione di un flusso di contatti esistente, vedere Importa / esporta flussi di contatti.
- Scegli il file
contact-flow/wafer-anomaly-detection
dal Repository GitHub. - Scegli Importare.
Il flusso di contatti importato è simile allo screenshot seguente.
- Nella pagina dei dettagli del flusso, espandere Mostra ulteriori informazioni sul flusso.
Qui puoi trovare l'ARN del flusso di contatti.
- Registrare l'ID del flusso di contatti e l'ID del contact center, necessari in seguito.
Richiedi il tuo numero di telefono
Rivendicare un numero è facile e richiede solo pochi clic. Assicurati di scegliere il flusso di contatti importato in precedenza mentre richiedi il numero.
Se non sono disponibili numeri nel paese di tua scelta, invia un ticket di supporto.
Panoramica del flusso di contatti
Lo screenshot seguente mostra il nostro flusso di contatti.
Il flusso dei contatti svolge le seguenti funzioni:
- Abilita la registrazione
- Imposta l'output Amazon Polly voce (per questo post, usiamo la voce di Kendra)
- Ottieni l'input del cliente utilizzando DTMF (sono valide solo le chiavi 1 e 2).
- In base all'input dell'utente, il flusso esegue una delle seguenti operazioni:
- Richiedi un messaggio di arrivederci che indica che non verrà intrapresa alcuna azione ed esci
- Richiedi un messaggio di arrivederci che indica che verrà eseguita un'azione ed esci
- Fallire e fornire un blocco di fallback che indica che la macchina si spegnerà e uscirà
Facoltativamente, puoi migliorare il tuo sistema con un file Amazon-Lex Bot.
Distribuisci la soluzione
Dopo aver configurato Amazon Connect, distribuito il flusso di contatti e annotato le informazioni necessarie per il resto della distribuzione, possiamo distribuire i componenti rimanenti. Nel repository GitHub clonato, modifica il file build.sh
script ed eseguilo dalla riga di comando:
Fornire le seguenti informazioni:
- La tua regione
- Il nome del bucket S3 che desideri utilizzare (assicurati che il nome includa la parola
sagemaker
). - Il nome del progetto Amazon Lookout for Vision che desideri utilizzare
- L'ID del tuo flusso di contatti
- Il tuo ID istanza Amazon Connect
- Il numero che hai richiesto in Amazon Connect nel formato E.164 (ad esempio, +132398765)
- Un nome per il AWS CloudFormazione stack che crei eseguendo questo script
Questo script esegue quindi le seguenti azioni:
- Crea un bucket S3 per te
- Crea i file .zip per la tua funzione Lambda
- Carica il modello CloudFormation e la funzione Lambda nel tuo nuovo bucket S3
- Crea lo stack CloudFormation
Dopo che lo stack è stato distribuito, puoi trovare le seguenti risorse create nella console AWS CloudFormation.
Puoi vedere che un file Amazon Sage Maker taccuino chiamato amazon-lookout-vision-create-project
viene anche creato.
Crea, addestra e distribuisci il modello Amazon Lookout for Vision
In questa sezione, vediamo come creare, addestrare e distribuire il modello Amazon Lookout for Vision utilizzando l'SDK Python open source. Per ulteriori informazioni su Amazon Lookout for Vision Python SDK, consulta questo post del blog.
Puoi costruire il modello tramite Console di gestione AWS. Per la distribuzione a livello di codice, completare i seguenti passaggi:
- Sulla console SageMaker, sul Istanze di notebook , accedi all'istanza del notebook SageMaker creata in precedenza scegliendo Apri Jupyter.
Nell'istanza, puoi trovare il file Repository GitHub dell'SDK Amazon Lookout per Vision Python clonato automaticamente.
- Accedi al file
amazon-lookout-for-vision-python-sdk/example
cartella.
La cartella contiene un blocco appunti di esempio che guida l'utente attraverso la creazione, l'addestramento e la distribuzione di un modello. Prima di iniziare, è necessario caricare le immagini da utilizzare per addestrare il modello nell'istanza del notebook.
- Nel
example/
cartella, crea due nuove cartelle denominategood
edbad
. - Naviga in entrambe le cartelle e carica le tue immagini di conseguenza.
Le immagini di esempio si trovano nel repository GitHub scaricato.
- Dopo aver caricato le immagini, apri il file
lookout_for_vision_example.ipynb
taccuino.
Il notebook ti guida attraverso il processo di creazione del tuo modello. Un passaggio importante da eseguire prima è fornire le seguenti informazioni:
Puoi ignorare la sezione inferenza, ma sentiti libero di giocare anche con questa parte del taccuino. Dato che hai appena iniziato, puoi andartene model_version
impostato "1
".
Nel input_bucket
ed project_name
, utilizza il bucket S3 e il nome del progetto Amazon Lookout for Vision forniti come parte del build.sh
script. È quindi possibile eseguire ogni cella del notebook, che distribuisce correttamente il modello.
Puoi visualizzare le metriche di allenamento utilizzando l'SDK, ma puoi anche trovarle sulla console. Per fare ciò, apri il tuo progetto, vai ai modelli e scegli il modello che hai addestrato. Le metriche sono disponibili su Metriche delle prestazioni scheda.
Ora sei pronto per distribuire un sito Web statico che può chiamare il tuo modello su richiesta.
Distribuisci il sito Web statico
Il primo passaggio consiste nell'aggiungere l'endpoint del file Gateway API Amazon al codice sorgente del tuo sito web statico.
- Nella console API Gateway, trova l'API REST chiamata
LookoutVisionAPI
. - Apri l'API e scegli stage.
- Nel menu a discesa dello stage (per questo post, dev), scegli il POST
- Copia il valore per Richiama URL.
Aggiungiamo l'URL al codice sorgente HTML.
- Aprire il file
html/index.html
.
Alla fine del file, puoi trovare una sezione che utilizza jQuery per attivare una richiesta AJAX. Viene chiamata una chiave url
, che ha una stringa vuota come valore.
- Inserisci l'URL che hai copiato come nuovo
url
valore e salva il file.
Il codice dovrebbe essere simile al seguente:
- Convertire il
index.html
file in un file .zip. - Nella console AWS Amplify, scegli l'app
ObjectTracking
.
La pagina dell'ambiente front-end della tua app si apre automaticamente.
- Seleziona Distribuisci senza provider Git.
Puoi migliorare questo pezzo per connettere AWS Amplify a Git e automatizzare l'intera distribuzione.
- Scegli Connetti ramo.
- Nel Nome dell'ambiente¸ inserisci un nome (per questo post, inseriamo
dev
). - Nel metodo, selezionare Trascinare e rilasciare.
- Scegli Scegliere i file per caricare il file
index.html.zip
file che hai creato. - Scegli Salva e distribuisci.
Al termine della distribuzione, puoi utilizzare la tua applicazione web scegliendo il dominio visualizzato in AWS Amplify.
Rileva anomalie
Congratulazioni! Hai appena creato una soluzione per automatizzare il rilevamento di anomalie nei wafer di silicio e avvisare un operatore affinché intraprenda l'azione appropriata. I dati che utilizziamo per Amazon Lookout for Vision sono una mappa di wafer presa da Wikipedia. Sono stati aggiunti alcuni punti "cattivi" per imitare gli scenari del mondo reale nella produzione di semiconduttori.
Dopo aver distribuito la soluzione, puoi eseguire un test per vedere come funziona. Quando apri il dominio AWS Amplify, vedi un sito Web che ti consente di caricare un'immagine. Per questo post, presentiamo il risultato del rilevamento di una cialda difettosa con un cosiddetto motivo a ciambella. Dopo aver caricato l'immagine, viene visualizzata sul tuo sito web.
Se l'immagine viene rilevata come un'anomalia, Amazon Connect chiama il tuo numero di telefono e puoi interagire con il servizio.
Conclusione
In questo post, abbiamo utilizzato Amazon Lookout for Vision per automatizzare il rilevamento di anomalie nei wafer di silicio e avvisare un operatore in tempo reale utilizzando Amazon Connect in modo che possa agire secondo necessità.
Questa soluzione non è vincolata ai soli wafer. Puoi estenderlo al tracciamento degli oggetti nei trasporti, ai prodotti nella produzione e ad altre infinite possibilità.
Informazioni sugli autori
Tolla Cherwenka è un AWS Global Solutions Architect certificato in dati e analisi. Usa l'arte del possibile approccio per lavorare a ritroso dagli obiettivi di business per sviluppare architetture di dati trasformative guidate dagli eventi che consentono decisioni guidate dai dati. Inoltre, è appassionata di creare soluzioni prescrittive per il refactoring di carichi di lavoro monolitici mission critical per microservizi, supply chain e fabbriche connesse che sfruttano IOT, machine learning, big data e servizi di analisi.
Michael Waller è un Global Data Scientist con AWS Professional Services ed è appassionato di consentire ai clienti nel loro viaggio AI / ML nel cloud di diventare AWSome. Oltre ad avere un profondo interesse per Amazon Connect, gli piace lo sport e gli piace cucinare.
Krithivasan Balasubramaniyan è Principal Consultant presso Amazon Web Services. Consente ai clienti aziendali globali nel loro percorso di trasformazione digitale e aiuta a progettare soluzioni cloud native.
- accesso
- Il mio account
- Action
- aggiuntivo
- Admin
- Amazon
- Amazon Web Services
- analitica
- rilevamento anomalie
- api
- App
- Applicazioni
- architettura
- in giro
- Arte
- intelligenza artificiale
- Automatizzata
- AWS
- Blog
- Bot
- costruire
- Costruzione
- affari
- chiamata
- Causare
- Cloud
- Nativo nube
- codice
- Aziende
- conformità
- Visione computerizzata
- fiducia
- consulente
- cucina
- Costi
- Creazione
- Clienti
- dati
- scienziato di dati
- Richiesta
- rivelazione
- sviluppare
- digitale
- DIGITAL TRANSFORMATION
- endpoint
- Impresa
- clienti aziendali
- Ambiente
- Espandere
- Nome
- flusso
- formato
- Gratis
- function
- Idiota
- GitHub
- globali
- buono
- Come
- Tutorial
- HTTPS
- Gli esseri umani
- identificare
- Immagine
- importazione
- Aumento
- informazioni
- Intelligence
- interesse
- IoT
- IT
- Le
- Tasti
- apprendimento
- Leva
- linea
- machine learning
- gestione
- consigliato per la
- carta geografica
- Metrica
- Missione
- ML
- modello
- numeri
- aprire
- apre
- minimo
- Altro
- Cartamodello
- predizione
- presenti
- Prodotto
- Produzione
- Prodotti
- progetto
- Python
- qualità
- aumentare
- Lettore
- ridurre
- Risorse
- REST
- recensioni
- Correre
- running
- sagemaker
- Scala
- sdk
- semiconduttore
- Servizi
- set
- Un'espansione
- So
- Soluzioni
- Sports
- inizia a
- iniziato
- conservazione
- negozi
- il successo
- di successo
- fornire
- supply chain
- supporto
- sistema
- test
- tempo
- pista
- Tracking
- Training
- Trasformazione
- trasporti
- ui
- APPREZZIAMO
- Veicoli
- Visualizza
- visione
- Voce
- sito web
- servizi web
- Sito web
- OMS
- wikipedia
- Lavora
- lavori