• Non ci sono risultati.

3.7

Risultati

Come già accennato in precedenza, i due metodi proposti sono stati applicati ad 8 forme d’onda per ogni distanza nel range 400– 1500 mm e per ogni test chart, con riferimento alle risoluzioni 0.30 mm, 0.38 mm e 0.50 mm. Qualora si vogliano prendere in considerazione altre risoluzioni, è necessario apportare modifiche al sistema ottico del dispositivo in quanto non è possibile garantire buone prestazioni di lettura per tutte le risoluzioni con un’unica configurazione. É fondamentale inoltre ricordare che, sostituendo il circuito analogico che effettua la digitalizzazione del segnale, viene meno anche il filtro analogico di enfasi che consentiva di migliorare notevolmente la qualità del segnale. Pertanto, le forme d’onda a cui si è fatto riferimento durante lo sviluppo degli algoritmi proposti e per determinare le loro prestazioni sono state utilizzate nella loro versione “originale”.

L’algoritmo TCEC si è dimostrato molto efficace per la digita- lizzazione di segnali sfocati ad elevata distanza anche se non appare molto robusto quando il segnale ha basso contrasto e lo speckle noise è molto accentuato. La sua efficacia in termini di robustezza al blur è legata al fatto che la posizione degli edge eventualmente rile- vati in prima battuta viene corretta sui picchi della derivata calcolata con l’operatore ottimo di Canny. Pertanto, non vengono introdotte ulteriori deformazioni al segnale osservato, perlomeno sino a che la lunghezza degli elementi del codice non è tale da interferire con la dimensione del supporto utilizzato per il calcolo della derivata “smooth”.

I risultati sono apparsi interessanti: i range di lettura simulati so- no tendenzialmente migliori rispetto al caso indicato come “normale” in Tab. 3.1 e confrontabili con quelli ottenuti utilizzando l’enfasi analogica sul segnale. Inoltre, come riassunto in Fig. 3.18, in alcuni casi questo metodo permette addirittura di estendere il range rispetto alle specifiche.

0 distanza (mm) 1400 100 80 60 40 20 1200 1000 800 600 400 % decodifica 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 60 40 20 0 % decodifica distanza (mm) 100 80 1400 1200 1000 800 600 400 distanza (mm) 1400 100 80 60 40 20 0 1200 1000 800 600 400 % decodifica 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 60 40 20 0 % decodifica distanza (mm) 100 80 1400 1200 1000 800 600 400

Figura 3.18: Prestazioni di lettura simulate utilizzando l’al- goritmo TCEC. A sinistra i risultati per la risoluzione 0.30 mm, a destra per la risoluzione 0.50 mm. Dall’alto in basso: GA, GBD, GCD, GBL, GCL. In rosso il range della versione analogica senza enfasi, in arancio con enfasi. In verde la % di decodifica, in blu la % di digitalizzazione.

3.7. Risultati non enfatizzati, una corretta digitalizzazione implica il successo nella decodifica all’interno del range di riferimento senza enfasi. Tuttavia, è opportuno osservare che, sebbene in alcuni casi (v. 0.50 mm – GBD) la digitalizzazione avvenga correttamente all’interno ed eventualmente anche oltre il range di riferimento con enfasi, i segnali utilizzati sono deteriorati sia dal blur che dal rumore. Pertanto, è apparso ragionevole che in tali casi la decodifica possa fallire ed è quindi necessario individuare tecniche aggiuntive per migliorare ulteriormente la localizzazione o la qualità del segnale elaborato.

Le performance del metodo con riferimento alla risoluzione 0.38 mm ed al grade A sono riportate in Fig. 3.19; non sono infatti risultati disponibili gli altri tipi di test chart per tale risoluzione.

0 distanza (mm) 1400 100 80 60 40 20 1200 1000 800 600 400 percentuale di decodifica distanza (mm) 1400 100 80 60 40 20 0 1200 1000 800 600 400 percentuale di decodifica

Figura 3.19: Prestazioni di lettura simulate per la risolu- zione 0.38 mm su grade A. A sinistra l’algoritmo TCEC, a destra l’algoritmo ATD. In rosso il range della versione ana- logica senza enfasi, in arancio con enfasi. In verde la % di decodifica, in blu la % di digitalizzazione.

L’algoritmo ATD prevede di effettuare un’elaborazione preli- minare per la riduzione dello speckle noise mediante un filtro non lineare e quindi ha un’efficacia in termini di lettura ad elevata distan- za inferiore rispetto all’algoritmo TCEC. Tuttavia, appare molto più robusto quando lo speckle noise è accentuato e nel complesso ha dimostrato prestazioni interessanti, che sono riassunte in Fig. 3.20. Si ritiene importante sottolineare che, laddove la digitalizzazione sia avvenuta correttamente ma la decodifica sia fallita, è probabile che la causa dell’errore sia dovuta alla eventuale deformazione del segnale introdotta dal filtro non lineare di riduzione dello speckle

0 distanza (mm) 1400 100 80 60 40 20 1200 1000 800 600 400 % decodifica 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 60 40 20 0 % decodifica distanza (mm) 100 80 1400 1200 1000 800 600 400 distanza (mm) 1400 100 80 60 40 20 0 1200 1000 800 600 400 % decodifica 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 40 20 0 % decodifica distanza (mm) 100 80 60 1400 1200 1000 800 600 400 60 40 20 0 % decodifica distanza (mm) 100 80 1400 1200 1000 800 600 400

Figura 3.20: Prestazioni di lettura simulate utilizzando l’al- goritmo ATD. A sinistra i risultati per la risoluzione 0.30 mm, a destra per la risoluzione 0.50 mm. Dall’alto in basso: GA, GBD, GCD, GBL, GCL. In rosso il range della versione analogica senza enfasi, in arancio con enfasi. In verde la % di decodifica, in blu la % di digitalizzazione.

3.7. Risultati noise. In questi casi, tuttavia, se alla stessa distanza la decodifica è avvenuta correttamente con l’algoritmo TCEC, si può assumere che l’errore sia recuperabile e nel Cap. 4 sarà avanzata una proposta a tale scopo. Anche per questo metodo, infine, i risultati relativi alla risoluzione 0.38 mm sono riportati in Fig. 3.19.

CAPITOLO

4

Conclusioni e sviluppi

futuri

In questo lavoro sono stati sviluppati alcuni metodi potenzial- mente utili per migliorare le prestazioni di lettura di scanner laser a postazione fissa per applicazioni di identificazione automatica. Dopo una fase preliminare di formazione sul settore di riferimento e sulle problematiche principali relative alla digitalizzazione di segna- li di codici a barre, si è costruito un database di forme d’onda per codici di diverse risoluzioni acquisiti in un ampio range di distanze e con riferimento a tipologie di stampa diverse. Sulla base di tali segnali sono stati sviluppate tecniche numeriche potenzialmente utili per migliorare la risoluzione di varie categorie di problemati- che legate alla lettura di codici a barre. Sono stati infatti proposti due algoritmi per la digitalizzazione dei segnali, un algoritmo per la precisa localizzazione della porzione di scansione contenente il codice ed è stato individuato in letteratura un filtro adattivo in grado di ridurre sensibilmente lo speckle noise e la cui applicazione ha un costo computazionale compatibile con l’hardware a disposizione. Tali metodologie sono state testate sul database suddetto utilizzando un software di simulazione proprietario fornito da Datalogic e de- nominato Zorro. Gli algoritmi sono stati sviluppati in linguaggio C

utilizzando, laddove possibile, schemi di calcolo incrementali per massimizzarne l’efficienza. I risultati ottenuti sono apparsi interes- santi ed in molti casi è stato anche possibile migliorare le prestazioni attuali di lettura del dispositivo. Risulta necessario quindi effettuare ulteriori simulazioni con riferimento situazioni di lettura più com- plesse, per verificare se le prestazioni osservate degli algoritmi si possano effettivamente confermare comparabili con quelle attuali in ambiente industriale.

Durante lo sviluppo delle suddette tecniche, sono anche emersi numerosi spunti potenzialmente utili per realizzare nuovi algoritmi o per migliorare quelli proposti. Alcune di queste idee sono state sviluppate solo parzialmente in quanto non è stato possibile ottenere risultati concreti nel tempo rimasto del tirocinio.

Come primo argomento di sperimentazione, poiché grazie alla

tecnologia CDSQUARE™ esiste la possibilità di utilizzare l’infor-

mazione sulla distanza, sarebbe interessante individuare uno o più modi per parametrizzare gli algoritmi di digitalizzazione in funzione di essa. Come si può notare in Fig. 3.3 e in Fig. 3.14, i valori asso- luti delle derivate e i rapporti minimi tra esse sono contrastanti per risoluzioni diverse alla stessa distanza. Pertanto, si ritiene difficile o impossibile parametrizzare una soglia per la derivata in funzione della distanza. Ciò che invece si ritiene plausibile e probabilmen- te molto efficace, riguarda una eventuale parametrizzazione delle elaborazioni di pre-filtering. In particolare, nel caso dell’algoritmo TCEC si potrebbe associare ad ogni distanza un filtro di media di taglia opportuna, così da effettuare un denoising efficace a tutte le distanze senza mai deformare il segnale. Tale associazione potrebbe essere ottenuta mediante una lookup table.

Per quanto riguarda l’algoritmo ATD, invece, si potrebbe pen- sare di parametrizzare la varianza stimata per lo speckle noise, in modo tale che l’azione di despeckling sia intensa nella zona più rumorosa del range di lettura e scarsa o preferibilmente nulla quan- do la lettura avviene a distanza elevata. Si ha ragione di ritenere che il suddetto approccio sia probabilmente il miglior candidato per

ottenere range di digitalizzazione simili a quelli ottenuti con l’algo- ritmo TCEC e congiuntamente buona robustezza agli effetti dello speckle noise. Il parametro da associare alla distanza, può essere o determinato sperimentalmente, oppure analizzando la varianza del segnale in corrispondenza delle quite zone, in quanto zone uniformi in cui la media del segnale è massima. Eventualmente, supponendo di poter calcolare tale varianza online, si potrebbe rendere ancora più adattivo l’algoritmo attuale senza quindi necessariamente utiliz- zare l’informazione sulla distanza. Infine, il filtro utilizzato per la riduzione dello speckle noise potrebbe essere modificato per ridurre, in un’unica soluzione, anche rumore additivo di tipo elettronico. Questa modifica potrebbe essere realizzata osservando come Lee [5] ha modellato uno stimatore approssimato avente proprio tali caratteristiche.

Un’altra categoria di sviluppi, invece, riguarda la sperimentazio- ne di tecniche atte a migliorare la qualità della derivata “smooth”, al fine di rendere ottenere un edge-detection più robusta e precisa. Un primo possibile approccio è quello di generare uno scale-space, utilizzando più filtri gaussiani [27]. Si possono poi individuare gli edge “significativi”, che tendenzialmente saranno localizzati con più precisione grazie alla combinazione della risposta di più operatori di taglia diversa. Questo approccio potrebbe da un lato migliorare la decodifica per entrambi gli algoritmi e dall’altro con- sentire un’ulteriore riduzione della soglia di accettazione degli edge per il metodo ATD. Un secondo approccio potrebbe invece essere quello di optare per un diverso operatore. In particolare, in [28] si propone un nuovo operatore lineare di edge-detection, ottimizzato per essere più robusto allo speckle noise. Tale operatore potrebbe essere sostituito all’edge-detector di Canny così da poter ridurre ulteriormente l’azione del filtro non lineare di despeckling e quindi anche la deformazione del segnale risultante, mantenendo tuttavia elevata la robustezza dell’algoritmo ATD al disturbo. Tuttavia, come documentato dallo stesso autore, tale operatore potrebbe avere una precisione di localizzazione inferiore rispetto all’operatore di Canny.

Inoltre, è utile ricordare che con l’algoritmo ATD, in alcuni casi la decodifica fallisce anche se la digitalizzazione è avvenuta in modo corretto, sebbene alla stessa distanza la lettura avvenga corret- tamente utilizzando l’algoritmo TCEC; questo effetto indesiderato è imputabile ad una deformazione del segnale dovuta al filtro non lineare di despeckling. Per eliminare questo problema si potreb- be utilizzare l’output dell’algoritmo ATD come ingresso per una edge-correction sulla derivata del segnale non pre-filtrato. Infatti, se a parità di digitalizzazione e distanza la decodifica ha successo con l’algoritmo TCEC, evidentemente si dovrà ottenere un successo anche a valle dell’operazione di edge-correction. Tuttavia, ciò com- porta il calcolo di un’altra convoluzione per la generazione di una seconda derivata “smooth” e quindi si è ritenuto opportuno lasciare questo spunto come sviluppo futuro affinché se ne possa valutare l’applicabilità dal punto di vista computazionale con l’hardware a disposizione. D’altronde, si tratterebbe semplicemente di aggiun- gere allo schema di Fig. 3.10 e a valle del blocco di edge-detection, l’operazione di edge-correction indicata in Fig. 3.6. Inoltre, qualora necessario, si potrebbe ridurre ulteriormente il costo computazionale complessivo degli algoritmi proposti, sostituendo l’operatore di Can- ny con una sua versione ricorsiva, come indicato in [29]. Dopo aver verificato se l’applicazione di tale operatore ai segnali acquisiti dia effettivamente luogo alle stesse prestazioni di lettura ottenute con l’operatore di Canny, si può sfruttare il vantaggio computazionale per eseguire anche la suddetta operazione di correzione senza in- crementare significativamente il costo computazionale complessivo dell’algoritmo.

Un’altra possibilità interessante per migliorare le prestazioni di lettura è descritta in [23] e consiste nell’utilizzare picchi e valli del segnale come punti di riferimento per effettuare la decodifica. L’autore ha dimostrato che queste feature sono più robuste alla sfocatura, nel senso che tendono a conservare la loro posizione no- minale anche in presenza di blur molto accentuato. Al contrario, le posizioni osservate dei flessi del segnale appaiono avere una cor-

relazione molto maggiore con gli effetti negativi dell’interferenza tra edge. Pertanto, potrebbe essere interessante calcolare queste feature utilizzando l’algoritmo proposto nel suddetto lavoro e ve- rificare se sia effettivamente possibile migliorare la percentuale di successo della decodifica laddove comunque vi sia stata una corretta digitalizzazione.

Ancora, altri approcci potrebbero basarsi sulla conoscenza, effet- tiva o approssimata, della larghezza del supporto associato alla psf del sistema di acquisizione. Ad esempio, supponendo di modellare la psf come una funzione gaussiana, in [30] si propone di determi- nare analiticamente una stima della posizione che l’edge avrebbe avuto se non vi fosse stata la deformazione del segnale dovuta al blur, utilizzando la derivata del segnale ed i “midpoint” associati a picchi e valli dello stesso. Oppure, supponendo di poter disporre di un mapping preciso tra distanza e larghezza del supporto della psf, si ritiene possibile e probabilmente molto efficace implementare un approccio “ibrido”: il blocco di “speckle-reduction” riferito in Fig. 3.10, può essere sostituito da un’operatore che effettua un passo di riduzione dello speckle noise seguito da un parziale deblur. In particolare, il mapping potrebbe essere ottenuto offline mediante un processo di misurazione sperimentale dello spot laser ed il deblur potrebbe essere ottenuto applicando il filtro inverso proposto in [23]. Per quanto riguarda la riduzione dello speckle noise, il filtro propo- sto in [6] prevede di utilizzare l’informazione sulla psf per calcolare una funzione di weighting dell’operazione di despekling e secondo quanto riportato in [15, 16] tende ad avere in generale un’efficacia maggiore rispetto al filtro utilizzato in questo lavoro. Inoltre, anche in questo caso, la parametrizzazione dell’algoritmo di despekling in funzione della distanza si ritiene possa ridurre notevolmente l’effetto collaterale evidenziato in Fig. 3.17.

Infine, sono stati individuati altri temi di sperimentazione per migliorare l’algoritmo di localizzazione della finestra di consen- so proposto. In particolare, appare interessante l’opportunità di eliminare sia la soglia costante applicata al valore assoluto della

derivata (v. Fig. 3.11), sia la temporizzazione basata su contatore ed individuare la finestra di consenso utilizzando tecniche di change- detection [31, 32]. Tali tecniche, infatti, risultano essere molto efficienti dal punto di vista computazionale e quindi è probabile siano implementabili in pratica con l’hardware a disposizione.

Bibliografia

[1] J. Goodman, “Some fundamental properties of speckle,” JOSA,

vol. 66, no. 11, pp. 1145–1150, 1976.

[2] R. Monte, “The random walk for dummies,” MIT Under-

graduate Journal of Mathematics, vol. 1, pp. 143–148, 1999.

[3] J. Goodman, Speckle phenomena in optics: theory and

applications. Roberts & Co, 2007.

[4] D. Kuan, A. Sawchuk, T. Strand, and P. Chavel, “Adaptive

noise smoothing filter for images with signal-dependent noise,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, no. 2, pp. 165–177, 1985.

[5] J. Lee, “Digital image enhancement and noise filtering by use

of local statistics,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, no. 2, pp. 165–168, 1980.

[6] V. Frost, J. Stiles, K. Shanmugan, and J. Holtzman, “A model

for radar images and its application to adaptive digital filte- ring of multiplicative noise,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, no. 2, pp. 157–166, 1982.

Transactions on, vol. 28, no. 6, pp. 992–1000, 1990.

[8] A. Oppenheim, R. Schafer, and T. Stockham Jr, “Nonli-

near filtering of multiplied and convolved signals,” Audio and Electroacoustics, IEEE Transactions on, vol. 16, no. 3, pp. 437–466, 1968.

[9] C. Loizou and C. Pattichis, “Despeckle filtering algorithms

and software for ultrasound imaging,” Synthesis Lectures on Algorithms and Software in Engineering, vol. 1, no. 1, pp. 1– 166, 2008.

[10] H. Arsenault and M. Levesque, “Combined homomorphic and local-statistics processing for restoration of images degraded by signal-dependent noise,” Applied optics, vol. 23, no. 6, pp. 845–850, 1984.

[11] P. Perona and J. Malik, “Scale-space and edge detection using anisotropic diffusion,” Pattern Analysis and Machine Intel- ligence, IEEE Transactions on, vol. 12, no. 7, pp. 629–639, 1990.

[12] Y. Yu and S. Acton, “Speckle reducing anisotropic diffusion,” Image Processing, IEEE Transactions on, vol. 11, no. 11, pp. 1260–1270, 2002.

[13] K. Abd-Elmoniem, A. Youssef, and Y. Kadah, “Real-time speckle reduction and coherence enhancement in ultrasound imaging via nonlinear anisotropic diffusion,” Biomedical Engi- neering, IEEE Transactions on, vol. 49, no. 9, pp. 997–1014, 2002.

[14] M. Mansourpour, M. Rajabi, and J. Blais, “Effects and perfor- mance of speckle noise reduction filters on active radar and sar images,” in Proc. ISPRS, pp. 14–16, 2006.

[15] Z. Shi and K. Fung, “A comparison of digital speckle fil- ters,” in Geoscience and Remote Sensing Symposium, 1994. IGARSS’94. Surface and Atmospheric Remote Sensing: Tech- nologies, Data Analysis and Interpretation., International, vol. 4, pp. 2129–2133, Ieee, 1994.

[16] Y. Sheng and Z. Xia, “A comprehensive evaluation of filters for radar speckle suppression,” in Geoscience and Remote Sensing Symposium, 1996. IGARSS’96.’Remote Sensing for a Sustainable Future.’, International, vol. 3, pp. 1559–1561, IEEE, 1996.

[17] R. Vanithamani and G. Umamaheswari, “Performance analysis of filters for speckle reduction in medical ultrasound images,” International Journal of Computer Applications IJCA, vol. 12, no. 6, pp. 24–28, 2010.

[18] P. Bolon, J. Chanussot, I. Issa, and P. Lambert, “Comparison of prefiltering operators for road network extraction in sar images,” in Image Processing, 1999. ICIP 99. Proceedings. 1999 International Conference on, vol. 2, pp. 924–928, IEEE, 1999.

[19] M. Sezan, G. Pavlovic, A. Tekalp, and A. Erdem, “On mode- ling the focus blur in image restoration,” in Acoustics, Speech, and Signal Processing, 1991. ICASSP-91., 1991 International Conference on, pp. 2485–2488, IEEE, 1991.

[20] A. Savakis and H. Trussell, “On the accuracy of psf re- presentation in image restoration,” Image Processing, IEEE Transactions on, vol. 2, no. 2, pp. 252–259, 1993.

[21] P. A.P., “A new sense for depth of field,” Pattern Analysis and Machine Intelligence, IEEE Transactions on, no. 4, pp. 523– 531, 1987.

pp. 617–620, IEEE, 2006.

[23] E. Joseph and T. Pavlidis, “Bar code waveform recognition using peak locations,” Pattern Analysis and Machine Intel- ligence, IEEE Transactions on, vol. 16, no. 6, pp. 630–640, 1994.

[24] N. Otsu, “A threshold selection method from gray-level histograms,” Automatica, vol. 11, pp. 285–296, 1975.

[25] J. Canny, “A computational approach to edge detection,” Pat- tern Analysis and Machine Intelligence, IEEE Transactions on, no. 6, pp. 679–698, 1986.

[26] M. Benedetti, “Method for locating the transitions between the elements of a bar code,” Dec. 28 2004. US Patent 6,834,806. [27] T. Lindeberg, “Edge detection and ridge detection with au-

tomatic scale selection,” International Journal of Computer Vision, vol. 30, no. 2, pp. 117–156, 1998.

[28] P. Paillou, “Detecting step edges in noisy sar images: a new linear operator,” Geoscience and Remote Sensing, IEEE Transactions on, vol. 35, no. 1, pp. 191–196, 1997.

[29] R. Deriche, “Using canny’s criteria to derive a recursively implemented optimal edge detector,” International journal of computer vision, vol. 1, no. 2, pp. 167–187, 1987.

[30] E. Joseph and T. Pavlidis, “Deblurring of bilevel waveforms,” Image Processing, IEEE Transactions on, vol. 2, no. 2, pp. 223– 235, 1993.

[31] M. Basseville, I. Nikiforov, et al., Detection of abrupt changes: theory and application, vol. 88. Prentice Hall Englewood Cliffs, NJ, 1993.

[32] W. El Falou, M. Khalil, D. Hewson, et al., “Automatic thre- shold determination for a local approach of change detection in long-term signal recordings,” EURASIP journal on Advances in Signal Processing, vol. 2007, 2007.

Documenti correlati