Motion Capture Christian Vecchiola Cristina Fr Motion Capture

  • Slides: 74
Download presentation
Motion Capture Christian Vecchiola – Cristina Frà Motion Capture

Motion Capture Christian Vecchiola – Cristina Frà Motion Capture

Motion Capture Christian Vecchiola – Cristina Frà Sommario • • • Introduzione Tecniche e

Motion Capture Christian Vecchiola – Cristina Frà Sommario • • • Introduzione Tecniche e Tecnologie Società e Standard “de-facto” Mo. Cap con Marker Ottici Riferimenti Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 2

Motion Capture Christian Vecchiola – Cristina Frà Introduzione Motion Capture processo di misura e

Motion Capture Christian Vecchiola – Cristina Frà Introduzione 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] l’informazione catturata può essere di tipo diverso: • semplice posizione dell’oggetto • tracking del moto di elementi specifici (deformazione di faccia e muscoli) Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 3

Motion Capture Christian Vecchiola – Cristina Frà Introduzione Applicazioni e Impieghi • computer character

Motion Capture Christian Vecchiola – Cristina Frà Introduzione Applicazioni e Impieghi • 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 4

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Concetto di

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 5

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Markers e

Motion Capture Christian Vecchiola – Cristina Frà 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 6

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Sistemi Ottici

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 7

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Sistemi Magnetici

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 8

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Sistemi Meccanici[4]

Motion Capture Christian Vecchiola – Cristina Frà 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: Data. Glove, 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 9

Motion Capture Christian Vecchiola – Cristina Frà Tecniche e Tecnologie. . . Sistemi di

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 10

Motion Capture Christian Vecchiola – Cristina Frà Motion Capture Manufacturers Sono società che forniscono

Motion Capture Christian Vecchiola – Cristina Frà 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 3 D (3 D Studio MAX, Soft. Image, Maya, Ligth. Wave 3 D). Le più importanti sono[5 -10]: • Bio. Vision (solo software) • VICON (sistemi ottici) • Motion Analysis Corporation (sistemi ottici e magnetici) • Polhemus (sistemi magnetici) • Ascension (sistemi magnetici) • Adtech (software) Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 11

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto I formati[11 -13] in cui

Motion Capture Christian Vecchiola – Cristina Frà 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 più importanti sono: • C 3 D • BVH, BVA • HTR, TRC Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 12

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D Concepito e

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D Concepito e sviluppatto da Andrew Danis (Adtech), inizialmente per applicazioni biomedicali e poi diventato un formato diffuso in tutti gli altri ambiti del Mo. Cap. Impiegato principalmente da Adtech e da VICON come formato I/O principale. Il formato C 3 D permette di definire, generare e memorizzare dentro il file stesso in cui sono registrate le coordinate 3 D 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 13

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D Il file

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

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Header

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Header Section Individuata sempre dal primo blocco di 512 byte del file, contiene una considerevole quantità di informazioni di base relative al file C 3 D ed ai dati memorizzati in esso. 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 15

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Header

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Header Section WORD VALUE DESCRIPTION 1 5002 h Byte 1 : Puntatore al primo blocco della parameter section Byte 2 : 50 h indica un file C 3 D 2 nn Questi due byte individuano il Numero delle traiettorie catturate 3 4 5 6 nn 10 Numero di canali analogici per un 3 D frame 7 -8 nnnn 9 10 nn nn 11 -12 60. 000 Numerazione dei Frames (1 -based) Numero dell’ultimo frame Massimo gap di interpolazione Fattore di scala che converte le coordinate campionate nell’unità di misura reale Il file C 3 D 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. Numero del primo blocco 3 D/Analog Numero di campioni analogici per Frame 3 D 3 D Frame Rate in Hz Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 16

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Parameter

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – Parameter Section Contiene delle informazioni sulle coordinate 3 D 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 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. C 3 D. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 17

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – 3

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – 3 D/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. 3 D data for frame 1 analog data for frame 1. . . 3 D data for frame n analog data for frame n 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 18

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – 3

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto C 3 D – 3 D/Analog Data Section WORD 1 DESCRIPTION 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 Byte 1 : camera che ha misurato il marker Byte 2 : residuo medio / fattore di scala WORD 1 -2 DESCRIPTION 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: Byte 1 : camera che ha misurato il marker Byte 2 : residuo medio / fattore di scala Le coordinate cartesiane 3 D 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 19

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH Concepito e sviluppatto dalla

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH Concepito e sviluppatto dalla Bio. Vision 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 20

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH - Struttura HIERARCHY section

Motion Capture Christian Vecchiola – Cristina Frà 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) Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 21

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH – HIERACHY section Questa

Motion Capture Christian Vecchiola – Cristina Frà 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 22

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH – HIERACHY section rappresenta

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 23

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH – HIERACHY section ROOT

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH – HIERACHY section 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 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) Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 24

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto BVH – MOTION section Frames:

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

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR (Hierachical Translation Rotation) Sviluppato

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR (Hierachical Translation Rotation) Sviluppato dalla Motion Analysis Corporation come alternativa e miglioramento dell’unico altro formato allora esistente (BVH di Bio. Vision) 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 26

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR - Struttura Header section

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR - Struttura Header section Segment Name & Hierarchy section Base Position section Motion section 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 27

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Header Section [Header]

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Header Section [Header] # Header keywords are followed by a single value File. Type htr # single word string Data. Type HTRS # Hierarchical translations followed by rotations and Scale File. Version 1 # integer Num. Segments 18 # integer Num. Frames 2 # integer Data. Frame. Rate 30 # integer Euler. Rotation. Order ZYX # one word string Calibration. Units mm # one word string Rotation. Units Degrees # one word string Global. Axisof. Gravity Y # character, X or Y or Z Bone. Length. Axis Y 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 28

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Segment Names &

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Segment Names & Hierarchy Section Tag [Segment. Names&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. [Segment. Names&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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 29

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Segment Names &

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Segment Names & Hierarchy Section [Segment. Names&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 LSHOULDER LUPPERARM RSHOULDER RUPPERARM UPPER TORSO LOWER TORSO LLOWARM RTHIGH RHAND LTHIGH LLOWLEG Corso di Progettazione e Produzione Multimediale – Prof A. Camurri RLOWLEG LFOOT RFOOT 30

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Base Position Section

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Base Position Section • Individuata dalla keyword [Base. Position] 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 [Base. Position] #Segment. Name Tx, Ty, Tz, Rx, Ry, Rz, Bone. Length LOWERTORSO 0. 00 200. 00 UPPERTORSO 0. 00 200. 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 31

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Motion Section [LOWERTORSO]

Motion Capture Christian Vecchiola – Cristina Frà Standard de-facto HTR – Motion Section [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 8. 33 -17. 38 8. 59 1. 00 2 0. 00 8. 71 -6. 14 8. 64 1. 00 [NECK] 1 0. 00 -2. 14 0. 13 -0. 01 1. 00 2 0. 00 -4. 40 0. 27 -0. 02 1. 00 [HEAD] 1 0. 00 -40. 92 20. 25 -11. 91 1. 00 2 0. 00 -39. 37 18. 36 -10. 24 1. 00 [RSHOULDER] 1 0. 00 0. 08 0. 58 16. 48 1. 00 2 0. 00 0. 10 0. 62 17. 48 1. 00 [RUPPERARM] 1 0. 00 -11. 08 -17. 44 24. 91 1. 00 2 0. 00 4. 24 -14. 72 19. 02 1. 00 [RLOWARM] 1 0. 00 63. 44 -6. 42 -3. 59 1. 00 2 0. 00 66. 94 -6. 62 -3. 97 1. 00 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 32

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Sessione

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

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Calibrazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Calibrazione della “capture-area” 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 Perspective Camera Model Corso di Progettazione e Produzione Multimediale – Prof A. Camurri [14] 34

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Perspective

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Perspective Camera Model 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 Y X P(X, Y, Z) y x p O o f Z asse ottico π Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 35

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Perspective

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Perspective Camera Model 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 x =f X y =f Y Z Z z =f Dove f è la distanza del fuoco della telecamera dal piano dell’immagine Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 36

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Coordinate

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Coordinate CCD 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 Nx. M. Le relazioni sono le seguenti x CCD = N x Xpiano max y CCD = M y Ypiano max Dove: XCCD [YCCD] = 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) Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 37

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Parametri

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Parametri della Telecamera Le equazioni precedentemente descritte sono in realtà inutilizzabili se non si definiscono alcuni parametri associati alla telecamera che si suddividono in due classi: 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 • Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 38

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Parametri

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Parametri della Telecamera Questi parametri vengono definiti con delle equazioni geometriche di rototraslazione nel primo caso e con delle semplici proporzioni nel secondo. 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 39

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Calibrazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 40

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 41

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 42

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 43

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri P’ Q P Q’ p. L OL q. L p. R q. R OR 44

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione Stereo P Avendo risolto il problema della corrispondenza e quindi aver individuato le proiezioni pr e pl 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: Z T + x. L - x. R Z-f T Z Z f T d c. L Dove d = x. L- x. R è la disparità che misura la differenza della posizione sul piano dell’immagine tra due corrispondenti x. R x. L c. R f OL T OR La disparità d è inversamente proporzionale alla profondità Z Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 45

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Problema

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 46

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Algoritmi

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 47

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Geometria

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 PL= [XL, YL, ZL]T PR= [XR, YR, ZR]T p. L La relazione che lega questi due punti è una classica rototraslazione euclidea PR = R(PL-T) PL OL f. L PR Piano epipolare e. L Dove R individua la matrice di rotazione tra reference frame Corso di Progettazione e Produzione Multimediale – Prof A. Camurri ΠR p. R f. R e. R OR T Linee epipolari 48

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Geometria

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 p. L=[x. L, y. L, z. L]T z. L=f. L p. R=[x. R, y. R, z. R]T ZR=f. R ΠL 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 = f. L P ZL L p. R = p. L OL f. L PL PR Piano epipolare e. L f. R P ZR R Corso di Progettazione e Produzione Multimediale – Prof A. Camurri ΠR p. R f. R e. R T Linee epipolari 49 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Geometria

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Geometria Epipolare Il nome geometria epipolare[18] nasce dal fatto che i punti in cui i centri di proiezione OL, OR 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 OL, OR interseca ogni OL piano dell’immagine in una linea (linea epipolare). P ΠL p. L f. L PL PR Piano epipolare e. L ΠR p. R f. R e. R T Linee epipolari Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 50 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Vincolo

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Vincolo Epipolare I principi costruttivi introdotti dalla geometria epipolare ci permettono di definire il P 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. ΠL p. L OL f. L PL PR Piano epipolare e. L ΠR p. R f. R e. R T Linee epipolari Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 51 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Matrice

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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: (PL-T)TT x P ΠL PL PR ΠR PL = 0 poichè PL-T = RTPR T x PL = [T]x. PL si ottiene: p. L OL f. L Piano epipolare e. L (RTPR)T[T]x. PL = PRTR[T]x. PL = 0 PR T EPL = 0 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri p. R f. R e. R T Linee epipolari 52 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Matrice

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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: p. L = f. L P ZL L p. R = P ΠL f. R P ZR R dividendo infatti per ZLZR/f. Lf. R si ottiene: p. L OL f. L PL PR Piano epipolare e. L p. R T Ep. L = 0 ΠR p. R f. R e. R T Linee epipolari Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 53 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Matrice

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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: da cui: P p. R T u. R = 0 ΠL u. R = Ep. L PL PR u. L in questo senso la matrice essenziale stabilisce il mapping tra punti proiettati e linee epipolari corrispondenti. p. L OL f. L Piano epipolare e. L ΠR u. R p. R f. R e. R T Linee epipolari Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 54 OR

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Matrice

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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 ML, MR sono le matrici dei parametri intrinseci rispettivamente della telecamera di sinistra e di destra, se indichiamo con p. XL, p. XR rispettivamente i punti proiettati le cui coordinate sono espresse in pixel allora sussistono le seguenti relazioni: p. L = ML-1 p. X L p. R = MR-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 MR-TE ML-1 p. X L = 0 p. X R T F p. X L = 0 F = MR-TE ML-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. Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 55

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers La

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

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers P

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers P Rettificazione 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 OL OR 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 57

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione P 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) OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri OR 58

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione P La matrice di rettificazione può essere costruita come segue: possiamo prendere come vettore e 1 il vettore dato da: T |T| e 1 = per il vettore e 2 si ha invece: e 2 = 1 [-Ty, -Tx, 0]T T 2 x + T 2 y e quindi. . . e 3 = e 1 X e 2 Rrect = OL e 1 T e 2 T e 3 T Corso di Progettazione e Produzione Multimediale – Prof A. Camurri OR T 59

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Rettificazione P A questo punto per effettuare la trasformazione dei punti possiamo operare come segue: RL= Rrect RR= RRrect Per ogni punto del piano dell’immagine di sinistra p. L[x, y, z]T operare come segue: RLp. L=[x’, y’, z’] Le coordinate del corrispondente rettificato saranno perciò date da: p. L ’ = p. L ’ punto f [x’, y’, z’] z’ p. R p. L OL e 1 OR Analogamente si procede per i punti del piano dell’immagine di destra T Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 60

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione 3 D 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 61

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione per Triangolazione 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. P’ w 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]). p. R p. L OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri T OR 62

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione per Triangolazione 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: ap. L – (b. RTp. R+T) = -c(p. L X P’ w RT 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. P’= (b. RTp. R+T - a 0 p. L ) p. R p. L OL 2 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri OR T 63

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione per Triangolazione 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 OL, OR. 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. P’ w p. R p. L Corso di Progettazione e Produzione Multimediale – Prof A. Camurri T OR 64

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Ricostruzione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. P’ w 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. p. R p. L OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri OR T 65

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Triangolazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. P’ 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: w ûR T Fû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 u. L u. R ûR ûL OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri OR T 66

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Triangolazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. 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. P’ u. R u. L ûL OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri T ûR OR 67

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Triangolazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Triangolazione Ottima Poichè ûL, ûR stanno sulle corrispondenti linee epipolari allora risulta equivalente minimizzare la seguente funzione: d(λR, u. R)2+d(λL, u. L)2 u. R u. L ûL 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). OL Corso di Progettazione e Produzione Multimediale – Prof A. Camurri T ûR OR 68

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Triangolazione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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. u. R u. L ûL OL T ûR OR Altri metodi di triangolazione sono Triangolazione Lineare (Linear-Eigen, Linear-LS), Metodi Iterativi Lineari (Iterative Linear-Eigen, Iterative Linear-LS) [23] Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 69

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap Analysis with Optical Markers Estensione

Motion Capture Christian Vecchiola – Cristina Frà Mo. Cap 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ù 7 x. N, 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). Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 70

Motion Capture Christian Vecchiola – Cristina Frà Riferimenti [1] Maureen Furniss - Motion Capture

Motion Capture Christian Vecchiola – Cristina Frà 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 – 3 D Articulated models and multiview tracking with physical forces, Computer Vision and Image Understanding, vol 81/3, 2001 [5] http: //www. biovision. com [6] http: //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. c 3 d. org [12] http: //www. biovision. com/doc. html [13] http: //www. cs. wisc. edu/graphics/Courses/cs-838 -1999/Jeff/TRC. html Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 71

Motion Capture Christian Vecchiola – Cristina Frà Riferimenti [14] A. Verri, E. Trucco –

Motion Capture Christian Vecchiola – Cristina Frà Riferimenti [14] A. Verri, E. Trucco – Introductory Technicques for 3 D 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 3 D machine vision, The Robotics Review pagg. 147 -159, MIT Press Cambridge MA, 1989 [18] A Verri, E. Trucco – Introductory Technicques for 3 D 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 72

Motion Capture Christian Vecchiola – Cristina Frà Riferimenti [22] Q. -T. Luong, R. Deriche,

Motion Capture Christian Vecchiola – Cristina Frà 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/rp 811. html [25] O. D. Faugeras – 3 D Computer Vision : a Geometric Viewpoint, MIT Press 1993 [26] A. Shashua, On geometric and algebraic aspects of 3 D Affine and Projective structures from Perspective 2 D views, Proceedings of 2 nd European Workshop, Ponta Delagada, Azores 1993 [27] A. Shashua, N. Navab, Relative Affine Structure: Theory and Application to 3 D reconstruction from Perspectives views, Proceedings of the Conference on Computer Vision and Pattern Recognition, Seattle WA, pagg. 483 -489, 1994 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 73

Motion Capture Christian Vecchiola – Cristina Frà Riferimenti Motion Capture Links http: //www. metamotion.

Motion Capture Christian Vecchiola – Cristina Frà 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 Corso di Progettazione e Produzione Multimediale – Prof A. Camurri 74