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