Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005....

20
1 1/39 http:\\homes.dsi.unimi.it\borghese A.A. 2004-2005 Retargetting Prof. Alberto Borghese 2/39 http:\\homes.dsi.unimi.it\borghese A.A. 2004-2005 Riassunto Dai dati di Motion Capture ai dati di animazione Problemi nell’utilizzo dei dati di Mocap Retargetting

Transcript of Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005....

Page 1: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

1

1/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Retargetting

Prof. Alberto Borghese

2/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Riassunto

• Dai dati di Motion Capture ai dati di animazione• Problemi nell’utilizzo dei dati di Mocap• Retargetting

Page 2: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

2

3/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

From MoCap to Animation

3D positions → Angles

4/39A.A. 2004-2005

1:PJC

2:LJC

3=4=5:NJC

7:LSC6:RSC

9:LEC8:REC

11:LWC10:RWC

Segmenti rigidi, incernierati. Misuro la posizione delle cerniere.

Marker sui joint

Page 3: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

3

5/39A.A. 2004-2005

Zp

Xp

Yp1

Zt

Xt

Yt

2

Xh

Zh

Yh3

YlcXlc

Zlc4

Zrc

Xrc

Yrc

5Xra

Yra

Zla

6

Xrh

Yrh

Zrh

10

Xla

Yla

Zla

7

Xrfa

Yrfa

Zrfa

8

Ylfa

Zlfa

9

Zlh

Xlh

Ylh

11

• 3=4=5• Yrc=Ylc=Zt

Trunk height

Pelvis height

Left clavicle lengthRight clavicle length

Right arm length Left arm length

Left forearm lengthRight forearm length

Xlfa

Posso scrivere la trasformazione tra la posizione di un segmento e quella del segmento successivo.

Sarà funzione dei parametri liberi.

6/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Rappresentazione della trasformazione

⎥⎥⎥⎥

⎢⎢⎢⎢

1000TrrrTrrrTrrr

z333231

y232221

x131211

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

1P

eP

eP

e

ZYX

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

1P

rP

rP

r

ZYX

=

rP = A eP

end effector

link 0

+

link1

+

O

root

er

Frame di riferimento del punto

Trasformazione del frame e nel

frame r

Spesso si numera da 0 - root

Page 4: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

4

7/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Riassunto

• Dai dati di Motion Capture ai dati di animazione• Problemi nell’utilizzo dei dati di Mocap• Retargetting

8/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

I problemi dell’utilizzo dei dati di Mocap - I

Problemi:• Skeleton hypothesis• Skin artefacts• Joint approximation

Page 5: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

5

9/39A.A. 2004-2005

1:PJC

2:LJC

3=4=5:NJC

7:LSC6:RSC

9:LEC8:REC

11:LWC10:RWC

Segmenti rigidi, incernierati. Misuro la posizione delle cerniere.

Skeleton Hypothesis

10/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Rigidità dei segmenti (ossei)

I segmenti ossei sono ragionevolmente rigidi a parte

la mandibola.

Page 6: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

6

11/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

I movimenti alterano la distanza tra marker

12/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

0 50 100 150 200 250 300 350 400 450 500

0.3

0.32

0.34

0.36

0.38

0.4

0.42

0.44

0.46

0.48

0.5

distance between shoulder and hip

t [#frames]

dist

ance

[m]

Quale scheletro?

Distanza media, mediana.

E’ un’approssimazione.

Problemi nell’interazione con oggetti sulla scena.

Page 7: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

7

13/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Esempio di animazione “rigida”

14/39A.A. 2004-2005

Zp

Xp

Yp

1

Zt

Xt

Yt

2

Xh

Zh

Yh3

YlcXlc

Zlc4

Zrc

Xrc

Yrc

5Xra

Yra

Zla

6

Xrh

Yrh

Zrh

10

Xla

Yla

Zla

7

Xrfa

Yrfa

Zrfa

8

Ylfa

Zlfa

9

Zlh

Xlh

Ylh

11

• 3=4=5• Yrc=Ylc=Zt

Trunk height

Pelvis height

Left clavicle lengthRight clavicle length

Right arm length Left arm length

Left forearm lengthRight forearm length

Xlfa

Posso scrivere le trasformazioni.

Page 8: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

8

15/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Segmenti incernierati alle estremità

Difficoltà nella modellazione accurata delle articolazioni.

La posizione del centro di rotazione si sposta con la rotazione: il

movimento è rototraslatorio, o rotatorio con centro di rotazione

che si sposta nel tempo.

16/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

The human skeleton has complex articulations

“Rigid” bones connected. Tendonskeep the bones in place.

Motion allowed can be very complex(e.g. shoulder, spine).

The reconstruction of the finest detailsof the motion are beyond reach,

simplifying assumptions are made => Level of detail in motion analysis

Page 9: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

9

17/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Marker e joints

Markered subject Modello 3D Modello a stick Modello hidden

18/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Marker e Joint

Skin artefacts

Page 10: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

10

19/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Validità delle approssimazioni

Misuro marker superficiali e non i centri di rotazione.Skin artifacts.La distanza tra i marker non è costante ed è un’approssimazione della lunghezza di un

segmento osseo.

Il centro di rotazione non è fisso.

Ottengo animazioni che violano i vincoli fisici.

20/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Esempio

L1

L2

Mantengo costante L1 ed L2Calcolo gli angoli iniziali e finali.Applico gli angoli ai 2 segmenti L1 ed L2.L’avambraccio non arriva al bicchiere.

Effetto “skating” durante il cammino

Page 11: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

11

21/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Come correggere gli errori?

Correggere le lunghezze dei segmenti {Li}, può non essere sufficiente.

Correggere le sequenze di angoli {θi(t)}, più complesso.

22/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Riassunto

• Dai dati di Motion Capture ai dati di animazione• Problemi nell’utilizzo dei dati di Mocap• Retargetting

Page 12: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

12

23/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Retargetting

Re-utilizzo dei dati di Motion Capture creati su un personaggio, per animare un personaggio diverso.

Esempio: Acquisisco il cammino di una persona adulta, applico il movimento ad un coccodrillo, otterrò un coccodrillo che danza come una ballerina. Che un coccodrillo danzi come una ballerina può non essere così desiderabile, ... ma questa è un'altra storia.

Ipotesi: stessa connettività dello scheletro. lunghezze diverse.Obbiettivo: preservare le caratteristiche del movimento.

Identificazione delle caratteristiche.Traduzione delle caratteristiche in termini matematici (vincoli).

Piedi piatti sul terreno.Mani che afferrano i

bordi dell’oggetto.

24/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Formalizzazione del problema

Supponiamo q(t) il valore di tutti i parametri di controllo (angoli e posizione della root), all’istante di tempo t.

Supponiamo di conoscere {q(t)} 0 ≤ t ≤ T.Supponiamo che con questa sequenza di parametri di controllo,

otteniamo il movimento {mo(t)} 0 ≤ t ≤ T.

Vogliamo trovare quella funzione d(t) tale per cui:

m(t) = mo(t) + d(t) 0 ≤ t ≤ T

Rappresenta il nostro movimento desiderato.

Seguiremo l’approccio proposto da M. Gleicher, Siggraph 1998.

Page 13: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

13

25/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Perché è difficile?La semplice scalatura dello spostamento non è sufficiente

scivolamento

26/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Utilizzo della cinematica inversa

Lavora sul singolo frame.

Introduco componenti in alta frequenza, scatti nel movimento.

Page 14: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

14

27/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Cinematica inversa + filtraggio

Con filtraggio si elimina lo “scatto”, ma non si raggiunge più l’obbiettivo.

28/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Space time solution: motion-warping

A. Witkin and M. Kass, Spaces time constraints. Proc. Siggraph 1988. M. Cohen. Interactive sapcetime control for animation. Proc. Siggraph 1992.A. Witkin and Z. Popovic, Motion Warping. Proc. Siggraph 1995.M. Gleicher, Retargetting Motion to New Characters, Proc. Siggraph 1998.

Minimal deviation of the control actions (the angle sequence). Some constraints have to be added (e.g. Foot contact with the floor contact during waking).

Date q(t)} variabili indipendenti. Supponiamo che con questa sequenza di parametri di controllo, otteniamo il movimento {mo(t)} 0 ≤ t ≤ T.Obbiettivo: Vogliamo trovare quella funzione d(t) tale per cui: m(t) = mo(t) + d(t) 0 ≤ t ≤ T. Osserviamo che d(t) è funzione della variazione dei parametri ∆q(t).

Posso prescrivere m(t) in alcuni punti introducendo dei vincoli che vengono espressi in forma matematica come: f(m(t)) = 0 oppure f(m(t)) >= 0Introduco inoltre una valutazione d(t) in termini di funzione costo: g(d(t))

Risulta un problema di ottimizzazione non-lineare nello spazio-tempo (controllo ottimo):

( )))(())))((((min)}({

ttft

qdgqmdq

∆++ λ

Vado a modificare le tracce intere: {∆q(t)}

Page 15: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

15

29/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

I vincoli

Biomeccanici (e.g. iper-estensione del ginocchio). Dell’ambiente (e.g. non si può camminare con i piedi sotto il pavimento).Del movimento stesso (e.g. devo prendere un oggetto al frame x).

I vincoli vengono tradotti in funzioni differenziabili: una forma può essere ad esempio:

ytheel = 10mm costo da valutare al tempo t: (yheel

t - ytheel)2

Ptheel = Pts

heel ts <= t <= tt costo da valutare durante l’appoggio: (Pheelt - Pts

heel)2

d(∆q(t)) deve essere specificato per ogni istante di tempo. ∆q(tk) influenzerà la posizione dello scheletro in tutti gli istanti successivi. ∆qj(tk) inoltre influenzerà la posizione di

tutti i segmenti dello scheletro a valle di quella giuntura, rispetto alla radice.

( )))(())))((((min)}({

ttft

qdgqmdq

∆++ λ

30/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Costo dell’incremento

Il secondo termine suggerisce di distribuire gli incrementi ∆q su piùistanti di tempo. In norma L2 prende la forma:

( ) )()()()( tttt T qMqqg ∆∆=∆

M è generalmente diagonale e pesa in modo diverso gli incrementi dei diversi gradi di libertà.

( )))(())))((((min)}({

ttft

qdgqmdq

∆++ λ

Page 16: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

16

31/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Rappresentazione dei vincoli

Il primo termine rappresenta i vingoli. f(.) è non lineare ed è funzione di un insieme dei parametri di controllo q(.).

Posso linearizzare l’equazione dei vincoli, ottenendo:

||)(||))))((((min)}({

ttft

qMqmdq

∆++

Lineare negli incrementi ∆q.

||)(||)(t||min c)}({t

tqM||qac

q∆+∆−

Possiamo quindi ottenere il sistema:

f(m(q(t)) = f(m(q0(t)) + Σk(∂f/dqk) ∆qk = c -a ∆q

32/36 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Soluzione

||)(||)(t||min c)}({t

tqM||qac

q∆+∆−

E’ un sistema ai minimi quadrati. I vincoli sono posti solamente in alcuni istanti di tempo. Il calcolo del Jacobiano (vettore a), è funzione della storia passata del sistema e

quindi di tutti i dq(.) precedenti.

Page 17: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

17

33/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Motion retargetting: an example

Data captured have to be adapted to a smaller female.Vincolo sulla posizione (aderire al pavimento).Vincolo sul contatto tra le mani (penalizzare le deviazioni di orientamento del braccio della fanciulla).

34/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Motion retargetting: an example

Page 18: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

18

35/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

What is next?

Procedural animation

La tendenza e` verso sistemi più altamente procedurali per la sintesi di movimenti. Anzichè la miscelazione e la transizione tra animazioni preparate manualmente, tecniche più sofisticate di sintesi dovrebbero permettere la flessibilità necessaria per una rappresentazione più fedele del movimento umano.

36/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Animazione procedurale: motion graphs

Approccio già realistico oggigiorno.

Transizione calcolata automaticamente tra diverse animationclips. Una volta classificati i dati disponibili, la miscelazione e latransizione tra le diverse animazioni può essere automatizzata, arrivando a garantire la preservazione della continuità fino al secondo ordine

http://www.cs.wisc.edu/graphics/Papers/Gleicher/Mocap/mograph.pdf

Page 19: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

19

37/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Animazione procedurale: IK-solver

Già disponibile in pacchetti commerciali. Ragionevolmente utilizzabile sulla prossima generazione di piattaforme di videogioco di prossima generazione (XBOX2 - PS3). Approccio real-time alla cinematica inversa (IK), full-body, che consenta di combinare i target della cinematica inversa (i vincoli) con la consueta animazione FK.

Con un buon IK solver e` possibile specializzare generici animationclips e adattarli in tempo reale a diverse condizioni (e.g. non-uniform scaling e retargetting preservando vincoli di contatto con il terreno, con props, ostacoli o con altri attori).

http://www.alias.com/eng/products-services/humanik_middleware/

38/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Animazione procedurale: styled-basedkinematics

Ancora ben lontano dal poter essere utilizzato in tempo reale. Cinematica inversa basata sulla presevazione dello stile: Style based IK.

E’ un metodo innovativo per la rappresentazione dello "stile" di un specifico movimento, estratto automaticamente da un repertorio di esempi.

Una volta disponibile, lo stile puo` essere utilizzato per la generazione di nuove pose che soddisfino piu` o meno rigidamente determinati vincoli esterni.

Nel processo di retargetting viene considerato anche lo stile.

http://www.cs.washington.edu/homes/zoran/

Page 20: Prof. Alberto Borghese - unimi.ithomes.di.unimi.it/~borghese/Teaching/DigitalAnimation/... · 2005. 5. 3. · 12 A.A. 2004-2005 23/36 http:\\homes.dsi.unimi.it\∼borghese Retargetting

20

39/39 http:\\homes.dsi.unimi.it\∼borgheseA.A. 2004-2005

Riassunto

• Dai dati di Motion Capture ai dati di animazione• Problemi nell’utilizzo dei dati di Mocap• Retargetting