Sei sulla pagina 1di 26

TANGIBLE:

Sistema de bajo coste


para localización y detección de gestos 3D
en entornos inmersivos.

Álvaro Fernández Tuesta


2009

1
WIIMOTES
• Bajo coste (20-30$)
• Posición (x,y) de hasta cuatro puntos infrarrojos
• Varios wiimotes simultáneos
• Comunicación Bluetooth
• 100 Hz

2
OBJETIVO

• Detección de posición 3D

• Detección de gestos 3D

3
FUNCIONALIDAD
• Interacción avanzada
• Reconocimiento gestos 3D, Cursores 3D…
• Inmersividad
• Display 3D
• Integrable y modular
• Aplicaciones existentes:
• Simulación eventos de teclado y ratón
Nuevas aplicaciones
• Clases .Net: Geometría, Gestos, Ejecuta y Dibuja
• Parte del proyecto TANGIBLE

4
SISTEMA FÍSICO

5
SISTEMA SOFTWARE

6
CLASE GEOMETRÍA
• Conversión 2 x 2D a 3D.

Z
Y

• Calibración:
• Estimación de la posición de las cámaras respecto al sistema de
referencia

7
MODOS
• Dos modos:
• Mandos paralelos
Calibración rápida
Reducción de cálculos
Posición “rígida”
• Posición libre
Posición flexible
Calibración lenta
Cálculo intensivo

8
MANDOS ALINEADOS (I)
x1 ⋅ Z X x1
X= =
f Z f

y1 ⋅ Z Y y1
Y= =
f Z f

b⋅f Z Z
Z= =b +
tgα tgβ
x1 − x 2

9
MANDOS ALINEADOS (II)
x1 ⋅ Z X x1
X= =
f Z f

y1 ⋅ Z Y y1
Y= =
f Z f

b⋅f Z Z
Z= =b +
tgα tgβ
x1 − x 2

10
GEOMETRÍA PROYECTIVA
w =o Plano del infinito

Coordenadas homogéneas:

3D: (x,y,z,w)
2D: (x,y,w)

11
RECONSTRUCCIÓN 3D (I)
• Resolver:
x 1 = P1 X

x
 2 = P 2
X

No inversible

Xw 
 x pi   p p  
i i i i
11 p12 p13 14
• Calcular P 1 y P 2  y  =  p i i i i   Yw 
p p p 
 pi   21 22 23 24
Z w 
 w  p i
31
i
p
32
i
p
33 p   
i
34
 1 
12
RECONSTRUCCIÓN 3D (II)
 x 1 p 131 − p 111 x 1 p 132 − p 121 x 1 p 133 − p 131  p 114 − x 1 p 134 
 1 1  
X  1 1 
y p
 1 31 21 − p 1
y 1 p 132 − p 122 y 1 p 33 − p 23    p 24 − y 1 p 34 
1

Y = 2
x p2 − p2 2
x 2 p 32 − p 122 x 2 p 33 − p 13
2 2  
p 14 − x 2 p 234 
 2 31 11   Z   
 y 2 p 231 − p 212 2
y 2 p 32 − p 22
2
y 2 p 33 2
− p 232
 p 224 − y 2 p 234 

AX = B
−1
X = (A A) A B T T

13
GEOMETRÍA EPIPOLAR

14
PARÁMETROS EXTRÍNSECOS
• Matriz fundamental
l’ = Fx
xFx’ = 0

• Matrices canónicas de las cámaras:


P 1 = I 0 
P = [e']x F + e' v
2 T
λe'  P i  M iinM iex
• Cálculo de F

15
CÁLCULO DE LA MATRIZ FUNDAMENTAL

• Método de los seis puntos


• Cuatro puntos coplanares
• Dos fuera del plano

• R.A.N.S.A.C.
• Doce o más puntos cualesquiera

16
MÉTODO DE LOS SEIS PUNTOS
• Calcular H con cuatro correspondencias de puntos
coplanares x' i = Hx i , i ∈{1..4}

• Calcular e’ con dos correspondencias de puntos fuera


del plano Intersección Hx 5x' 5 y Hx 6x' 6
 0 −e' w e' y 
 
F = [e']x H=[e']x  e' w 0 − e' x 
 −e' y e' x 0 

17
R.A.N.S.A.C.
• Tolerante a datos espurios
(puntos del infinito, imprecisión)
• Conjuntos aleatorios de
correspondencias
• Busca F, tal que xFx’ = 0
• Mínimo 12 puntos
• OpenCV

18
PARÁMETROS INTRÍNSECOS
 −f 
s 0 ox  f: distancia focal
 x  s: factor de escala
 −f 
M in =  0 oy  o: origen de coordenadas
sy
 
0 0 1 P i  M iinM iex
 
 
Resolvemos con dos puntos conocidos: (0,0,0) y (1,1,1)

19
CLASE GESTOS

• Entrada:
• Posición actual cursor
• Salida:
• Gesto reconocido

20
GESTOS RECONOCIBLES
• Gestos básicos

• Gestos complejos

21
GESTOS. 1: FILTRADO

22
GESTOS. 2: DIRECCIONES

23
GESTOS. 3: FACTORIZADO

24
CLASE MAPEO
Gesto,
posición 3D

Integración directa en aplicaciones

25
DEMOSTRACIÓN
• Localización 3D y reconocimiento de gestos

• Navegación 3D

26

Potrebbero piacerti anche