Argomenti disponibili per tesi di laurea specialistica e prove finali di laurea triennale
Questa pagina non viene aggiornata di frequente. È quindi possibile che ci siano anche altri argomenti disponibili e/o che alcuni degli argomenti qui elencati siano obsoleti.
Per ulteriori dettagli e per la scelta contattare il docente.
Ultimo aggiornamento: 8 aprile 2010
Tesi di laurea specialistica
Sviluppo di una struttura dati per la rappresentazione di mesh poligonali
- Tipo: di ricerca
- Settore: algoritmi geometrici; modellazione geometrica
- Premessa: La tesi si inserisce nello sviluppo di una libreria open-source per l'elaborazione geometrica ed ha lo scopo di sviluppare una nuova struttura dati per la rappresentazione e la manipolazione di mesh poligonali.
- Descrizione:
si tratta modificare una libreria esistente, sviluppando, a partire da moduli già presenti, una nuova struttura dati di cui sarà fornita una specifica. Tale struttura dati dovrà comprendere metodi ad alto livello per l'attraversamento e l'editing delle mesh. Si dovranno inoltre condurre esperimenti per valutare la performance della struttura sviluppata in confronto con quelle di struttura dati classiche.
Si garantisce assistenza da parte di una persona con una conoscenza approfondita del codice già presente.
- Ambiente di sviluppo: C++
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate delle varie fasi saranno fornite dai relatori.
Sviluppo e sperimentazione di metodi di shape retrieval
- Tipo: di ricerca
- Settore: algoritmi geometrici; modellazione geometrica
- Premessa: il problema dello shape retrieval tratta il reperimento di forme geometriche in una base dati secondo la similarità rispetto ad una forma data. Alla base di tale problema stanno i descrittori di forma, che sono strumenti per rappresentare in modo sintetico le caratteristiche principali delle forme stesse. Un descrittore è tanto migliore quanto più è in grado di riflettere in modo quantitativo sia la similarità di forme simili che la dissimilarità di forme diverse. Il lavoro riguarda lo studio comparativo di descrittori esprimibili in forma di istogramma. Tali descrittori sono particolarmente comodi ed efficienti perch´ la dissimilarità tra forme è esprimibile tramite la differenza tra i relativi istogrammi.
- Descrizione:
si tratta di sviluppare e sperimentare un nuovo descrittore, basato sul calcolo di una funzione definita sulla superficie di una mesh e su un istogramma bidimensionale calcolato a partire da tale funzione. Le performance di tale descrittore vanno confrontate con quelle di altri desxcrittori della stessa classe presenti in letteratura, di cui sarà fornita l'implementazione.
- Ambiente di sviluppo: C++ / OpenGL per la grafica / QT per l'interfaccia grafica / VCGlib per le strutture dati
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo
- Materiale: Specifiche dettagliate delle varie fasi saranno fornite dal relatore.
Generazione automatica di griglie di controllo per approssimare forme 3D
- Tipo: di ricerca
- Settore: algoritmi geometrici; modellazione geometrica
- Premessa:Date le forti connotazioni di ricerca, questa tesi è indicata per studenti particolarmente dotati e motivati. Gli oggetti 3D rappresentati originariamente con mesh poligonali ad alta risoluzione possono essere approssimati efficacemente con superfici lisce costituite di un numero ridotto di patch curve. Il problema principale consiste nel determinare una griglia di controllo per la superficie, che è una sorta di ``impalcatura" che determina il numero e la forma delle patch e il modo in cui queste si uniscono tra loro. Si intende esplorare la possibilità di costruire una griglia di controllo a partire da un'analisi dello scheletro 3D di un oggetto in input.
- Descrizione:
In una prima fase, si tratta di studiare le caratteristiche dello scheletro di oggetti 3D e determinare, con l'aiuto dei relatori, una tecnica per utilizzare le informazioni fornite dallo scheletro stesso per costruire in modo automatico una griglia di controllo che circondi l'oggetto.
Lo scheletro può essere calcolato con un programma esistente.
In una seconda fase si dovrà implementare tale tecnica per generare la griglia di controllo.
Secondo la difficoltà delle prime fasi, si potranno opzionalmente aggiungere raffinamenti per migliorare la connettività della griglia di controllo e/o integrare un algoritmo di ottimizzazione (fornito) per determinare la posizione ottimale dei vertici della griglia stessa.
- Ambiente di sviluppo: C++ / OpenGL per la grafica / QT per l'interfaccia grafica / VCGlib per le strutture dati
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate delle varie fasi saranno fornite dai relatori. Lo scheletro 3D si ottiene con questo software.
Filtraggio di superfici
- Tipo: di ricerca
- Settore: algoritmi geometrici; modellazione geometrica
- Premessa: analogamente a quanto avviene nel caso di segnali ed immagini, è possibile filtrare il rumore ed il dettaglio ad alta frequenza dalla superficie di un oggetto 3D per renderla più liscia. Tale processo, noto come smoothing è utile in molti contesti. La maggior parte delle tecniche note considera in input superfici rappresentate da mesh poligonali e basa il processo di smoothing su modifiche locali che coinvolgono ciascun vertice dalla mesh ed i suoi vicini entro un certo raggio.
- Descrizione:
si tratta di implementare e sperimentare alcune tecniche di smoothing, confrontandone le performance su dati reali (terreni, manufatti acquisiti tramite scanner laser, ricostruzioni di organi da dati biomedicali).
- Ambiente di sviluppo: C++ / OpenGL per la grafica / QT per l'interfaccia grafica / VCGlib per le strutture dati
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo, Dott. Rocca
- Materiale: Specifiche dettagliate delle varie fasi saranno fornite dai relatori.
Analisi morfologica multi-scala di terreni
- Tipo: di ricerca
- Settore: algoritmi geometrici; modellazione geometrica
- Premessa: L'analisi morfologica di terreni si basa sull'identificazione di punti caratteristici, come punti di massimo, minimo e sella, e di linee caratteristiche che collegano tali punti, come crinali e valli. La rete costituita da tali punti e linee si chiama rete di Morse e fornisce una rappresentazione ad alto livello dell amorfologia del terreno che prescinde dai dettagli geometrici. Secondo il livello di scala a cui il terreno viene analizzato, si possono ottenere ret più o meno complesse.
- Descrizione:
si tratta di sviluppare una tecnica che consente di prendere in input un terreno rappresentato mediante una griglia regolare di dati e di analizzarlo a diverse scale per generare una rappresentazione scale-space della sua morfologia. Il lavoro consiste di varie fasi, alcune delle quali potranno essere svolte mediante uso o adattamento di software già disponibile, mentre altre prevedono lo sviluppo di nuovo software:
- filtraggio di un terreno in input mediante un software dosponibile, in modo da generarne rappresentazioni a diverse scale;
- calcolo della rete di Morse ad ogni scala mediante adattamento di un software disponibile;
- confronto delle reti di morse ottenute da livelli di scala successivi, in modo da tracciare le caratteristiche che sopravvivono e quelle che spariscono da una scala all'altra (software da sviluppare ex-novo);
- costruzione di un modello multirisoluzione che consenta di memorizzare in modo compatto ed estrarre in modo efficiente tutte le reti di Morse relative all'intero spazio-scala.
- Ambiente di sviluppo: C++ / OpenGL per la grafica / QT per l'interfaccia grafica
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo
- Materiale: Specifiche dettagliate delle varie fasi saranno fornite dal relatore.
Rappresentazione di mappe geografiche
- Tipo: di ricerca
- Settore: algoritmi geometrici, ingegneria del software
- Premessa: La gestione di mappe geografiche implica lo sviluppo di strutture dati e relativi metodi di accesso che consentano l'interrogazione e la manipolazione efficiente dei dati. Nel corso degli anni, al DISI č stata sviluppata una libreria (API) basata su un approccio originale che fornisce le funzionalitą di base per questo scopo. Più recentemente, è stata sviluppata la specifica UML di un nuovo prototipo di libreria basato su un nuova e più efficiente struttura dati. La tesi si innesta su questo filone di ricerca con lo scopo di arrivare ad una completa reingegnerizzazione della libreria.
- Descrizione: Si tratta di sviluppare, attraverso metodi propri dell'ingegneria del software, una libreria (API) basata su una struttura dati geometrica e relativi metodi di accesso per la gestione di mappe geografiche rappresentate da grafi piani generici.
Il progetto parte da una libreria esistente che deve essere completamente re-ingegnerizzata attraverso una struttura dati più efficiente di cui sarà fornita la specifica UML.
Per la verifica dei risultati dovrà essere sviluppata un'interfaccia grafica per la visualizzazione delle mappe (è possibile adattarne una esistente).
- Ambiente di sviluppo: UML per la specifica; C++ per la libreria (anche la libreria esistente è in C++); OpenGL per la grafica; QT (qualunque piattaforma) per l'interfaccia utente.
- Prerequisiti: Grafica interattiva; Algoritmi geometrici
- Docenti di riferimento: Prof. Puppo, Prof. Reggio
- Materiale: La libreria esistente viene descritta brevemente nel seguente rapporto tecnico:http://www.disi.unige.it/person/PuppoE/Tesi/Mappe/MultiMap1.pdf. È disponibile anche un manuale di riferimento ed ulteriore documentazione in Italiano. La nuova struttura dati dovrà estendere la struttura "Half Edge" per la rappresentazione di grafi piani. Specifiche dettagliate delle varie fasi saranno fornite dai relatori.
Prove finali
Analisi morfologica di terreni
(6 CFU)
- Tipo: sviluppo software
- Settore: grafica interattiva; algoritmi geometrici
- Descrizione: si tratta di sviluppare un programma che riceve in input un terrano rappresentato da una griglia regolare di valori di quota (immagine digitale) e ne calcola la rete costituita dai punti di massimo, minimo e sella e dalle linee di crinale e di valle che collegano tali punti. Il programma va sviluppato da zero sulla base di un algoritmo noto.
- Ambiente di sviluppo: C++ / OpenGL / QT
- Prerequisiti: Grafica interattiva; CASD
- Docente di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate saranno fornite dai relatori.
Reperimento di linee di cresta su superfici liscie a pezzi
(6 CFU)
- Tipo: sviluppo software
- Settore: grafica interattiva; algoritmi geometrici
- Descrizione: si tratta di sviluppare un programma che riceve in input una oggetto 3D rappresentato mediante una mesh di tirangoli e lo analizza per determinare le linee di cresta (ossia le catene di spigoli vivi) che ne caratterizzano la forma. Il metodo di analisi si basa sulla proiezione della superficie su piani tangenti locali agli spigoli e su metodi di fitting.
- Ambiente di sviluppo: C++ / OpenGL / QT / VCGlib
- Prerequisiti: Grafica interattiva; CASD
- Docente di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate saranno fornite dai relatori.
Morphing di immagini
(6 CFU)
- Tipo: sviluppo software
- Settore: grafica interattiva
- Descrizione: si tratta di sviluppare un programma che data un'immagine digitale permette di:
- disegnare in modo interattivo una o più sagome poligonali sull'immagine
- deformare in modo interattivo tali sagome, spostandone i vertici
- effettuare un morphing automatico dell'immagine che segua in modo continuo la deformazione delle sagome.
Il programma va sviluppato da zero. La tecnica di morphing si basa su un metodo noto di cui sarà fornita la specifica dettagliata.
- Ambiente di sviluppo: C++ / OpenGL / QT
- Prerequisiti: Grafica interattiva
- Docente di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate saranno fornite dai relatori.
Sbrogliamento di mesh
(6 CFU)
- Tipo: sviluppo software
- Settore: grafica interattiva; algoritmi geometrici
- Descrizione: si tratta di sviluppare un programma che data una mesh poligonale (di triangoli o quadrilateri) la analizzi e la modifichi per eliminare situazioni critiche ``imbrogliate".
Gli ``imbrogli" si identificano facilmente con un'analisi locale dell'intorno di ogni vertice della mesh.
La tecnica di sbrogliamento si effettua mediante una modifica locale che sdoppia un vertice ridistribuendo in modo opportuno le facce ad esso inidenti. Il programma dovrà essere realizzato come plugin per un sistema esistente di visualizzazione ed elaborazione di mesh.
- Ambiente di sviluppo: C++ / OpenGL / QT / VCGlib per le strutture dati / MeshLab
- Prerequisiti: Grafica interattiva
- Docente di riferimento: Prof. Puppo, Dott. Panozzo
- Materiale: Specifiche dettagliate saranno fornite dai relatori.
Note:
1) Le prove finali da 12 CFU si intendono per gruppi di due persone. Le relazioni inerenti a tali prove finali dovranno essere comunque distinte per ogni candidato.