Sistemi di visione artificiale
in ambito industriale
Survey sull’utilizzo dei sistemi di visione
nella filiera dell’automazione
della Regione Emilia-Romagna
Claudio Salati
Club degli Innovatori / Confindustria Modena
30-11-2011
Origini di VIALAB
•
Bando Regione Emilia-Romagna
•
•
•
•
•
“Dai distretti produttivi ai distretti tecnologici”
Per filiera: automazione, controlli e meccatronica
Durata del progetto: 2 anni
Vincolo di costituzione di un Laboratorio fisicamente separato
Collaborazione con LABORATORI DELLA RETE ALTA TECNOLOGIA
 VIALAB
Laboratorio per la Visione Industriale Applicata
 Visione artificiale come tecnologia abilitante
2
Partner VIALAB
• Datalogic
• Automation (Prime Contractor)
• Scanning
• System
• SPA
• Logistics
• T3LAB, Rete Alta Tecnologia della Regione Emilia-Romagna
• DEIS, Università di Bologna
• CRIT
3
Organizzazione VIALAB
• Sede del Laboratorio
• c/o T3Lab
• Neoassunti
• 1 per ciascuna Azienda
• 3 presso T3Lab
• 3 presso DEIS
• Tutor
• T3Lab
• DEIS
• Lab Manager T3Lab
• Previste anche attività interne alle Aziende
4
Scopi VIALAB
• Tecnologia abilitante
• Punto di riferimento regionale
• Facilitatore per l’impiego
• Acquisizione di know-how, sia tecnologico che applicativo
• Stato dell’arte
• Benchmarking
• Sviluppo nuove tecniche / algoritmi / tecnologie
• Tematiche emergenti
• Accelerazione HW dell’elaborazione
• Visione 3D
• Formazione di personale specializzato
5
Analisi dei requisiti della filiera
• quali sono le applicazioni di visione industriale di interesse strategico
• quali sono le funzionalità di machine vision necessarie per la loro
realizzazione
• quali tra queste funzionalità hanno una rilevanza maggiore
• quali tra queste funzionalità sono o meno già disponibili con un livello di
qualità (intesa come efficacia ed efficienza computazionale) sufficiente
• quali sono i sistemi di visione (basati su PC, smart/intelligent camera,
vision sensor) target per queste applicazioni
• quali sono i sistemi ottici per realizzare un sistema di acquisizione di
immagini idoneo a supportare le applicazioni delle filiera
• quali sono i vincoli architetturali e di costo
• ...
6
Terminologia (EMVA)
• Application-specific vision system: A turnkey vision system addressing a single
specific application (e.g. wafer inspection in the semiconductor industry or
solutions of system integrators).
 Basato su camere prive di intelligenza a bordo e, di norma, su PC.
• Configurable vision system: A vision system which can be used for different types
of applications (e.g. optical character recognition, dimensional measuring) in
various industries or environments.
 Basato su camere prive di intelligenza a bordo e, di norma, su PC.
• Smart/Intelligent camera (SC/IC): A camera with embedded intelligence, such as a
microprocessor, DSP or FPGA, which can be programmed/parameterized.
 Typically optics and lighting are already integrated.
 A smart/intelligent camera can be used for different applications.
• Vision sensor: A turnkey product based on an image sensor combined with a
processor unit integrated in a body and equipped with specific application
software.
 Typically optics and lighting are already integrated.
 The application is destined for a specific task (e.g. code reading).
7
Metodologia
• Questionari
1. Identificazione dei requisiti e delle modalità d’uso (tecnologiche,
organizzative, …)
2. Valutazione dei toolkit SW di visione conosciuti
• Partecipazione al questionario 2 limitata ad aziende con competenze
specifiche
• Intervista
• Le domande non sono in realtà a forma chiusa
• Le domande prevedono la possibilità di aggiungere commenti e
precisazioni
• Modalità di partecipazione flessibile per aziende strutturate in più
divisioni
 Nel riassumere le risposte c’è un grado notevole di interpretazione
 Risultati da considerarsi più in termini qualitativi che quantitativi
8
Partecipanti
• 25 aziende partecipanti per 27 questionari compilati
• fornitori di sistemi di visione (5),
• integratori di sistemi di visione (6),
• OEM che integrano sistemi di visione nei loro apparati (17),
• utenti finali di sistemi di visione (8).
 Un partecipante si riconosce in diverse categorie
• Risponde tenendo conto delle diverse identità
• Risponde tenendo conto di un’unica identità
 Modalità di risposta diversificate per aziende composte da più divisioni
9
Campi applicativi
• Il controllo di qualità continua ad essere l’applicazione più diffusa.
• La lettura di simboli DPM (Direct Part Marking) non è molto diffusa.
• La lettura (o verifica) di stringhe di caratteri è almeno altrettanto diffusa
della lettura di simboli.
• I controlli metrologici costituiscono un aspetto essenziale delle ispezioni di
qualità.
 Ma, apparentemente, più nello spazio immagine che nello spazio
mondo.
• Il pattern matching viene utilizzato non solo come locatore ma anche,
direttamente, nel controllo di qualità.
• Tematiche emergenti:
• Controllo di qualità 3D
• Pick-and-place 2.5D e 3D
10
Competenze:
interne vs. esterne
• La maggior parte dei partecipanti dichiara di avere competenze di visione
interne
• Ma per gli OEM
• Queste sono in genere relative ai requisiti per il sistema di visione
nell’ambito della loro applicazione
• C’è una integrazione con competenze esterne
• La competenza specifica sulla tecnologia della visione e sugli aspetti
realizzativi è esternalizzata
• Perché si esternalizza?
• Competenze tecnologiche (in particolare illuminazione, non il SW!)
• Motivi organizzativi
• Dimensioni piccole
• Struttura a rete e suddivisione delle competenze: partnership
• Difficoltà di mantenere competenze interne aggiornate
11
L’utente finale:
visto da integratori e OEM
• L’utente finale vuole rimanere il più possibile all’oscuro delle tematiche di
visione
 E.g.: a livello di configurazione e riconfigurazione dell’applicazione nel
suo complesso si opera per ricette
• Ma: capita che l’utente finale imponga la scelta del sistema di visione
• Il prodotto indicato è il migliore
• La rete tecnico-commerciale di supporto è vasta e flessibile
• Il prodotto indicato è talmente facile da usare che il valore aggiunto
dell’integratore è basso, e l’integratore è sostituibile facilmente
• Semplificazione/ottimizzazione del supporto interno
• Perché gli stessi ragionamenti non li fa l’OEM?
 Perché l’OEM nell’integratore/fornitore di visione cerca un partner di
progetto
 “Se un fornitore di camere vuole proporcele ci deve proporre in
qualche modo la soluzione finale”
12
Esigenze degli integratori
• Valorizzare il proprio know-how
• Sistemi complessi
• Sistemi ottimizzati
• La luce, ma non solo la luce
• Proteggere il proprio know-how
• Soluzioni non replicabili in modo incontrollato
• Cosa lavora contro gli integratori
• Specifici settori di mercato che non tollerano valore aggiunto: auto
• Vision sensor (se non come componenti di applicazioni complesse)
• Applicazioni verticali direttamente supportate dai venditori
13
Sistemi di visione
• Ancora predominante la struttura PC + Camere passive
• Un PC regge il carico computazionale di molte camere
 Dal time-sharing al multicore
 Ogni camera è gestita da un solo core!
• Il sistema rimane ancora conveniente dal punto di vista del costo
• Vision Sensor più diffusi di SC/IC
• Anche perché giocano un ruolo di complemento in sistemi complessi
• SC/IC
• Il vantaggio non sta nel costo
• Il vantaggio starebbe nella semplificazione dell’installazione:
meno cavi e illuminazione integrata (facilità di programmazione?)
• Ma l’illuminatore integrato spesso non basta …
14
Problemi di connessione
• I/O digitale
• Se si potesse si farebbe tutto con l’I/O digitale
• Connessioni seriali in via di abbandono
• Fieldbus non utilizzati
• Utilizzati nel sistema nel suo complesso ma non dal sotto-sistema di
visione
• Ci si basa su Ethernet
 Per ri/configurazione, salvataggio immagini, remotizzazione console
• Connessioni ridondanti????
Nessuno
• Connessioni industrial grade?
Minoranza
• Norme IP?
Minoranza;
significativa, ma minoranza
15
Problemi di performance
• Fino ad adesso poco percepiti
• la capacità di calcolo dei PC (del singolo core), nel passato, è cresciuta
più rapidamente delle esigenze di calcolo
• un PC (single core / multi core) è in grado di elaborare in modo
parallelo e indipendente le immagini di più camere
• In futuro le cose rimarranno ancora così?
• La frequenza di clock non aumenta più
• Le applicazioni ad alto valore aggiunto saranno quelle più complesse
(e.g. visione 3D, tracking di oggetti)
• Per applicazioni complesse il singolo core non è sufficiente
• Nell’elaborazione embedded la potenza di calcolo non è sufficiente
• Anche qui l’aumento di potenza di calcolo non avviene più per
aumento della frequenza di clock
 Impatto del cambio di prospettiva sul SW di visione
16
Riconfigurazione
delle applicazioni
• Una volta programmato un sistema di visione è normalmente dedicato ad
una applicazione specifica, controllo di qualità, controllo robot, …
• E’ però normale che la linea di produzione in cui è inserito sia flessibile e
quindi che i parametri dell’applicazione debbano essere modificati
• La frequenza con cui ciò avviene è molto variabile: da ogni ora a una volta
ogni alcuni mesi
•
Ma nella normalità dei casi è maggiore di una volta al giorno
• La riconfigurazione dell’intera linea deve avvenire da un’unica postazione:
•
•
Minimo: deve essere messa a disposizione una funzionalità di console remota
In realtà: non è ammissibile che esistano diverse console per i diversi sottosistemi
• Procedura di riconfigurazione voluta: la ricetta per la produzione viene
impostata su un controllore centrale e questo si occupa di effettuare
automaticamente la riconfigurazione congruente di tutti i sottosistemi.
 Quello che risulta davvero imprescindibile per un sistema di visione è il
supportare un protocollo di configurazione remota
17
Schermo e tastiera
• In un sistema complesso è impensabile che ogni sottosistema sia dotato di una sua
console indipendente
 è l’applicazione nel suo complesso che ha una console centralizzata
 quando l’architettura di controllo della linea è composta di più PC è sempre
possibile remotizzare la console di ciascuno di questi
• Ma per una SC? Quando la SC non si presenta come un normale PC?
• Dal punto di vista funzionale:
• in alcuni casi (~15% dei casi) l’operatore umano è parte integrante dell’anello di
controllo: la console è necessaria funzionalmente
• il numero dei partecipanti che ritengono necessaria la presenza di una console
(anche se non strettamente necessaria dal punto di vista funzionale) è il doppio
di quello dei partecipanti di parere opposto
• c’è anche un problema di controllo d’accesso (e.g. applicazioni farmaceutiche)
• Monitoraggio remoto tipo SCADA? NOK
• PC (laptop) connesso al dispositivo di visione via rete solo quando necessario? NOK
• Soluzione tipo VSM Datalogic? OK
18
Interfaccia utente
• Due approcci alternativi
• Approccio 1: il sistema di visione deve risultare il più possibile invisibile
all’utente finale
•
non dovrebbe esserci alcuna necessità di agire direttamente sul sistema di
visione durante le riconfigurazioni del sistema
•
il sistema di visione dovrebbe adattarsi automaticamente alla variazioni e alle
derive del ciclo produttivo (e.g. all’usura degli strumenti di lavorazione)
•
il sistema di visione non ha bisogno di una sua interfaccia utente
•
le immagini acquisite non devono mai essere visualizzate all’operatore
• Approccio 2: l’operatore deve intervenire direttamente sul sistema di
visione
•
e.g. durante la ri-configurazione del sistema
•
sono necessarie operazioni periodiche di ricalibrazione gestite dall’operatore
•
la visualizzazione all’operatore delle immagini acquisite dal sistema (e.g. nel
caso di pezzi scartati) è una esigenza imprescindibile
19
Salvataggio immagini
• La funzionalità di salvataggio immagini è considerata necessaria dalla larga
maggioranza dei partecipanti
(salvo che per alcuni ambiti applicativi, come il controllo robot)
• Salvare tutte le immagini acquisite è un desiderio
• Il requisito è quello di poter archiviare le immagini dei pezzi
scartati/anomali
• In genere non si ammette un degrado della qualità dell’immagine, per cui
non si usano nemmeno formati compressi
• In un sistema basato su PC nessun problema per il salvataggio: disco locale
• La possibilità per una SC/IC di trasferire le immagini sulla rete durante il
funzionamento in linea è stata citata come un vantaggio competitivo
20
Smart camera o
intelligent camera?
• Intelligent camera
• Una camera con Unix/Windows a bordo
• quello che viene messo a disposizione dell’utente (che non è l’utente
finale ma lo sviluppatore dell’applicazione specifica) è un ambiente di
sviluppo (SDK)
• funzionalità di elaborazione dell’immagine sono messe a disposizione
tramite delle API di programmazione (e.g. in C)
• sono accessibili (facilmente) le funzioni di I/O, sia quello digitale che
quello specifico per l’acquisizione (e trasferimento, …) di immagini
• L’ambiente operativo è quello di un normale PC e questo rende
disponibili funzioni come l’accesso alla rete, la remotizzazione della
console, il file transfer, …
• utility per la calibrazione della camera
• monitoraggio remoto del sistema
21
• supporto per la configurazione remota dell’applicazione.
Smart camera o
intelligent camera?
• Smart camera
• evita all’utente la necessità di scrivere SW convenzionale
• programmazione tramite configurazione drag&drop di ricette di
ispezione
• si parla (anche se impropriamente) di parametrizzazione, piuttosto che
di sviluppo, dell’applicazione
• il sistema è chiuso:
 non c’è un’API accessibile all’utente
 l’utente non può estendere, modificare, sostituire le funzioni
disponibili sul sistema, può solo controllarne l’attivazione e la
sequenzializzazione
• Il tradeoff è semplicità di sviluppo contro flessibilità
 per fare un’applicazione non ho bisogno di essere un programmatore
• Si cerca di rendere la SC il più simile possibile ad un vision sensor:
22
applicazioni verticali
Smart camera o
intelligent camera? Commenti
• il 55% dei partecipanti si dichiarano a favore delle IC, il 45% delle SC
• una SC basata sul secondo approccio consente spesso di fare facilmente il 90-95% di
un’applicazione, ma non di fare il 100%
• SC avrebbero senso se semplificassero la progettazione fino al punto che l'utente
finale potesse farsi davvero tutto da sé stesso.
In realtà progettare un’applicazione rimane ancora troppo difficile e comunque c’è
sempre il problema che l’illuminazione integrata non è sempre adeguata
• si preferisce mantenere il controllo totale dell’applicazione e una ditta che fa visione
non ha problemi di competenze.
Il vantaggio presunto di una programmazione drag&drop è irrilevante
• l’integrazione nel sistema complessivo di una camera aperta è più semplice di quella
di una camera chiusa
• se si deve avere solo un ambiente di programmazione stile PC, allora è meglio
lavorare davvero su PC
• voglio poter fare l’applicazione, ma non voglio dover imparare a fare il
programmatore SW: è questo il bello delle SC con interfaccia grafica
23
SW di machine vision
• Quando la scelta della libreria di machine vision è libera (e.g. piattaforma
PC) la maggior parte degli sviluppatori si basa (ancora) sull’uso di strumenti
proprietari
 Dipende molto da ragioni storiche
• Librerie commerciali generaliste sono utilizzate solo da una minoranza
 Per aspetti specifici (e.g. pattern matching)
 Per uso complementare
• La scelta della libreria commerciale è una scelta di vita
 Pratica di benchmark limitata!
• OpenCV
• Per sperimentazione
• Clonazione a livello sorgente di alcune funzione che vengono
incorporate nella libreria proprietaria
• Nessun utilizzo diretto in produzione
• In qualche caso la libreria di machine vision è solo uno degli aspetti di una24
relazione di partnership di progetto
SW di machine vision
• La libreria proprietaria è sempre adeguata? No
 Ma quello che conta è il sistema nel suo complesso:
e.g. si cerca di migliorare l’acquisizione immagini
 L’aumento della potenza di calcolo dei PC ha aiutato molto
 Se ne ha il controllo completo e la facilità d’uso è intrinseca
 Se ho davvero bisogno di funzionalità complesse le integro caso per
caso appoggiandomi a librerie terze parti
• Si fanno benchmark sistematici e periodici delle librerie commerciali? No
 Occasionalmente
 In genere sistema contro sistema
• La libreria di machine vision non è percepita come
• fattore critico
• elemento di vantaggio competitivo
25
SW: in futuro?
• Algoritmi intrinsecamente più complessi
• Già adesso se c’è bisogno di un pattern matching general purpose non
ci si basa (in generale) su soluzioni proprietarie
• Visione 3D, tracking, calibrazione, …
• Il modello di crescita della capacità computazionale non sarà più lo stesso
 Non per aumento della frequenza di clock
 Per aumento del parallelismo
• Disponibilità di acceleratori HW
• GPU su PC
• FPGA su sistemi embedded
• Parallelismo anche nei sistemi embedded
• Sistemi single chip con processore parallelo + FPGA
• E’ ragionevole mantenere una libreria proprietaria in queste condizioni?
26
Librerie SW di machine vision
• Quattro librerie commerciali in uso diffuso
• Cognex VisionPro
• DALSA Sapera
• Matrox MIL
• MVTec Halcon
• Indicazioni qualitative
• Non basate su benchmark
• Basate su esperienza in campo
• Giudizio generale di adeguatezza
• Temi di lavoro
• Calibrazione
• Pattern matching
• 3D
• Facilità d’uso
• Benchmark VIALAB
27
Richieste dalla filiera
•
•
•
•
•
•
•
L’utilizzo dei sistemi di visione è largamente diffuso, ma si è ancora lontani dal poterli
considerare una commodity acquisibile e utilizzabile facilmente.
Per molte realtà aziendali il problema è ancora il superamento del primo gradino
(e l’esigenza è quella di essere assistiti nell’affrontarlo).
Tema esemplificativo: identificazione dei componenti meccanici.
• Non è così diffuso
• DPM è ancora minoritario.
L’identificazione non è uno strumento della propria automazione ma un vincolo imposto
dal cliente sull’oggetto che deve essere fornito.
Percezione della necessità di passare all’uso di SW di machine vision terze parti
 interesse per l’attività di benchmarking prevista da VIALAB.
Diverse aziende hanno presentato ipotesi di collaborazione, anche direttamente rivolte
ad aziende costituenti VIALAB.
Una delle richieste di collaborazione rappresenta un esempio concreto di applicazione
non risolvibile tramite SC chiusa.
Tre delle richieste ricevute sono in qualche modo correlate alla visione 3D, o alle
tecnologie di acquisizione delle immagini o a specifici problemi applicativi.
Tema della localizzazione 2.5D di oggetti, una localizzazione cioè nello spazio 3D ma
28
basata sull’uso di una singola camera 2D.
Grazie
 Il rapporto è disponibile sul sito VIALAB
http://www.progetti.t3lab.it/vialab/
nella pagina
http://www.progetti.t3lab.it/vialab/il-progetto/download/
29