Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Ingegneria
ICT FOR INTERNET AND MULTIMEDIA - INGEGNERIA PER LE COMUNICAZIONI MULTIMEDIALI E INTERNET
Insegnamento
3D AUGMENTED REALITY - REALTA' AUMENTATA 3D
INP6075460, A.A. 2018/19

Informazioni valide per gli studenti immatricolati nell'A.A. 2018/19

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
ICT FOR INTERNET AND MULTIMEDIA - INGEGNERIA PER LE COMUNICAZIONI MULTIMEDIALI E INTERNET
IN2371, ordinamento 2017/18, A.A. 2018/19
N0
porta questa
pagina con te
Curriculum CYBERSYSTEMS [002PD]
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese 3D AUGMENTED REALITY
Dipartimento di riferimento Dipartimento di Ingegneria dell'Informazione (DEI)
Obbligo di frequenza No
Lingua di erogazione INGLESE
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile SIMONE MILANI ING-INF/03

Mutuante
Codice Insegnamento Responsabile Corso di studio
INP6075460 3D AUGMENTED REALITY - REALTA' AUMENTATA 3D SIMONE MILANI IN2371

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Ingegneria delle telecomunicazioni ING-INF/03 6.0

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
LEZIONE 6.0 48 102.0

Calendario
Inizio attività didattiche 01/10/2018
Fine attività didattiche 18/01/2019

Commissioni d'esame
Commissione Dal Al Membri
1 A.A. 2017/2018 01/10/2017 15/03/2019 MILANI SIMONE (Presidente)
ZANUTTIGH PIETRO (Membro Effettivo)
BADIA LEONARDO (Supplente)
BENVENUTO NEVIO (Supplente)
CALVAGNO GIANCARLO (Supplente)
CORVAJA ROBERTO (Supplente)
ERSEGHE TOMASO (Supplente)
LAURENTI NICOLA (Supplente)
ROSSI MICHELE (Supplente)
TOMASIN STEFANO (Supplente)
VANGELISTA LORENZO (Supplente)
ZANELLA ANDREA (Supplente)

Syllabus
Prerequisiti: La frequentazione del corso richiede la conoscenza di
elementi di base di calcolo e algebra lineare (operazioni elementari sulle matrici, inversione, diagonalizzazione).
Gli studenti potranno valutare il loro livello di competenza tramite un test online. Viene richiesta una conoscenza minima del software Matlab.

Possono essere utili (ma non strettamente necessarie) alcune conoscenze preliminari sull'acquisizione di immagini, calibrazione della fotocamera, calcolo di descrittori locali, classificazione supervisionata di dati vettoriali. Tali argomenti sono presentati nei corsi di "Computer Vision" e "Machine Learning".
Conoscenze e abilita' da acquisire: Il corso è strutturato in modo da fornire agli studenti una buona conoscenza sia teorica sia pratica delle tecniche e delle problematiche relative alle applicazioni di realtà virtuale, aumentata, mista. Esso fornisce inoltre una profonda comprensione dell'interconnesione fra computer vision e computer graphics.

In dettaglio, il corso porterà gli studenti ad acquisire e sviluppare le seguenti conoscenze e abilità:
1. Conoscenza dei principali modelli matematici che regolano gli algoritmi di computer vision e le interfacce grafiche.
2. Conoscenza e capacità di implementazione delle principali tecniche di computer vision per l'acquisizione di modellie e scene tridimensionali.
3. Conoscenza e capacità di realizzazione di different algoritmi di deep learning per la classificazion di oggetti, gesti e scene.
4. Capacità di valutazione e realizzazione di differenti algoritmi di rendering grafico in base allo scenario applicativo.
5. Capacità di ingegnerizzare le tecniche viste data una specifica applicazione di realtà aumentata, virtuale o mista.
6. Conoscenza dei principali scenari applicativi in ambiti eterogenei.
7. Sviluppare capacità pratiche di programmazione nella realizzazione di applicazioni AR.


Gli studenti avranno inoltre l'opportunità di sviluppare e testare tecniche e algoritmi di computer vision, computer graphics, e realtà aumentata in alcune esperienze di laboratorio.

Il corso inoltre fornirà una panoramica dei possibili strumenti forniti dalle librerie OpenCV, OpenGL e dal software Unity
Modalita' di esame: La verifica delle conoscenze e delle abilità attese verrà effettuata tramite una prova scritta e lo sviluppo di un progetto finale (da documentare tramite report). In alternativa al progetto finale è possibile sottomettere due report su due esperienze di laboratorio (a scelta dello studente).
I report andranno consegnati almeno un giorno prima dell'esame finale. La valutazione finale sarà costituita dalla media pesata della valutazione della prova scritta (50%) e dei report (50%).

Gli argomenti di valutazione della prova scritta verranno chiaramente indicati nel materiale fornito e durante la lezione.
Criteri di valutazione: La valutazione finale sarà determinata in base al livello di conoscenza dello studente degli argomenti del corso e alla capacità di applicare alcune tecniche analizzate (ricostruire e visualizzare modelli 3D in applicazioni di realtà virtuale e aumentata).

Gli argomenti di valutazione verranno chiaramente indicati nel materiale fornito e durante la lezione.
In dettaglio, i criteri di valutazione sono:
1. Completezza delle conoscenze acquisite.
2. Capacità di analizzare e implementare un'applicazione di realtà aumentata tramite le tecniche presentate.
3. Proprietà di linguaggio tecnico, sia scritto sia orale.
4. Conformità ed efficacia nell'identificazione delle tecniche di acquisizione 3D, classificazione e rendering grafico rispetto allo scenario applicativo considerato.
5. Abilità di programmazione.
7. Qualità nell'esposizione orale.

Il giudizio finale terrà conto sia dei risultati raggiunti sia dell'impegno e dell'interesse dello studente nella materia trattata.
Contenuti: a) Sistemi di acquisizione di immagini e modelli 3D

1) Creazione dell'immagine e modello della fotocamera
Proiezione prospettica, modello pin-hole o stenopeico, equazione delle lenti sottili, lenti fish-eye, modello semplificato e generale della camera, camera calibration.

2) Calcolo dei punti salienti e features
Metodo di Harris e Stephens, Scale Invariant Feature Transform (SIFT), calcolo delle corrispondenze fra punti salienti.

3) Calcolo delle omografie
Calcolo dell'omografia (DLT), omografie e riconoscimento oggetti, applicazioni di realtà aumentata 2D.

4) Sistemi stereo
Triangolazione 3D, geometria epipolare, rettificazione epipolare, matrice essenziale e la sua fattorizzazione, moto e struttura da omografia, metodi di corrispondenza locale, metodi a finestra, indicatori di affidabilita’, occlusioni, metodi di corrispondenza globale.

5) Ricostruzione 3D da altri sensori
Sensori di profondità a luce-strutturata (MS Kinect v.1), sensori di profondità a tempo di volo (MS Kinect v. 2), sensori stereo attivi, laser scanner.

6) Ricostruzione non calibrata
Matrice fondamentale e la sua stima, ricostruzione prospettica da 2 a N viste, ricostruzione incrementale, Structure-from-Motion, bundle adjustment.

7) Flusso ottico
Campo dei vettori di moto: calcolo del movimento e struttura.

8) Metodi di registrazione
Quaternioni, orientazione 2D-2D, orientazione 3D-3D: metodi DLT and ICP, orientazione 3D-2D.

b) Tecniche di machine learning per la realtà aumentata

9) Riconoscimento oggetti e classificazione della scena
Features da immagini e modelli 3D, strategie di identificazione e classificazione degli oggetti, algoritmi di machine learning per la classificazione, classificazione tramite Support Vector Machine, classificazione tramite Deep Neural Networks, Convolutional Neural Networks, Recurrent Neural Networks, applicazione delle tecniche di Deep Learning alle interfacce uomo-macchina (HCI).

c) Visualizzazione e rendering grafico

10) Display 3D, visori VR e dispositivi per la realtà aumentata

11) Rendering
Geometria proiettiva e convenzioni, ray tracing e ray casting, equazione della radianza e la sua soluzione, illumination, soluzioni della radianza tramite metodi locali: modelli di Phong e Cook-Torrance, rasterization, la pipeline OpenGL.

12) Realtà aumentata interattiva.
Introduzione a Unity. Sviluppo di una semplice applicazione AR.
Attivita' di apprendimento previste e metodologie di insegnamento: Il corso offre una panoramica delle tecniche di computer vision, machine learning, e computer graphics finalizzate allo sviluppo di applicazioni di reatà virtuale e aumentata.
La struttura del corso può essere divisa in tre parti:
a) descrizione e modellizazione dei sistemi di acquisizione delle immagini e di modelli 3D;
b) tecniche di classificazione e deep learning in applicazioni AR;
c) rendering di oggetti virtuali o reali su immagini bidimensionali standard e dispositivi/visori per la realtà aumentata.

Lo scopo della prima parte è quello di descrivere il modello matematico e le operazioni che definiscono il funzionamento dei sistemi di imaging attuali (cioè, video e foto camere, sensori di profondità ToF come il dispositivo MS Kinect, e molti altri) tramite il linguaggio della computational photography. L'analisi di tali sistemi sarà focalizzata sulla ricostruzione di modelli 3D di una scena statica o dinamica tramite immagini bidimensionali (sistemi stereo passivi e attivi, sistemi multi-camera) e/o mappe di profondità. Nella parte b) del corso verrà trattato anche il problema della caratterizzazione semantica della scena (classificazione della scena e riconoscimento oggetti) tramite algoritmi di machine learning. La parte (c) introdurrà il problema del rendering descrivendo i vari algoritmi e come adattarli allo specifico dispositivo di visualizzazione. In questa parte finale, verrà affrontato il problema dell'interazione fra mondo virtuale e reale (applicazioni di realtà mista, interfaccia uomo-macchina).


Gli argomenti verranno affrontati durante lezioni frontali con esempi pratici in MATLAB, OpenCV, Unity.
L'apprendimento è stimolato da sessioni di laboratorio (MATLAB) e da un progetto finale che permetteranno agli studenti di confrontarsi in situazioni pratiche collegate ai concetti visti durante le lezioni.

La parte teorica del corso verrà affrontata in 19 lezioni frontali, mentre 5 esperienze di laboratorio guideranno gli studenti nella realizzazione di alcune applicazioni di realtà aumentata.
Eventuali indicazioni sui materiali di studio: Il materiale di studio è costituito da lucidi e appunti sulle lezioni forniti dal docente prima di ogni lezione.
Gli appunti sono generati da diversi articoli scientifici e testi sull'argomento.

L'attivià didattica frontale utilizzerà lucidi, appunti alla lavagna, ed esempi di programma che potranno essere verificati a casa. Tutto il materiale presentato a lezione sarà disponibile sulla piattaforma http://elearning.dei.unipd.it. Gli studenti potranno usufruire della licenza MATLAB fornita dall'Università di Padova per lo svolgimento delle esercitazioni e per la programmazione. Inoltre, sarà possibile scaricare online una licenza studente della piattaforma Unity.
Testi di riferimento:
  • Klette, Reinhard, Concise Computer Vision. Springer London: --, 2014. Cerca nel catalogo
  • Bishop, Christopher M., Pattern recognition and machine learning. New York: Springer, --. Cerca nel catalogo
  • Forsyth, David; Ponce, Jean, Computer VisionA Modern ApproachDavid A. Forsyth, Jean Ponce. Boston: ©Pearson, 2012. Cerca nel catalogo
  • Szeliski, Richard, Computer visionalgorithms and applicationsRichard Szeliski. New York: Springer, 2011. Cerca nel catalogo
  • Kenichi Kanatani, Yasuyuki Sugaya, Yasushi Kanazawa, Guide to 3D Vision Computation. --: Springer International Publishing, 2016. Cerca nel catalogo
  • Watt, Jeremy; Borhani, Reza, Machine learning refinedrisorsa elettronicafoundations, algorithms, and applicationsJeremy Watt, Reza Borhani, Aggelos Katsaggelos. New York: Cambridge University Press, 2016. Cerca nel catalogo

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Peer feedback
  • Quiz o test a correzione automatica per feedback periodico o per esami
  • Active quiz per verifiche concettuali e discussioni in classe

Didattica innovativa: Software o applicazioni utilizzati
  • Moodle (files, quiz, workshop, ...)
  • Latex
  • Matlab
  • Unity, OpenCV

Obiettivi Agenda 2030 per lo sviluppo sostenibile
Istruzione di qualita' Lavoro dignitoso e crescita economica Industria, innovazione e infrastrutture Citta' e comunita' sostenibili