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