giovedì 8 aprile 2010

16 Giugno 2010: VforM, consueto appuntamento annuale da non perdere !


L'annuale appuntamento tutto italiano per la Visione Artificiale, si è tenuto a Parma presso l'HOTEL PARMA E CONGRESSI il 16 Giugno 2010.
Meta atipica, quella di Parma, per la Visione ma significativa per una realtà Italiana legata al settore del fooding e packaging che ha ben resistito ai duri colpi del 2009, non a caso alcune delle più significative fiere si sono svolte presso la zona Fiera dell'omonima città proprio lo scorso anno ! ... strategica anche come location.
Tante le novità per la Visione dal punto di vista tecnologico con le soluzioni intelligenti basate su smart camera ed il 3D che prende sempre più piede.
Interessante vetrina anche per capire chi ha resistito ai venti turbolenti del 2009 ed è pronto e rampante a ripartire in questo 2010 carico di aspettative ed ormai giunto al giro di boa!
Numerose le novità e le soluzioni presentate ... per tutti i problemi e per tutti costi !
Per l'elenco espositori:
http://www.fieramilanoeditore.it/notizie/VforM-Vision-for-Manufacturing-2010.asp
http://www.mostreconvegno.it/

Prossimamente articolo sulla rivista specializzata di AidA: SDA

lunedì 21 luglio 2008

... ma cosa sono questi Sistemi di Visione !

Cominciamo con due righe di storia spiccia: la Visione artificiale inizia ad essere un ‘qualcosa’ di abbordabile da qualsiasi comune mortale in settori industriali e non più esclusiva conoscenza di guru in laboratori universitari, con la comparsa sul mercato delle stazioni Macintosh equipaggiate di sistema operativo System OS, quindi si parla temporalmente della seconda metà degli anni ’80. I Personal Computer dotati di sistema operativo DOS e scarsi di risorse non erano ancora ‘capaci’ di manipolare e supportare immagini in termini computazionali ed entro tempi decenti, quindi la visione, intesa come processo di acquisizione ed elaborazione immagine, trovava unica possibilità di implementazione nei Macintoch o Works Station SUN. Ancora prima la visione ora implementabile solo su dispositivi elettronci esclusivi e costruiti solo per specifici scopi, ovviamente chiusi e poco flessibili.
Con Windows si apre per i PC la possibilità di manipolare della grafica e quindi di praticare della Visione Artificiale. Poi e’ storia recente e risaputa ....

Il termine Visione Artificiale significa tutto o tanto e nel contempo NULLA ! di per se significa vedere un fenomeno o un ‘qualcosa’ esterno al dispositivo, catturare l’immagine di quello che stà avvenendo esternamente ed elaborare internamente al dispositivo l’immagine catturata per fornire un risultato.
Il sistema di Visione emula, per cosi dire, ciò che già fà l’uomo con la macchina fotografica, ma a velocità, affidabilita’, ripetitività, etc. superiori e garantendo una reazione, in termini di automatismo, deterministica ed infallibile !
Da qui si apre un mondo relativo alla visione che merita specifiche distinzioni nei vari sotto settori.
Fare Visione artificiale è prendere un’immagine ed elaborarla per ottenere effetti vari, fare Visione è anche fare del rendering 3D, fare Visione significa anche prendere una serie di immagini e costruirci un film o al contrario modificare parti di film, questo rappresenta una branchia della Visione che viene detta di ‘Video Editing’, fare Visione significa prendere una immagine ed analizzarla per fornire un risultato matematico o una condizione di Buono/Scarto.
Nel termine ‘Visione’ quindi sono raccolte molteplici tipologie di implementazioni.
La Visione che si preoccupa di catturare una immagine, analizzarla adeguatamente e fornire un risultato algoritmico o un Buono/Scarto e’ oggi definita coma ‘Machine Vision’.

Un Sistema di Machine Vision quindi costituisce quel sistema elettronico capace di acquisire una immagine dal campo, portarla in memoria e attraverso una applicazione software ed una CPU, analizzare l’immagine per ricavarne una informazione algoritmica attraverso la quale il sistema stesso e’ in grado di prendere una decisione conseguente. Detto in soldoni e per fare un esempio si puo’ immaginare un sistema dotato di telecamera e unità di elaborazione capace di analizzare i tappi di bottiglia e scartare quelli difettosi.

Anche il Machine Vision puo’ poi assumere varie personalizzazioni che dipenderanno dagli impieghi e dai settori di implementazione ma la struttura base che tipicamente caratterizza un sistema di Visione rimane una costante:
  • (CPU + memoria, FPGA, DSP, altro....), unita’ di elaborazione
  • Elettronica di acquisizione immagini
  • Telecamera
  • Ottica
  • Illuminatore
  • Struttura meccanica

L’impiego più comune di un sistema di visione è quello di controllare la completezza e la qualità di un prodotto: che tutte le parti di un assemblato siano presenti e montate correttamente, che la superficie non presenti graffi o difetti, che il livello di riempimento di un liquido sia all’altezza desiderata, ect.
I campi applicativi per un sistema di misura ottico sono i più svariati, sia in applicazioni di laboratorio (misura provini sotto stress di trazione o compressione, misura di bottiglie e contenitori plastici a campione) sia in produzione (misura lunghezza molle, misura diametri di guarnizioni, misura di interasse fori prima di una operazione di montaggio). Le attuali alternative ad un sistema di visione sono: sensore laser, profilometro, tastatori meccanici, misura manuale. Rispetto ai metodi elencati, un sistema di visione presenta il vantaggio di essere rapidamente riconfigurabile, utilizzabile sia in laboratorio che in produzione, essere scalabile su svariate soluzioni hardware con relative precisioni e risposte in termini di velocità, dare misure oggettive e ripetibili, poter visualizzare l’oggetto misurato e le rispettive quote in modo da dare un feedback immediato all’operatore.
Non si può separare il concetto di misura da quello di precisione. Nel caso di una grandezza elettrica, la precisione di misura dipende da fattori quali la linearizzazione della risposta, il rapporto segnale / rumore, il numero di bit del convertitore analogico/digitale ecc. Nel caso della misura eseguita con un sistema di visione i fattori che influenzano la stabilità e la precisione della misura sono:

  • La qualità della scheda di acquisizione immagini (Frame Grabber);
  • l’Ottica;
  • Qualità e risoluzione della videocamera e il campo di vista inquadrato (FOV);
  • L’illuminazione;
  • Il software di misura.

Elettronica di acquisizione immagini (Frame Grabber)
Per elettronica di acquisizione immagini si intende quel dispositivo elettronico atto all’acquisizione del segnale proveniente dalla telecamera che viene preso e portato in memoria come immagine per poter essere successivamente, con tempi piu’ o meno rapidi, elaborata per fornire l’informazione numerica che si và cercando.
Il dispositivo puo’ poi essere alloggiato in un PC ed in tal caso si tratta di una scheda elettronica tipicamente su bus PCI o PXI o oggi PCI/PXI Express e capace di acquisire segnali provenienti da telecamere che posso essere Analogiche, come nel caso delle ancora presenti sul mercato ma un po’ datate telecamere CCIR/RS170 o PAL/NTSC, oppure schede capaci di acquisire segnali Digitali provenienti da telecamere di nuova generazione che comunicano su bus FireWire o GiGe o il veloce CameraLink.
Spesso questi dispositivi atti all’acquisizione delle immagini sono sganciati ed indipendenti da un PC e sono delle stazioni completamente indipendenti in grado di acquisire ed elaborare l’immagine per dare un risultato finale. Un esempio e’ il Compact Vision System (CVS) di National Instruments, basato su architettura Motorola e con Pharlap come sistema operativo, capace di acquisire immagini da telecamere FireWire ed elaborare un risultato automaticamente in base alle routine di elaborazione immagini con cui e’ stato programmato.

Ottica
Il ruolo dell’ottica è quello di mappare il mondo reale nel sensore della videocamera denominato CCD e composto da piccole parti definite come “pixel” che insieme vanno a catturare la scena che si pone davanti ad esso. Nessuna ottica è esente da problemi di distorsione: talvolta le condizioni di lavoro sono tali da poter trascurare questi parametri, altre volte occorre utilizzare ottiche disegnate allo scopo di minimizzare distorsioni geometriche (ottiche telecentriche). In molti casi è necessario utilizzare delle funzioni che “correggono” l’immagine acquisita via software.

Telecamera
La telecamera costituisce il dispositivo vero e proprio di acquisizione dell’immagine. Caratterizzata da un sensore CCD o CMOS capace di impressionare l’effetto luminoso presente nella scena inquadrata sulla matrice di sensori fotovoltaici (pixel) e di traformarlo in una grandezza elettrica digitalizzabile da trattare elettronicamente. I sensori possono avere definizioni differenti in termini di quantità di pixel e supportano metodi di trasmissione dell’immagine vari. Inizialmente il segnale era analogico, secondo lo standard CCIR/RS170 o PAL/NTSC, per motivi storici derivanti dalla televisione, oggi si è evoluta verso standard digitali come il FireWire, GiGe o il veloce CameraLink.

Risoluzione del sensore della videocamera
Spesso ci sentiamo porre questa domanda: “quale è la precisione di un sistema di misura ottica?” E’ un pò come chiedersi: quale è la precisione di uno strumento a 14 bit? La risposta corretta è: “Dispende dal range di misura: su 10V è possibile apprezzare 10/16384 = 610 µV”. Per analogia, in un sistema di visione la precisione dipende dal campo di vista inquadrato (Field Of View – FOV) e dalla risoluzione geometrica del sensore. Per esempio, un sensore da 1Mpixel (1000x1000) che inquadra un campo di vista di 10 cm definisce un mapping pixel/mm di 10 pixel per mm, quindi 1 pixel = 0.1 mm. Se da una parte vale il criterio di Nyquest, per cui il minimo particolare apprezzabile è il doppio della frequenza di campionamento, d’altra parte ci viene in aiuto la matematica sub-pixel, che individua un particolare con una precisione superiore a quella ottenibile otticamente. Per ottenere questo risultato ci si basa sul valore del livello di grigio del pixel e di quelli vicini. Dal punto di vista algoritmico molto dipende da toolkit impiegato, ad esempio, il software IMAQ Vision di National Instruments si spinge fino ad 1/12 di pixel. Per ottenere questi livelli di precisione è indispensabile che l’illuminazione sia perfettamente stabile, ragion per cui è difficile in situazioni pratiche spingersi oltre il ¼ di pixel (nel nostro esempio, 25 µm).

Illuminazione
L’illuminazione gioca un ruolo essenziale nel sistema di misura: infatti la ripetibilità della misura è invariabilmente condizionata dalla ripetibilità con cui si riesce ad acquisire l’immagine di partenza.
Banalmente si pensi di entrare in una stanza buia, e’ ovvio che non si vedra’ nulla, se pero’ accendiamo la luce una mole incredibile di informazioni su quella stanza verranno immediatamente percepite. La soluzione di Visione ad una problematica viene principalmente da una corretta illuminazione capace di esaltare o far emergere l’informazione che si cerca; una corretta illuminazione al caso specifico consente di avere una immagine con all’interno l’informazione che si deve analizzare senza dover manipolare l’immagine oltremodo aumentando i tempi di ciclo e ottenedo soluzioni approssimative e poco robuste. E’ importante ricordare che il software puo’ manipolare e aiutare a ricavare l’informazione che si cerca in una immagine ma non puo’ miracolosamente migliorare una immagine compromessa fin dall’inizio a causa di un non corretto condizionamento dell’ambiente circostante alla scena. E’ oltremodo importante scegliere non solo la tipologia di luce piu’ adatta all’ambiente, all’applicazione e sopratutto al materiale con cui si ha a che fare (LED, fluorescente, IR, UV, Colorata o Bianca, etc.) ma anche la struttura meccanica che porta la luce: Ring Illuminator, Spot, Dome Illuminator, Back Illuminator, etc. che deve essere scelto accuratamente in funzione dell’applicazione e dell’informazione che si vuole ottenere. Se ad esempio si devono effettuare misure dimensionali sulle zone perimetrali di un pezzo l’illuminatore piu’ adatto sara’ quello che mi crea un forte contrasto e che mi esalti la siluette perimetrale dell’oggetto in modo da svolgere facilmente le misure, ecco chel’illuminatore piu’ adatto sara’ un back illuminator bianco, in grado di illuminare il pezzo sotto test dal retro.

Software di misura
Una volta acquisita l’immagine, è necessario eseguire una serie di operazioni che la trasformano in una serie di numeri, che sono appunto le misure effettuate. Il software di visione di National Instruments, ad esempio, con oltre 400 funzioni di imaging, permette di localizzare il pezzo nell’immagine, correggere la distorsione ottica e gli errori di montaggio meccanico della videocamera, localizzare i margini e i punti di misura, eseguire interpolazioni sub-pixel e altro ancora.
La localizzazione del pezzo è necessaria quando il posizionamento del pezzo stesso sotto la videocamera risulta essere meno preciso del massimo errore ammissibile.
La calibrazione ha il doppio scopo di “tradurre” le quote da pixel a unità reali (µm o mm) e di compensare la distorsione ottica e di montaggio della videocamera.
Esistono poi funzioni gia’ predisposte a specifici scopi e che ne facilitano l’impiego come ad esempio macro di OCR per il riconoscimento caratteri o funzioni di lettura BarCode o DataMatrix e altro ancora.