Utilizzare OCI Vision per automatizzare la gestione dell'inventario
La gestione manuale dell'inventario può essere un processo dispendioso in termini di tempo e di manodopera. Spesso i produttori lottano per mantenere un magazzino aggiornato e tenere traccia della loro posizione, con conseguente perdita di ricavi e capitale sottoutilizzato. Il processo di conteggio dell'inventario in loco per grandi fabbriche remote o strutture di warehouse richiede tempi e risorse intensivi, vincoli ed è soggetto a errori.
OCI Vision può essere utilizzato per integrare le attività manuali di gestione dell'inventario utilizzando droni (o altri robot) per osservare, contare e segnalare le informazioni in modo affidabile e rapido.
OCI Vision è uno dei diversi servizi AI disponibili su Oracle Cloud Infrastructure. OCI Vision ti offre il potere di applicare il machine learning e l'intelligenza artificiale senza dover avere competenze nel campo della data science. OCI Vision include modelli predefiniti disponibili pronti all'uso, che consentono di integrare il riconoscimento delle immagini e il riconoscimento del testo nelle applicazioni, senza ricorrere a competenze di apprendimento automatico (ML) precedenti. Questi modelli possono anche essere utilizzati per rilevare anomalie visive nella produzione, estrarre testo dai documenti per automatizzare i flussi di lavoro aziendali.
Questa architettura di riferimento descrive la fase di prova del concetto sviluppata di recente per Oracle Industry Lab, dove l'obiettivo era quello di utilizzare i tubi in pila come esempio di uno scenario di conteggio automatico dell'inventario, utilizzando un drone programmabile e un modello di visione OCI personalizzato e addestrato.
Architettura
Il diagramma riportato di seguito mostra il flusso logico per questa architettura di riferimento.

Descrizione dell'illustrazione oci-vision-inventory-flow.png
Il primo passo del processo di sviluppo consisteva nell'etichettare un set di dati di immagini di tubazioni impilate utilizzando il servizio di etichettatura dei dati OCI. Al termine dell'etichettatura, sono stati creati un progetto OCI Vision e un modello personalizzato OCI Vision. Il modello personalizzato OCI Vision è stato addestrato utilizzando il set di dati con etichetta di immagini di pipe in pila.
- Scarica le immagini del drone su docking tramite l'API Skydio Cloud
- Carica le immagini nello storage degli oggetti OCI
- Conta i tubi
- Aggiornare il conteggio delle pipe nel sistema Oracle Cloud Enterprise Resource Planning utilizzando l'API Oracle Fusion Cloud Inventory Management
Il modello OCI Vision creato è in grado di fornire come output i metadati di ciascun oggetto riconosciuto (in questa architettura di riferimento: pipe). I metadati per ciascun oggetto contengono le coordinate della casella di delimitazione che racchiude l'oggetto e un valore di attendibilità. Il conteggio totale non è presente nella risposta nativa, pertanto è necessario includerlo nel codice.
Gli eventi OCI sono stati utilizzati per automatizzare i processi di gestione dell'inventario. Quando le immagini vengono caricate nello storage degli oggetti, l'evento associato attiva le funzioni OCI. La funzione chiama quindi direttamente l'API di Oracle Fusion Cloud Inventory Management per aggiornare il conteggio degli articoli.
Il diagramma riportato di seguito mostra l'architettura di riferimento di esempio che può essere mappata al diagramma di flusso logico sopra riportato.

Descrizione dell'illustrazione oci-vision-inventory-arch.png
L'architettura dispone dei seguenti componenti:
- Visione OCI
OCI Vision è un servizio AI per eseguire un'analisi delle immagini basata sull'apprendimento approfondito su larga scala. Grazie a modelli predefiniti disponibili pronti all'uso, gli sviluppatori possono facilmente creare riconoscimento delle immagini e del testo nelle proprie applicazioni senza competenze di apprendimento automatico (ML). Per casi d'uso specifici del settore, gli sviluppatori possono formare automaticamente modelli Vision personalizzati con i propri dati. Questi modelli possono essere utilizzati per rilevare anomalie visive nella produzione, estrarre testo da documenti per automatizzare i flussi di lavoro aziendali e assegnare tag agli articoli nelle immagini per contare prodotti o spedizioni.
Oltre a ottenere l'accesso a modelli pre-addestrati, gli sviluppatori possono creare modelli personalizzati senza competenze nel campo della data science o gestire un'infrastruttura modello personalizzata.
- Etichettatura dei dati OCI
Il servizio Etichettatura dei dati OCI è un servizio nativo OCI che consente ai clienti di creare e sfogliare data set, visualizzare record di dati (testo, immagini) e applicare etichette allo scopo di creare modelli AI/ML. Il servizio fornisce anche interfacce utente interattive progettate per facilitare il processo di etichettatura. Gli sviluppatori possono caricare immagini raw, aggiungere etichette e evidenziare aree di immagini. Aggiungendo queste etichette alle immagini, i set di dati risultanti possono essere utilizzati per addestrare la classificazione delle immagini personalizzate e i modelli di rilevamento degli oggetti.
Una volta etichettati i record, il set di dati può essere esportato come JSON delimitato da righe per poter essere utilizzato nello sviluppo di modelli AI/ML. È possibile accedere all'etichettatura dei dati OCI direttamente da altri servizi, ad esempio OCI Vision e OCI Language, nell'ambito di un flusso di lavoro di formazione dei modelli personalizzato. I data scientist che preferiscono creare e formare i propri modelli di deep learning o di elaborazione del linguaggio naturale possono utilizzare il data set con l'etichetta tramite OCI Data Science.
- Storage degli oggetti
Lo storage degli oggetti ti consente di accedere rapidamente a grandi quantità di dati strutturati e non strutturati di qualsiasi tipo di contenuto, inclusi i backup del database, i dati analitici e i contenuti avanzati quali immagini e video. Puoi archiviare e recuperare i dati in modo sicuro direttamente da Internet o dall'interno della piattaforma cloud. Puoi ridimensionare lo storage in modo trasparente senza subire cali di prestazioni o affidabilità dei servizi. Puoi utilizzare lo storage standard per lo storage "hot" a cui hai bisogno per accedere in modo rapido, immediato e frequente. Utilizzare lo storage di archivio per lo storage in grassetto conservato per lunghi periodi di tempo e accesso raramente eseguito.
- Funzioni
Oracle Functions è una piattaforma completamente gestita, multi-tenant, altamente scalabile, on-demand, Functions-as-a-Service (FaaS). È alimentato dal motore open source Fn Project. Le funzioni consentono di distribuire il codice e di chiamarlo direttamente o attivarlo in risposta agli eventi. Oracle Functions utilizza i container Docker ospitati in Oracle Cloud Infrastructure Registry.
- Eventi
I servizi Oracle Cloud Infrastructure emettono eventi, ossia messaggi strutturati che descrivono le modifiche nelle risorse. Gli eventi vengono emessi per le operazioni di creazione, lettura, aggiornamento o eliminazione (CRUD), le modifiche allo stato del ciclo di vita delle risorse e gli eventi di sistema che incidono sulle risorse cloud.
- Gateway Internet
Il gateway Internet consente il traffico tra le subnet pubbliche in una VCN e la rete Internet pubblica.
- Gateway NAT (Network Address Translation)
Un gateway NAT consente alle risorse private in una VCN di accedere agli host su Internet, senza esporre tali risorse alle connessioni Internet in entrata.
Suggerimenti
- Rete cloud virtuale (VCN)
Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Quando crei una rete VCN, determina il numero di blocchi CIDR necessari e la dimensione di ciascun blocco in base al numero di risorse che intendi collegare alle subnet nella VCN. Usare i blocchi CIDR che si trovano all'interno dello spazio di indirizzi IP privati standard.
Selezionare i blocchi CIDR che non si sovrappongono ad altre reti (in Oracle Cloud Infrastructure, nel data center on premise o in un altro provider cloud) in cui si desidera impostare connessioni private.
Dopo aver creato una VCN, puoi modificare, aggiungere e rimuovere i relativi blocchi CIDR.
Quando si progettano le subnet, considerare i requisiti di flusso di traffico e sicurezza. Collegare tutte le risorse all'interno di un livello o ruolo specifico alla stessa subnet, che può fungere da limite di sicurezza.
Usa subnet regionali.
- Funzioni
Questa architettura utilizza una funzione per richiamare l'API REST di OCI Vision con un'immagine specifica, quindi memorizzare i metadati restituiti da OCI Vision. La funzione può essere creata mediante l'SDK Java o Python.
- Eventi
In questa architettura il servizio Eventi OCI viene configurato per ascoltare le modifiche alla creazione dello storage degli oggetti. Il servizio viene richiamato dopo che l'oggetto è stato caricato nello storage degli oggetti e viene chiamata la funzione per l'elaborazione.
- Memorizzazione degli oggetti
Quando le immagini vengono caricate nello storage degli oggetti, l'evento associato può fungere da trigger per l'inventario degli articoli delle funzioni OCI. La funzione può quindi richiamare direttamente l'API di Oracle Fusion Cloud Inventory Management per aggiornare il conteggio degli articoli. In questo caso, è possibile eseguire l'implementazione in modo che i risultati dettagliati (incluse le immagini con caselle di delimitazione aggiunte) vengano memorizzati nello storage degli oggetti per l'audit. In questo scenario è possibile utilizzare lo storage di archivio come opzione più conveniente.
Considerazioni
Considerare i seguenti punti durante la distribuzione di questa architettura.
- Interfaccia utente
A scopo dimostrativo, in Oracle Industry Lab, è stata sviluppata una semplice applicazione Web per visualizzare caselle di delimitazione sopra le immagini di input, come fase del processo. Se lo si desidera, è possibile creare e utilizzare tale applicazione Web in modo che un operatore convalida manualmente il conteggio degli oggetti osservando le caselle di delimitazione.
- Accesso
OCI Vision supporta l'accesso tramite la console OCI, il client SDK Java e Python e l'interfaccia CLI OCI. Quando si esegue il test, si consiglia di utilizzare lo strumento CLI o la console.