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