• Non ci sono risultati.

Laboratorio di Ingegneria Informatica Mini-progetti ("tesine") relativi a

N/A
N/A
Protected

Academic year: 2021

Condividi "Laboratorio di Ingegneria Informatica Mini-progetti ("tesine") relativi a"

Copied!
1
0
0

Testo completo

(1)

Laboratorio di Ingegneria Informatica

Mini-progetti ("tesine") relativi a Visione Artificiale

Responsabile: Prof. Rita Cucchiara

1) Virtual Reality per applicazioni di interazione uomo macchina avanzata. Interazioni con oggetti

Tutor: Rita Cucchiara e Davide Baltieri

Descrizione

Lo sviluppo delle tecniche di realtà aumentata e la maturità acquisita dalle tecniche di visione artificiale ha fornito un notevole impulso all’applicazione di tali tecnologie per proporre all’utente una nuova e immersiva esperienza di interazione e condivisione con il calcolatore.

Si propone il progetto di un’applicazione di “realtà aumentata” che, utilizzando videocamere, tipicamente webcam, ed appositi marker, permettono l’interazione con oggetti virtuali, mediante tocco o azioni riconosciute dal calcolatore mediante analisi di immagini.

Gli oggetti, renderizzati in computer grafica, sono animati e mossi su stimoli dell’utente catturati dalla webcam che individua dove e come riposizionare l’oggetto sintetico nella scena ed animarlo di conseguenza.

Il progetto verrà svolto impiegando programmazione c, c++, librerie open source.

Competenze acquisite:

Nel corso dell’attività lo studente acquisirà competenze di base nell’ambito dei tools più diffusi per la realizzazione di applicazioni di realtà aumentata.

Si acquisiranno nozioni di base sulle tecniche di renderizzazione e sulle tecniche di elaborazione di immagini che permettono l’interazione uomo macchina tramite webcam.

Verranno inoltre sviluppate la capacità di utilizzare librerie già sviluppate per la realizzazione di applicazioni

proprie.

(2)

2) Augmented Reality per applicazioni turistiche: modifica del paesaggio

Tutor: Rita Cucchiara e Davide Baltieri

Descrizione

Si propone al realizzazione di applicazioni di visione artificiale che, riconoscendo la situazione in ambiente esterno, la presenza di persone, di veicoli etc, possa in tempo reale cambiare il rendering dell’ambiente, ricostruendolo in modo 3D e eliminando aspetti non di interesse.

Il progetto verrà svolto impiegando programmazione c, c++, librerie open source OpenCV e QT

Competenze acquisite:

Nel corso dell’attività lo studente acquisirà competenze di base nell’ambito dei tools più diffusi per la realizzazione di applicazioni di realtà aumentata.

Si acquisiranno nozioni di base sulle tecniche di renderizzazione e sulle tecniche di elaborazione di immagini che permettono l’interazione uomo macchina tramite webcam.

Verranno inoltre sviluppate la capacità di utilizzare librerie già sviluppate per la realizzazione di applicazioni

proprie.

(3)

3)Augmented Reality per applicazioni commerciali: camerini virtuali Tutor: Rita Cucchiara e Daniele Borghesani

Descrizione

Tale applicazione richiede lo sviluppo di una applicazione di virtual try-on di oggetti (occhiali, orecchini, acconciature) sul viso opportunamente individuato e tracciato mediante librerie sviluppate presso il laboratorio Imagelab.

Tali librerie permettono, tramite telecamera, di acquisire e individuare il volto del soggetto nella scena, tracciarlo e individuarne orientazione e posa. Obiettivo del progetto sarà quindi il posizionamento e il rendering dell’oggetto sul volto dell’individuo, l’oggetto dovrà essere opportunamente scalato e orientato, al fine di ottenere un risultato più naturale possibile.

Lo sviluppo sarà fatto in C++ e verrà utilizzato per la visualizzazione il tool ARToolkit o QT.

Competenze acquisite:

Nel corso dell’attività lo studente acquisirà competenze di base nell’ambito dei tools più diffusi per la realizzazione di applicazioni di realtà aumentata.

Si acquisiranno nozioni di base sulle tecniche di renderizzazione e sulle tecniche di elaborazione di immagini che permettono l’interazione uomo macchina tramite webcam.

Verranno inoltre sviluppate la capacità di utilizzare librerie già sviluppate per la realizzazione di applicazioni

proprie.

(4)

4)Banknote anti-Counterfeit system Tutor: Rita Cucchiara, Adnan Rashid e Andrea Prati

Descrizione

In modern era, bank note transaction machines have facilitated the office procedure. Along with this advancement, variety of good quality paper are available and the printing machines are able to produce very good counterfeit banknotes. The need of a an anti-counterfeit banknote system is growing.

The red, green and blue channels of banknote are acquired with Contact Image Sensor (CIS). A color image is shown in figure below.

Figure 1: Banknote classification system

Any banknote anti-counterfeit system may have three main important modules, which are (a)preprocessing (b)features detection and (c) classification.

In the preprocessing module, the images acquired with CIS system are corrected for acquisition deformations. A region of interest (ROI)representing the banknote is extracted.

Feature detection is necessary to reduce the amount of data and also provides discriminating information for the classifier. The features could be basic like contour lines or points e.g. SURF detectors. Another approach could be description of fixed regions as discriminant blocks on banknote over watermarks or banknote shapes (see figure 2). Advanced features like wavelet features could also be exploited. The data to classifier can be reduced by Principle Component Analysis (PCA).

Classification puts a test bank note in a particular class on success otherwise it is rejected. Classification technique vary from simple Euclidean distance function to more complex neural network [1-4] and SVM [5].

The students will have to implement mainly the feature detection and classification steps, experimenting with well known and already available feature extractors, such as SIFT, SURF or others, and trying different classifiers such as neural network and SVM. Time is an issue, so the students must also evaluate performance in terms of efficiency.

Competenze acquisite:

- acquired familiarity with feature extraction methods and classifiers

- C/C++ programming, possibly on dedicated hardware, such as microprocessor of TI family - scientific research methodology

- reading, understanding and implementing scientific papers in English

(5)

5) Action Classification (anche in collaborazione con il corso di Machine Learning)

Tutor : Roberto Vezzani e Simone Calderara

Descrizione

Scopo del progetto è quello di classificare le azioni e soprattutto le interazioni tra persone presenti nella scena e riprese da singola telecamera statica

Riportiamo ad esempio alcuni frames del famoso dataset di azioni Weizmann

1

, rispettivamente relativi alle azioni: SaltoSulPosto,SaltosuUnPiede, Saluto.

Sarà necessario implementare, anche in una versione semplificata, la sequenza di elaborazioni di base necessaria all’estrazione delle maschere relative alle persone in movimento e calcolare un opportuno set di feature visuali in grado di descrivere in modo compatto la postura istante per istante della persona monitorata.

La classificazione delle azioni condotte dalla persona avverrà valutando l’andamento temporale di tali feature, in particolare mediante l’impiego di classificatori supervisionati. Se fatta in collaborazione con il corso di Machine Learning, verranno utilizzati Hidden Markov Models (HMM).

L'attività progettuale richiederà anche la creazione di un dataset di video di semplici azioni da utilizzare per il training e il testing degli algoritmi proposti: si vuole infatti ampliare l’insieme delle azioni riconosciute inserendo azioni realistiche di interesse nei sistemi di videosorveglianza in ambito pubblico.

6) Interaction Classification (anche in collaborazione con Machine Learning)

Tutor : Roberto Vezzani e Simone Calderara

Descrizione

Scopo del progetto è quello di classificare le azioni e soprattutto le interazioni tra persone presenti nella scena e riprese da singola telecamera statica mediante telecamere stereo e sensori di profondità quali Kinects. Verranno implementate soluzioni per estrarre ed elaborare informazioni 3d impiegando le librerie Microsoft con Kinects.

Se fatta in collaborazione con il corso di Machine Learning, verranno utilizzati sistemi di clustering e di classificazione SVM e HMM.

1

http://www.wisdom.weizmann.ac.il/~vision/SpaceTimeActions.html

(6)

Come ulteriore avanzamento, si prenderanno in considerazione anche interazioni tra persone. In tal caso, le feature calcolate ed analizzate dovranno essere relative alla coppia o all’intero gruppo di persone coinvolte.

Verranno richieste le seguenti attività:

- Analisi problema e studio di fattibilità;

- Raccolta dati (in due fasi successive: all’inizio per identificare meglio problemi, requisiti, caratteristiche di lavoro, e al termine della fase progettuale per la validazione del prototipo software)

- Implementazione software: verrà sviluppato un prototipo software in linguaggio C++, facendo uso di librerie esistenti quali OpenCV e ImagelabLib e Librerie necessarie

- Analisi prestazioni: il prototipo verrà testato su set di video appositamente acquisiti, mediante l’adozione di metriche standard (precision, recall, f-measure).

7) Videosorveglianza di persone con multi telecamere e RFIDs

Tutor: Michele Fornaciari e Andrea Prati

Descrizione:

Il monitoraggio di cantieri è un argomento di sicuro interesse per la comunità visti i numerosi casi di incidenti sul lavoro (anche mortali) e il dilagare di atti di vandalismo e criminalità. La specificità dei cantieri consiste nella loro vastità (alcuni cantieri possono essere nell’ordine dei chilometri quadrati) e complessità (con vari macchinari e molte persone in movimento). I tipici eventi da rilevare consistono nella presenza di personale non autorizzato (intrusi), nell’individuazione di eventi pericolosi (come personale sprovvisto di dispositivi di sicurezza – elmetti, imbragature, ecc. – in zone di pericolo – al di sotto di gru in movimento) o sospetti/non congrui (come il perdurare di persone ferme a parlare).

Questi eventi richiedono due obiettivi principali: il rilevamento delle persone presenti nella scena (per poi poterne analizzare caratteristiche come l’indosso o meno dell’elmetto protettivo) e la loro identificazione.

Vista la vastità e complessità questi due obiettivi non posso essere ottenuti con il solo uso di telecamere, in quanto ne servirebbero troppe e la risoluzione non garantirebbe un’identificazione basata su face recognition (che inoltre richiederebbe persone “collaborative”, che non è il caso degli intrusi). I dispositivi RFID (Radio Frequency IDentification) permettono invece una facile identificazione e quindi l’individuazione di intrusi, ma non è semplice ottenere una localizzazione mediante gli RFID.

Questo progetto, in collaborazione con la ditta Bridge129 Spa di Reggio Emilia, nasce per unire questi due sensori (telecamere e RFID) per ottenere una localizzazione ed identificazione simultanea delle persone in cantieri.

Verranno richieste le seguenti attività:

- Test sul campo (setup ad Ingegneria o eventuali test su cantieri) degli algoritmi finora sviluppati - Sviluppo di interfaccia grafica per integrare il software di visione artificiale con il software per

l’inferenza probabilistica, al fine di visualizzare i risultati ottenuti; il software di visione è in C/C++

mentre quello di inferenza in Java quindi si richiede anche la realizzazione di un wrapper o di altra metodologia software per l’interfacciamento tra i due moduli

- Miglioramento degli algoritmi per la pulizia dei dati RFID, mediante applicazione di filtri avanzati o di

modelli dinamici come HMMs (Hidden Markov Models)

(7)

- Porting da Matlab a C/C++ dell’algoritmo di calibrazione ibrida telecamera/RFID [1]

Competenze acquisite:

- Programmazione in C/C++ e Java

- Metodi di signal processing per il filtraggio di segnali rumorosi - Cenni di metodi avanzati di inferenza statistica

- Sviluppo di semplici interfacce grafiche

- Studio della letteratura e implementazione di semplici articoli scientifici in inglese

8) Ricerca in archivi di immagini artistiche (anche in collaborazione con sistemi di elaborazione multimediali)

Tutor: Costantino Grana e Daniele Borghesani

Descrizione:

Si richiede di progettare archivi multimediali di immagini artistiche su cui implementare ricerche per similarità e contenuto. Durante il progetto si richiede di applicare le competenze di analisi di immagini per cercare oggetti simili, colori simili e tessiture simili tra immagini in grandi archivi multimediali reali. Si richiede in alternativa di realizzare interfacce naturali mediante analisi di gesture da telecamere.

La possibile collaborazione con il corso di Sistemi di Elaborazione Multimediali dovrà essere definita con il docente e riguarderà l’uso di tecnologie per parallelizzare la ricerca o ottimizzare le prestazioni delle tecniche utilizzate (ad esempio tramite l’uso di istruzioni SIMD, librerie per il multithreading o GPU).

9) Ricerca in archivi di video sportivi di Formula 1 (anche in collaborazione con il corso di Sistemi di Elaborazione Multimediali) Tutor: Costantino Grana e Rita Cucchiara

Descrizione:

Si richiede di progettare archivi multimediali di video sportivi di calcio e formula 1 su cui implementare ricerche per similarità e contenuto sia a livello di shot, sia di singolo frame. Durante il progetto si richiede di applicare le competenze di analisi di immagini per cercare oggetti simili, colori simili e tessiture simili tra immagini in grandi archivi multimediali reali.

La possibile collaborazione con il corso di Sistemi di Elaborazione Multimediali dovrà essere definita con il

docente e riguarderà l’uso di tecnologie per parallelizzare la ricerca o ottimizzare le prestazioni delle

tecniche utilizzate (ad esempio tramite l’uso di istruzioni SIMD, librerie per il multithreading o GPU).

(8)

10) Analisi di traiettorie in video sportivi di calcio e altri sport (anche in collaborazione con il corso di Sistemi di Elaborazione Multimediali) Tutor: Costantino Grana e Simone Calderara

Descrizione:

Si richiede di progettare archivi multimediali di sport con movimento di giocatori e di estrarre ed analizzare il movimento della palla. Durante il progetto si richiede di applicare le competenze di analisi di immagini per cercare oggetti simili, colori simili e tessiture simili tra immagini in grandi archivi multimediali reali.

La possibile collaborazione con il corso di Sistemi di Elaborazione Multimediali dovrà essere definita con il

docente e riguarderà l’uso di tecnologie per parallelizzare la ricerca o ottimizzare le prestazioni delle

tecniche utilizzate (ad esempio tramite l’uso di istruzioni SIMD, librerie per il multithreading o GPU).

(9)

11) Tecniche di Navigazione e obstacle avoidance per robot mobili in ambienti affollati

Tutor: Luigi Biagiotti e Andrea Prati

Descrizione: In questa attività si propone l’uso del kinect per ricavare una mappa 3D dell’ambiente che circonda un robot mobile disponibile in laboratorio (Pioneer) al fine di sviluppare delle tecniche di navigazione fino a un determinato target, che permettano di evitare ostacoli (eventualmente in movimento, come nel caso di persone) che si trovino lungo il percorso seguito dal robot.

Si tratta di integrare su un’unica piattaforma ROS (Robot Operating System), che rappresenta un framework software di recente creazione per lo sviluppo di programmi atti a controllare e pianificare il movimento di robot, la piattaforma mobile Pioneer e il dispositivo Microsoft Kinect (si veda figura precedente). Si dovranno poi implementare tecniche di controllo standard per il robot in questione e semplici tecniche di navigazione/localizzazione presenti in letteratura (e che in realtà sono già disponibili per il robot Pioneer, ma per un differente framework software). Un’idea di quello che possa essere il risultato finale è mostrata in questo filmato: http://www.youtube.com/watch?v=dRPEns8MS2o

Esempio di immagine fornita dal Kinect:

La tesina proposta richiede la realizzazione delle seguenti attività - Installazione di ROS sul PC di controllo del robot Pioneer

- Sviluppo del sistema di controllo di basso livello per la navigazione - Integrazione del kinect nel sistema

- Realizzazione in tempo reale di mappe 3D basate sulle informazioni del kinect

(10)

- Implementazione di tecniche di “obstacle avoidance” e stima del “time-to-collision”

- Implementazione di tecniche di classificazione (grossolana) degli oggetti e di predizione del loro moto E’ chiaro che, trattandosi di un lavoro con un parte pratica/implementativa rilevante, il grado di completamento delle varie attività dipenderà dalle difficoltà incontrate nello svolgimento delle stesse ed è possibile che alcuni punti vengano svolti solo parzialmente.

Competenze acquisite:

- Capacità di programmazione e tecniche di visione, soprattutto basate su OpenCV

- Conoscenza e applicazione di ROS (Robot Operating System) per il controllo di sistemi robotici - Tecniche di controllo e pianificazione del moto per piattaforme mobili

- Tecniche di “obstacle avoidance”, “object classification” e predizione del moto http://www.ros.org/

12) Riconoscimento e recupero di oggetti noti in ambiente non strutturato

Tutor: Luigi Biagiotti e Andrea Prati

Descrizione

La seguente attività è strettamente legata alla precedente , in quanto ne condivide buona parte, ovvero lo sviluppo in ROS del controllo e pianificazione del movimento per il robot mobile Pioneer.

Utilizzando questo robot, si vuole poi realizzare un sistema che sulla base di immagini fornite da Microsoft Kinect, sia in grado di riconoscere un oggetto collocato in un ambiente non noto e di raggiungerlo.

L’oggetto verrà precedentemente fornito al sistema per permettere di effettuare una fase di training, ma il sistema dovrà poi riconoscerlo in qualsiasi posizione, orientazione e dimensione della scena, eventualmente considerando anche parziali occlusioni. Saranno quindi necessarie tecniche di matching 3D basate su modelli generativi e/o sull’utilizzo di feature visuali come SIFT o SURF.

La tesina proposta richiede la realizzazione delle seguenti attività : - (Installazione di ROS sul PC di controllo del robot Pioneer)

- (Sviluppo del sistema di controllo di basso livello per la navigazione) - Integrazione della telecamera stereo nel sistema

- Implementazione di tecniche di riconoscimento di oggetti

(11)

- Implementazione di tecniche di navigazione e pianificazione del moto dalla posizione attuale a quella relativa all’oggetto riconosciuto

E’ chiaro che, trattandosi di un lavoro con un parte pratica/implementativa rilevante, il grado di completamento delle varie attività dipenderà dalle difficoltà incontrate nello svolgimento delle stesse ed è possibile che alcuni punti vengano svolti solo parzialmente. E’ inoltre possibile che talune parti siano già state realizzate nel corso di precedenti tesine.

Competenze acquisite:

- Capacità di programmazione e tecniche di visione, soprattutto basate su OpenCV

- Conoscenza e applicazione di ROS (Robot Operating System) per il controllo di sistemi robotici - Tecniche di controllo e pianificazione del moto per piattaforme mobili

- Sviluppo di tecniche di object recognition mediante modelli generativi 3D e/o matching basati su feature visuali locali come SIFT e SURF

http://www.ros.org/

13) Scheduling di una telecamera PTZ per la videosorveglianza di aree estese

Tutor: Roberto Vezzani

Descrizione:

Scopo del progetto è quello di pilotare una telecamera Pan-Tilt-Zoom (PTZ) al fine di estrarre quante più informazioni possibili. La regione di interesse potrà essere fissa o aggiornata dinamicamente da appositi moduli di riconoscimento di eventi e/o oggetti (es.: people detectors, crowd detectors, ecc).

Scopo dello scheduler è quello di valutare e definire dinamicamente posizioni e tempi di permanenza della telecamera massimizzando il numero di dettagli acquisiti e la corrispondente risoluzione. Elementi non trascurabili e che dovranno essere introdotti nel modello sono i tempi impiegati per lo spostamento, la variazione del livello di zoom e la messa a fuoco. Per lo svolgimento della tesina sono richieste anche nozioni di geometria proiettiva.

La tesina proposta richiede la realizzazione delle seguenti attività : - Analisi problema e studio di fattibilità

- Raccolta dati (in due fasi successive: all’inizio per identificare meglio problemi, requisiti, caratteristiche di lavoro, e al termine della fase progettuale per la validazione del prototipo software)

- Implementazione software: verrà sviluppato un prototipo software in linguaggio C++, facendo uso di librerie esistenti quali OpenCV e ImagelabLib.

- Analisi prestazioni: il prototipo verrà testato su set di video appositamente acquisiti e su setup live.

Competenze acquisite:

- conoscenza delle tecniche di base di estrazione degli oggetti in movimento nella scena

- geometria proiettiva, calibrazione di una telecamera, trasformazioni omografiche

- estrazione di feature visuali

(12)

- programmazione C++

- apprendimento delle metodologie della ricerca scientifica

- capacità di leggere ed implementare una pubblicazione scientifica in lingua inglese

Articoli di riferimento:

Andrew D. Bagdanov, Alberto Del Bimbo, Federico Pernici, “Acquisition of high-resolution images through on-line saccade sequence planning”. Proc. of ACM Multimedia Int.'l Workshop on Video Surveillance &

Sensor Networks (VSSN) - 2005

Faisal Z. Qureshi, Demetri Terzopoulos, “Surveillance camera scheduling: a virtual vision approach”,

Proceedings of the third ACM international workshop on Video surveillance & sensor networks (VSSN '05)

Riferimenti

Documenti correlati

 Dalla cartella cantanti copiare il file Bennato e incollarlo dentro la cartella cantautori..  Dalla cartella cantanti trascinare il file sul Desktop

 Tutte le informazioni elaborati dalla CPU sono contenuti nella memoria centrale.  Caratteristiche

a) individuare alcuni requisiti di accessibilità tra quelli descritti in “Web Content Accessibility Guidelines 1.0” che possano essere verificati in modo automatico; siete..

Per questo motivo, il progetto mirerà all’implementazione di un testbed che ospiti, mediante l’uso di piattaforme di virtualizzazione VMWare, due distinti ambienti operativi Linux

Attraverso l’uso di strumenti di cattura e analisi del traffico (Wireshark/TCPDump), il candidato studierà varie applicazioni multimediali reali al fine di elaborare un

 Interrogazione di dati Web, dati biologici, ecc., basati su strutture a grafo attraverso meccanismi di interrogazione flessibili che consentano agli

Realizzazione di un software in grado di costruire una rete virtuale di macchine User Mode Linux a partire da un file di configurazione che descrive la topologia della

Il progetto prevede l’analisi delle prestazioni, in termini di risorse hardware utilizzate, di simulatori di rete NS3 virtualizzati tramite container Linux