La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri Motion Capture.

Presentazioni simili


Presentazione sul tema: "Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri Motion Capture."— Transcript della presentazione:

1 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri Motion Capture

2 Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri2 Sommario Introduzione Tecniche e Tecnologie Società e Standard “de-facto” MoCap con Marker Ottici Riferimenti

3 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri3 Introduzione l’informazione catturata può essere di tipo diverso: semplice posizione dell’oggetto tracking del moto di elementi specifici (deformazione di faccia e muscoli) Motion Capture processo di misura e memorizzazione in una forma elettronicamente riutilizzabile, della posizione e dell’orientazione di un oggetto nello spazio fisico al variare del tempo [1]

4 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri4 Introduzione computer character animation (virtual humans, puppets, digital characters..) medicina e riabilitazione analisi delle prestazioni sportive campo militare fine-art dance performance musica effetti speciali per film Applicazioni e Impieghi

5 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri5 Tecniche e Tecnologie... Concetto di base Il sistema visivo umano può percepire il moto di un corpo articolato, focalizzando l’attenzione su un numero limitato di punti in movimento dell’oggetto (Johansson’s Moving Light Displays[2,3]) Per conferire la stessa abilità ad un computer, occorre catturare i punti che caratterizzano il moto in una forma elettronicamente riutilizzabile: questo è possibile con l’impiego di particolari dispositivi quali sensori di vario tipo e markers

6 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri6 Tecniche e Tecnologie... Markers e Sensori Esistono diversi tipi di sistemi che individuano il moto tridimensionale di punti: Sistemi ottici Sistemi magnetici Sistemi meccanici Sistemi di altra natura Ogni sistema presenta vantaggi e svantaggi, e risulta più adatto a particolari campi applicativi.

7 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri7 Tecniche e Tecnologie... Sistemi Ottici Al corpo in moto sono applicati dei marker in grado di riflettere onde elettromagnetiche (luce visibile, infrarosso). Il movimento di questi marker viene tracciato da un insieme di sensori (telecamere, ad in infrarossi) disposti opportunamente nello spazio e l’informazione sulla posizione viene ottenuta tramite triangolazione vantaggi: grande libertà di moto ampio spazio di movimento misure ad alta precisione e poco rumorose svantaggi: occlusione dei markers da parte del performer, interfenza luce costo elevato maggiore tempo di post-processing

8 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri8 Tecniche e Tecnologie... Sistemi Magnetici Al corpo in moto è applicato un set di ricevitori magnetici che tracciano la loro posizione rispetto ad un trasmettitore magnetico statico. Uno dei primi impieghi è stato in ambito militare. Spesso questi sistemi sono accoppiati ad altro input per l’animazione di caratteri. vantaggi: le posizioni stimate sono assolute e non necessitano triangolazione non necessitano particolare post-processing (impiego real-time) poco costosi svantaggi: distorsione magnetica all’aumentare della distanza, interferenza misure rumorose (interferenze..) limitazione del moto del performer a causa dei cavi

9 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri9 Tecniche e Tecnologie... Sistemi Meccanici [4] Al corpo in moto viene applicato un esoscheletro metallico che si muove seguendo il performer. I sensori di forza posti sulle articolazioni registrano le rotazioni. Sistemi di questo tipo sono: DataGlove, braccia meccaniche o modelli articolati (monkeys..) che sono usati per il key framing. vantaggi: nessuna interferenza da luce o campi magnetici svantaggi: il sistema non ha un riferimento fisso (non è possibile valutare salti, e non si ha una cattura efficiente del moto dei piedi) deve essere calibrato spesso limitazione del moto del performer a causa dei cavi

10 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri10 Tecniche e Tecnologie... Sistemi di altra natura ultrasuoni: soggetti a diversi tipi di interferenze biofeedback sensing: misura dei battiti del cuore, del cervello, della retina, pelle e muscoli. Usato in ambito biomeccanico, sportivo, musicale sensori di campo elettrico: il corpo lavora come trasmettitore sorgente di interferenze di cui viene tenuta traccia sistemi inerziali: misurano accelerazione, orientazione, angolo di inclinazione ed altre caratteristiche video: impiegano tecnologie ottiche per determinare i cambi di luminanza e colore

11 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri11 Motion Capture Manufacturers Sono società che forniscono un supporto completo al processo di Motion Capture in termini di hardware per la cattura, software per l’eventuale elaborazione e plug-in per i più noti programmi di elaborazione 3D (3D Studio MAX, SoftImage, Maya, LigthWave 3D). Le più importanti sono [5-10] : BioVision (solo software) VICON (sistemi ottici) Motion Analysis Corporation (sistemi ottici e magnetici) Polhemus (sistemi magnetici) Ascension (sistemi magnetici) Adtech (software)

12 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri12 Standard de-facto I formati [11-13] in cui vengono memorizzati i dati della cattura non sono stati proposti da alcun ente di standardizzazione, ma sono stati sviluppati in modo proprietario e si sono col tempo diffusi diventando degli standard de-facto. I I più importanti sono: C3D BVH, BVA HTR, TRC

13 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri13 Standard de-facto C3D Concepito e sviluppatto da Andrew Danis (Adtech), inizialmente per applicazioni biomedicali e poi diventato un formato diffuso in tutti gli altri ambiti del MoCap. Impiegato principalmente da Adtech e da VICON come formato I/O principale. Il formato C3D permette di definire, generare e memorizzare dentro il file stesso in cui sono registrate le coordinate 3D un numero arbitrario di parametri, permettendo a qualsiasi applicazione che apre il file di usarli per interpretare ed analizzare i dati. Il file contiene i dati e la descrizione della struttura e del tipo dei dati stessi.

14 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri14 Standard de-facto Composto da 3 sezioni: –Header section –Parameter section –3D Point/Analog data section C3D Il file è stato organizzato in blocchi di 512 byte per permettere un accesso veloce e semplice al contenuto anche tramite hex editor. Header section Parameter section 3D Point/Analog data section

15 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri15 Standard de-facto Contiene: Il numero di traiettorie memorizzate nel file Il numero di canali analogici memorizzati nel file Il numero totale dei campioni per le traiettorie Il numero totale dei campioni per i canali analogici Il tasso di campionamento per le traiettorie ed i canali analogici Un puntatore all’inizio della sezione dati Un puntatore all’inizio della sezione parametri Puntatori ad eventuali sezioni dati addizionali C3D – Header Section Individuata sempre dal primo blocco di 512 byte del file, contiene una considerevole quantità di informazioni di base relative al file C3D ed ai dati memorizzati in esso.

16 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri16 Standard de-facto C3D – Header Section WORDVALUEDESCRIPTION 15002h Byte 1 : Puntatore al primo blocco della parameter section Byte 2 : 50h indica un file C3D 2 nn Questi due byte individuano il Numero delle traiettorie catturate 3 nn Numero di canali analogici per un 3D frame 4 1 Numerazione dei Frames (1-based) 5 nn Numero dell’ultimo frame 6 10 Massimo gap di interpolazione 7-8 Fattore di scala che converte le coordinate campionate nell’unità di misura reale nnnn 9 nn Numero del primo blocco 3D/Analog 10 nn Numero di campioni analogici per Frame 3D 11-12 60.000 3D Frame Rate in Hz Il file C3D essendo pensato come un formato in grado di essere letto da una qualsiasi applicazione su qualsiasi piattaforma, ha una codifica delle informazioni definito byte per byte. Una codifica di questo tipo rende il file trattabile anche da un editor esadecimale.

17 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri17 Standard de-facto Questa sezione comprende: header: contenente il numero di blocchi che costituiscono la sezione dei parametri e l’architettura hardware con cui sono rappresentati i formati numerici parameter records: costituiscono le informazioni vere e proprie relative ai diversi parametri memorizzate nel file.C3D. C3D – Parameter Section Contiene delle informazioni sulle coordinate 3D dei punti e i campioni degli eventuali canali analogici. Questa sezione è ciò che rende il contenuto dati del file accessibile nel modo corretto da parte delle applicazioni

18 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri18 Standard de-facto In questa sezione non vi sono altre informazioni aggiuntive. La dimensione di ogni frame, il numero di punti per canali analogici per frame nonché il loro significato viene estratto dalle precedenti sezioni C3D – 3D/Analog Data Section Questa sezione contiene le posizioni dei punti nello spazio tridimensionale ed eventuali campioni analogici. Tali informazioni sono memorizzate in modo sequenziale un frame alla volta. 3D data for frame 1 analog data for frame 1..... 3D data for frame n analog data for frame n

19 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri19 Standard de-facto Le coordinate cartesiane 3D dei punti possono essere memorizzate in due formati INTEGER oppure il formato (REAL*4). Il tipo scelto dipende dal segno della word composta dai byte 7-8 della header section. Qui a lato sono riportati per entrambi i formati rispettivamente i relativi campioni di un punto. C3D – 3D/Analog Data Section WORDDESCRIPTION 1 Coordinata X del punto divisa per il Fattore di scala (byte 7-8 header section) 2 Coordinata Y del punto divisa per il Fattore di scala (byte 7-8 header section) 3 Coordinata X del punto divisa per il Fattore di scala (byte 7-8 header section) 4 Byte1 : camera che ha misurato il marker Byte2 : residuo medio / fattore di scala WORDDESCRIPTION 1-2 Coordinata X del punto divisa per il Fattore di scala (byte 7-8 header section) 3-4 Coordinata Y del punto divisa per il Fattore di scala (byte 7-8 header section) 5-6 Coordinata X del punto divisa per il Fattore di scala (byte 7-8 header section) 7-8 Dopo la conversione ad intero: Byte1 : camera che ha misurato il marker Byte2 : residuo medio / fattore di scala

20 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri20 Standard de-facto BVH Concepito e sviluppatto dalla BioVision per importare tramite file ASCII informazioni sui giunti rotazionali, provenienti da vari sistemi di motion capture nell’applicazione Character Studio 2.0. Il formato BVH è stato realizzato principalmente per la memorizzazione di informazioni sul moto di strutture articolate (di cui il corpo umano è un esempio) e la sua organizzazione interna rispecchia tale spazio applicativo.

21 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri21 Standard de-facto BVH - Struttura HIERARCHY section MOTION section Descrive le connessioni giunto a giunto e gli offsets dei campioni nella sezione MOTION Descrive i movimenti dei singoli giunti per ogni campionatura (frame)

22 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri22 Standard de-facto BVH – HIERACHY section Questa sezione definisce la struttura dello scheletro e le relative posizioni dei marker. La struttura è paragonabile ad un albero composto da nodi ROOT in cui si incontrano più giunti. Nel descrivere il corpo umano si possono individuare come ROOT la parte superiore del torace e il bacino. Ad esempio alla parte superiore del torace sono connesse le braccia ed il tronco ed il collo.

23 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri23 Standard de-facto BVH – HIERACHY section rappresenta un nodo ROOT dal quale si sviluppano più “rami” che possono essere a loro volta articolati tramite nodi JOINT rappresenta un nodo JOINT, ed è un semplice collegamento di cui ci interessa tracciare la posizione

24 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri24 Standard de-facto BVH – HIERACHY section I primi tre numeri descrivono l’offset del nodo dal precedente Possono essere 3 o 6 in base al numero delle coordinate campionate per giunto (rotazione | traslazione | rototraslazione) ROOT Root-Name { OFFSET [x_float] [y_float] [z_float] CHANNELS [6|3] [..] [..]... [..] End Site | JOINT (1..n) } Termina la ricorsione E’ di tipo ROOT, ce ne possono essere più d’uno sullo stesso livello

25 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri25 Standard de-facto BVH – MOTION section Ogni riga contiene i valori misurati per ogni canale descritto nella sezione HIERARCHY seguendo l’ordine definito in tale sezione Frames: [number_of_time_samples] Frame Time: [interframe_gap (seconds)] [..] [..] [..].............. [..] [..] [..].... [..] [..] [..].............. [..] [..] [..]

26 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri26 Standard de-facto HTR (Hierachical Translation Rotation) Sviluppato dalla Motion Analysis Corporation come alternativa e miglioramento dell’unico altro formato allora esistente (BVH di BioVision) per memorizzare il moto articolato di una struttura (generalmente lo scheletro umano). HTR è un formato completo in quanto contiene tutte le informazioni di un classico file per il Motion Capture che include diverse flessibilità per quanto riguarda i dati e la loro gerarchia. Presenta una descrizione completa della posa base della struttura articolata, che rappresenta il punto di partenza delle rototraslazioni Una variante di HTR è GTR (Global translation Rotation) in cui sono presenti solo i dati senza la descrizione della gerarchia

27 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri27 Standard de-facto HTR - Struttura L’inizio di una sezione è identificato con una stringa tra parentesi quadre che contiene il nome della sezione stessa. Il file è in formato ASCII ed il carattere # indica l’inizio di un commento che termina a fine riga Header section Segment Name & Hierarchy section Base Position section Motion section

28 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri28 Standard de-facto HTR – Header Section Memorizza i informazioni sui parametri globali del file. Le stringhe che identificano i parametri sono le prime parole di ogni riga ed il rispettivo valore segue la stringa. [Header] # Header keywords are followed by a single value FileType htr # single word string DataType HTRS # Hierarchical translations followed by rotations and Scale FileVersion 1 # integer NumSegments 18 # integer NumFrames 2 # integer DataFrameRate 30 # integer EulerRotationOrder ZYX # one word string CalibrationUnits mm # one word string RotationUnits Degrees # one word string GlobalAxisofGravity Y # character, X or Y or Z BoneLengthAxis Y

29 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri29 Standard de-facto HTR – Segment Names & Hierarchy Section Tag [SegmentNames&Hierarchy] Se il file è di tipo HTR ogni linea contiene 2 parole altrimenti (GTR) una sola. La prima parola indica il nome del segmento. La seconda, se presente, il nome del segmento di cui è figlio, se non è il figlio di alcun segmento la seconda parola è GLOBAL. [SegmentNames&Hierarchy] #CHILD PARENT LOWERTORSO GLOBAL UPPERTORSO LOWERTORSO NECK UPPERTORSO HEAD NECK RSHOULDER UPPERTORSO RUPPERARM RSHOULDER RLOWARM RUPPERARM RHAND RLOWARM LSHOULDER UPPERTORSO LUPPERARM LSHOULDER LLOWARM LUPPERARM LHAND LLOWARM RTHIGH LOWERTORSO RLOWLEG RTHIGH RFOOT RLOWLEG LTHIGH LOWERTORSO LLOWLEG LTHIGH LFOOT LLOWLEG

30 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri30 Standard de-facto HTR – Segment Names & Hierarchy Section [SegmentNames&Hierarchy] #CHILD PARENT LOWERTORSO GLOBAL UPPERTORSO LOWERTORSO NECK UPPERTORSO HEAD NECK RSHOULDER UPPERTORSO RUPPERARM RSHOULDER RLOWARM RUPPERARM RHAND RLOWARM LSHOULDER UPPERTORSO LUPPERARM LSHOULDER LLOWARM LUPPERARM LHAND LLOWARM RTHIGH LOWERTORSO RLOWLEG RTHIGH RFOOT RLOWLEG LTHIGH LOWERTORSO LLOWLEG LTHIGH LFOOT LLOWLEG HEAD NECK UPPER TORSO RSHOULDER RUPPERARM RLOWARM RHAND LSHOULDER LUPPERARM LLOWARM LHAND LTHIGH LLOWLEG RLOWLEG RTHIGH LFOOT RFOOT LOWER TORSO

31 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri31 Standard de-facto HTR – Base Position Section Individuata dalla keyword [BasePosition] e definisce la posizione iniziale dello scheletro Ogni linea inizia con il nome del segmento seguito dalla traslazione, la rotazione e la lunghezza del segmento stesso I valori di traslazione e rotazione compaiono nella seguenza X,Y,Z [BasePosition] #SegmentName Tx, Ty, Tz, Rx, Ry, Rz, BoneLength LOWERTORSO 0.00 0.00 0.00 0.00 0.00 0.00 200.00 UPPERTORSO 0.00 200.00 0.00 -1.38 0.00 0.35 286.95 NECK 0.00 286.95 0.00 2.90 -0.08 3.20 101.66 HEAD 0.00 101.66 0.00 -1.53 -0.09 -3.55 174.00 RSHOULDER -10.21 252.02 -0.84 1.85 -1.36 98.76 137.50 RUPPERARM 0.00 137.50 0.00 3.22 0.48 13.42 279.07 RLOWARM 0.00 279.07 0.00 -2.42 -1.40 -15.48 222.64 RHAND 0.00 222.64 0.00 -2.59 -0.32 -6.98 90.00 LSHOULDER 9.79 251.90 -0.84 -5.30 1.36 -98.63 132.79 LUPPERARM 0.00 132.79 0.00 13.46 1.21 -13.67 295.17 LLOWARM 0.00 295.17 0.00 -6.60 2.65 18.04 222.81 LHAND 0.00 222.81 0.00 -1.49 0.10 3.78 90.00 RTHIGH -96.49 -31.41 26.89 -6.15 0.00 176.17 379.17 RLOWLEG 0.00 379.17 0.00 4.86 -0.14 1.34 394.60 RFOOT 0.00 394.60 0.00 71.40 -0.06 2.48 160.00 LTHIGH 107.90 -45.36 2.84 -4.81 0.00 -178.69 362.85 LLOWLEG 0.00 362.85 0.00 5.06 -0.03 0.30 398.36 LFOOT 0.00 398.36 0.00 96.87 –0.01 –1.61 160.00

32 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri32 Standard de-facto HTR – Motion Section La sezione motion non è contrassegnata dalla keyword con il nome della sezione ma i dati di ogni segmento appaiono in sequenza ed ogni sezione inizia con il nome del segmento tra parentesi quadre. Ogni riga inizia con il numero del campione seguito dai valori che indicano la traslazione, la rotazione ed il fattore di scala [LOWERTORSO] 1 263.72 816.20 -2874.77 18.03 -7.70 -10.34 1.00 2 264.42 812.41 -2740.34 19.81 -13.46 -11.93 1.00 [UPPERTORSO] 1 0.00 0.00 0.00 8.33 -17.38 8.59 1.00 2 0.00 0.00 0.00 8.71 -6.14 8.64 1.00 [NECK] 1 0.00 0.00 0.00 -2.14 0.13 -0.01 1.00 2 0.00 0.00 0.00 -4.40 0.27 -0.02 1.00 [HEAD] 1 0.00 0.00 0.00 -40.92 20.25 -11.91 1.00 2 0.00 0.00 0.00 -39.37 18.36 -10.24 1.00 [RSHOULDER] 1 0.00 0.00 0.00 0.08 0.58 16.48 1.00 2 0.00 0.00 0.00 0.10 0.62 17.48 1.00 [RUPPERARM] 1 0.00 0.00 0.00 -11.08 -17.44 24.91 1.00 2 0.00 0.00 0.00 4.24 -14.72 19.02 1.00 [RLOWARM] 1 0.00 0.00 0.00 63.44 -6.42 -3.59 1.00 2 0.00 0.00 0.00 66.94 -6.62 -3.97 1.00

33 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri33 MoCap Analysis with Optical Markers Una sessione per realizzare un completo processo di Motion Capture è composta generalmente dalle seguenti fasi: Sessione di MoCap Set-up dello studio Calibrazione della “capture-area” Cattura del moto Filtraggio dei dati Post-processing dei dati

34 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri34 MoCap Analysis with Optical Markers Questa fase consiste nella determinazione dei parametri intrinseci ed estrinseci associati al modello matematico che si ha della telecamera. Il modello maggiormente usato per descrivere una telecamera è il Calibrazione della “capture-area” Perspective Camera Model [14]

35 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri35 MoCap Analysis with Optical Markers La telecamera presenta una visione bidimensionale di uno spazio tridimensionale, il Perspective Camera Model esprime una relazione matematica tra la posizione dei punti sul piano dell’immagine π e la loro posizione nello spazio rispetto al fuoco della proiezione che generalmente coincide con il fuoco della telecamera Perspective Camera Model Z asse ottico X Y O P (X,Y,Z) o p π f x y

36 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri36 MoCap Analysis with Optical Markers Le relazioni che legano coordinate X,Y, Z del punto P nello spazio a quelle del punto proiettato p (x,y) sul piano dell’immagine sono le seguenti Perspective Camera Model X Z x =fx =fy =fy =f Y Z z =f Dove f è la distanza del fuoco della telecamera dal piano dell’immagine

37 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri37 MoCap Analysis with Optical Markers Il modello precedentemente presentato individua le coordinate di un punto sul piano π, ma per ottenere le coordinate digitalizzate occorre fare un’ulteriore trasformazione dovuta alla griglia di risoluzione del CCD che mappa l’immagine del piano di proiezione su di una matrice NxM. Le relazioni sono le seguenti Coordinate CCD y Y piano max y = M CCD x X piano max x = N CCD Dove: X CCD [Y CCD ] = coordinata x [y] nel punto nella griglia CCD (discreta) X [Y] = coordinata x [y] nello spazio definito dal piano della telecamera X [Y] piano max = valore massimo della coordinata X [Y] (fondo scala)

38 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri38 MoCap Analysis with Optical Markers Le equazioni precedentemente descritte sono in realtà inutilizzabili se non si definiscono alcuni parametri associati alla telecamera che si suddividono in due classi: Parametri della Telecamera parametri estrinseci : sono i parametri che definiscono il posizionamento della telecamera rispetto ad un sistema di riferimento noto parametri intrinseci : sono i parametri necessari a legare le coordinate del pixel di un immagine con le corrispondenti coordinate nel camera reference frame

39 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri39 MoCap Analysis with Optical Markers La determinazione dei valori esatti di questi parametri si ottiene con un processo di calibrazione [14,15,16,17] in cui si presentano alla telecamera oggetti che costituiscono dei pattern ed in base ai quali si tarano i parametri. Parametri della Telecamera Questi parametri vengono definiti con delle equazioni geometriche di rototraslazione nel primo caso e con delle semplici proporzioni nel secondo.

40 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri40 MoCap Analysis with Optical Markers Calibrazione della Telecamera Per effettuare la calibrazione si può pensare di scrivere le equazioni di proiezione che collegano le coordinate di un insieme conosciuto di punti e le loro proiezioni, e risolvere queste equazioni in funzione dei parametri della telecamera. L’accuratezza della calibrazione dipende dalla precisione delle misure del pattern di calibrazione. Per garantire la precisione voluta le posizioni dei punti chiave nel pattern devono essere note con una precisione maggiore di quella desiderata per la telecamera.

41 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri41 MoCap Analysis with Optical Markers Ricostruzione Stereo Il problema di identificare la struttura del live performer impiegando più telecamere è riconducibile ad un problema più generale affrontato dalla visione stereo (Stereo vision [18] ). La visione stereo si riferisce alla capacità di ottenere informazioni sulla struttura tridimesionale e la distanza di una scena, impiegando una o più immagini prese da differenti punti di vista.

42 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri42 MoCap Analysis with Optical Markers Ricostruzione Stereo Se consideriamo una delle più semplici realizzazioni di un sistema di visione stereo composto da due punti di vista, tale sistema deve risolvere due problemi : Problema della corripondenza: individuare quali parti dell’immagine di destra e di sinistra sono proiezioni dello stesso elemento. Problema della ricostruzione: una volta individuati gli elementi corripondenti tra le due immagini proiettate e possibilmente conoscendo la geometria del sistema stereo, estrarre informazioni sulla posizione 3-D e la struttura dell’oggetto osservato

43 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri43 MoCap Analysis with Optical Markers Ricostruzione Stereo La risoluzione dei problemi precedentementi presentati comporta l’impiego di diverse discipline della geometria che sono: Geometria Proiettiva: geometria che studia le proiezioni di figure, enti fondamentali sono punti, rette piani. Le proposizioni fondamentali della geometria proiettiva riguardano la più semplice relazione possibile fra questi tre enti, cioè la relazione di appartenenza o di incidenza. Geometria Affine: estensione della geometria degli spazi vettoriali che aggiunge la possibilità di puntare i vettori introducendo così il concetto di distanza tra due vettori

44 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri44 MoCap Analysis with Optical Markers Ricostruzione Stereo Un semplice sistema di stereo visione è quello mostrato qui a lato, in cui si hanno due punti di vista i cui assi ottici sono paralleli. La tecnica con cui il un sistema stereo determina la posizione dei punti P, Q è quella della triangolazione: P e Q sono identificati dalle intersezioni delle rette che passano per i centri ottici e le proiezioni di tali punti sui rispettivi piani dell’immagine. Per tal motivo il problema della corrispondenza è cruciale per effettuare correttamente la triangolazione: se non si è in grado di identificare le proiezioni che corrispondono ad uno stesso punto, il processo di triangolazione dà risultati scorretti. P Q OLOL OROR Q’ P’ qLqL qRqR pLpL pRpR

45 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri45 MoCap Analysis with Optical Markers Ricostruzione Stereo Avendo risolto il problema della corrispondenza e quindi aver individuato le proiezioni p r e p l si può ottenere la distanza Z del punto P dalla congiungente i due centri di proiezione T (baseline stereo) applicando le proprietà dei triangoli simili: P OLOL OROR xLxL xRxR Z T f cLcL cRcR T + xL - xRT + xL - xR T Z f Z T d Z - fZ - f Dove d = x L - x R è la disparità che misura la differenza della posizione sul piano dell’immagine tra due corrispondenti La disparità d è inversamente proporzionale alla profondità Z

46 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri46 MoCap Analysis with Optical Markers Problema della Corrispondenza Il problema della corrispondenza in generale è sostanzialmente un problema di ricerca e operativamente nella sua risoluzione occorre decidere: di quali elementi di un’immagine occorre trovare corrispondenza quali misure di similarità adottare nella ricerca Relativamente alla seconda decisione possiamo classificare gli algoritmi che determinano la corrispondenza in due classi principali: algoritmi correlation-based algoritmi feature-based Di questi approfondiremo la seconda classe di algoritmi.

47 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri47 MoCap Analysis with Optical Markers Algoritmi feature-based Gli algoritmi feature-based restringono la ricerca delle corrispondenze ad un insieme sparso di features. Al posto di finestre usano proprietà numeriche e simboliche delle features, invece di misure di correlazione utilizzano la misura della distanza tra descrittori di features. La corrispondenza è così ottenuta quando si ottiene la distanza minima tra due features. In particolare alcuni metodi restringono ulteriormente il numero delle possibili scelte imponendo vincoli adatti al contesto. Questi vincoli possono essere geometrici, come i vincoli epipolari analitici (vincoli di unicità sul match, di contnuità....) Gli algoritmi feature-based sono adatti quando si ha una certa conoscenza a priori in modo da poter applicare features ottime. Tali algoritmi soffrono del problema dell’occlusione e delle corrispondenze spurie per cui vincoli appropriati possono indurre l’incidenza di questo fenomeno

48 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri48 MoCap Analysis with Optical Markers Geometria Epipolare Ogni telecamera ha un proprio sistema di riferimento che possiamo pensare centrato nei centri ottici, per tal motivo lo stesso punto P ha due rappresentazioni: P L = [X L,Y L,Z L ] T P R = [X R,Y R,Z R ] T La relazione che lega questi due punti è una classica rototraslazione euclidea P R = R(P L -T) Dove R individua la matrice di rotazione tra reference frame Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T

49 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri49 MoCap Analysis with Optical Markers Geometria Epipolare I vettori p L,p R sono le proiezioni del punto P sui piani dell’immagine Π L, Π R p L =[x L,y L,z L ] T z L =f L p R =[x R,y R,z R ] T Z R =f R I piani dell’immagine sono un sottoinsieme dello spazio proiettivo P 2, per tal motivo i punti p L,p R appartengono a tale spazio. Le equazioni che legano il punto alle sue proiezioni sono le seguenti equazioni di prospettiva proiettiva: p L = P L fLfL ZLZL p R = P R fRfR ZRZR Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T

50 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri50 MoCap Analysis with Optical Markers Geometria Epipolare Il nome geometria epipolare [18] nasce dal fatto che i punti in cui i centri di proiezione O L,O R intersecano i piani dell’immagine sono chiamati epipoli ( e L, e R ) e per costruzione l’epipolo di sinistra è l’immagine del centro di proiezione della telecamera di destra e viceversa. L’importanza pratica della geometria epipolare consiste nel fatto che il piano contenente P ed O L,O R interseca ogni piano dell’immagine in una linea (linea epipolare). Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T

51 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri51 MoCap Analysis with Optical Markers Vincolo Epipolare I principi costruttivi introdotti dalla geometria epipolare ci permettono di definire il vincolo epipolare: punti che sono proiezioni di uno stesso punto devono giacere su linee epipolari conuiugate L’importanza di tale vincolo è che riduce la ricerca della corrispondenza ad un problema 1-D. Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T

52 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri52 MoCap Analysis with Optical Markers Matrice Essenziale E Stabilisce un legame tra un punto proiettato p L e la linea epipolare nel piano Π R ad esso coniugato. La matrice E [18,19] rende di fatto utile il vincolo epipolare nella ricerca delle corrispondenze. piano epipolare: (P L -T) T T x P L = 0 poichè P L -T = R T P R T x P L = [T] x P L si ottiene: (R T P R ) T [T] x P L = P R T R[T] x P L = 0 P R T E P L = 0 Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T

53 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri53 MoCap Analysis with Optical Markers Matrice Essenziale E La matrice essenziale è chiamata tale in quanto stabilisce un legame naturale tra il vincolo epipolare ed i parametri estrinseci del sistema stereo. Una volta calcolata la matrice E è banale il passaggio alle coordinate proiettate date le relazioni: dividendo infatti per Z L Z R /f L f R si ottiene: p R T E p L = 0 Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T p L = P L fLfL ZLZL p R = P R fRfR ZRZR

54 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri54 MoCap Analysis with Optical Markers Matrice Essenziale E Poiché il punto p R deve appartenere alla linea epipolare allora se u R è il vettore direzionale di tale retta possiamo osservare che: p R T u R = 0 da cui: u R = E p L in questo senso la matrice essenziale stabilisce il mapping tra punti proiettati e linee epipolari corrispondenti. Piano epipolare OLOL OROR pLpL eLeL pRpR eReR PLPL PRPR P Linee epipolari fLfL fRfR ΠLΠL ΠRΠR T uRuR uLuL

55 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri55 MoCap Analysis with Optical Markers Matrice Fondamentale F La corrispondenza tra i punti e le linee epipolari può essere ottenuta anche senza nessuna informazione a priori sul sistema stereo. Se infatti M L, M R sono le matrici dei parametri intrinseci rispettivamente della telecamera di sinistra e di destra, se indichiamo con p X L, p X R rispettivamente i punti proiettati le cui coordinate sono espresse in pixel allora sussistono le seguenti relazioni: p L = M L -1 p X L p R = M R -1 p X R A questo punto possiamo esprimere la relazione che caratterizza la matrice essenziale nei termini di queste nuove coordinate ottenendo: p X R T M R -T E M L -1 p X L = 0p X R T F p X L = 0 F = M R -T E M L -1 Dal momento che è possibile stimare la matrice F [18,20,21] avendo un numero finito di corrispondenze note (Eight Point Algorithm [18] ) è possibile ricostruire la geometria epipolare senza nessuna informazione sui parametri intrinseci ed estrinseci del sistema stereo.

56 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri56 La matrice S [20] è un’alternativa alla matrice fondamentale F ed insieme al vettore costituisce rappresentazione completa della geometria del problema. La relazione che lega le due matrici è la seguente: F = [e R ] x S S = (- F) La coppia S, permette di dividere i 7 parametri della matrice fondamentale in due sottoinsiemi di parametri indipendenti. MoCap Analysis with Optical Markers La matrice S Piano epipolare OLOL OROR pLpL eLeL eReR P Linee epipolari ΠLΠL ΠRΠR PΠPΠ pR=SpLpR=SpL [e R ] X |e R | 2

57 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri57 Data una coppia di immagini stereo, con rettificazione [18] si intende la trasformazione di ognuna delle immagini tale per cui la coppia di linee epipolari coniugate diventano collineari e parallele ad uno degli assi dell’immagine (di solito quello orizzontale). L’importanza della rettificazione è che il problema della corrispondenza che genralmente comporta una ricerca bidimensionale è ridotto ad una ricerca monodimensionale lungo una scanline che può essere identificata facilmente MoCap Analysis with Optical Markers Rettificazione In questo modo la ricerca della corrispondenza di (i L,j L ) può essere cercata nell’immagine rettificata di destra lungo la scanline j R =j L OLOL OROR P

58 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri58 Ipotesi: l’origine del sistema di riferimento è il punto principale P il fuoco sia f Per effettuare la rettificazione occorre procedere quanto segue: ruotare la telecamera di sinistra in modo che la linea epipolare vada all’infinito sull’asse orizzontale applicare la stessa rotazione alla telecamera di destra ruotare la telecamera di destra di R (matrice di rotazione tra i due camera reference frame) MoCap Analysis with Optical Markers Rettificazione OLOL OROR P

59 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri59 La matrice di rettificazione può essere costruita come segue: possiamo prendere come vettore e 1 il vettore dato da: MoCap Analysis with Optical Markers Rettificazione OLOL OROR P e1e1 T e1=e1= T |T| per il vettore e 2 si ha invece: e 2 = [-T y,-T x,0] T T 2 x + T 2 y 1 e quindi... e 3 = e 1 X e 2 e1Te2Te3Te1Te2Te3T R rect =

60 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri60 A questo punto per effettuare la trasformazione dei punti possiamo operare come segue: R L = R rect R R = RR rect Per ogni punto del piano dell’immagine di sinistra p L [x,y,z] T operare come segue: R L p L = [x’,y’,z’] Le coordinate del corrispondente punto rettificato saranno perciò date da: p L ’ = [x’,y’,z’] Analogamente si procede per i punti del piano dell’immagine di destra MoCap Analysis with Optical Markers Rettificazione OLOL OROR P e1e1 T f z’ pLpL pL’pL’ pR’pR’ pRpR

61 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri61 Risolto il problema della corrispondenza ed avendo determinato la geometria epipolare del problema, la ricostruzione tridimensionale che si può ottenere dipende dalla conoscenza a priori che si ha sui parametri del sistema stereo. Possiamo distinguere sostanzialmente tre casi principali: parametri instrinseci ed estrinseci noti: in tal caso possiamo ottenere una ricostruzione tridimensionale non ambigua impiegando la triangolazione parametri instrinseci noti, estrinseci non noti: in questo caso la ricostruzione che si ottiene è corretta ma a meno di un fattore di scala parametri intrinseci ed estrinseci non noti: se si hanno informazioni solo sulla corrispondenza dei punti si ottiene ancora una ricostruzione ma a meno di una trasformazione proiettiva globale MoCap Analysis with Optical Markers Ricostruzione 3D

62 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri62 Date le due proiezioni del punto P ( p L,p R ) la posizione nello spazio del punto P è ottenuta intersecando le due rette che passano per i centri di proiezione e le rispettive proiezioni. Tale risultato è quello che si otterrebbe se i parametri ed i piani dell’immagine fossero noti con esattezza, mentre nella realtà le due rette non si intersecheranno, per cui occorrerà valutare il punto medio del segmento che individua la distanza minima tra le due rette (Midpoint method [18,22] ). MoCap Analysis with Optical Markers Ricostruzione per Triangolazione P’ w OLOL OROR pLpL pRpR T

63 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri63 Sapendo che gli estremi del segmento si trovano uno sulla retta che ha come vettore direzionale p L e l’altro p R possiamo determinare il segmento che individua la minima distanza tra le due rette nel modo che segue: MoCap Analysis with Optical Markers Ricostruzione per Triangolazione P’ w OLOL OROR pLpL pRpR T ap L – (b R T p R + T ) = -c(p L X R T p R ) Risolvendo il sistema di equazioni nelle variabili a,b,c si ottengono i valori a 0,b 0,c 0 del vettore w che individua il segmento di distanza minima tra le due rette. (b R T p R + T - a 0 p L ) 2 P’=

64 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri64 Il metodo descritto è abbastanza sensibile agli errori sopratutto quelli angolari, un miglioramento di tale metodo consiste nel dividere la perpendicolare comune w in modo proporzionale alle distanze di tale segmento dai centri di proiezione O L,O R. MoCap Analysis with Optical Markers Ricostruzione per Triangolazione P’ w OROR pLpL pRpR T Questo metodo permette di avere una migliore distribuzione dell’errore angolare, anche se non fornisce ancora risultati ottimali. Inoltre questo metodo non può essere impiegato in caso di ricostruzioni di tipo proiettivo, dal momento che in geometria proiettiva i concetti di distanza e perpendicolarità perdono di significato.

65 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri65 E’ abbastanza comune assumere che tali features nell’immagine siano soggette ad un rumore di tipo gaussiano che altera la loro posizione rispetto a quella corretta. MoCap Analysis with Optical Markers Ricostruzione per Triangolazione Generalmente gli errori che si hanno sono dovuti principalmente alle coordinate dei due punti corrispondenti nell’immagine che sono state digitalizzate, oppure all’esatta identificazione della feature nell’immagine.

66 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri66 ûRûR ûLûL P’ MoCap Analysis with Optical Markers Triangolazione Ottima [23] Osserviamo che: una corrispondenza affetta da errore tra due punti u L,u R non soddisferà in genere il vincolo epipolare. w OLOL OROR uLuL uRuR T Se indichiamo û L,û R con i valori corretti dei punti corrispondenti nella realtà, che saranno presumibilmente vicini ai punti stimati ma soddisferanno in modo esatto la relazione: ûRTFûL= 0ûRTFûL= 0 Ci interessa quindi andare a cercare la coppia di punti û L,û R che minimizzino la funzione di costo: d(û R,u R ) 2 +d(û L,u L ) 2

67 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri67 MoCap Analysis with Optical Markers Triangolazione Ottima Una volta che sono stati determinati i punti corrispondenti û L,û R il punto nello spazio tridimensionale può essere determinato con qualunque tecnica di triangolazione, dal momento che le rette che passano per i centri ottici e tali punti si incontreranno in modo preciso nello spazio. P’ OLOL OROR uLuL uRuR T I punti û L,û R se soddisfano il vincolo epipolare devono giacere su linee epipolari corrispondenti λ L,λ R. Le proiezioni ortogonali dei punti u L,u R di troveranno quindi su tali linee e corrisponderanno con û L,û R. ûLûL ûRûR

68 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri68 MoCap Analysis with Optical Markers Triangolazione Ottima Poichè û L,û R stanno sulle corrispondenti linee epipolari allora risulta equivalente minimizzare la seguente funzione: OLOL OROR uLuL uRuR T A questo punto parametrizzando la famiglia di linee epipolari tramite un parametro t (λ L (t),λ R (t)) si minimizza una funzione in una singola variabile. La funzione di distanza diventa così una funzione razionale polinomiale (se si vuole una buona parametrizzazione delle linee epipolari). ûLûL ûRûR d(λ R,u R ) 2 +d(λ L,u L ) 2

69 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri69 MoCap Analysis with Optical Markers Triangolazione Ottima La minimizzazione della funzione nel parametro t comporta la determinazione delle radici di un polinomio di sesto grado. Il metodo ottenuto presenta un risultato molto buono se paragonato con altri metodi di triangolazione impiegati anche il tempo di computazione per il calcolo dei minimi non è dei migliori. OLOL OROR uLuL uRuR T ûLûL ûRûR Altri metodi di triangolazione sono Triangolazione Lineare (Linear-Eigen, Linear-LS), Metodi Iterativi Lineari (Iterative Linear-Eigen, Iterative Linear-LS) [23]

70 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri70 MoCap Analysis with Optical Markers Estensione della geometria ad N viste La geometria del problema può essere estesa anche al caso in cui ci siano N viste diverse della scena. In tal caso i parametri che determinano le matrici fondamentali F non sono più 7xN, ma dal momento che tre viste definiscono un piano, si aggiungono degli ulteriori vincoli che portano il numero dei parametri (nel caso di 3 viste) a 18. Se si hanno più di tre viste i parametri che definiscono le varie matrici fondamentali sono fra loro legati con formule complesse, in tal caso una rappresentazione della geometria del problema tramite le matrici S (vedi [20]) permette di avere delle formule più semplici che legano le varie viste. Dal punto di vista pratico l’impiego di N viste permette di risolvere problemi quali l’occlusione di alcuni marker da parte del corpo del performer e permette di avere una maggiore ridondanza nel valutare la posizione tridimensionale di un marker (potendo applicare la triangolazione a diverse coppie di viste).

71 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri71 Riferimenti [1] Maureen Furniss - Motion Capture [2] G. Johansoon – Visual motion perception, Scientific American, pagg. 76-88, Giugno 1975 [3] G. Johansson – Visual perception of biological motion and a model for its analysis, Perception & Psychophisics Vol 14/2, pagg 201-211, 1973 [4] O.D. Faugeras, Q. Delamarre – 3D Articulated models and multiview tracking with physical forces, Computer Vision and Image Understanding, vol 81/3, 2001 [5] http://www.biovision.com http://www.biovision.com [6] http://www.vicon.comhttp://www.vicon.com [7] http://www.motionanalysis.com [8] http://www.polhemus.com [9] http://www.ascension-tech.com/ [10] http://www.adtechinc.com/ [11] http://www.c3d.org [12] http://www.biovision.com/doc.html [13] http://www.cs.wisc.edu/graphics/Courses/cs-838-1999/Jeff/TRC.html

72 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri72 Riferimenti [14] A.Verri, E.Trucco – Introductory Technicques for 3D Computer Vision, Prentice Hall 1998, Cap. 6 [15] O.D. Faugeras, Q-T Luong, S.J. Maybank – Camera self-calibration: Theory and experiments, Proceedins of European Conference On Computer Vision, Santa Margherita, Italy 1992, pagg. 321-334 [16] R.I. Hartley – An Algorithm for self calibration from several views, Proceedings on Computer Vision and Pattern Recognition, Seattle, WA, 1994 pagg. 908-912 [17] R.Y.Tsai – Synopsis of recent progress on camera calibration for 3D machine vision, The Robotics Review pagg. 147-159, MIT Press Cambridge MA, 1989 [18] A Verri, E.Trucco – Introductory Technicques for 3D Computer Vision, Prentice Hall 1998, Cap. 7 [19] T.S. Huang, O.D. Faugeras – Some Properties of the E-matrix in two views motion estimation, IEEE transactions on Pattern Analysis and Machine Intelligence, vol 11, 1989, pagg. 1310- 1312 [20] Q.-T. Luong – Canonical Representation for the Geometries of Multiple Projective Views, Computer Vision and Image Understanding, vol. 64/2 pagg. 193-229, 1996 [21] O.D. Faugeras, Q-T Luong – The fundamental matrix: theory and algorithms and stability analysis, International Journal Of Computer Vision, vol. 17/1, pagg. 43-76

73 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri73 Riferimenti [22] Q.-T. Luong, R. Deriche, O. D. Faugeras, T. Papadopoulo – On Determining the fundamental matrix: Analysis of different methods and experimental results, Technical Report RR-1894, INRIA, 1993 [23] R. I. Hartley, P. Sturm – Triangulation, Computer Vision and Image Understanding, vol 68/2, pagg. 146-157, 1997 Ulteriori riferimenti non direttamente citati: [24] H.M. Lakany, A. Birbilis, G.M. Hayes - Recognising Walkers Using Moving Light Displays, available at http://www.dai.ed.ac.uk/papers/documents/rp811.html [25] O.D. Faugeras – 3D Computer Vision : a Geometric Viewpoint, MIT Press 1993 [26] A. Shashua, On geometric and algebraic aspects of 3D Affine and Projective structures from Perspective 2D views, Proceedings of 2nd European Workshop, Ponta Delagada, Azores 1993 [27] A. Shashua, N. Navab, Relative Affine Structure: Theory and Application to 3D reconstruction from Perspectives views, Proceedings of the Conference on Computer Vision and Pattern Recognition, Seattle WA, pagg. 483-489, 1994

74 Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri74 Riferimenti Motion Capture Links http://www.metamotion.com/links.htm http://www.visgraf.impa.br/Projects/mcapture/hotlinks.html http://www.lambsoft.com http://www.kaydara.com


Scaricare ppt "Motion Capture Christian Vecchiola – Cristina Frà Corso di Progettazione e Produzione Multimediale – Prof A. Camurri Motion Capture."

Presentazioni simili


Annunci Google