1. Android App Android App Sviluppo di una app per Android al fine di gestire una serie di rilievi fotografici nell ambito della sicurezza dei fiumi Adriano Mancini mancini@dii.univpm.it Si deve sviluppare una app per android che acquisisca immagini geo referite, con una serie di metadati e con upload asincrono su una piattaforma cloud. Sviluppare una app che supporti i volontari della protezione civile nel monitoraggio dei fiumi mediante acquisizione fotografica geo referenziata con opportuni metadati a supporto del riievo. Android, Web services, O Auth Android, Web services, O Auth. Android App Sviluppo di una app per Android di realtà aumentata per la visualizzazione di aree geografiche a rischio Adriano Mancini mancini@dii.univpm.it Si deve sviluppare una app per android che acquisisca immagini geo referite e che permetta di visualizzare aree a rischio nelle vicinanze; l utente potrà eventualmente effettuare l upload di nuove immagini su una piattaforma cloud per supportare gli esperti soprattutto in momenti di situazioni critiche. Sviluppare una app di realtà aumentata per visualizzare aree geografiche a rischio ed effettuare upload di situazioni da sottoporre all attenzione Android, Realtà Aumentata, GIS Android, Layar / metaio. 2. Data Processing
Data Processing Sviluppo di un algoritmo per il rilevamento di ostacoli per non vedenti mediante sensori laser Adriano Mancini mancini@dii.univpm.it Si deve sviluppare ed implementare un algoritmo per il rilevamento di ostacoli lungo il percorso di un non vedente Mediante l utilizzo di un sensore laser. Sviluppare e Testare un algoritmo per i rilevamento di ostacoli lungo il percorso. ( bastone intelligente ). Data Processing, Obstacle Detection Hokuyo laser scanner, C++ 3. Embedded systems Embedded systems Galileo s Penalties Una scheda prototipale Intel Galileo, collegata ad una webcam e ad un attuatore rotativo, controllerà il posizionamento di un portiere in modo da parare i rigori battuti da un giocatore umano. La scheda Galileo acquisirà il flusso video della webcam, determinerà, grazie ad algoritmi di elaborazione delle immagini e di visione, la posizione della palla rispetto al portiere e attuerà il movimento dello stesso (1 grado di libertà). Riconoscere un oggetto di forma nota da un immagine; controllare dinamicamente il posizionamento. Librerie OpenCV, ambiente di sviluppo Arduino, programmazione di dispositivi embedded. OpenCV, C++(gcc), Intel Galileo. 4. Esplorazione interattiva e augmented reality
Esplorazione Interattiva&Augmented Reality Interactive Museum Roberto Pierdicca r.pierdicca@univpm.it Realizzazione di una applicazione mobile per l esplorazione contestualizzata delle collezioni museali di Palazzo Ducale di Urbino. L utente viene guidato attraverso un percorso tematico grazie a contenuti multimediali. L esperienza viene arricchita da key point per l interazione in Realtà Aumentata (sensor based e location based) mentre il collegamento diretto con i social network arricchiscono complessivamente la user experience. Sviluppo mobile Cross Platform Data Processing, Obstacle Detection MetaioSDK, TitaniumStudio, JS 5. GUI Widget GUI Widget RGB D interface Creare un interfaccia grafica in grado di gestire più sensori RGBD Prime Sense. Si devono poter visualizzare e registrare entrambi i flussi video. Inoltre l utente deve essere in grado di definire delle regioni di interesse. I vari sensori sono installati in modo da ottenere un sistema multicamera su cui dovrà essere implementato un algoritmo multi tracking di marker Qr Code colorati (object recognition). Gestione di più sensori RGBD Prime Sense e multi tracking di marker colorati. Software già implementato: http://youtu.be/khihtkg4wy8 Interfacce Qt, Librerie OpenCV, elaborazione di mappe di profondità. Qt, OpenCV, OpenNI2, C++(gcc), Asus Xtion PRO Live.
GUI Widget Business Analytics Interface Creare un interfaccia grafica in grado di acquisire dati da un database e di creare automaticamente dei grafici in base ad alcuni parametri selezionabili dall interfaccia stessa. Il sistema deve individuare le situazioni critiche (alert). Inoltre si deve produrre un report (pdf o html) complessivo delle statistiche. Visualizzazione ed elaborazione di dati gestiti da un DBMS tramite un interfaccia utente in ambiente desktop. Creazione di grafici e report. Individuazione di situazioni critiche. Accesso al DBMS. Interfacce Qt, design pattern Model/View. Qt, C++(gcc). 6. Human Behaviour Analisys Human Behaviour Analysis Gesture recognition Finger Determinare le azioni svolte da una persona analizzando il movimento delle mani. Contare il numero di dita mostrate dal soggetto analizzando l immagine di profondità acquisita mediante il sensore RGBD Prime Sense. Ad ogni gesture corrisponde l attivazione di una funzione predefinita. Esempi e algoritmi. Librerie OpenCV, elaborazione mappe di profondità. Qt, OpenCV, OpenNI2, C++(gcc), Asus Xtion PRO Live.
Human Behaviour Analysis Gesture recognition hand Un utente, posto davanti ad uno schermo di un PC, attraverso il movimento delle mani deve poter controllare il puntatore del mouse senza effettuare nessun tipo di contatto con i vari strumenti. Mediante il sensore RGBD (Asus Xtion Pro Live e Kinect v2) si dovrà effettuare il tracking della mano in modo che l utente possa interagire con il PC. Determinare le azioni svolte da una persona analizzando il movimento delle mani. Esempi e algoritmi. Librerie OpenCV, elaborazione mappe di profondità. 1. Qt, OpenCV, OpenNI2, C++(gcc), Asus Xtion PRO Live. 2. C++/C#, OpenCV, kinect v2. 7. Medical imaging Medical Imaging Pelle e ossa Analisi di un video ecografico Dati i frame di un indagine ecografica, si vogliono determinare i pixel che individuano il profilo della pelle e delle ossa di un articolazione. Alle regioni individuate viene associato un indice di confidenza che indica con quale probabilità i punti appartengono alla pelle oppure all osso. Scelti due frame e calcolati gli insiemi dei punti che meglio rappresentano le regioni (key point) di pelle e di ossa, sono da determinare le corrisponpondenze (matching) tra punti delle due immagini digitali. Gli algoritmi di ricerca delle corrispondenze devono determinare stimare la bontà delle stesse e, in base ad una soglia, determinare se le immagini sono sufficientemente correlate. Si richiede di realizzare l interfaccia di programmazione in modo da poter selezionare differenti realizzazioni degli algoritmi di
segmentazione, estrazione di caratteristiche e ricerca di corrispondenze (già presenti nelle librerie OpenCV). Segmentare un immagine medica, estrarre punti caratteristici e ricercare corrispondenze. Uno o più video di indagini ecografiche; codice di base in C++. Librerie OpenCV. Fondamenti di elaborazione delle immagini digitali. Qt, OpenCV, C++(gcc). Medical Imaging Correlazione tra frame di un flusso video Si vuole analizzare la similarità tra fotogrammi successivi di un flusso video in bianco e nero e determinare una trasformazione (omografia bidimensionale) che permetta di trasformare i punti della seconda immagine nei punti della prima. Se questo non è possibile, si dovrà determinare quella trasformazione che massimizza l intersezione dei punti bianchi della prima immagine e del mapping della seconda o stabilire che non esiste un mapping. L intero flusso video va tagliato nel tempo in modo da costruire spezzoni di frame riallineati (registratura). Registratura d immagini, time crop di un video Uno o più video di indagini ecografiche; codice di base in C++. Librerie OpenCV. Qt, OpenCV, C++(gcc). Medical Imaging Registratura Misura della robustezza Si vuole realizzare un applicazione per valutare gli algoritmi per la registratura d immagini estratte dal video di un indagine ecografica.
L applicazione deve visualizzare il frame preso come base per la registratura, il frame da riallineare, la trasformazione omografica determinata con un algoritmo (fornito!), il frame riallineato, la differenza simmetrica dei due, un campo di input per l immissione di una seconda trasformazione omografica, l immagine trasformata secondo la nuova omografia e la differenza simmetrica degli ultimi due. Si deve salvare ogni coppia di trasformazioni (generata dal software e corretta a mano) e misurarne la distanza. Valutare la robustezza di algoritmi per la registratura. Uno o più video di qualche decina di frame Librerie OpenCV, registratura. Qt, OpenCV, C++(gcc). 8. Mobile 3D Real Word visualization Mobile 3D Real World visualization Visualization for Exploration Roberto Pierdicca r.pierdicca@univpm.it Si vuole creare un DB per l esplorazione virtuale di modelli tridimensionali ai quali vengano collegati contenuti e contributi di vario genere. La conoscenza del manufatto viene approfondita anche grazie alla manipolazione che si può fare del modello 3D. L interazione con l oggetto 3D dovrà essere possibile anche attraverso dispositivi mobile, integrando anche con i sensori (accelerometro, giroscopio etc.) I campi di applicazione principali sono quello architettonico, quello archeologico e quello dei beni culturali. Creare una piattaforma fruibile per lo storage e lo scambio di Open Data. Gestione di un DB dinamico, Sviluppo Mobile. JS, HTML, UNITY 3d, KiwiViewer, XML Ricostruzione rilievi 3D da foto metriche Camera sferica
Primo Zingaretti p.zingaretti@univpm.it Si tratta di (re)implemetare in linguaggio C (o C++) una serie di algoritmi scritti in Fortran. Ricostruzione rilievi 3D da foto metriche. Visione, Grafica, Fotogrammetria Fortran, C.