FabImage® Studio Professional
Software per tecnici della visione artificiale
Vantaggi chiave
- Nessuna conoscenza di programmazione richiesta.
- Software basato sul flusso di dati.
- Algoritmi rapidi e ottimizzati.
- Oltre 1000 funzioni ad alta prestazione.
- Filtri di visione artificiale customizzati.
FabImage® Studio Professional è un software basato sul flusso di dati progettato per gli ingegneri della visione artificiale. Non richiede alcuna abilità di programmazione, ma è così potente che può vincere anche con soluzioni basate su librerie di programmazione di basso livello.
Inoltre, l'architettura è altamente flessibile, garantendo che gli utenti possano facilmente adattare il prodotto al modo in cui lavorano e ai requisiti specifici di qualsiasi progetto.
Esempi di applicazioni reali e case history
Introduzione
Il Deep Learning di FabImage® è un set aggiuntivo di 5 strumenti, altamente innovativi, progettati per ispezioni complesse. Bastano solo 20-50 immagini campione, per costruire un modello di reti neurali e rendere il software autonomo nel rilevare oggetti, difetti o caratteristiche che gli algoritmi tradizionali non sarebbero in grado di identificare.
Insieme a FabImage Studio Professional, Deep Learning Add-on fornisce una soluzione completa per le moderne applicazioni di visione artificiale!
Vantaggi chiave
Set di training
Impara da pochi campioni
Le applicazioni tipiche con FabImage Deep Learning Add-on richiedono da 20 a 50 immagini per la fase di training. Il nostro software apprende internamente le caratteristiche chiave da un set di training limitato e genera quindi migliaia di nuovi sample artificiali per un training efficace.
Requisiti hardware
Funziona su GPU e CPU
Per un training efficace nella fase di sviluppo è necessaria una GPU moderna. In macchina (runtime), si può utilizzare GPU o CPU. La GPU sarà tipicamente 3-10 volte più veloce (ad eccezione della classificazione degli oggetti che è altrettanto veloce sulla CPU).
Velocità
Le migliori performance
La durata tipica del training su una GPU è di 5-15 minuti. Il tempo di inferenza varia a seconda dello strumento e dell'hardware tra 5 e 100 ms per immagine. Le massime prestazioni sono garantite da un motore di inferenza sviluppato appositamente per l’uso su applicazioni industriali.
Procedura di Training
1. Raccolta e normalizzazione delle immagini
- Acquisire tra le 20 e le 50 immagini (più sono meglio è), di campioni buoni e di scarti, che rappresentano tutte le possibili variazioni dell'oggetto; salvarle su disco.
- Assicurarsi che la scala dell'oggetto, l'orientamento e l'illuminazione siano il più possibile coerenti.
Training
- Aprire FabImage Studio Professional e aggiungere uno dei moduli del Deep Learning Add-on.
- Aprire l’editor associato allo strumento e caricare le immagini di training.
- Etichettare le immagini o evidenziare i difetti utilizzando gli strumenti di disegno.
- Fare clic su "Train"
Set di addestramento e set di validazione
Nel deep learning, come in tutti i campi del machine learning, è molto importante seguire la metodologia corretta. La regola più importante è separare il set di addestramento dal set di convalida. Il set di addestramento è un insieme di campioni utilizzati per la creazione di un modello. Non possiamo usarlo per misurare le prestazioni del modello, poiché spesso genera risultati troppo ottimistici. Pertanto, utilizziamo dati separati - il set di convalida - per valutare il modello. Il nostro Deep Learning Add-on crea automaticamente entrambi i set dagli esempi forniti dall'utente.
Rilevazione di caratteristiche
Nella modalità supervisionata, l'utente deve evidenziare i pixel corrispondenti ai difetti sulle immagini di training. Lo strumento impara quindi a distinguere gli scarti cercandone le caratteristiche identificative.
Ispezione di pannelli fotovoltaici
In questa applicazione, crepe e graffi devono essere rilevati su una superficie che include caratteristiche complesse. Con i metodi tradizionali, questo richiede algoritmi complicati con decine di parametri che devono essere modificati per ogni tipo di pannello. Con il Deep Learning Add-on è sufficiente addestrare il sistema in modalità supervisionata, utilizzando un unico strumento.
Segmentazione dell'immagine satellitare
Le immagini satellitari sono difficili da analizzare poiché includono un'enorme varietà di caratteristiche. Tuttavia, il Deep Learning Add-on può essere addestrato per rilevare strade ed edifici con un'affidabilità molto elevata. Il training può essere eseguito utilizzando una sola immagine correttamente etichettata e i risultati possono essere verificati immediatamente. L’aggiunta di più campioni è utile ad aumentare la robustezza del modello.
Rilevazione di anomalie
Nella modalità senza supervisione il training è più semplice. Non esiste una definizione diretta di difetto: lo strumento viene addestrato a cercare deviazioni, di qualsiasi tipo, rispetto a campioni che vorremmo.
Verifica del packaging
In una confezione alimentare, ciascuno degli elementi deve essere posizionato correttamente. I difetti sono difficili da identificare quando gli oggetti sono corretti ma si trovano in una posizione sbagliata. In questo caso devono comunque essere classificati come errati. La soluzione è utilizzare un deep learning senza supervisione che rileva eventuali variazioni significative rispetto a ciò che lo strumento ha visto e appreso nella fase di formazione.
Materie plastiche, stampaggio a iniezione
Lo stampaggio a iniezione è un processo complesso con diversi, possibili, problemi di produzione. Gli oggetti in plastica possono anche includere piegature o altre deviazioni di forma accettabili per il cliente. Il nostro componente aggiuntivo Deep Learning può apprendere tutte le deviazioni accettabili dai campioni forniti e quindi rilevare anomalie di qualsiasi tipo durante l'esecuzione sulla linea di produzione.
Classificazione di oggetti
Lo strumento di classificazione degli oggetti divide le immagini di input in gruppi creati dall'utente in base alle loro caratteristiche specifiche. Di conseguenza vengono forniti il nome di una classe il livello di confidenza di ogni classificazione.
Posizionamento tappi (anteriore/posteriore)
Talvolta i tappi di plastica possono capovolgersi accidentalmente nella macchina di produzione. Il cliente desidera evitare questa situazione. L'attività può essere completata con metodi tradizionali, ma richiede un esperto per progettare un algoritmo specifico per questa applicazione. E’ invece possibile usare la classificazione basata sul Deep Learning che impara automaticamente a riconoscere il fronte e il retro da una serie di immagini di training.
Identificazione 3D di cerchi in lega
Potrebbero esserci centinaia di diversi tipi di cerchi in lega prodotti in un singolo stabilimento: l'identificazione di un particolare modello, rispetto a tali quantità, è impossibile con i metodi tradizionali. Un approccio Template Matching richiederebbe un'enorme quantità di tempo per cercare di abbinare centinaia di modelli, mentre la realizzazione manuale di modelli su misura richiederebbe uno sviluppo e una manutenzione eccessivi. Il deep learning si presenta come una soluzione ideale che apprende direttamente dalle immagini di esempio senza alcun sviluppo ad hoc.
Segmentazione in classi
La tecnica di segmentazione dell’istanza viene utilizzata per individuare, segmentare e classificare oggetti singoli o multipli all'interno di un'immagine. A differenza dello strumento di rilevazione di caratteristiche, questa tecnica rileva oggetti singoli e può essere in grado di separarli anche se si toccano o si sovrappongono.
Segmentazione di frutta secca
Poiché la composizione percentuale di frutta secca in una confezione deve essere conforme all'elenco degli ingredienti riportati in etichetta, il produttore deve verificare che venga imballata la giusta quantità di frutta secca per ciascun tipo. Lo strumento di segmentazione delle istanze è una soluzione ideale in tale applicazione, poiché restituisce maschere corrispondenti agli oggetti segmentati.
Verifica del packaging
Nell’esempio di verdure preconfezionate, la posizione degli ortaggi è casuale. I lavoratori della linea di produzione possono a volte dimenticarsi, accidentalmente, di mettere una delle verdure all’interno della confezione. Sebbene esista un sistema che pesa il pacchetto, è preferibile verificare la completezza del prodotto prima del processo di confezionamento. Poiché non esistono due ortaggi uguali, la soluzione è utilizzare la segmentazione basata sul deep learning. Nella fase di training, l’utente deve semplicemente contrassegnare le regioni corrispondenti alle verdure.
Tracciamento di punti
Lo strumento di tracciamento di punti cerca forme, caratteristiche o segni specifici che possono essere identificati come punti in un'immagine di input. Può essere paragonato al tradizionale template matching, ma qui lo strumento viene addestrato con più campioni e diventa robusto contro l'enorme variabilità degli oggetti di interesse.
Tracciamento api
Questo compito, impossibile da realizzare con i metodi tradizionali di elaborazione delle immagini, può essere svolto con il nostro ultimo strumento. Al termine dell’identificazione, possiamo verificare se sono stati infettati dalla varrosi, malattia causata dagli acari parassiti che attaccano le api mellifere. Il parassita si attacca al corpo degli insetti e sulla base di una caratteristica infiammazione rossa possiamo classificarle in base alle loro condizioni di salute. Questo esempio mostra che lo strumento si estende facilmente a molti diversi rami dell'industria, ad es. agricoltura.
Pick and Place
In queste applicazioni abbiamo bisogno di guidare un braccio robotico per prelevare gli articoli, tipicamente da un nastro trasportatore o da un contenitore. Un buon esempio di tale applicazione è raccogliere piccole talee di stelo per poi metterle verticalmente in vasi. Eventuali imprecisioni nel rilevamento potranno comportare un invaso troppo profondo o capovolto: le talee non formeranno radici. I nostri strumenti di deep learning consentono di individuare rapidamente le parti desiderate della pianta e fornire i risultati accurati, richiesti, per questa operazione.
Sono disponibili tre tipologie di Licenze:
Licenze Developer: sono Licenze necessarie per sviluppare un programma di visione.
Licenze Runtime: sono Licenze necessarie per eseguire un programma di visione. Per acquistare un Licenza runtime è necessario aver acquistato una Licenza Developer.
Licenze Add-on: sono Licenze aggiuntive che permettono di espandere le funzionalità delle altre due tipologie di Licenze.
Licenze Developer
Licenza Base
La Licenza Developer è assegnata ad un singolo utente sviluppatore ed è attivabile solo tramite chiavetta USB. Per i primi 12 mesi dall’attivazione sono gratuitamente inclusi i servizi di Supporto Tecnico, che includono:
- Versione più aggiornata del software con le relative nuove funzionalità e documentazione*
- Risposte, via email, ai quesiti tecnici relativi all’uso del software
Dopo 12 mesi dall'attivazione della Licenza Developer, è necessario acquistare una licenza di servizio (FIS-EXT) per continuare a beneficiare di questi vantaggi.
*Per ottenere la versione più aggiornata del software occorre inviare ad Opto Engineering il file WIBU associato alla chiavetta USB della Licenza su cui si desidera avere l’upgrade. Maggiori informazioni su come e dove scaricare il file WIBU su https://docs.fab-image.com/stu... | |||
P/N |
Descrizione |
Tipologia |
Funzionalità |
FIS-PRO
|
FabImage® Studio |
Licenza Developer Base |
Ambiente di sviluppo (IDE) per programmare in forma grafica.
|
USB-DONGLE-FI |
Chiavetta USB |
Hardware |
Necessaria per ordinare la Licenza attivata tramite chiavetta |
Licenze ADD-ON
Le Licenze ADD-ON** sono Licenze aggiuntive che permettono di espandere le funzionalità della Licenza base. Per acquistare Licenze ADD-ON è necessario aver acquistato una Licenza Developer FabImage® Studio (FIS-PRO).
** Per ordinare una Licenza ADD-ON, è necessario, insieme all’ordine, inviare anche il file WIBU associato alla chiavetta USB della Licenza developer su cui si desidera attivare l’ add-on. Maggiori informazioni su come e dove scaricare il file WIBU a questo link. |
|||
*** Non è possibile costruire più macrofiltri con il Deep Learning che lavorano in parallelo. |
|||
P/N |
Descrizione |
Tipologia |
Funzionalità |
FIS-CODE-ADD |
Code Generator per chi ha acquistato FabImage® Studio e vuole utilizzare anche le librerie di FabImage® Library Suite |
Licenza Developer ADD-ON |
Permette all’utente di trasformare le applicazioni realizzate in FabImage® Studio Professional (FIS-PRO) in codice C++. Il pacchetto FabImage® Studio + Code Generator ADD-ON (FIS-PRO + FIS-CODE-ADD) permette di integrare ed usufruire delle Librerie di FabImage® Library Suite (FIL-SUI). L’utente può utilizzare l’ambiente di sviluppo sia per la programmazione in forma grafica sia per la programmazione diretta in C++ o .NET. Per eseguire l’applicazione è sufficiente acquistare una licenza Runtime (FIS-RUN o FIL-RUN). |
FIS-PAR-ADD |
Parallel Processing ADD-ON per chi ha acquistato FabImage® Studio (FIS-PRO) |
Licenza Developer ADD-ON |
Permette all’utente di:
|
FI-DL-ADD |
FabImage Deep Learning ADD-ON per chi ha già acquistato FabImage® Studio (FIS-PRO) |
Licenza Developer ADD-ON |
Permette all’utente l’utilizzo dei Tools del Deep Learning***. Per maggiori informazioni visitare la sezione Deep Learning. |
Licenze Runtime
Licenza Runtime ad un SINGOLO THREAD
La Licenza Runtime è assegnata ad un singolo sistema di visione e permette l’acquisizione multicamera e l’esecuzione di processi (macrofiltri) in modo sequenziale (singolo thread). È possibile attivarla tramite 2 opzioni:
Chiavetta USB (USB-DONGLE-RUN)
Computer ID*
Per acquistare una Licenza Runtime ad un Singolo Thread è necessario aver acquistato la Licenza Developer FabImage® Studio (FIL-SUI).
*Qualora il Computer subisse dei danni e la Licenza, assegnata attraverso Computer ID, andasse persa, non potrà essere recuperata e sarà necessario acquistarne una nuova. Opto Engineering consiglia l’opzione di acquisto tramite chiavetta USB. | |||
P/N | Descrizione | Tipologia | Funzionalità |
FIS-RUN | FabImage® Studio Runtime | Licenza Runtime
| Permette di eseguire un numero illimitato di processi (macrofiltri) in modo sequenziale. Un vantaggio particolare offerto da questa Licenza è la facilità di introdurre modifiche, anche direttamente sulla linea di produzione ovvero di modificare e ricaricare le ricette |
USB-DONGLE-RUN | Chiavetta USB (Opzionale) | Hardware | La Licenza viene attivata tramite chiavetta |
Licenza runtime MULTITHREADING
Per poter eseguire le funzionalità del Parallel Processing (FIS-PAR-ADD) è necessario acquistare una delle seguenti Licenze runtime (queste runtime sostituiscono la FabImage® Studio Runtime (FIS-RUN) ad un Singolo Thread). Per eseguire un numero illimitato di processi in parallelo, è consigliato acquistare la Licenza Runtime che limita il numero di core del computer di visione.
Per acquistare una Licenza Runtime Multithreading è obbligatorio aver acquistato una Licenza di tipo Developer FabImage® Studio (FIS-PRO) e una Licenza Developer ADD-ON Parallel Processing (FIS-PAR-ADD).
*Per eseguire un numero illimitato di processi in parallelo, è consigliato acquistare la Licenza Runtime che limita il numero di core del computer di visione. | ||||
P/N |
Descrizione |
Tipologia |
Funzionalità |
|
FIS-RUN-CL-XX |
||||
FIS-RUN-CL-4 |
FabImage® Studio Runtime, per un computer di visione a 4 Core |
Licenza Runtime per Parallel Processing ADD-ON |
Permette di eseguire un numero illimitato di processi in parallelo. È obbligatorio l’utilizzo di un PC con 4 Core. |
|
FIS-RUN-CL-6 |
FabImage® Studio Runtime per un computer di visione a 6 Core |
Licenza Runtime per Parallel Processing ADD-ON |
Permette di eseguire un numero illimitato di processi in parallelo. È obbligatorio l’utilizzo di un PC con 6 Core. |
|
FIS-RUN-CL-8 |
FabImage® Studio Runtime per un computer di visione a 8 Core |
Licenza Runtime per Parallel Processing ADD-ON |
Permette di eseguire un numero illimitato di processi in parallelo. È obbligatorio l’utilizzo di un PC con 8 Core. |
|
FIS-RUN-CL-16 |
FabImage® Studio Runtime per un computer di visione a 16 Core |
Licenza Runtime per Parallel Processing ADD-ON |
Permette di eseguire un numero illimitato di processi in parallelo. È obbligatorio l’utilizzo di un PC con 16 Core. |
|
FIS-RUN-TL-XX* |
||||
FIS-RUN-TL-2 |
FabImage® Studio Runtime limitata a 2 Threads |
Licenza Runtime per Parallel Processing ADD-ON |
Permette l’utilizzo di un PC ad un numero a piacimento di Core. Il numero di processi in parallelo è limitato a 2 threads. |
|
FIS-RUN-TL-4 |
FabImage® Studio Runtime limitata a 4 Threads |
Licenza Runtime per Parallel Processing ADD-ON |
Permette l’utilizzo di un PC ad un numero a piacimento di Core. Il numero di processi in parallelo è limitato a 4 threads. |
|
FIS-RUN-TL-6 |
FabImage® Studio Runtime limitata a 6 Threads |
Licenza Runtime per Parallel Processing ADD-ON |
Permette l’utilizzo di un PC ad un numero a piacimento di Core. Il numero di processi in parallelo è limitato a 6 threads. |
|
FIS-RUN-TL-8 |
FabImage® Studio Runtime limitata a 8 Threads |
Licenza Runtime per Parallel Processing ADD-ON |
Permette l’utilizzo di un PC ad un numero a piacimento di Core. Il numero di processi in parallelo è limitato a 8 threads. |
|
FIS-RUN-TL-16 |
FabImage® Studio Runtime limitata a 16 Threads |
Licenza Runtime per Parallel Processing ADD-ON |
Permette l’utilizzo di un PC ad un numero a piacimento di Core. Il numero di processi in parallelo è limitato a 16 threads. |
ADD-ON Runtime License DEEP LEARNING
Per poter eseguire le funzionalità del Deep Learning ADD-ON è necessario acquistare la seguente Licenza Runtime in aggiunta alla Licenza FabImage® Studio Runtime (FIS-RUN).
Per acquistare la Deep Learning Runtime ADD-ON è necessario aver acquistato una Licenza di tipo Developer FabImage Studio (FIS-PRO) e una Licenza di tipo Developer Deep Learning ADD-ON (FI-DL-ADD).
*Non è possibile utilizzare più GPU card per l’inferenza | |||
P/N | Descrizione | Tipologia | Funzionalità |
FIS-RUN-DL | FabImage® Studio Deep Learning Runtime ADD-ON | Licenza Runtime ADD-ON per il Deep Learning ADD-ON
| Permette all’utente l’esecuzione del Deep learning ad un singolo Thread * |
Licenze Service
Allo scadere dei 12 mesi dall’attivazione della Licenza Developer FabImage® Studio (FIS-PRO) o delle Licenze Developer di tipo ADD-ON (FIS-CODE-ADD, FIS-PAR-ADD e FI-DL-ADD) sono disponibili le seguenti Licenze Service per estendere per altri 12 mesi i servizi di assistenza tecnica, che comprendono:
- La versione più aggiornata del software con le nuove funzionalità e la documentazione associate
- Risposte, via e-mail, a domande tecniche relative all'uso del software
*Le licenze Parallel Add-on vengono aggiornate gratuitamente dopo l'acquisto di un FIS-EXT. **Se si acquista ADD-EXT, non è necessario acquistare anche FIS-EXT. ***Per acquistare il DL-EXT è necessario acquistare anche il FIS-EXT. |
|||
P/N | Descrizione | Tipologia | Funzionalità |
FIS-EXT | FabImage® Studio EXTENSION
| Licenza Service | Licenza necessaria per:
|
ADD-EXT | FabImage® Studio + Code Generator ADD-ON EXTENSION | Licenza Service | Licenza necessaria per:
|
DL-EXT* | FabImage® Deep Learning ADD-ON EXTENSION | Licenza Service | Licenza necessaria per:
|
Se non si estende il servizio di assistenza tecnica, è comunque possibile:
-utilizzare la licenza per sviluppatori (FIS-PRO) e le licenze add-on (FIS-CODE-ADD, FIS-PAR-ADD e FI-DL-ADD), ma solo nell'ultima versione disponibile alla scadenza del supporto tecnico.
-Acquistare e utilizzare le licenze Runtime (incluse quelle Multithreading e Deep Learning), ma solo nell'ultima versione disponibile alla scadenza del supporto tecnico.
IMPORTANTE
Opto Engineering rilascia da 2 a 4 nuove versioni delle licenze per sviluppatori ogni anno, quindi è molto probabile che alla scadenza del supporto sia già disponibile una nuova versione. Per questo motivo, oltre a poter usufruire del nostro supporto tecnico, Opto Engineering consiglia sempre l'acquisto di Licenze Service.
Intuitive
Drag & Drop
L’intera programmazione viene effettuata selezionando i filtri e collegandoli tra di loro. È possibile concentrarsi sulla visione artificiale.
Si può vedere tutto
I risultati dei controlli vengono visualizzati sotto forma di anteprime multiple di dati configurabili e, quando un parametro del programma viene modificato, è possibile visualizzare le anteprime aggiornate in tempo reale.
Designer di HMI
Permette di creare facilmente interfacce utente grafiche personalizzate e di realizzare l’intera applicazione di visione artificiale utilizzando un unico pacchetto software.
Potente
Oltre 1000 filtri pronti all’uso
Sono disponibili oltre 1000 filtri macchina pronti all’uso, testati e ottimizzati su centinaia di applicazioni. Sono dotati di una serie di funzioni avanzate, come l’eliminazione degli outlier, la precisione dei subpixel o ROI di qualsiasi forma.
Accelerazione hardware
I filtri sono fortemente ottimizzati per la tecnologia SSE e per i processori multicore. Le nostre implementazioni sono tra le più rapide al mondo!
Cicli e condizioni
È possibile creare flussi di programmi personalizzati e in scala senza scrivere una sola linea di codice. I cicli, le condizioni e i sottoprogrammi (macrofiltri) sono realizzati graficamente con apposite strutture di flussi di dati.
Adattabile
GigE Vision and GenTL Support
FabImage® Studio è un prodotto conforme GigE Vision, in grado di supportare l’interfaccia GenTL e una vasta serie di API specifiche dei venditori. Questo permette di utilizzare le telecamere Opto Engineering® e la maggior parte delle telecamere disponibili sul mercato, inclusi i modelli di Matrix Vision, Allied Vision, Basler, Baumer, Dalsa, PointGrey, Photon Focus, XIMEA e molti altri.
Filtri utente
È possibile utilizzare i filtri utente per integrare il proprio codice C/C++ con i vantaggi della programmazione visiva.
Generatore di codici C++
È possibile esportare i programmi creati in FabImage® Studio in codice C++ o in gruppi .NET. Questo semplifica l’integrazione degli algoritmi di visione con applicazioni create in un linguaggio di programmazione C++, C# o VB.
Esempi di applicazione
In questa applicazione, dobbiamo ordinare i chiodi tra dadi e
bulloni. L'immagine è soggetta a soglia e le aree risultanti vengono
suddivise in BLOB; infine, le macchie sono classificate in base al loro
allungamento e le unghie sono facilmente reperibili.
Questo esempio mostra un filtro ReadBarcodes di base. Lo strumento
trova automaticamente il codice a barre e fornisce come output il testo
decodificato.