Download descargar aquí

Document related concepts
no text concepts found
Transcript
Warping & Morphing
1
Morphing


La palabra Morphing se deriva de la palabra metamorfosis
Cambio de forma o apariencia
2
Morphing


En CG, el Morphing es una técnica de animación que
permite mezclar dos imágenes estáticas, creando una
secuencia en la que se produce una metamorfosis de la
primera a la segunda imagen
Se puede definir como


Una transición de un objeto a otro
Una transformación de una imagen a otra
3
Morphing



La forma más sencilla de hacerlo es interpolando las
imágenes
Conocido en la industria del cine como cross-dissolve
Se interpolan las imágenes

Image(t) = (1-t)*Image1 + t*image2
0≤t≤1
4
Morphing

¿ Qué pasa si los objetos no están alineados ?

Alinear y luego aplicar cross-dissolve
5
Morphing



Cross-dissolve interpola dos imágenes de dos objetos, no
los objetos como tal
Por ello, si los objetos no están alineados o son muy
diferentes, la transición no es suave
i.e., la alineación global no siempre funciona !
6
Morphing


Lo ideal es encontrar un objeto intermedio
Para ello es necesario deformar ambas imágenes a lo
largo de la animación, y mezclarlas con cross-dissolve
(1-t)*
+ t*
=
7
Morphing


La primera imagen se deforma gradualmente y se
desvanece
La segunda comienza totalmente deformada y va
apareciendo
8
Warping


Deformar una imagen significa aplicar un Warping a la
imagen
Un Warp es una transformación geométrica que genera
una nueva imagen, distorcionada
9
Warping

Matemáticamente, dada una trasformación (x‟,y‟) = T(x,y)
y una imagen origen f(x,y), ¿ cómo se calcula la imagen
transformada g(x‟,y‟) = f(T(x,y)) ?
T(x,y)
y‟
y
x
f(x,y)
x‟
g(x‟,y‟)
10
Warping


El cálculo se puede realizar de la imagen origen a la
destino (forward warping)
¿ Qué sucede si la transformación cae entre dos píxeles ?

Distribuir el color (splatting ) entre los píxeles vecinos de (x‟,y‟)
T(x,y)
y‟
y
x
f(x,y)
x‟
g(x‟,y‟)
11
Warping


El cálculo se puede realizar de la imagen destino a la
origen (inverse warping)
¿ Qué sucede si la transformación cae entre dos píxeles ?



Resampling !, e.g., interpolar valores de color de los vecinos (x,y)
El más útil
Elimina agujeros
T-1(x,y)
y‟
y
x
f(x,y)
x‟
g(x‟,y‟)
12
Warping

¿ Cómo especificar el warp ?
 1. Con funciones paramétricas

Típico de los warping globales
traslación
rotación
perspectiva
afin
escalamiento
cilindrica
13
Warping

¿ Cómo especificar el warp ?
 2. De forma no-paramétrica



Pueden definirse independiente warps no-paramétricos u(x,y) y v(x,y)
para cada posición (x,y) !
Es posible usar splines que formen un mallado
Se interpola a una función warping completa, e.g., mesh warping
14
Warping

Se mueven los puntos de control de los splines para especificar el
warping
15
Warping

Mesh Warping
Para cada frame f
Interpolar linealmente un mallado M, entre Ms y Mt
Warp Is hacia I1, usando mallados Ms y M
Warp It hacia I2, usando mallados Mt y M
Interpolar linealmente imagen If entre I1 e I2
Fpara
Is
It
Ms
Mt
M
 imagen fuente
 imagen objeto (target)
 mallado de la imagen fuente
 mallado de la imagen objeto
 mallado intermedio
16
Warping

¿ Cómo especificar el warp ?
 2. De forma no-paramétrica

En lugar de especificar todo el mallado, es posible especificar solo
algunos puntos correspondientes
17
Warping


El mapeo viene implicado por las correspondencias
Se utiliza warping inverso
P’
?
18
Warping
P  wA A  wB B  wC C
P
P'  wA A' wB B' wC C '
Coordenadas Baricéntricas
P’
19
Warping

Coordenadas Baricéntricas
P  t1 A1  t2 A2  t3 A3
t1  t2  t3  1
20
Warping
P  wA A  wB B  wC C
P'  wA A' wB B' wC C '
Coordenadas Baricéntricas
21
Warping

¿ Cómo especificar el warp ?
 2. De forma no-paramétrica


También se pueden especificar vectores correspondientes
Feature-Based Image Metamorphosis. Beier & Neely, SIGGRAPH 92.
22
Warping

Beier-Neely
El mapeo es inverso,
así que se calcula la
posición del pixel en la
imagen fuente, a
a partir del destino
23
Warping

Beier-Neely



u

u es una fracción que va de 0 a 1 a medida que uno se mueve de P
aQ
Si X fuera colineal a P en 90°, u = 0
Si X = Q, entonces u = 1
X  P  cos( )
QP

X  P  cos( )  Q  P
QP  QP
X P  QP
QP
2
24
Warping

Beier-Neely

v es una distancia en pixeles, equivalente a la norma del vector
(X-P) proyectado sobre Perpendicular(Q-P)

v  X  P  cos( )


Pero esto solo es cierto si Perp(Q-P)
está normalizado
En cuyo caso la longitud de v es
 Perp(Q  P )
 
 Perp(Q  P )
 Perp(Q  P ) 

 X  P 

QP



v v  X P




Perp(Q-P)
P

v
25
Warping

Beier-Neely

Calculados v y u se puede aplicar el proceso inverso, pero
basándose en los vectores Q’ y P’, de allí la fórmula
26
Warping

Beier-Neely

De esta forma se pueden especificar warping sencillos
traslación
escalamiento
rotación
y combinaciones
27
Warping

Beier-Neely

Pero no se pueden especificar cambios angulares, mirrors, skews,
etc …
28
Warping

Beier-Neely


Entonces deben usarse varias líneas
Se usa una combinación pesada de los puntos definidos por cada
par de líneas correspondientes
29
Warping

Beier-Neely


Se calcula un desplazamiento Di de cada Xi’ con respecto a X, i.e.,
Di=Xi’-X
La posición final se calcula con un promedio pesado de los Di
30
Warping

Beier-Neely



weigth[i] es el peso para el desplazamiento i-ésimo
length[i] es la longitud de la línea i-ésima
dist[i] es la distancia v del pixel a la línea i-ésima
 abs(v) si 0 < u < 1
Distancia del pixel a P, si u < 0
Distancia del pixel a Q, si u> 1
a, p y b son constantes que controla el warping. a controla la
influencia de la cercanía del punto a la línea y evita div0. p indica la
influencia de la longitud del rasgo. b potencia de disminución del
peso conforme dist[i] aumenta.



31
Warping

Beier-Neely
Para cada pixel X en imagen-destino
DSUM=(0,0), weightsum=0
Para cada línea Pi , Qi
calcular u, v basándose en Pi , Qi
calcular X’ basándose en u, v y Pi , Qi
calcular desplazamiento Di = Xi’ – X para esta línea
calcular dist[i]
calcular weight[i]
DSUM+=Di*weight[i]
weightsum+=weight[i]
FPara
X’ = X+DSUM/weightsum
imagen-destino(X) =imagen-fuente(X’)
FPara
32
Warping

Beier-Neely
Generar animación(Imagen0, L0[…], Imagen1, L1[…])
Para cada frame intermedio
Para cada par de líneas de i=1 a N
L[i]= interpolar línea t-ésima entre L0[i] y L1[i]
FPpara
Warp0 = WarpImage(Image0, L0[…], L[…])
Warp1 = WarpImage(Image1, L1[…], L[…])
Para cada pixel p en imagen-final
imagen-final(p) = (1-t)*Warp0(p) + t*Warp1(p)
FPara
FPara
33
original
Warping

Beier-Neely


Pros: Más expresivo que los métodos que usan mallas
Cons:
 Velocidad: el método es global, por lo que toma más tiempo
que los locales
 Control: Algunas combinaciones „extremas‟ causan artefactos
con artefacto
Problema
solventado,
cambiando también
la línea vertical 34

Warp0
Warping
Beier-Neely
Resultado
Warp1
La secuencia de
Black or White
(Michael Jackson,
1991)
fue hecha con este
método
35

Warp0
Warping
Beier & Neely
Resultado
Requirió mucho
trabajo manual
Warp1
20 segmentos de
línea * 10
keyframes * cada
secuencia
36
Warping

¿ Cómo especificar el warp ?
 2. De forma no-paramétrica

Usando modelos deformables (snakes u otro tipo de modelo)
Mismos resultados que en
la lámina 15, pero sin
especificar un mallado
completo
37
Morphing de múltiples fuentes

Lee, Wolberg & Yong Shin. Polymorph: morphing among multiple
images. IEEE Computer Graphics and Applications, 1998.
38
Control de Transición





Determina la velocidad del warping y la mezcla de colores
a través de la secuencia de morphing
Todos los ejemplos anteriores usan una velocidad
uniforme
Las posiciones de las características se mueven a sus
posiciones finales a una velocidad constante
Es posible introducir transiciones no-uniformes para
mejorar el contenido visual de la transformación
En estos casos, se definen distintas velocidades para
distintas partes de la imagen
39
Control de Transición

Uniforme
40
Control de Transición

No-Uniforme: Aceleración de la deformación de la nariz mientras se
deja la forma de la cabeza intacta, en la primera mitad de la
deformación
41
3D Morphing

Feature-Based Volume Metamorphosis. Lerios, Garfinkle, Levoy.
SIGGRAPH 95.
Fuente
A mitad del proceso
Destino
Marcado de correspondencias
42
3D Morphing

Feature-Based Volume Metamorphosis. Lerios, Garfinkle and Levoy.
SIGGRAPH 95.
43
View Morphing




Los métodos de morphing anteriores no toman en cuenta cambios en
el viewpoint o la postura del objeto
El morphing siempre se hace asumiendo que las imágenes (o las
vistas) fuente y destino son paralelas
Por eso siempre se usa interpolación
lineal
En 3D, puede que esto no funcione
44
View Morphing



La técnica de view morphing permite sintetizar cambios en el
viewpoint y otros efectos 3D
La técnica puede sintetizar transformaciones proyectivas 3D de
objetos (rotaciones, traslaciones, shears, etc.)
View Morphing. Steve Seitz, Chuck Dyer.
SIGGRAPH 96.
45
View Morphing

Dados dos imágenes I0 e I1, la técnica consiste en tres pasos



Prewarp: Aplicar transformaciones proyectivas a las imágenes, produciendo dos imágenes predeformadas Î0 e Î1
Morph: Se produce Îs , interpolando linealmente las posiciones y colores de los puntos
correspondientes en Î0 e Î1
Postwarp: Aplicar las transformaciones proyectivas inversas a Îs , obteniendo la imagen Is
46
View Morphing

Ejemplo
47
View Morphing

Image morphing vs. View morphing


Image morphing (arriba): Las imágenes en los frames intermedios se contraen y estiran
View Morphing (abajo): La secuencia producida es físicamente consistente
48
Aplicaciones

La aplicación más conocida del morphing, sin duda, es en la industria
del entretenimiento (películas, juegos de video, videos musicales, etc.)
y la publicidad (comerciales)
49
Aplicaciones

El warping, sin embargo, tiene un rango mucho más amplio de
aplicaciones
50
Proyecto 2

Visualización de Terrenos








Generar/cargar un terreno
Generar mapa de alturas (punto medio o partículas) / Cargar mapa de
alturas
Cargar y aplicar una textura al mallado
Iluminación del terreno
LOD con Geomipmapping
“volar” y “caminar” por el terreno
Rotación de la vista
Zoom in/Zoom out
51