visión artificial y robótica geometría · de los objetos en nuestro entorno x. 28 2 8 relación...

43
Visión artificial y Robótica Visión artificial y Robótica Geometría Geometría Depto. de Ciencia de la Computación e Inteligencia Artificial

Upload: lamtu

Post on 29-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

Visión artificial y RobóticaVisión artificial y RobóticaGeometríaGeometría

Depto. de Ciencia de la Computación e Inteligencia Artificial

Page 2: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

Contenidos

● Geometría 2D y 3D● Transformación de coordenadas● Calibración de la cámara

Page 3: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

3

3

Álgebra necesaria

Necesitamos herramientas geométricas para manejar las posiciones de los robots y de los objetos en el espacio

Posición del robot dentro de un entorno

Posición de un objetodentro del mismo entorno

Posición relativa del objeto con respecto alrobot

Page 4: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

4

4

Dimensiones utilizadas

Podemos tener un espacio de dos o tres dimensiones

Veremos el caso general en tres dimensiones

Restringiremos a dos dimensiones más el ángulo

El origen de un sistema de coordenadas se puede colocar en cualquier posición

Utilizaremos más de un sistema de coordenadas

Page 5: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

5

5

Etiquetado de los ejes de coordenadas

Regla de la mano derecha

Page 6: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

6

6

Coordenadas cartesianas

Un punto en el espacio se define mediante las coordenadas de su posición con respecto al origen del sistema

Y

Z

X

p

Page 7: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

7

7

Coordenadas homogéneas

Surgen en gráficos para solucionar la capacidad de representación de los números en un ordenador

También permiten poder disponer de una sola matriz para transformación de coordenadas

Page 8: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

8

8

Grados de libertad

Grado de libertad: cada uno de los movimientos (desplazamiento y/o rotación) que se pueden realizar

Un cuerpo 3D tiene 6 grados de libertad (dof: degree of freedom): 3 rotaciones y 3 posiciones

Un cuerpo 2D tiene 3 dof: 1 rotación y 2 posiciones

Page 9: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

9

9

Matrices de transformación

Nos permiten transformar las coordenadas de un punto

Definen un conjunto de transformaciones (rotaciones y traslaciones)

ri=términos de rotación

ti=términos de traslación

Page 10: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

10

10

Matrices de transformación

Matriz de translación:

Matrices de rotación:

Page 11: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

11

11

Matrices de transformación II

Cuando queremos realizar varias trasformaciones sucesivas multiplicamos las matrices de transformación correspondientes

Las matrices se aplican siempre de derecha a izquierda. El resultado es distinto si no aplicamos el sentido correcto

Page 12: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

12

Ejemplo

● Trasladamos el punto una distancia a a lo largo del eje Y.

● Rotamos con respecto al eje Z -90 grados.

● Rotamos con respecto al eje Y -90 grados.

● Trasladamos una distancia a a lo largo del eje Z.

Page 13: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

13

Matriz resultante

Page 14: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

14

Resultado

Ejemplo: transformad el punto [0 0 0 1]T

Page 15: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

15

15

Localización de objetos

Objeto definido por cada uno de sus vértices

Page 16: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

16

16

Localización de objetos

Objeto definido por cada uno de sus vértices

Alternativa: Definir un nuevo sistema de

coordenadas en el objeto. Las coordenadas de los

vértices del objeto se definen con respecto al

nuevo sistema.

Page 17: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

17

Relación entre los sistemas de coordenadas

● Vamos a tener tantos sistemas de coordenadas como necesitemos

● Un sistema de coordenadas tiene una posición x, y, z y una rotación para cada eje

● Tendremos que ser capaces de relacionar todos los sistemas de coordenadas

● Dispondremos de una matriz de transformación que relaciona dos sistemas

Page 18: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

18

Ejemplo IIAplicación de la m isma transformación anterior a un sistema de

coordenadas:

Page 19: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

19

19

Transformación de coordenadas

Disponemos de las coordenadas de un punto con respecto a un sistema. Para encontrar las coordenadas de ese punto con respecto a otro sistema de coordenadas, multiplicamos las coordenadas del punto por la matriz que relaciona ambos sistemas

Page 20: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

20

Transformación de coordenadas

● Tenemos el punto● La matriz que nos relaciona los sistemas es la

anterior● Las nuevas coordenadas se calculan:

Page 21: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

21

Transformación

R

N

Page 22: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

22

Transformación inversa

Ahora queremos calcular las coordenadas del punto antes calculado con respecto al sistema N:

Page 23: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

23

Construcción de la matriz inversa

Page 24: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

24

Cálculo de la matriz inversa

● Cálculo de la matriz

● Calcular el punto

Page 25: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

25

Grafos de transformación

Permiten las transformaciones entre distintos sistemas de coordenadas

Page 26: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

26

26

Coordenadas en 2D

Tenemos un mundo en dos dimensiones (x, y) y una orientación (θ) (tres grados de libertad)

Las tres coordenadas (x, y, θ) definen tanto una posición como un sistema de coordenadas

Matriz de rotación:

Page 27: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

27

27

Sistemas de coordenadas 2D

Vamos a tener dos sistemas principales: el global y el local

Las coordenadas del robot cambian cuando se desplaza

Debemos ser capaces de calcular las coordenadas de los objetos en nuestro entorno

x

Page 28: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

28

28

Relación de los sistemas de coordenadas

Page 29: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

29

29

Transformación de coordenadasSistema de coordenadas del robot:

Coordenadas del punto p1 con respecto a R

Coordenadas del punto con respecto a G

Page 30: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

30

30

Ejemplo

Tenemos el punto

El sistema del robot

Page 31: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

31

Coordenadas del punto con respecto a R conocidas las de G:

31

Transformación de coordenadas inversa

Page 32: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

32

32

Ejercicio

S1G=[100 100 0]T S2

G=[600 400 0]T RS2=[100 100 45]T P1

S1=[250 50 0]T P2

G=[735 465 0]T

Calcular: RG; P1R; P2

S2; P2R;

Page 33: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

33

Calibración de la cámara

● Proceso de captura de una imagen con una cámara pinhole:

– Un punto en el espacio se proyecta a través de la focal de la cámara en el plano imagen (ejemplo)

– Partimos de un punto con 3 coordenadas X,Y,Z y nos quedamos con solo 2 x,y

● Para ser capaces de recuperar la información 3D, debemos ser capaces de saber cómo se produce la proyección

● Veremos el caso sencillo, pero hay que tener en cuenta otros factores como lentes, distorsión,etc.

Page 34: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

34

Coordenadas de la calibración

Page 35: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

35

Efectos de la proyección

Proyección en perspectiva, aunque existen otras proyecciones como la ortográfica

Page 36: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

36

Proyección de los puntos

● Se producen dos proyecciones– Por parámetros externos: posición de la

cámara en el espacio.

– Por parámetros internos: los propios de la cámara (focal, distorsiones, etc.)

Page 37: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

37

¿Qué nos da la calibración?

● Si calibramos una cámara, lo que se nos proporciona es una posible línea donde puede estar el punto (pensad en ello un momento)

● ¿Entonces cómo calibramos?

Page 38: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

38

Correspondencias

● Hay que encontrar los puntos en la imagen que se corresponden con los puntos 3D

● Se puede usar un tablero de ajedrez para encontrar esas correspondencias

Page 39: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

39

Correspondencias

● El uso del tablero permite obtener de manera automática los puntos esquina de los cuadrados

● Debemos pasar a la calibración las dimensiones reales del cuadrado

● Con esto, vamos a tener 11 variables desconocidas (ver transparencia 36), pero podemos hacer un sistema de ecuaciones

Page 40: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

40

Sistema de ecuaciones

● Normalmente capturamos varias imágenes y determinamos las correspondencias para todas ellas

● El objetivo es colocar el tablero cada vez en una posición, cambiando su orientación y posición.

● ¿Cómo se puede resolver el sistema?

Page 41: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

41

Resolución del sistema

● Método de Tsai http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/DIAS1/

● Transformación linear directa (usa SVD)● Minimización no linear ● Lo mejor, usar OpenCV o Matlab :-)

Page 42: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

42

Otras técnicas

● Imaginad que una cámara en marte se descalibra :-s (descalibrar puede ser que haya perdido el foco, que la lente se haya movido, etc.)

● ¿Cómo calibrarías?

Page 43: Visión artificial y Robótica Geometría · de los objetos en nuestro entorno x. 28 2 8 Relación de los sistemas de coordenadas. 29 29 Transformación de coordenadas Sistema de

43

Referencias

● Computer Vision: A Modern Approach. David A. Forsyth, Jean Ponce.

● Transparencias de ese libro