Tesi Robotica Un coprocessore per Stereo-Matching: Profiling ... | Page 12

i i “MF_Tesi” — 2011/9/12 — 11:39 — page 12 — #12 i i importanza: il risultato di un’operazione ha significato solo durante una specifica finestra temporale. Il sistema di autopilota di un aereo è un esempio di sistema embedded time critical. Se l’autopilota rileva che l’aereo per qualche ragione si sta portando in una situazione di stallo, allora dovrà eseguire delle operazioni per correggere tale situazione entro pochi millisecondi per evitare conseguenze catastrofiche. I campi di applicazione di un sistema embedded sono virtualmente illimitati, perché ogni giorno vengono introdotti nuovi prodotti sul mercato che utilizzano un computer embedded in modo nuovo e originale. Negli ultimi anni, prodotti hardware come microprocessori, microcontrollori e FPGA sono divenuti molto economici. In questo modo quando bisogna implementare un nuovo dispositivo di controllo è molto più saggio acquistare un chip multi-purpose e scrivere la propria applicazione per lo specifico hardware. Produrre un chip ad-hoc per gestire un particolare processo, o una serie di processi costa molto più tempo e denaro. Molti computer embedded vengono inoltre corredati di librerie complete, in modo da ridurre le difficoltà nella realizzazione del codice per la propria applicazione. Come abbiamo visto, uno dei principali vantaggi dei sistemi embedded, che deriva dalla loro natura di componenti special-purpose, è la rapidità con cui può eseguire le operazioni. Infatti una delle fasi che compongono la realizzazione di hardware specifico per un determinato task consiste proprio nell’ottimizzare al massimo i tempi di elaborazione. Per questo motivo i sistemi embedded vengono largamente utilizzati nel campo della Computer Vision, in modo da poter ottenere dei tempi di risposta tali da consentire la realizzazione di applicazioni real-time. In particolare possiamo definire la Computer Vision come la trasformazione di informazioni provenienti da immagini statiche o un video in una decisione o in una rappresentazione differente. Queste trasformazioni vengono eseguite per raggiungere un particolare scopo. I dati di input possono completarsi con informazioni riguardanti il contesto dell’applicazione del tipo “la videocamera è collocata in auto” oppure “il misuratore laser indica un oggetto a distanza di 1m”. La decisione presa può essere “c’è una persona in questa scena” oppure “ci sono 14 cellule tumorali nel tessuto”. Una nuova rappresentazione invece può significare trasformare un’immagine a colori in una in scala di grigi, oppure correggere l’immagine, ad esempio rimuovendone il rumore. È semplice essere tratti in inganno pensando che le applicazioni di computer vision sono di semplice realizzazione. Ad esempio quanto può essere difficile individuare un’auto in un’immagine? Il cervello umano divide l’informazione visiva in diversi canali 12 i i i i