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) 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)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)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) 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