Tesi Robotica Algoritmi ed architetture per la risoluzione di... | Page 11
Introduzione
Di solito si pensa che quando si parla di programmazione hardware e di FPGA ci
sia di mezzo sempre un ing. elettronico, invece noi “comuni” informatici siamo
in grado di cimentarci in questo mondo vasto e complicato. Negli anni vi è stata
una evoluzione per quanto riguarda i linguaggi di programmazione, sempre più
vicini al programmatore e di facile utilizzo. Con la programmazione hardware
invece non ci si so erma a ciò che si vede a video ma bisogna capire ed entrare
nella logica di quello che, a livello hardware, una semplice istruzione è destinata
a fare.
Il mio lavoro di tesi mira non solo a studiare e ricercare quelli che sono gli
algoritmi di visual search, utilizzati per l’estrazione di POI (point of interest)
di un’immagine, ma a trovarne il migliore per adattarlo alla programamzione
hardware. Per fare questo, ho studiato un framework, LegUp, che trasforma
una set di istruzioni ANSI C nel corrispondente Verilog.
Il seguente elaborato si articola in cinque capitoli, che vado a descrivere:
• Capitolo I: in questo primo capitolo si introdurrà il concetto di Visual
Search, e fra i tanti algoritmi presenti in letteratura, questo documento
parlerà di uno in particolare, SIFT. Analizzeremo i vari passi che lo compongono, so ermandoci particolarmente sulla prima parte (DoG) e tenteremo di capire come cercare di implementare un architettura in grado di
implementarla.
• Capitolo II: andremo subito nel dettaglio, vedremo una mia implementazione ottimale del SIFT sia in matlab che in C ed a ronteremo un altro
11