Questo è un guest post scritto da Andrew Masek, Software Engineer presso The Barcode Registry e Erik Quisling, CEO di The Barcode Registry.
La contraffazione di prodotti è la più grande impresa criminale al mondo. Con una crescita di oltre il 10,000% negli ultimi due decenni, le vendite di merci contraffatte ora ammontano a 1.7 trilioni di dollari all'anno in tutto il mondo, che è più di droga e traffico di esseri umani. Sebbene i metodi tradizionali di prevenzione della contraffazione come codici a barre univoci e verifica del prodotto possano essere molto efficaci, le nuove tecnologie di apprendimento automatico (ML) come il rilevamento di oggetti sembrano molto promettenti. Con il rilevamento degli oggetti, ora puoi scattare una foto di un prodotto e sapere quasi istantaneamente se è probabile che quel prodotto sia legittimo o fraudolento.
I Registro dei codici a barre (in collaborazione con il suo partner Buyabarcode.com) è una soluzione a servizio completo che aiuta i clienti a prevenire le frodi e la contraffazione dei prodotti. Lo fa vendendo codici a barre registrati GS1 univoci, verificando la proprietà del prodotto e registrando i prodotti e i codici a barre degli utenti in un database completo. La loro ultima offerta, di cui discutiamo in questo post, utilizza Amazon Sage Maker per creare modelli di rilevamento degli oggetti per aiutare a riconoscere istantaneamente i prodotti contraffatti.
Panoramica della soluzione
Per utilizzare questi modelli di rilevamento degli oggetti, devi prima raccogliere i dati per addestrarli. Le aziende caricano le immagini annotate dei loro prodotti nel registro dei codici a barre sito web. Dopo che questi dati sono stati caricati su Servizio di archiviazione semplice Amazon (Amazon S3) ed elaborati da AWS Lambda funzioni, puoi usarlo per addestrare un modello di rilevamento oggetti SageMaker. Questo modello è ospitato su un endpoint SageMaker, dove il sito Web lo collega all'utente finale.
Ci sono tre passaggi chiave per la creazione di The Barcode Registry che utilizza per creare un modello di rilevamento oggetti personalizzato con SageMaker:
- Crea uno script di formazione per l'esecuzione di SageMaker.
- Crea un container Docker dallo script di addestramento e caricalo su Amazon ECR.
- Utilizzare la console SageMaker per addestrare un modello con l'algoritmo personalizzato.
Dati del prodotto
Come prerequisito per addestrare un modello di rilevamento degli oggetti, avrai bisogno di un account AWS e di immagini di addestramento, costituite da almeno 100 immagini di alta qualità (alta risoluzione e in più condizioni di illuminazione) del tuo oggetto. Come con qualsiasi modello ML, l'elevata qualità dei dati è fondamentale. Per addestrare un modello di rilevamento degli oggetti, abbiamo bisogno di immagini contenenti i prodotti rilevanti, nonché di riquadri di delimitazione che descrivono dove si trovano i prodotti nelle immagini, come mostrato nell'esempio seguente.
Per addestrare un modello efficace, sono necessarie immagini di ciascuno dei prodotti di un marchio con sfondi e condizioni di illuminazione diversi: circa 30-100 immagini annotate univoche per ciascun prodotto.
Dopo che le immagini sono state caricate sul server Web, vengono caricate su Amazon S3 utilizzando il file SDK AWS per PHP. Un evento Lambda viene attivato ogni volta che viene caricata un'immagine. La funzione rimuove i metadati Exif dalle immagini, che a volte possono farli apparire ruotati quando vengono aperti dalle librerie ML successivamente utilizzate per addestrare il modello. I dati del riquadro di delimitazione associati vengono archiviati in file JSON e caricati su Amazon S3 per accompagnare le immagini.
SageMaker per modelli di rilevamento oggetti
SageMaker è un servizio di machine learning gestito che include una varietà di strumenti per la creazione, la formazione e l'hosting di modelli nel cloud. In particolare, TheBarcodeRegistry utilizza SageMaker per il suo servizio di rilevamento degli oggetti grazie ai servizi di hosting e training del modello ML affidabili e scalabili di SageMaker. Ciò significa che molti marchi possono avere i propri modelli di rilevamento degli oggetti addestrati e ospitati e anche se l'utilizzo aumenta in modo imprevedibile, non ci saranno tempi di inattività.
Il registro codici a barre utilizza contenitori Docker personalizzati caricati su Registro dei contenitori Amazon Elastic (Amazon ECR) per avere un controllo più dettagliato dell'algoritmo di rilevamento degli oggetti utilizzato per l'addestramento e l'inferenza, nonché il supporto per Server multimodello (MMS). L'MMS è molto importante per il caso d'uso del rilevamento della contraffazione perché consente a modelli di più marchi di essere ospitati in modo conveniente sullo stesso server. In alternativa, puoi utilizzare il built-in algoritmo di rilevamento degli oggetti per distribuire rapidamente modelli standard sviluppati da AWS.
Addestra un modello di rilevamento oggetti personalizzato con SageMaker
Innanzitutto, devi aggiungere il tuo algoritmo di rilevamento degli oggetti. In questo caso, carica un container Docker con script per addestrare un modello di rilevamento degli oggetti Yolov5 su Amazon ECR:
- Sulla console SageMaker, sotto Taccuino nel pannello di navigazione, scegli Istanze di notebook.
- Scegli Crea istanza del blocco note.
- Immettere un nome per l'istanza notebook e sotto Permessi e crittografia scegli un file Gestione dell'identità e dell'accesso di AWS (IAM) con le autorizzazioni necessarie.
- Aprire il Git repository menu.
- Seleziona Clonare un repository Git pubblico solo su questa istanza di notebook e incolla quanto segue URL del repository Git: https://github.com/portoaj/SageMakerObjectDetection
- Clicchi Crea istanza del blocco note e attendi circa cinque minuti per l'aggiornamento dello stato dell'istanza Attesa Pagamento a In servizio nel Istanza notebook menu.
- Una volta che il taccuino è In servizio, selezionalo e fai clic Azioni ed Apri Jupyter per avviare l'istanza notebook in una nuova scheda.
- Seleziona il SageMaker ObjectDetection directory e quindi fare clic su
sagemakerobjectdetection.ipynb
per avviare il notebook Jupyter. - Seleziona il
conda_python3
kernel e fare clic Imposta kernel. - Seleziona la cella del codice e imposta il
aws_account_id
variabile al tuo ID account AWS. - Clicchi Correre per iniziare il processo di creazione di un container Docker e di caricamento su Amazon ECR. Il completamento di questo processo potrebbe richiedere circa 20 minuti.
- Una volta che il container Docker è stato caricato, torna a Istanze di notebook menu, seleziona la tua istanza e fai clic Azioni ed Fermare per spegnere l'istanza del notebook.
Dopo che l'algoritmo è stato creato e inviato ad Amazon ECR, puoi usarlo per addestrare un modello tramite la console SageMaker.
- Sulla console SageMaker, sotto Training nel pannello di navigazione, scegli Lavori di formazione.
- Scegli Crea lavoro di formazione.
- Immettere un nome per il lavoro e scegliere il Gestione dell'identità e dell'accesso di AWS (IAM) con le autorizzazioni necessarie.
- Nel Sorgente dell'algoritmo, selezionare Il tuo contenitore di algoritmi in ECR.
- Nel Contenitore, immettere il percorso del registro.
- L'impostazione di una singola istanza ml.p2.xlarge nella configurazione delle risorse dovrebbe essere sufficiente per addestrare un modello Yolov5.
- Specifica le posizioni Amazon S3 sia per i dati di input che per il percorso di output e qualsiasi altra impostazione come la configurazione di un VPC tramite Cloud privato virtuale di Amazon (Amazon VPC) o abilitando Managed Spot Training.
- Scegli Crea lavoro di formazione.
Puoi tenere traccia dell'avanzamento dell'addestramento del modello sulla console SageMaker.
Addestramento automatizzato del modello
Il diagramma seguente illustra il flusso di lavoro di addestramento del modello automatizzato:
Per fare in modo che SageMaker inizi ad addestrare il modello di rilevamento degli oggetti non appena un utente termina di caricare i propri dati, il server Web utilizza Gateway API Amazon per notificare a una funzione Lambda che il marchio è terminato e per iniziare un lavoro di formazione.
Quando il modello di un marchio viene addestrato con successo, Amazon EventBridge chiama una funzione Lambda che sposta il modello addestrato nel bucket S3 dell'endpoint live, dove è finalmente pronto per l'inferenza. Un'alternativa più recente all'utilizzo di Amazon EventBridge per spostare i modelli attraverso il ciclo di vita di MLOps che dovresti considerare è Pipeline SageMaker.
Ospitare il modello per l'inferenza
Il diagramma seguente illustra il flusso di lavoro di inferenza:
Per utilizzare i modelli addestrati, SageMaker richiede che un modello di inferenza sia ospitato da un endpoint. L'endpoint è il server o l'array di server utilizzati per ospitare effettivamente il modello di inferenza. Simile al container di addestramento che abbiamo creato, un container Docker per l'inferenza è ospitato in Amazon ECR. Il modello di inferenza utilizza quel contenitore Docker e prende l'immagine di input che l'utente ha acquisito con il proprio telefono, la esegue attraverso il modello di rilevamento degli oggetti addestrato e restituisce il risultato.
Anche in questo caso, The Barcode Registry utilizza contenitori Docker personalizzati per il modello di inferenza per consentire l'uso di Multi Model Server, ma se è necessario un solo modello, questo può essere facilmente ospitato tramite l'algoritmo di rilevamento degli oggetti integrato.
Conclusione
Il Registro dei codici a barre (in collaborazione con il suo partner Buyabarcode.com) utilizza AWS per l'intera pipeline di rilevamento degli oggetti. Il server Web archivia i dati in modo affidabile in Amazon S3 e utilizza API Gateway e funzioni Lambda per connettere il server Web al cloud. SageMaker addestra e ospita prontamente modelli ML, il che significa che un utente può scattare una foto di un prodotto sul proprio telefono e vedere se il prodotto è contraffatto. Questo post mostra come creare e ospitare un modello di rilevamento oggetti utilizzando SageMaker, nonché come automatizzare il processo.
Durante i test, il modello è stato in grado di ottenere una precisione superiore al 90% su un set di addestramento di 62 immagini e un set di test di 32 immagini, il che è piuttosto impressionante per un modello addestrato senza alcun intervento umano. Per iniziare ad addestrare tu stesso i modelli di rilevamento degli oggetti, dai un'occhiata al funzionario documentazione o imparare a distribuire un modello di rilevamento degli oggetti all'edge utilizzando AWS IoT Greengrass.
Il contenuto e le opinioni in questo post sono quelli dell'autore di terze parti e AWS non è responsabile per il contenuto o l'accuratezza di questo post.
Informazioni sugli autori
Andrea Masek, Software Engineer presso The Barcode Registry.
Erik Quisling, CEO di The Barcode Registry.
- Coinsmart. Il miglior scambio di bitcoin e criptovalute d'Europa.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. ACCESSO LIBERO.
- Criptofalco. Radar Altcoin. Prova gratuita.
- Fonte: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Chi siamo
- accesso
- Il mio account
- algoritmo
- Sebbene il
- Amazon
- api
- Automatizzata
- AWS
- sistema
- Scatola
- marche
- Costruzione
- incassato
- Causare
- ceo
- Cloud
- codice
- raccogliere
- Aziende
- Configurazione
- consolle
- Contenitore
- Tecnologie Container
- contenuto
- di controllo
- Contraffazione
- Creazione
- Azione Penale
- costume
- Clienti
- dati
- Banca Dati
- schierare
- rivelazione
- sviluppato
- diverso
- discutere
- docker
- giù
- i tempi di inattività
- farmaci
- facilmente
- bordo
- Efficace
- consentendo
- endpoint
- ingegnere
- Impresa
- Evento
- esempio
- Infine
- Nome
- i seguenti
- frode
- function
- Idiota
- merce
- Crescita
- GUEST
- Ospite Messaggio
- Aiuto
- aiuta
- Come
- Tutorial
- HTTPS
- umano
- Identità
- Immagine
- importante
- IoT
- IT
- Lavoro
- Le
- con i più recenti
- lanciare
- IMPARARE
- apprendimento
- posizioni
- macchina
- machine learning
- gestito
- ML
- modello
- modelli
- Scopri di più
- cambiano
- Navigazione
- taccuino
- offerta
- ufficiale
- Opinioni
- minimo
- Altro
- proprietà
- partner
- immagine
- piuttosto
- Frodi
- un bagno
- processi
- Prodotto
- Prodotti
- promettente
- la percezione
- rapidamente
- riconoscere
- pertinente
- deposito
- risorsa
- responsabile
- Correre
- vendite
- scalabile
- sdk
- servizio
- Servizi
- set
- simile
- Un'espansione
- Scatto
- Software
- Software Engineer
- soluzione
- Spot
- inizia a
- iniziato
- Stato dei servizi
- conservazione
- negozi
- Con successo
- supporto
- Tecnologie
- Testing
- il mondo
- di parti terze standard
- Attraverso
- tempo
- strumenti
- pista
- tradizionale
- Training
- forma
- unico
- Aggiornanento
- uso
- Convalida
- virtuale
- aspettare
- sito web
- web server
- Sito web
- senza
- mondo
- In tutto il mondo
- anno