Tesi Robotica Analisi, progettazione e implementazione... | Page 18

i i “LP_Tesi” — 2013/10/17 — 18:27 — page 18 — #18 i i mercato delle applicazioni, con esempi molto importanti per quanto riguarda il campo videoludico, l’argomento è stato estensivamente studiato, e molte implementazioni hardware dedicate sono state proposte in letteratura. Nell’articolo di [Humenberger et al., ] un approccio basato su census è stato implementato, ottenendo su di un PC standard con 4 corse un frame rate di 19 fps, su di una GPU un frame rate di 39 fps e su di un DSP un frame rate di 3.8 fps per immagini di dimensione 640×480. Un ulteriore approccio basato su Census è stato proposto recentemente in [Mei et al., 2011] utilizzando una GPU per ottenere risultati che dal punto di vista qualitativo presentano un errore medio bassissimo del 3.97%, ma che invece come performance non vanno oltre i 10 fps. Per quanto riguarda invece il mondo degli FPGA, in [Nalpantidis et al., 2011] viene usato un algoritmo derivato da JVT/H.264, basato sulla minimizzazione del punteggio SAD (Sum of Absolute Differences) appartenente al vicinato di ogni pixel delle due immagini. Inoltre è stato introdotto un approccio multi scala per migliorare l’accuratezza del risultato e adottare tecniche per lo stop anticipato dove possibile. Nessun dettaglio oltre l’area coperta sul dispositivo Altera EP2SGX90FF1508C3 (∼ 92.6% ALUTs) è stato fornito e quindi si rende difficile eseguire un confronto con le altre tecniche implementate in hardware. In [Ding et al., 2010] un approccio basato su correlazione è stato proposto per risolvere coppie di immagini 512×512 con un frame rate di 70 fps e un RMS (root mean squared) error del 17.32%. L’approccio di Zitnick e Kanade è stato adottato in [Rupnow et al., 2011], nel quale una implementazione FPGA è stata ottenuta usando uno strumento per la Sintesi ad Alto Livello (HLS) in grado di trasformare implementazioni C/C++ in RTL, tutto questo per poter permettere un confronto diretto fra l’implementazione software e quella ottenuta con la HLS. Nessuna indicazione è stata fornita per quanto riguarda l’area di occupazione su FPGA. Un approccio totalmente differente è stato adottato in [Kowalczuk et al., 2012], riportando in maniera precisa il flusso di sviluppo su Virtex5-110T. L’area di copertura per immagini VGA a 30 fps, eccede le 60K Slice ad una frequenza operativa di 155MHz. I risultati riportati sono interessanti anche dal punto di vista qualitativo. Ignorando le tecniche più promettenti in letteratura, in questo progetto è stato utilizzato un approccio basato su Programmazione Dinamica (DP). Riguardo questa specifica categoria, l’approccio più interessante può essere trovato nell’articolo [MacLean et al., 2010]. Il problema principale di questo approccio è la necessità di un preprocessing che proietta le immagini delle telecamere su di un sistema di coordinate comuni. Per questo motivo si è deciso di un utilizzare una metodologia più semplice sempre basata su DP, tale metodologia 18 i i i i