Jump to content
PLC Forum

Guest lillo007

Visione Artificiale...risolviamo I Casi Reali

Recommended Posts

Guest lillo007

Ciao a tutti!

con questo post vorrei creare una risorsa di visione artificiale molto utile per tutto il forum.

In particolare con il mio post vorrei (assieme all'esperienza di tutto il forum) analizzare casi o problematiche reali che gli utenti segnaleranno e indicare loro una soluzione tecnica motivandola con basi teoriche ed esperienze.

Questo servizio sarà logicamente totalmente gratuito e non pubblicizzerà prodotti (se non esplicitamente richiesto e comunque in pvt) il suo scopo è, come già detto, quello di creare una risorsa importate di case studies sulla visione artificiale.

Spero la mia idee vi piaccia e che dire.... postate postate postate! :lol:

Ciauz

:ph34r:

Edited by lillo007
Link to post
Share on other sites

Guest lillo007

Bhè visto che sò che siete timidi :P inizio io:

Controllo codice lotto su tappi di flaconi farmaceutici

Problema

In una linea di riempimento di flaconi di un'industria farmaceutica viene richiesto di controllare la correttezza del codice di lotto stampato sul tappo. I flaconi sono di varie dimensioni e vengono trasportati da un nastro con velocità tale da garantire una produzione di 18.000 pz/ora. Una stampante a getto di inchiostro stampa, al centro del tappo, il codice di lotto preimpostato.

Considerazioni

L'applicazione presenta diversi problemi.

I principali sono sicuramente l'alta velocità degli oggetti da controllare, che consente di avere a disposizione per il controllo non più di 200 ms ed il fatto che i codici di lotto si posso presentare nel punto di ispezione orientati in qualsiasi direzione, rendendo così difficoltoso il riconoscimento. La superficie riflettente del materiale di cui è costituito il tappo e il fatto di dover lavorare con formati e colori di tappo diversi complica ulteriormente l'applicazione.

Soluzione

Il problema è stato risolto con l'utilizzo di un sistema di visione artificiale basato su di una scheda frame grabber montata a bordo di un Personal Computer industriale PII 266. Una fotocellula attiva l'acquisizione dell'immagine di ogni flacone che passa nel punto di ispezione. Questa viene elaborata per ricavare l'informazione relativa al codice di lotto che viene confrontata con quella teorica, impostata a terminale dall'operatore, per determinare se il pezzo è buono o va scartato.

L'alta velocità e la necessità di acquisire l'immagine del pezzo in movimento ha richiesto l'utilizzo di una telecamera dotata di reset asincrono e di shutter elettronico, per poter ottenere un'immagine nitida e ferma dell'oggetto. La routine di ispezione provvede poi a determinare la posizione del codice di lotto all'interno del tappo del flacone, a riconoscere l'angolo con cui si presenta, a raddrizzarla ed infine, una volta dritta, ad analizzarla per riconoscere ogni singolo carattere e ricostruire il codice completo.

Link to post
Share on other sites
Guest lillo007

un altro caso :P :

Controllo cosmetico flaconi farmaceutici

Problema

Su una line di produzione è stato richiesto di rilevare la presenza di eventuali impurità sui flaconi in PE estrusi. La linea è composta da un estrusore e da un'unità che forma il flacone, da un nastro trasportatore e da un impacchettatrice. Durante il processo di estrusione può capitare che piccole quantità di materiale raggiungano una temperatura troppo elevata, causando dei puntini neri sulla superficie del flacone. I prodotti che presentano difetti di dimensione superiore a 0.03 mm devono essere scartati.

Considerazioni

Si è dovuto intervenire su una linea già esistente,con limitati spazi di manovra, quindi non c'era la possibilità di far ruotare il flacone ne di deviarlo su di un diverso nastro trasportatore.

Inoltre la forma del flacone rendeva difficile un illuminazione uniforme.

Soluzione

Si è creata una struttura tale da poter essere montata attorno al nastro trasportatore, rimanendo completamente isolata dal funzionamento della macchina preesistente.

Il sistema è composto da quattro da un idoneo sistema di illuminazione, da un PLC , un monitor ed un selettore che permette di collegare il monitor ad una delle quattro telecamere. Ogni telecamera contiene al suo interno un processore, la memoria Ram, un FlashDisk, un interfaccia digitale (2 segnali di ingresso e 4 segnali uscita), un'interfaccia video VGA.Dopo aver distanziato i flaconi con dei pistoni, una fotocellula attiva l'acquisizione dell'immagine sulle quattro telecamere. Ogni telecamera elabora l'immagine acquisita, attivando opportuni algoritmi in diverse zone di interesse del flacone, rileva l'eventuale impurità e segnala il risultato al PLC con un uscita digitale.Il PLC raccoglie le informazioni arrivategli dalle quattro telecamere e attiva un pistone di scarto nel caso una delle quattro telecamere avesse rilevato un punto nero.

Link to post
Share on other sites
Guest lillo007

Ancora un altro :o :

Riconoscimento radiatori

Problema

In una linea di produzione di radiatori viene richiesto di riconoscere il modello di ogni termosifone per poterlo poi instradare correttamente al confezionamento.

I modelli si distinguono per la profondità (100 cm o 80 cm), per la conformazione delle alette e per la presenza di saldature o altri particolari in punti ben definiti.

I termosifoni avanzano su un nastro trasportatore con frequenza di uno ogni 10 sec.

Considerazioni

I particolari da analizzare si trovano sul lato di avanzamento del radiatore. La particolare conformazione della linea non consente installare un supporto mobile per la telecamera, così da porla in asse al termosifone durante l'acquisizione dell'immagine. Per questo motivo si è costretti a lavorare con la telecamera inclinata acquisendo l'immagine "dall'alto" .

Soluzione

Per poter inquadrare sempre la stessa zona del termosifone, questo viene fermato con un blocco meccanico mentre un pistone laterale lo porta in battuta sul lato superiore. Al fine di ridurre le interferenze luminose dell'ambiente esterno e mantenere costante l'illuminazione durante tutto l'arco della giornata, senza operare una schermatura completa della zona di controllo, è stata utilizzata un illuminazione a led ad emissione nell'infrarosso ed è stato montato sull'obiettivo un filtro passabanda per eliminare le componenti della luce diverse dall'infrarosso.

Per l'acquisizione dell'immagine è stato utilizzato un sistema di visione artificiale basato su di un Personal Computer con una scheda frame grabber ed una telecamera.

Per l'elaborazione dell'immagine acquisita ci si è affidati al software per la visione artificiale. Questo, opportunamente configurato, consente di riconoscere la presenza di alcune caratteristiche del radiatore nell'area inquadrata così da determinarne il modello e di misurarne la profondità.

Una volta riconosciuto il pezzo, il risultato viene comunicato, sfruttando una scheda di ingressi/uscite digitali, ad un PLC che gestisce la fase di confezionamento.

Link to post
Share on other sites
Guest lillo007

l'ultimo :P :

Riconoscimento Banconote

Problema

In una linea di trasporto di scatole contenenti mazzette di banconote è stato richiesto di analizzare lo strato superiore delle banconote per verificare che queste corrispondano al tipo dichiarato su un codice a barre presente su di un'etichetta applicata alla scatola stessa. Se tutte le banconote sono del modello richiesto la scatola deve proseguire verso il macero, in caso contrario deve essere deviata verso una postazione di "intervento manuale" di un operatore.

Considerazioni

Il sistema di visione deve essere integrato nel sistema informativo del Monopolio di Stato per poter ricevere tutte le informazioni relative alla condizione delle linee e fornire quelle relative al proprio stato ed ai risultati dell'ispezione.

In particolare deve essere in grado di comunicare:con un server centrale collegato in rete Ethernet utilizzando il protocollo TCP-IP;con un PLC tramite una connessione MPI;con un lettore di codice a barre tramite la porta seriale.

Alcune mazzette sono ricoperte con plastica termoretrattile, pertanto il sistema di illuminazione deve essere realizzato in modo tale da ridurre al minimo i riflessi. Le mazzette sono inoltre tenute insieme da una fascetta centrale, per cui il riconoscimento deve essere effettuato basandosi solamente su caratteristiche presente sui bordi delle banconote.

Soluzione

Per l'acquisizione e l'elaborazione dell'immagine è stato utilizzato un sistema di visione artificiale basato su una telecamera, una scheda frame grabber montata a bordo di un Personal Computer e sul software di visione artificiale. Sfruttando un'opportuna configurazione di questo pacchetto di analisi e preelaborando l'immagine con opportuni filtri software, si è potuto riconoscere la banconota verificando la presenza di simboli campione in determinate zone.

Per l'illuminazione è stato studiato un sistema che garantisse una luce estremamente diffusa ed uniforme.

La comunicazione con tutti i componenti del sistema è stata garantita realizzando un'interfaccia in "Visual Basic" tra il software di analisi ed i componenti stessi. Essa integra tutti i protocolli di comunicazione necessari e e mette a disposizione dell'operatore una serie di strumenti che semplificano l'uso e la diagnostica del sistema.

Link to post
Share on other sites
ifachsoftware

Visto che continui a fare dei monologhi ti pongo un problema reale :

Devo rilevare dei pannelli che avanzano a 40m/min su un tappeto di colore verde scuro (che si puo' sporcare di colla) , il tappeto e' largo 1400 x 6000 mm , posso leggere i pannelli solo in una finestra di 20 x 1500 mm.

I pannelli sono di vari colori e possono essere lucidi.

Dei vari pannelli devo acquisire la loro posizione e calcolare le singole aree.

L'ambiente e' polveroso (segatura di legno) , gli operatori sono delle bestie quindi deve essere il piu' semplice possibile da configurare e soprattutto da gestire.

(... naturalmente il tutto deve costare meno di un equivalente circuito ad infrarossi con emettitore/ricevitore)

Ciao e buon lavoro

:)

Edited by ifachsoftware
Link to post
Share on other sites
Guest lillo007
Visto che continui a fare dei monologhi ti pongo un problema reale :

Devo rilevare dei pannelli che avanzano a 40m/min su un tappeto di colore verde scuro (che si puo' sporcare di colla) , il tappeto e' largo 1400 x 6000 mm , posso leggere i pannelli solo in una finestra di 20 x 1500 mm.

I pannelli sono di vari colori e possono essere lucidi.

Dei vari pannelli devo acquisire la loro posizione e calcolare le singole aree.

L'ambiente e' polveroso (segatura di legno) , gli operatori sono delle bestie quindi deve essere il piu' semplice possibile da configurare e soprattutto da gestire.

(... naturalmente il tutto deve costare meno di un equivalente circuito ad infrarossi con emettitore/ricevitore)

Ciao e buon lavoro

Bhè così ad occhio direi che per svincolarsi dal colore ecc ecc sarebbe interessante creare una schermatura alla luce. Poi utilizzare una illunimazione laser inclinata a 60° con una telecamera che acquisisce le immagini necessarie e alla fine ricompone l'immagine e su quella ti da le varie misure.

In alternativa, ma la cosa diventa più sensibile ai colori, utilizzare una telecamera lineare e una volta ricomposta l'immagine effettuare le varie misure...

Diciamo che a livello teorico sarebbe migliore la seconda soluzione ma per evitare vincoli di colore sporco ecc ecc è preferibile la prima.

Unico limite è il tempo che deve trascorrere tra un pannello e l'altro (in modo da permettere l'elaborazione dell'immagine) che penso debba essere di alcuni secondi.

Prezzo... bhè non sò quanto costi un emettitore / ricevitore all'infrarosso... ma penso che per un sistema completo del genere meno di 10000€/15000€ non te li chiede nessuno... ma se con un ricevitore / emettitore all'infrarosso risolvi in modo ottimale il problema sicuramente il sistema di visione non ti serve.

Ciauz

:ph34r:

Link to post
Share on other sites
omar

Anche io ho un caso che mi piacerebbe sapere come risolvere:

Ho un pallet con vari piani di scatole, le scatole sono del tipo wrap-around dette anche vassoi la particolarità di queste scatole è che fasciano i bordi del materiale lasciando una porzione centrale dello stesso visibile. Il materiale contenuto ha una faccia lucida (recto) e una non lavorata (reverso) quindi chi guardasse il pallet

potrebbe vedere scatole che mostrano il recto e scatole che mostrano il reverso. Le scatole devo essere spallettizzate da un sistema (robot) che deve partire dall'altro e prelevare la scatola appoggiandola poi su di un convogliatore dal lato che mostra il recto. Visto che non c'è modo di sapere in quale angolo del primo strato c'è una scatola che mostra il recto (ci sarebbe ma siccome gli operatori sono "bestie" come dice Dago :D non c'è verso di essere sicuri che il pallet sia depositato con l'orientamento corretto) si dovrebbe dotare il robot di una soluzione che gli permetta di distinguere il recto dal reverso e comportarsi di conseguenza. I contenuti delle scatole sono omogenei per pallet ma possono avere differenti colori e forme (rettangolo o quadrato).

Saluti

Link to post
Share on other sites
ifachsoftware
Prezzo... bhè non sò quanto costi un emettitore / ricevitore all'infrarosso...
6000 € e volevamo spenderne la meta' , ma vedo che la visione costa ancora troppo ...

offensivo

Si per le bestie :D:lol: .. Spero che non mi togliate dei punti <_<

Che ne dite di aprire un dibattito sul bestiario degli operatori ???? :D

Edited by ifachsoftware
Link to post
Share on other sites
Claudio Monti
Che ne dite di aprire un dibattito sul bestiario degli operatori ????

Provvedo subito ;)

Link to post
Share on other sites
Guest lillo007
Anche io ho un caso che mi piacerebbe sapere come risolvere:

Ho un pallet con vari piani di scatole, le scatole sono del tipo wrap-around dette anche vassoi la particolarità di queste scatole è che fasciano i bordi del materiale lasciando una porzione centrale dello stesso visibile. Il materiale contenuto ha una faccia lucida (recto) e una non lavorata (reverso) quindi chi guardasse il pallet

potrebbe vedere scatole che mostrano il recto e scatole che mostrano il reverso. Le scatole devo essere spallettizzate da un sistema (robot) che deve partire dall'altro e prelevare la scatola appoggiandola poi su di un convogliatore dal lato che mostra il recto. Visto che non c'è modo di sapere in quale angolo del primo strato c'è una scatola che mostra il recto (ci sarebbe ma siccome gli operatori sono "bestie" come dice Dago  non c'è verso di essere sicuri che il pallet sia depositato con l'orientamento corretto) si dovrebbe dotare il robot di una soluzione che gli permetta di distinguere il recto dal reverso e comportarsi di conseguenza. I contenuti delle scatole sono omogenei per pallet ma possono avere differenti colori e forme (rettangolo o quadrato).

Saluti

Bhè diciamo che questa è una situazione, da come la racconti, abbastanza tipica. Diciamo che il tutto potrebbe risolversi con una telecamera e una illuminzaione appropriata di solito diffusa.

Il software di elaborazione delle immagini è in grado di valutare il colore delle faccie... in pratica può valutare il contrasto oppure il livello medio di grigio oppure oppure il gradiente...oppure tutti e tre in contemporanea insomma riesci a discriminare in modo banale se la faccia è lucida oppure no. (forse anche semplicemente binarizzando l'immagine)

Poi il software può dare l'usica al robot (o via seriale oppure via I/O o altro...) e abilitare un comportamento o un altro del robot (in questo caso potrebbe anche svolgere la funzione di guida robot ).

Quello che ti serve potrebbe essere una telecamera intelligente cioè un sistema che incorpora al suo interno l'unità di eleborazione, la telecamera, il software, obbiettivo, luce, I/O, ecc ecc...

La telecamera intelligente potrebbe essere istallata sul robot .

Per il discorso dei vari colori dovranno essere previsti appropriati programmi per i diversi colori o semplicemente i vari livelli di soglia da imputare ogni qualvolta si cambi produzione.

La stessa soluzione potrebbe essere offerta basandosi su un PC a quel punto le dimensioni della telecamera diventeranno piccolissime (alcuni cm) ed sarà possibile utilizzare + telecamere in contemporanea.

Spero di essere stato utile

Ciao

:ph34r:

Link to post
Share on other sites
omar

Abbastanza, grazie. In che ordine di tempi è quantificabile l'identificazione del lato della scatola?

Saluti

Link to post
Share on other sites
Guest lillo007
Abbastanza, grazie. In che ordine di tempi è quantificabile l'identificazione del lato della scatola?

Saluti

Bhè molto dipende dalla telecamera utilizzata e/o Pc utilizzato e dal tipo di analisi che devi fare...

comunque se devi semplicemente indentificare il lato della scatola penso che il tempo di analisi sia circa 70-80 ms (se necessario si potrebbe ottimizzare e scendere ancora un pochino...) se devi fare una guida robot completa con identificazione pezzo, coordinate, ecc ecc... penso che comunque non superi i 120/150 ms...

Ciao

:ph34r:

Link to post
Share on other sites
sdrule

Avrei un problemino anch'io.

Recentemente mi hanno chiesto di realizzare una apparecchiatura "da laboratorio" la quale sia in grado di riconoscere i colori.

Mi spiego meglio: la macchina deve analizzare campioni di lamiera lucida o non e confrontarli con un pezzo di riferimento o ricavarmi il codice di colore da una tabella di colori inserita a priori tramite campioni. La discriminazione deve essere elevata dato che solo per il bianco si hanno circa 40 toni differenti.

A voi la linea.

Link to post
Share on other sites
Mario Maggi

Caro Sdrule,

se ti puo' confortare, un mio fornitore - alluminio per facciate di edifici, dove l'uguaglianza del colore e' critica - aveva lo stesso problema e l'ha risolto con telecamera. Non so altro. Se non risolvi, ricontattami.

Ciao

Mario

Link to post
Share on other sites
Guest lillo007
Avrei un problemino anch'io.

Recentemente mi hanno chiesto di realizzare una apparecchiatura "da laboratorio" la quale sia in grado di riconoscere i colori.

Mi spiego meglio: la macchina deve analizzare campioni di lamiera lucida o non e confrontarli con un pezzo di riferimento o ricavarmi il codice di colore da una tabella di colori inserita a priori tramite campioni. La discriminazione deve essere elevata dato che solo per il bianco si hanno circa 40 toni differenti.

A voi la linea.

Ciao!

bhè intanto premetto che a parer mio chi dice che con un semplice telecamera riesce a distinguere 40 tonalità di bianco è quasi impossibile... questo semplicemente per il fatto che la maggioranza delle telecamere industriali lavorano in toni di grigio...quindi molte sfumature si perdono...e poi un ruolo importantissimo lo gioca la luce la quale essendo non eterna basta che dopo milioni di ore di lavoro si deteriori un po' e le tonalità cambiano...

comunque. una soluzione anche a questo problema c'è...anche perchè molti ce l'hanno... allora le strade da scegliere sono tre... parto dalla meno efficace e finisco dalla più efficace

Soluzione 1) telecamera digitale (per una migliore qualità dell'immagine) 640x480 px, illuminazione led a luce diffusa bianca e software di eleaborzione (puoi utilizzare anche un demo del software e una immagine bmp per fare delle prove).(poi un pc ,gli obbiettivi, i cavi, ecc ecc comunque. tutte cose che servono a tutti i sistemi). In questo caso si acquisisce l'immagine del colore e poi si applica una analisi incrociata tra contrasto, livello medio di grigio e gradiente... e in teoria funziona bene... in pratica bisogna testarlo sui singoli casi...

soluzione 2) Telecamera digitale a colori il concetto è quello della souzione precedente ma con la differenza che è possibile far memorizzare una tonalità di colore e poi individuare sull'immagine tutte le tonalità che si avvicinano a quella memorizzata... funziona abbastanza bene ma come nel caso precedente ha un margine di errore... o perlomeno necessita di una buona messa a punto

soluzione 3) La spectrocam... secondo il mio parere è la migliore soluzione... la telecamera è intelligente (ne senso che incorpora tutto quello che serve dal software,unità di elaborazione,I/O ecc ecc) ed è dotata di un obbiettivo particolare che con una serie di lenti al suo interno e prismi ecc ecc riesce a scomporre il colore acquisito nel suo spettro e quindi rilevare variazioni dello stesso colore anche impercettibili... con possibilità di errore veramente minime (qui si parla però di cifre per HW all'intorno dei 9000$)

Ciauz

:ph34r:

Link to post
Share on other sites
Mario Maggi

Caro Lillo007,

concordo con te, ma non ho scritto "semplice telecamera" ma "telecamera 'non so altro' ".

E' ovvio che tante tonalita' vicine richiedono strumenti altamente professionali.

Ciao

Mario

Link to post
Share on other sites
Guest lillo007

....certo certo....il mio era un discorso in generale non c'entrava nulla con la tua risposta...anzi.

Sorry per l'equivoco. :P

Ciauz

:ph34r:

Link to post
Share on other sites
cdc

Ciao lillo007,

secondo te esistono telecamere intelligenti con a bordo un sistema di elaborazione fuzzy, in modo che tutta l'elaborazione venga fatta dal dispositivo senza l'aiuto di un PC?

Grazie

Link to post
Share on other sites
Guest lillo007

Ciao!

certamente! esistono molte telecamere "intelligenti" una su tutte DVT oppure Siemens oopure Cognex....

Ciao

:ph34r:

Link to post
Share on other sites
sdrule

Grazie a Mario ed a lillo. Mi ero illuso di cavarmela con meno, vanamente.

Link to post
Share on other sites
Michele Turitto

Ciao a tutti ,

sono al mio primo msg in questo forum .MI ritrovo qui dopo aver trovato questo thread per puro caso durante una ricerca in rete. Sono uno studente di ingegneria che sta per cominciare la tesi proprio su un'applicazione di computer vision .Al momento disponiamo di un sistema che consente l'individuazione e la guida di un mobile robot su un piano. Il sistema su cui dovrei lavorare deve ancora essere allestito pero' io ho gia' alcuni dubbi .La mia tesi verte sull'individuazione della posizione di un manipolatore industriale attraverso le immagini ottenute da due telecamere. L'idea e' di utilizzare due camere disposte perpendicolarmente.

Sull'end effector vorremmo applicare dei marker colorati al fine di facilitarne l'individuazione .Due marker ciacuno dei quali dovrebbe essere individuato da una distinta telecamera.

Il manipolatore e' a 6 gradi di liberta' pero',almeno nei primi tempi , l'idea e' di utilizzare solo alcuni di questi per poi aumentare con gradualita' la complessita' del sistema.Il primo problema che mi prospetta al momento , per il quale mi sarebbe utile una qualche indicazione, e' il seguente .Le due camere saranno disposte una in alto , in modo da riprendere il piano su cui si trova la base del robot, e una disposta frontalmente rispetto all'end effector.

Come tener conto del fatto che il robot non si muove in un piano per cui le dimensioni di marker individuati dalle camere variano?

Il software su cui ci appoggiamo e' Matlab e in particolare l' Image Acquisition Toolbox e l' Image Processing Toolbox.

Sperando di non essere stato troppo prolisso e abbastanza chiaro , vi saluto confidando in qualche utile indicazione .

Grazie ,

Michele

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...