augmentedreality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_augmentedreality.pdf ·...

18
Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali - a.a. 2009/10 Prof. Paolo Pasteris Tutor: Stefano Baldan Augmented Reality AugmentedReality

Upload: others

Post on 11-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

AugmentedReality

Page 2: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

TypeReal Time Off-line

PTAM (site,video) ACTS (site,video)

ARToolkit (site,video) Voodoo (site,video)

Markers based Features based

Page 3: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

ARToolkit: Pipeline

Page 4: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Marker:Quick Response code: creato dalla corporation giapponese Denso-Wave nel 1994.

Capacita': Features:Solo Numerico Max 7.089 caratteri Small Printout SizeAlfanumerico Max 4.296 caratteri Dirt and Damage ResistantBinario (8 bit) Max 2.953 byte Readable from any direction in 360°

Kanji/Kana Max 1.817 caratteri Structured Append Feature

Natural marker site : Consentono di descrivere un oggetto, al posto che sotto forma di immagine, tramite features. Per features intendiamo particolari punti dell'immagine che forniscono una rappresentazione dell'oggetto invariante a trasformazioni affini e scala. Quindi sarà possibile riconoscere l'oggetto anche se parzialmente occluso o ripreso da differenti inquadrature.

PSurf

Page 5: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

ARToolkit: Image Processing

Page 6: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Lucas Kanade tracking:

Prerequisiti:

• Illuminazione costante (brigthness constancy)• Movimenti piccoli (temporal persistance)• Moto coerente (similar motion)

Quindi si applica efficacemente alle sequenze video.

I J

Idea base:

• Prendiamo in considerazione un punto su I(u). Lo scopo dell'algoritmo è trovare il corrispettivo nell'immagine J(v).• v=u+d d=[dx,dy]' • d è la velocità sul piano immagine di v.

Page 7: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Lucas Kanade tracking:

Image velocity:

• wx wy sono due interi che definisco l'ampiezza della finestra di integrazione normalmente assumono valori 2,3,4,5,6,7 pixel.

• Quindi la velocità d è quel vettore che minimizza la funzione residuo epsilon

Page 8: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Lucas Kanade tracking:

Come derivare d:

Page 9: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Lucas Kanade tracking:

Come derivare d:

Riscrittura della formula precedenteper isolare le incognite

A causa del problema dellachiusura, bisogna espandereil calcolo in un intorno delpixel.

Una possibile tecnica risolutiva è l'usodei minimi quadrati

Page 10: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Pinhole camera

Page 11: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Pinhole cameraPer similitudine tra triangoli deduciamo le coordiante sul piano immagine (fX fY Z)'.

Quindi chiamiamo P quella matrice che trasforma un punto 3d in un punto 2d sul piano immagine.

Le proiezioni centrali considerano come sistema di riferimento sul piano il loro centro. Quindi al punto precedente sommiamo px e py che sono la metà della risoluzione dell'imamgine.

Riscriviamo la matrice K e la formulazione di P

Esprimiamo il punto 3d in coordinate camera.

Riscriviamo per intero la formulazione di P

Page 12: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Esercitazione (Maya+Matlab)Creare una camera nell'origine, quindi con trasformazioni R e c nulle [I|0]→

Collocare un cubo in vista e applicare un locator ad un suo vertice per rilevarne le coordiante 3d rispetto al mondo.

Usare la funzione Matlab allegata projection() per calcolare la matrice di proiezione P.

Moltiplicare x=PX per ottenere le coordiante sul piano immagine previa normalizzazione.

Controllare il risultato con un editor d'immagini (Gimp).

Codice Matlab allegato: MatlabProjection.zip

Page 13: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

HomographyIn generale un'omografia consiste nella determinazione di una trasformazione in grado di mappare punti di un piano in punti di un altro piano.

In questo caso considereremo i punti appartenenti alla scacchiera e la loro proiezione sul piano immagine.

Page 14: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

HomographyLavorando con una superficie piana possiamo considerare tutti I punti 3d con Z=0 e quindi riscrivere il vincolo nel seguente modo:

La matrice di trasformazione precedente può essere considerata un'omografia che trasforma i punti dal piano 3d al piano immagine.

Riscriviamo il prodotto nella seguente forma:

Page 15: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

HomographyL'uguaglianza precedente è vera a meno di un fattore di scala, quindi per eliminare questa incognita possiamo avvalerci del prodotto scalare:

Sviluppando la forumala precedente otteniamo:

Dopo aver estratto le incognite notiamo che le prime due righe ci fornisco due equazioni lineari indipendenti utili alla soluzione del sistema.Per risolvere il sistemanecessitiamo di almeno 4 punti che ci consentono diImpostare il sistema C.Tramite SVD è possibile decomporre la matrice C=UDV' dove la soluzione è contenuta nell'ultima colonna di V.

Page 16: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Parametri Intrisici K

Calcolata la matrice omografica possima impostare la relazione che lega le sue prime due colonne e la matrice K incognita che chiameremo B.

Riscriviamo la relazione cercando di separare le incognite dai valori noti.

Come si può notare B dipende da 6 valori e ogni omografia fornisce due vincoli, quindi servono almeno 3 omografie per risolvere il sistema.

Composta la matrice vkl a partire dalle 3 omografie e applicando l'SVD si ottengono i 9 valori di B.

Page 17: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Parametri Estrinsici [R|t]Mettendo in relazione la matrice di calibrazione e la matrice omografica è infine possibile valutare la posizione della camera, come riportato nelle formule a fianco.

Page 18: AugmentedReality - unimi.ithomes.dico.unimi.it/~pasteris/pdf/17_AugmentedReality.pdf · 2010-05-17 · PSurf. Corso di Laurea in Comunicazione Digitale Corso di Realtà Virtuali -

Corso di Laurea in Comunicazione DigitaleCorso di Realtà Virtuali - a.a. 2009/10Prof. Paolo PasterisTutor: Stefano Baldan

Augmented Reality

Bibliography

1 2Lucas Kanade tracking: -

Homography