DESARROLLO DE HERRAMIENTAS DE APOYO A LA...

85
Universidad Autónoma de Madrid Escuela politécnica superior Proyecto fin de carrera DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓN Ingeniería de Telecomunicación Alberto Garzón Leo JULIO 2010

Transcript of DESARROLLO DE HERRAMIENTAS DE APOYO A LA...

Page 1: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Universidad Autónoma de MadridEscuela politécnica superior

Proyecto fin de carrera

DESARROLLO DE HERRAMIENTASDE APOYO A LA ESTEREOVISIÓN

Ingeniería de Telecomunicación

Alberto Garzón LeoJULIO 2010

Page 2: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 3: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

DESARROLLO DE HERRAMIENTASDE APOYO A LA ESTEREOVISIÓN

AUTOR: Alberto Garzón LeoTUTOR: Jesús Bescós Cano

Dpto. de Ingeniería InformáticaEscuela Politécnica Superior

Universidad Autónoma de MadridJULIO 2010

i

Page 4: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 5: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Resumen

Resumen

El contexto de este proyecto es el conjunto de técnicas orientadas a la reconstrucción deescenas en 3D con el fin de permitir aplicar sobre ellas técnicas tradicionales de análisis 2D(segmentación, seguimiento, detección, reconocimiento, etc.). El estudio comenzará utilizandodos cámaras Firewire 1394 situadas en la pasarela de la tercera planta entre los edificios A y Bde la EPS. Posteriormente se ampliará el estudio a cámaras IP y a un mayor número de cámaras.

Su objetivo es un conjunto de herramientas capaces de extraer la información de profundidadde los objetos en una escena a tiempo real tomada desde varias a vistas para posteriormente serañadida a otras técnicas de análisis con el fin de disponer de información imposible de conseguircon una única cámara.

Palabras Clave

Disparidad, estereovisión, 3D, profundidad, Birchfield, tiempo real.

iii

Page 6: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Abstract

The context of this project is the set of tecniques oriented to the 3D scenes reconstructionin order to allow to apply over them 2D analysis traditional tecnics (segmentation, tracking,detection, recognition, etc.). The study will start using two Firewire 1394 cameras placed inthe third floor gateway between the A and B EPS buildings. Lately the study will grow to IPcameras and a highest number of cameras.

His objective is a set of tools capable to extract the disparity information in real time fromthe objects of a scene taked from many views to add it to other analysis techniques in order tohandle information imposible to achieve with a single camera.

Key words

Disparity, stereovision, 3D, depth, Birchfield, real time.

iv

Page 7: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Agradecimientos

A mis padres, que tanto me han apoyado ahora y siempre en todo lo que he hecho o intentado.En especial va dedicado a vosotros.

A mi hermana, por darme siempre esa visión más optimista al enfrentarme a un problema. Nocambies nunca

A Miriam, por escuchar con interés cada día sobre todas estas cosas y brindarme su confianza.

A mi tutor, Jesús Bescós, por ayudarme en todo lo que necesité.

A los compañeros del laboratorio, en especial a Álvaro, que respondieron y me ayudaronpacientemente en mis preguntas y problemas de novato.

A Pablo, Guillermo y Bruno, por compartir alegrías y frustraciones durante estos últimos años.

Al resto de gente que debería estar aquí y no está, familiares y amigos. Por saber que estáis ahí.

v

Page 8: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

vi CAPÍTULO 0. AGRADECIMIENTOS

Page 9: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Índice general

Agradecimientos v

índice de figuras x

índice de cuadros xiii

1. Introducción 1

1.1. Motivación del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1.1. Aplicaciones de un sistema de estereovisión . . . . . . . . . . . . . . . . . 1

1.1.2. Restricciones básicas de un sistema de estereovisión . . . . . . . . . . . . . 2

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Revisión de conceptos básicos 5

2.1. Introducción a la geometría proyectiva . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Coordenadas homogéneas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1. Representación homogénea de una recta . . . . . . . . . . . . . . . . . . . 6

2.2.2. Representación homogénea de un punto . . . . . . . . . . . . . . . . . . . 6

2.2.3. El punto impropio y la línea del infinito . . . . . . . . . . . . . . . . . . . 6

2.3. El plano proyectivo P 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.4. Transformaciones proyectivas en 2D . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.5. Transformaciones proyectivas en 3D . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.6. Análisis de la geometría asociada al proceso de captación . . . . . . . . . . . . . . 9

2.6.1. El modelo pin-hole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.6.2. La matriz de proyección . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.7. Análisis de la geometría de visión múltiple . . . . . . . . . . . . . . . . . . . . . . 13

2.7.1. La matriz esencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.7.2. La matriz fundamental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

vii

Page 10: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

3. Disparidad 17

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2. Rectificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.3. Métodos de cálculo de la disparidad . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.3.1. Búsqueda por zonas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3.2. Birchfield-Tomasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3.4. Relación entre disparidad y profundidad . . . . . . . . . . . . . . . . . . . . . . . 26

4. Sistema, diseño y desarrollo 29

4.1. Sistema físico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.1. Cámaras Firewire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.2. Cámaras IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.2. Captura y sincronización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.3. Límites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.1. Precisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4. Calibración y cálculo de matrices de rectificado . . . . . . . . . . . . . . . . . . . 34

4.5. Rectificado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.6. Disparidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.6.1. Birchfield-Tomasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.6.2. Búsqueda por bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.7. Profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.8. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5. Experimentos Realizados y Resultados 39

5.1. Análisis de la velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.1.1. Pruebas con el método de búsqueda por zonas . . . . . . . . . . . . . . . . 39

5.1.2. Pruebas con el método de Birchfield-Tomasi . . . . . . . . . . . . . . . . . 44

5.2. Analisis de la precisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.2.1. Pruebas con el método de búsqueda por zonas . . . . . . . . . . . . . . . . 47

5.2.2. Pruebas con el método de Birchfield . . . . . . . . . . . . . . . . . . . . . 54

5.3. Comparativa de resultados con el estado del arte . . . . . . . . . . . . . . . . . . 54

viii ÍNDICE GENERAL

Page 11: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

6. Conclusiones y trabajo futuro 57

6.1. Conclusiones sobre los sistemas físicos . . . . . . . . . . . . . . . . . . . . . . . . 57

6.2. Conclusiones sobre la restricción temporal . . . . . . . . . . . . . . . . . . . . . . 58

6.3. Conclusiones sobre la restricción de alineación . . . . . . . . . . . . . . . . . . . . 58

6.4. Conclusiones sobre el cálculo de disparidad mediante búsqueda por bloques . . . 58

6.4.1. Suma de Diferencias Absolutas . . . . . . . . . . . . . . . . . . . . . . . . 58

6.4.2. Suma de Diferencias Cuadráticas . . . . . . . . . . . . . . . . . . . . . . . 59

6.4.3. Correlación Cruzada Normalizada . . . . . . . . . . . . . . . . . . . . . . . 59

6.5. Conclusiones sobre el cálculo de disparidad mediante el método de Birchfield . . . 59

A. Presupuesto 63

B. Pliego de condiciones 65

C. Manual de utilización 69

ÍNDICE GENERAL ix

Page 12: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 13: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Índice de figuras

1.1. Par estereo comercial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1. Proyección de una escena . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Modelo del plano proyectivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3. Transformación 3D Euclídea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.4. Modelo de una cámara pin-hole . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.5. Geometría epipolar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1. Esquema del proceso de rectificado . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2. Variantes en la construcción de la imagen del espacio de disparidad . . . . . . . . 22

3.3. Representación del problema de cálculo de disparidad mediante corte de grafos . 22

3.4. Definición de la región de búsqueda y de las ventanas . . . . . . . . . . . . . . . . 24

3.5. Ejemplo de una secuencia de correspondencias . . . . . . . . . . . . . . . . . . . . 25

3.6. Imagen del espacio de disparidad y posiciones permitidas tras una correspondenciadada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3.7. Vista superior del sistema estéreo . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1. Sistema de cámaras Firewire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.2. Sistema de cámaras IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3. Estado inicial de la sincronización . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.4. Estado final de la sincronización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.5. Ejemplo de imagen usada en la calibración de las cámaras IP . . . . . . . . . . . 34

4.6. Ejemplo de imágenes rectificadas con y sin desplazamiento . . . . . . . . . . . . . 35

4.7. Verificación de la rectificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.8. Ejemplo de funcionamiento del sistema de profundidad . . . . . . . . . . . . . . . 36

5.1. Ejemplo de escena evaluada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2. SAD con ventana de 3x3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

xi

Page 14: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

5.3. SAD con ventana de 5x5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.4. SSD con ventana de 3x3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.5. SSD con ventana de 5x5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.6. NCC con ventana de 3x3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.7. NCC con ventana de 5x5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.8. Imágenes izquierda y derecha del conjunto Cones . . . . . . . . . . . . . . . . . . 45

5.9. Imágenes izquierda y derecha del conjunto Teddy . . . . . . . . . . . . . . . . . . 46

5.10. Disparidad real de Cones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.11. Disparidad real de Teddy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.12. Resultados con SAD para un tamaño de 3x3, conjunto Cones . . . . . . . . . . . 47

5.13. Resultados con SAD para un tamaño 5x5, conjunto Cones . . . . . . . . . . . . . 48

5.14. Resultados con SAD para un tamaño de 3x3, conjunto Teddy . . . . . . . . . . . 48

5.15. Resultados con SAD para un tamaño de 5x5, conjunto Teddy . . . . . . . . . . . 49

5.16. Resultados con SSD para un tamaño de 3x3, conjunto Cones . . . . . . . . . . . 50

5.17. Resultados con SSD para un tamaño 5x5, conjunto Cones . . . . . . . . . . . . . 50

5.18. Resultados con SSD para un tamaño de 3x3, conjunto Teddy . . . . . . . . . . . 51

5.19. Resultados con SSD para un tamaño de 5x5, conjunto Teddy . . . . . . . . . . . 51

5.20. Resultados con CNN para un tamaño de 3x3, conjunto Cones . . . . . . . . . . . 52

5.21. Resultados con CNN para un tamaño 5x5, conjunto Cones . . . . . . . . . . . . . 52

5.22. Resultados con CNN para un tamaño de 3x3, conjunto Teddy . . . . . . . . . . . 53

5.23. Resultados con CNN para un tamaño de 5x5, conjunto Teddy . . . . . . . . . . . 53

5.24. Resultados con Birchfield, conjunto Cones . . . . . . . . . . . . . . . . . . . . . . 54

5.25. Resultados con Birchfield, conjunto Teddy . . . . . . . . . . . . . . . . . . . . . . 54

xii ÍNDICE DE FIGURAS

Page 15: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Índice de cuadros

5.1. SAD 800x600 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2. SAD 640x480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.3. SAD 320x240 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.4. SSD 640x480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.5. SSD 320x240 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.6. NCC 640x480 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.7. NCC 320x240 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5.8. Resultados del método de Birchfield . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.9. Resultados con SAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.10. Resultados con SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.11. Resultados con CNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.12. Resultados con Birchfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

xiii

Page 16: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 17: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

1Introducción

1.1. Motivación del proyecto

Un sistema de adquisición de imágenes con una cámara fija relaciona una escena del espaciotridimensional con los datos captados en una serie o secuencia de imágenes bidimensionales. Sinembargo, una imagen bidimensional no da una información suficiente en cuanto a la profundidadde los objetos de la escena, ya que esa información se pierde al proyectarse todos los puntos deuna línea que pase por el centro óptico de la cámara sobre un mismo píxel.

Si en vez de disponer de una única secuencia tenemos las imágenes de un mismo espaciotomadas de dos o más cámaras o distintos puntos de vista, es posible utilizar esta informaciónpara reconstruir, total o parcialmente, la escena que se ha grabado. Si las cámaras están dis-puestas de modo similar a nuestros ojos, es decir, con sus ejes ópticos paralelos, esta técnica sedenomina estereovisión y a las cámaras así situadas se las denomina par estéreo.

La estereovisión surge, no sólo como un paso natural en la evolución de la visión compu-tacional al imitar el sistema visual humano, sino como una forma de poder obtener informaciónadicional de la escena que con una única secuencia es imposible de conseguir.

1.1.1. Aplicaciones de un sistema de estereovisión

La información obtenida de un par estéreo permite realizar mapas de entorno de las cámaras,seguimientos de objetos concretos para aplicaciones de videoseguridad, obtener la posición dela cámara respecto a objetos que la rodeen o facilitar la navegación por su entorno de un robotmóvil.

Los resultados obtenidos en este proyecto no sólo tienen valor de forma aislada, sino queintroducidos en sistemas de análisis y procesado de imagen ya existentes, como segmentación,seguimiento, detección o reconocimiento permiten dotarlos de parámetros e información adicio-nal.

1

Page 18: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

1.1.2. Restricciones básicas de un sistema de estereovisión

A lo largo de este proyecto se hará uso de la disparidad. La disparidad no es más que diferenciade coordenadas de puntos correspondientes en ambas imágenes. Para poder calcular esta medidaes necesario que las sigan una alineación espacial: sus ejes ópticos deben ser paralelos y susplanos de imagen coplanares. Varias empresas de visión computacional ofrecen pares estereoscuyo proceso constructivo integrado cumple todas las restricciones de alineación.

Figura 1.1: Par estereo comercial

Este proyecto se llevará a cabo utilizando dos cámaras individuales, lo cual hace imposibleun alineamiento perfecto por razones mecánicas. Por tanto, la restricción de alineamiento deberáhacerse mediante software, con transformaciones de los planos de imagen. Este proceso se conocecomo rectificación. La des-rectificación posterior hace necesario el uso de interpolación pararellenar posibles píxeles blancos, incurriendo en errores. Los concepto de disparidad y rectificado,sus necesidades e implicaciones en el proyecto serán explicadas con más detalle en el capítulo 3del mismo.

La imposición más importante de un par estéreo es la restricción temporal. Cuando compa-remos imágenes capturadas en instantes distintos de tiempo, estaremos incluyendo errores en elsistema, tanto mayores cuanto mayor sea la velocidad de movimiento de la escena. Para podercumplir este requisito se estudiará el nivel de sincronización del sistema de captura; si no cumplecon una diferencia máxima temporal entre la misma imagen de ambas cámaras, se le aplicaráun método de corrección temporal mediante disparadores.

1.2. Objetivos

El objetivo principal de este proyecto es el desarrollo de un sistema que permita la construc-ción de un mapa de profundidad, en tiempo real, de una escena grabada por dos cámaras.

Se estudiará primeramente la implementación del sistema sobre dos cámaras con interfazFirewire o IEEE 1394 situadas en la pasarela de la tercera planta entre los edificios A y B de laEscuela Politécnica Superior (EPS). Posteriormente se ampliará el estudio a cámaras IP.

A lo largo del desarrollo del proyecto se han contemplado otros objetivos secundarios, basa-dos principalmente en las posibilidades de obtener un sistema en tiempo real en función de lasincronización temporal, el alineamiento físico y los métodos de cálculo de la disparidad.

Desarrollo de un sistema de adquisición sincronizada para varias cámaras IP y Firewire.

Estudio de las posibilidades para la rectificación de las imágenes de cada cámara.

2 CAPÍTULO 1. INTRODUCCIÓN

Page 19: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Estudio de los diferentes métodos de cálculo de la disparidad.

1.3. Estructura de la memoria

La estructura de este PFC se organiza como sigue:

En el capítulo 2 se presenta una revisión a los conceptos básicos de geometría proyectivarelacionados con el proceso de captación de las imágenes y de la geometría de captación múltiple.Así mismo se introduce la notación que se utilizará durante todo el proyecto.

En el capítulo 3 se describe un estudio sobre los distintos métodos del cálculo de la disparidad.El cálculo de un mapa de disparidad se presenta como un paso previo para la obtención de laprofundidad de la escena, ya que disparidad y profundidad siguen una relación inversa y conocida.El motivo de realizar este paso previo a la obtención de la profundidad se debe a que en el campode la disparidad hay muchos métodos e implementaciones ya estudiados.

En el capítulo 4 se explica el desarrollo de los sistemas de captura para los modelos de cámarapresentados anteriormente a partir de los existentes en el grupo de trabajo. Se hará un análisiscrítico del estado de sincronización de las cámaras y una corrección de los tiempos de capturaen caso de ser necesaria.

Así mismo se explicará la necesidad de calibrar las cámaras, ya que es el mecanismo que nospermite saber en qué forma los objetos del mundo real se proyectan en el plano de imagen, asícomo el método utilizado tanto en las cámaras Firewire como en las IP.

Por último, se detalla el sistema de cálculo de la profundidad y su implementación final, asícomo su funcionamiento.

En el capítulo 5 se evalúan los resultados obtenidos de las diferentes pruebas realizadas.

En el capítulo 6 se detallan las conclusiones del proyecto y las posibles líneas de trabajofuturo.

CAPÍTULO 1. INTRODUCCIÓN 3

Page 20: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 21: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

2Revisión de conceptos básicos

Este capítulo está centrado en la descripción de los conceptos de geometría proyectiva usadosen el proceso de captación de la imagen y en la modelización matemáticas de las cámaras. Esteestudio se ampliará para abarcar las particularidades de un sistema de captación con múltiplescámaras

2.1. Introducción a la geometría proyectiva

Una forma muy intuitiva de acercarse a las leyes que rigen la geometría proyectiva es elproblema del pintor. Si pensamos en los haces de luz que parten de los objetos visibles de unaescena hacia el ojo del pintor y colocamos una pantalla transparente entre ambos obtendremosuna colección de puntos que definen la proyección de la escena. Esto es lo que debe reproducirel pintor para dar la sensación a los demás de ver lo que él está viendo.

Figura 2.1: Proyección de una escena

Esta geometría nos proporciona un modelo muy útil para el proceso de captación de unacámara, pues nos relaciona figuras tridimensionales con su proyección sobre un plano bidimen-sional.

La geometría proyectiva se apoya en dos principios fundamentales:

Dos puntos definen una recta

5

Page 22: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Todo par de rectas se cortan en un punto (cuando dos rectas son paralelas decimos que secortan en un punto del infinito).

2.2. Coordenadas homogéneas

2.2.1. Representación homogénea de una recta

Como es común en el contexto de la geometría euclidiana, un punto m se representa con unpar de coordenadas (x, y) en R2. Por ello se suele identificar R2 con un plano. De este modo, siconsideramos R2 como un espacio vectorial en el que (x, y) es un vector, estamos asociando unpunto a un vector.

Una recta en el plano R2 es representada por su ecuación afín ax+ by + c = 0. De esta formala recta puede ser representada por el vector v = [a, b, c]T en coordenadas homogéneas.

Esta correspondencia entre líneas y vectores no es biunívoca, ya que los vectores [a, b, c]T y[ka, kb, kc]T con k != 0 representan exactamente la misma recta siendo vectores distintos. Estosvectores se consideran equivalentes y se definen como vectores homogéneos.

2.2.2. Representación homogénea de un punto

Un punto m = (x, y)T pertenecerá a la recta [a, b, c]T si se cumple la ecuación ax + by + c =0. Esto puede expresarse de forma vectorial como [a, b, c]T ! [x, y, 1] = 0, donde [x, y, 1] es larepresentación homogénea de m en R2.

De una forma más genérica puede expresarse M = [X,Y,Z] con (X,Y,Z) " R y Z != 0 comola expresión homogénea del punto euclidiano m = [x, y], cuya relación viene dada por:

x = X/Z

y = Y/Z

Hay que señalar que a cada M = [X,Y,Z] le corresponde un único m = [x, y]; pero a m lecorresponden los infinitos [kX, kY, kZ], siempre que k sea real y distinto de cero.

2.2.3. El punto impropio y la línea del infinito

Si consideramos los vectores de dos rectas en coordenadas homogéneas, v = [a, b, c]T yv’ = [a!, b!, c!]T , el punto de corte de ambas rectas viene dado por su producto vectorial:

[X,Y,Z] = [a, b, c] # [a!, b!, c!]

En el ámbito de la geometría euclidiana, dos rectas paralelas no se cortan en ningún punto.Veamos que ocurre si intentamos calcular el punto de corte de dos rectas paralelas en coordenadashomogéneas:

[X,Y,Z] = [a, b, c] # [a, b, c!] = (c! $ c)[b,$a, 0]

Si ignoramos el factor de escala (c!$c) y pasamos a coordenadas euclídeas obtenemos el punto[b/0,$a/0], que no tiene sentido en el ámbito real, excepto sugerir que el punto de interseccióntiene coordenadas infinitamente altas. En general, puntos con coordenadas homogéneas [X,Y, 0]T

no corresponden a ningún punto finito en R2.

6 CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS

Page 23: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Los puntos homogéneos con la coordenada Z = 0 se conocen como puntos impropios o puntosen el infinito. El conjunto de los puntos impropios, escrito como [X,Y, 0]T pertenecen a la llamadalínea del infinito, definida por l" = [0, 0, 1]T ; pudiéndose verificar que [0, 0, 1] · [X,Y, 0]T = 0.

2.3. El plano proyectivo P 2

Una forma útil de acercarse a P 2 es pensar en un conjunto de líneas que pasen por el origenen R3. Cada línea en R3 genera un punto en P 2 (por lo tanto, un punto de P 2 corresponde conuna dirección o recta de R3) y cada plano genera una recta. Las líneas de R3 situadas en el planoX-Y se corresponden con puntos impropios de P 2, de modo que el propio plano X-Y conformala recta del infinitode P 2.

Figura 2.2: Modelo del plano proyectivo

Se puede observar que cualquier punto perteneciente a la recta [O $ m] se proyectará sobreel propio punto m. Esto es lo mismo que decir que la proyección de k · [X,Y,Z] es igual a laproyección de [X,Y,Z] para k != 0, y que esta proyección está dada por x = X/Z e y = Y/Z.En otras palabras, la clase de vectores k · [X,Y,Z] en R3 representa el mismo punto en P 2.

2.4. Transformaciones proyectivas en 2D

La geometría proyectiva en 2D es el estudio de las propiedades del plano proyectivo P 2, queson invariantes bajo un grupo de transformaciones conocidas como homografías o proyectivida-des.

Una homografía es una transformación biyectiva del espacio proyectivo que viene dada porh : P 2 % P 2 de manera tal que una línea recta es transformada como una línea recta. Lahomografía queda definida como:

h(m) = m’ = H ·m m,m’ " P 2

!

"X !

Y !

Z !

#

$ =

!

"h11 h12 h13

h21 h22 h23

h31 h32 h33

#

$ ·

!

"XYZ

#

$

donde H es una matriz 3x3 no singular. Hay que aclarar que debido a que las coordenadask · [X,Y,Z] definen el mismo punto proyectivo, cualquier par de matrices proporcionales definenla misma transformación proyectiva.

CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS 7

Page 24: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

2.5. Transformaciones proyectivas en 3D

Dentro de las transformaciones 3D únicamente vamos a estudiar la transformación Euclídea.Este tipo de transformación tiene como característica que conserva la distancia previa entrepuntos transformados; además se usa para representar los cambios de coordenadas sufridos alvariar el sistema de referencia de un sistema. La importancia de esta transformación radica enque se utilizará más adelante para explicar el modelo pin-hole que usaremos para representarlas cámaras.

Figura 2.3: Transformación 3D Euclídea

Dado el sistema de coordenadas 3D (x, y, z) que se aprecia en la figura 2.3, vemos que hasufrido una rotación según cada uno de sus ejes y una traslación, de forma que el nuevo sistema(x!, y!, z!) surgido de esta transformación euclidiana queda definido como:

!

"x!

y!

z!

#

$ = R ·

!

"xyz

#

$ + t

Y en coordenadas homogéneas:

!

%%"

X !

Y !

Z !

1

#

&&$ ='

R t0T 1

(!

%%"

XYZ1

#

&&$

R es una matriz 3x3 y t es un vector 3x1 y definen respectivamente la rotación y la translacióndel sistema de coordenadas.

La matriz de rotación R puede descomponerse en transformaciones de rotación alrededor decada uno de los ejes, dadas por Rx, Ry y Rz:

Rx =

!

"1 0 00 cos(!x) sin(!x)0 $ sin(!x) cos(!x)

#

$

Ry =

!

"cos(!y) 0 $ sin(!y)

0 1 0sin(!y) 0 cos(!y)

#

$

8 CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS

Page 25: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Rz =

!

"cos(!z) sin(!z) 0$ sin(!z) cos(!z) 0

0 0 1

#

$

Así definimos la rotación total como una rotación alrededor del eje Z, seguida de otra rotaciónrespecto a Y y otra más respecto a X, lo que matemáticamente podemos expresar como:

R = Rx · Ry · Rz =

!

"R11 R12 R13

R21 R22 R23

R31 R32 R33

#

$

2.6. Análisis de la geometría asociada al proceso de captación

Para estudiar cómo se relacionan los objetos tridimensionales con la imagen bidimensionalvamos a representar la cámara con el modelo pin-hole. Este modelo es muy utilizado aunquesencillo, ya que no modela la distorsión que introduce la lente, y está basado en la geometríaproyectiva: un punto cualquiera de la escena es representado en el plano de imagen como laintersección de la línea que pasa por ese punto y por el centro de proyección con el plano deimagen.

2.6.1. El modelo pin-hole

El modelo consiste en un centro óptico C en el cual convergen todos los rayos de proyeccióny un plano de imagen situado a una distancia focal f del centro óptico de forma paralela al ejeóptico Zc.

Figura 2.4: Modelo de una cámara pin-hole

La figura 2.4 muestra la proyección de un punto M sobre el plano imagen en m. Como sepuede apreciar, esta proyección consta de varias transformaciones y transiciones entre distintossistemas de coordenadas. Los sistemas de referencia que aparecen en la figura son los siguientes:

CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS 9

Page 26: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Sistema de coordenadas del mundo: describe la posición del punto 3D M y de la escenaen general. Este sistema debe ser fijado o conocido por el método de calibración. Sus ejesson X, Y, Z.

Sistema de coordenadas de la cámara: describe la posición del punto 3D Mc respecto de lacámara. El punto Mc esel mismo que M, pero referido a distinto sistema de coordenadas.Su origen es el centro óptico y sus ejes son Xc, Yc y Zc, siendo éste último colineal con eleje óptico.

Sistema de coordenadas de la imagen: describe la posición del punto 2D m respecto alplano imagen. Normalmente este sistema tiene su origen en c, el centro del plano imagen,en la intersección del plano con el eje óptico. Sus ejes son u y v.

Sistema de coordenadas de la imagen normalizado: describe la posición del punto 2D mn

respecto al pano imagen, situando el origen en la esquina superior izquierda del plano. Elpunto mn es el mismo que m, pero referidos a distintos sistemas de coordenadas. Sus ejesson un y vn.

El comportamiento de este modelo depende de una serie de parámetros propios de cadacámara. Estos parámetros se clasifican en extrínsecos (dependientes de la posición externa dela cámara respecto de la escena) e intrínsecos (dependientes de la construcción interna de lacámara).

Parámetros extrínsecos: indican la posición relativa de la cámara respecto al sistema dereferencia del mundo.

• Translación: t = [tx, ty, tz]T es la distancia entre el origen de coordenadas de la cámara(centro óptico) y el origen de coordenadas del mundo.

• Rotación: R = [!x,!y ,!z] son los ángulos rotados sobre cada uno de los ejes paraalinear el sistema de referencia del mundo con el de la cámara.

Parámatros intrínsecos: marcan en qué forma se transforma el punto 3D Mc en mn. De-penden de la geomtría interna y de la óptica de la cámara. Estos parámetros son:

• Centro del eje óptico c = [u0, v0]: marca el punto de corte del eje óptico con el planode imagen, con coordenadas expresadas en píxeles. A este punto también se le llamapunto principal.

• Factores de escalado ku, kv: definen la proporción de tamaño del objeto real respectoa su proyección sobre el plano imagen. Estos parámetros se descomponen a su vez en:

& Factores de conversión milímetros-pixel (du,dv): indican la densidad de píxelesde la cámara, y puede obtenerse dividiendo el tamaño en píxeles del CCD entreel tamaño en milímetros.

& Distancia focal f : expresa la distancia entre el plano imagen y el centro óptico,en milímetros.

& Factor de proporción s: define la relación de tamaño entre la dimensión horizontaly vertical de un píxel.La relación entre ellos es: ku = s · du · f y kv = dv · f .

10 CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS

Page 27: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

2.6.2. La matriz de proyección

Si consideramos un punto en 3D expresado según sus coordenadas homogéneas,M= [X,Y,Z, T ],de la misma forma que un punto 2D m= [U, V, S]. Supongamos que tenemos una cámara quecaptura la escena y proyecta M sobre m, podemos relacionar ambos puntos a excepción de unfactor de escala, ":

" ·m = P · M

La matriz P se denomina matriz de proyección y contiene información de los parámetrosintrínsecos y extrínsecos. Para obtener dicha matriz se estudia la relación entre M, expresado encoordenadas del mundo, y m, expresado en coordenadas normalizadas de la imagen (un y vn)en la figura 2.3, en función de los parámetros de la cámara. El proceso consta de tres etapas:

1. Transformación escena-cámara: pasamos de las coordenadas del mundo [X,Y,Z] a lascoordenadas de la imagen [Xc, Yc, Zc] utilizando la matriz de parámetros extrínsecos de lacámara.Primero se realiza una rotación alrededor de cada uno de los ejes:

!

"xr

yr

zr

#

$ =

!

"r11 r12 r13

r21 r22 r23

r31 r32 r33

#

$ ·

!

"xyz

#

$ (2.1)

Mr = R · M

Después aplicamos una traslación según el vector t:!

"xc

yc

zc

#

$ =

!

"xr

yr

zR

#

$ +

!

"txtytz

#

$ (2.2)

Mc = Mr + t

Podemos combinar las ecuaciones 2.1 y 2.2 para expresar directamente el paso de lascoordenadas del mundo a las coordenadas de la cámara:

Mc = R · M + t (2.3)

Además esta expresión matricial puede expresarse en coordenadas homogéneas mediantela matriz de parámetros extrínsecos [R t]:

!

%%"

Xc

Yc

Zc

1

#

&&$ ='

R t0 1

!

%%"

XYZ1

#

&&$ (2.4)

2. Transformación cámara-imagen: pasamos de las coordenadas 3D de la cámara [xc, yc, zc] alas coordenadas 2D del plano de imagen [u, v].Aplicando lo que sabemos de la geometría de proyección podemos relacionar las coorde-nadas de ambos sistemas mediante la distancia focal f :

f

zc=

u

xc=

v

yc

CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS 11

Page 28: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Haciendo uso de estas ecuaciones podemos componer la expresión matricial de la proyecciónperspectiva: '

uv

(=

f

zc·'

xc

yc

(

Expresado en coordenadas homogéneas:

!

"UVS

#

$ =

!

"f 0 0 00 f 0 00 0 1 0

#

$ ·

!

%%"

Xc

Yc

Zc

1

#

&&$ (2.5)

3. Transformación imagen-imagen normalizada: convertimos las coordenadas del plano ima-gen (u,v) en coordenadas normalizadas (un, vn). Como se ve en la figura 2.4, ambos siste-mas de coordenadas pertenecen al mismo plano, por lo tanto para hacer la transformaciónsumamos vectorialmente a m la posición relativa de c respecto a cn. Además de ello sedeben aplicar los factores de conversión para pasar las unidades de milímetros a píxeles.

un = du · u + u0 vn = dv · v + v0

Que expresado en coordenadas homogéneas queda de la forma:

!

"Un

Vn

Sn

#

$ =

!

"du 0 u0

0 dv v0

0 0 1

#

$ ·

!

"UVS

#

$ (2.6)

Podemos combinar los resultados de la ecuaciones 2.4 y 2.5 para obtener la relación de unpunto 3D Mc con el punto 2D mn, utilizando la matriz de parámetros A.

!

"Un

Vn

Sn

#

$ =

!

"du 0 u0

0 dv v0

0 0 1

#

$ ·

!

"f 0 0 00 f 0 00 0 1 0

#

$ ·

!

%%"

Xc

Yc

Zc

1

#

&&$

!

"Un

Vn

Sn

#

$ =

!

"du · f 0 u0 0

0 dv · f v0 00 0 1 0

#

$ ·

!

%%"

Xc

Yc

Zc

1

#

&&$ (2.7)

mn = A · Mc

Finalmente, podemos hallar la expresión general de la matriz de proyección que nos relacionaun punto 3D M de la escena y su correspondiente mn en el plano imagen multiplicando la matrizde parámetros intrínsecos A de la ecuación 2.6 y la matriz de parámetros extrínsecos [R t] de laecuación 2.3:

P =

!

"du · f 0 u0 0

0 dv · f v0 00 0 1 0

#

$ ·

!

%%"

r11 r12 r13 txr21 r22 r23 tyr31 r32 r33 tz0 0 0 1

#

&&$

" ·

!

"Un

Vn

Sn

#

$ =

!

"du · f 0 u0 0

0 dv · f v0 00 0 1 0

#

$ ·

!

%%"

r11 r12 r13 txr21 r22 r23 tyr31 r32 r33 tz0 0 0 1

#

&&$ ·

!

%%"

XYZ1

#

&&$ (2.8)

12 CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS

Page 29: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

" · mn = P · M

2.7. Análisis de la geometría de visión múltiple

La relación geométrica entre dos proyecciones de un mismo punto físico puede ser expresadaa través de la geometría epipolar.

Figura 2.5: Geometría epipolar

En la figura anterior se muestran dos cámaras "pinhole", los centros de proyección Ci yCd y los planos de imagen, las longitudes focales se denotan como fi y fd. A la recta queune ambos centros de proyección se le llama línea base. Cada cámara identifica un sistema dereferencia 3D con el origen situado en el centro de proyección de la cámara y el eje Z con el ejeóptico. Los vectores Mi = [Xi, Yi, Zi]T y Md = [Xd, Yd, Zd]T se refieren al mismo punto 3D, M,como vectores en los sistemas de referencia de la cámara izquierda y derecha respectivamente.Los vectores mi = [xi, yi, zi]T y md = [xd, yd, zd]T definen las proyecciones del punto M en laimagen izquierda y derecha respectivamente y están expresados en su correspondiente sistemade referencia. Para todos los puntos de las imágenes tenemos zi = fi o zd = fd de acuerdo a laimagen que sea. Así, la relación entre un punto del espacio y su proyección se define según lasecuaciones de perspectiva, que en forma vectorial quedan: mi =

fi

ZiMi y md =

fd

ZdMd.

El nombre de geometría epipolar es debido a que a los puntos en los que corta la recta queune los centros de proyección con los planos de proyección se les llama epipolos; denotaremos ei

al epipolo izquierdo y ed al epipolo derecho. Por su construcción, los epipolos son la proyecciónsobre su plano de imagen del centro de proyección de la otra cámara. Si los planos de imagenson paralelos a la línea base, los epipolos se encuentran en el infinito.

Los sistemas de referencia de las cámaras izquierda y derecha están relacionados a través deunos parámetros extrínsecos. Estos definen una transformación rígida en el espacio 3D definidapor un vector de traslación T = Cd $ Ci y una matriz de rotación R. Dado un punto M en elespacio la relación entre Mi y Md es por tanto:

Mi = R · Md + T (2.9)

Podemos relacionar estos parámetros extrínsecos con los propios de cada una de las cámarassabiendo que las matrices de rotación son unitarias:

CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS 13

Page 30: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Md = Rd · M + td Mi = Ri · M + ti

Mi = Ri · RTd (Md $ td) + ti = Ri · RT

d · Md + (ti $ RiRTd td)

Si igualamos términos con la ecuación 2.8 obtenemos:

R = Ri · RTd

T = ti $ Ri · RTd td = ti $ R · td

La importancia del desarrollo de este tipo de geometría radica en el hecho de que para poderhallar la información de profundidad de un punto es necesario saber dónde se proyecta en ambascámaras para poder posteriormente triangular. En principio, la región para buscar el puntocorrespondiente al punto mi es toda la imagen derecha, pero si nos fijamos en el plano epipolar,identificado por M , Oi y Od, vemos que interseca en los planos de imagen en líneas llamadaslíneas epipolares que denotaremos como li y ld. Cada una de estas líneas puede verse como laproyección sobre su plano de imagen de la recta definida por M y el centro de proyección de laotra imagen. Si nos fijamos en la recta Oi $ M y vemos esta recta como la colección de puntosk · [X,Y,Z] que son proyectados sobre mi = [X/Z, Y/Z], se puede observar que cada uno de ellosse proyectará sobre un punto de la línea epipolar ld. Visto de otra manera podemos decir que,para hallar el punto md correspondiente a mi, sea cual sea el punto M que lo ha proyectado,tenemos que buscarlo en la línea epipolar ld. A esto se le llama, cualitativamente, restricciónepipolar. De esta forma hemos reducido la búsqueda de correspondencias a un problema en 1D.A continuación veremos como estimar esta geometría epipolar.

2.7.1. La matriz esencial

La ecuación del plano epipolar puede escribirse como la coplanariedad de los vectores Mi,T y Mi $ T , de manera que esta condición de coplanariedad puede escribirse como (Mi $ T )T ·(T # Mi) = 0. Usando la relación entre Mi y Md y aplicando que el producto vectorial de dosvectores puede expresarse como el producto de una matriz antisimétrica por un vector tenemos:

(RMd)T · S · Mi = MTd · RT · S · Mi = 0

con

S = [T ]x =

!

"0 $Tz Ty

Tz 0 $Tx

$Ty Tx 0

#

$

con lo que nos queda:MT

d EMi = 0

donde E = RT · S es la matriz esencial. Sabiendo la relación entre entre los puntos y sus pro-yecciones podemos escribir mT

d Emi = 0, que ofrece una expresión cuantitativa de la restricciónepipolar.

La matriz esencial establece por tanto una relación entre la restricción epipolar y los pa-rámetros extrínsecos del sistema estéreo, a través de ella podemos establecer un mapeo entrelos puntos de una imagen y las líneas epipolares de la otra. ld = Emi define la línea epipolarderecha, lo que resulta en mT

d ld = 0, lo que nos demuestra que los puntos equivalentes entre lasimágenes se encuentran en las líneas epipolares. Hay que hacer notar que la matriz esencial nosda información sobre la geometría epipolar a nivel de coordenadas cámara. Para poder pasar a

14 CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS

Page 31: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

coordenadas pixel necesitamos haber calibrado las cámaras para conocer sus parámetros intrín-secos. En este sentido, la matriz que relaciona las coordenadas de puntos correspondientes deambas imágenes, pero a nivel de píxel, se denomina matriz fundamental.

2.7.2. La matriz fundamental

Tal y como se explicó anteriormente, podemos hacer uso de la matriz de parámetros in-trínsecos para poner en relación un punto 3D en coordenadas cámara con su proyección 2D encoordenadas píxel normalizadas. Haciendo uso de la ecuación 2.6 podemos escribir:

Mi = A#1i · mni Md = A#1

d · mnd

MTd EMi = (A#1

d · mnd)T E(A#1i · mni) = mT

ndA#Td EA#1

i mni = 0

Lo que se puede reducir a:mT

nd · F · mni = 0

donde F = A#Td EA#1

i es la matriz fundamental.

Al igual que la matriz esencial, la matriz fundamental nos relaciones puntos de una de lasimagenes con la recta epipolar en la que se encuentra su conjugado de la otra imagen. Ladiferencia radica en que la esencial trabaja con coordenadas de la cámara y la fundamentaldirectamente con coordenadas píxel.

Una consecuencia muy importante de las propiedades anteriores es que si conocemos la cali-ración de un sistema estereo (parámetros intrínsecos y extrínsecos), tenemos toda la informaciónnecesaria para obtener la geometría epipolar y hallar todas las correspondencias entre puntos yrectas epipolares de ambas imágenes.

CAPÍTULO 2. REVISIÓN DE CONCEPTOS BÁSICOS 15

Page 32: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 33: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

3Disparidad

3.1. Introducción

La disparidad medida sobre un par estéreo es la distancia en píxeles que hay entre lasproyecciones del mismo punto en ambas imágenes. En el caso particular de un par estéreo, conlos ejes ópticos de las cámaras paralelos, la disparidad se define como:

d = xi $ xd

donde xi y xd son las coordenadas horizontales del punto proyectado en la imagen izquier-da y derecha respectivamente. La distancia resulta siempre positiva ya que en las condicionesdescritas, un punto cualquiera en el espacio siempre va a cumplir que xi " xd; es decir, en laimagen derecha va a estar situado más a la izquierda que en la imagen izquierda.

La razón de utilizar esta medida es que existen varios métodos implementados para hallar ladisparidad en distintas situaciones, y además, una vez hallada la disparidad, hallar la profundidaddel punto en milímetros es un paso sencillo.

La mayoría de los métodos para obtener el mapa de disparidad de una escena requierenque ambas imágenes estén rectificadas. Que las imágenes de un par estéreo estén rectificadassignifica que se han modificado para que sus planos de imagen sean coplanares y sus líneasepipolares, horizontales; resultando los puntos correspondientes en ambas imágenes con la mismacoordenadas vertical. El hecho de exigir que las imágenes estén rectificadas se debe a que larectificación es un proceso sencillo y de bajo coste computacional que simplifica muchísimolos algoritmos posteriores de obtención de disparidad al reducir el área de búsqueda de lascorrespondencias de dos dimensiones a una.

3.2. Rectificación

Como se ha explicado anteriormente, la rectificación consiste en la transformación de lasimágenes mediante software, utilizando los parámetros intrínsecos y extrínsecos de las cámaras,de forma que las líneas epipolares de ambas imágenes queden alineadas horizontalmente: con

17

Page 34: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

ello se consigue que la proyección del mismo punto en ambas imágenes tenga la misma posiciónen el eje y.

Figura 3.1: Esquema del proceso de rectificado

El rectificado de imágenes aporta una gran ventaja en la búsqueda de puntos correspondien-tes, no solo exige un cálculo en 1D, sino que además sabemos que el punto correspondiente a unodado va a estar en la misma fila que el punto dado. Por contrapartida, al rectificar una imagen,no todos los puntos de la imagen destino ocupan un punto exacto en la imagen original. Parasubsanar esto hay que recurrir a la interpolación, incurriendo en errores.

Vamos a utilizar para rectificar el método propuesto por Fusiello et al. [1]. En él se fija quedespués de la rectificación las cámaras tienen la misma orientación pero distinta posición en elespacio. Es decir, los centros ópticos se mantienen invariantes tras la rectificación y la orientacióncambia, ya que rotamos las cámaras para conseguir que los planos de imagen sean coplanares ycontengan a la línea base.

De esta forma, vamos a estudiar la rectificación como una proyección sobre los nuevos planosde imagen y veremos como relacionar esta nueva proyección con la que ya teníamos. Para poderrealizar esta proyección necesitamos una nueva matriz de parámetros intrínsecos y una nuevamatriz de rotación. Como hemos dicho anteriormente, los centros ópticos se mantienen inva-riantes, por tanto el vector de traslación será el mismo que el original. Una vez construida estanueva proyección la relacionaremos con la antigua para obtener una matriz que nos relacione lospíxeles de la imagen original con los de la rectificada.

Matriz de rotación: al fijar que los planos de imagen de nuestras dos cámaras sean coplana-res y que sus ejes ópticos sean paralelos, estamos forzando que los sistemas de coordenadasde ambas cámaras tengan la misma orientación. Como la rotación para ambas cámaras lavamos a efectuar desde el sistema de referencia del mundo, ambas matrices de rotaciónson iguales.Vamos a definir tres vectores, r1, r2 y r3, que nos marcarán las direcciones de los nuevosejes x, y, y z, respectivamente, de los nuevos sistemas de coordenadas de las cámaras.

Rn =

!

"rT1

rT2

rT3

#

$ (3.1)

El nuevo eje x deberá ser paralelo a la línea base que une los centros ópticos. Para calculardicha dirección realizamos la diferencia entre los centros ópticos expresados en coordenadas

18 CAPÍTULO 3. DISPARIDAD

Page 35: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

de un sistema de referencia común. Se ha tomado como tal el sistema de coordenadas delmundo por sencillez, ya que para ambas cámaras tenemos sus parámetros extrínsecos, quenos permiten el cambio de coordenadas facilmente. Si hacemos uso de la ecuación 2.3, ysabiendo que los centros ópticos tienen coordenadas [0, 0, 0] en el sistema de referencia desu propia cámara, podemos escribir para la cámara izquierda:

Cci = Ri · Cmi + Ti

!

"000

#

$ = Ri · Cmi + Ti

Cmi = $R#1i · Ti (3.2)

donde Cci y Cmi son el centro óptico de la cámara izquierda expresado en coordenadas dela cámara y del mundo, respectivamente; y Ri y Ti los parámetros extrínsecos de la cámaraen cuestión. Esta misma ecuación es aplicable a la cámara derecha, con lo que obtenemoslas coordenadas de ambos centros ópticos, y ya tenemos los datos suficientes para calcularla matriz de rotación.

• El nuevo eje X paralelo a la línea base: r1 =(Cmi $ Cmd)' Cmi $ Cmd '

• El nuevo eje Y ortogonal al nuevo X (obligatorio) y a k: r2 = k # r1, donde k esun vector arbitrario que nos fija la posición del nuevo eje Y perpendicular al eje X.En este caso hemos fijado k en la dirección del eje Z de Ri. De esta forma, la nuevamatriz de rotación será lo suficientemente parecida a las originales como para que, alaplicar la rectificación, las imágenes resultantes no queden excesivamente deformadas.

• El nuevo eje Z ortogonal a los nuevos X e Y (obligatorio): r3 = r1 # r2

Con la construcción de la matriz de rotación y con el vector de translación de la proyecciónoriginal ya tenemos los parámetros extrínsecos de la nueva proyección sobre el plano deimagen rectificado.

Matriz de parámetros intrínsecos: vamos a ver a continuación que restricciones debencumplir las nuevas matrices de parámetros intrínsecos para que la rectificación se realicecorrectamente.Sean Mi y Md las expresiones del mismo punto M en las coordenadas de sus respectivascámaras. Como se vió en el capítulo 2, podemos poner en relación ambas expresionesutilizando los parámetros extrínsecos de las cámaras, de modo que:

Mi = R · Md + T

donde R = Ri · RTd y T = Ti $ Ri · RT

d Td = Ti $ R · Td.Si aplicamos RT

i y posteriormente Rn a ambos lados de la ecuación anterior obtenemos :

RnRTi Mi = RnRT

d Md + Rn(RTi Ti $ RT

d Td)

donde M !i = RnRT

i Mi y M !d = RnRT

d Md son las expresiones del punto M expresadas en lascoordenadas de sus respectivas cámaras rectificadas. Teniendo en cuenta que RT

i Ti$RTd Td

es paralelo al eje x de Rn, podemos reescribir la expresión anterior como:

M !i = M !

d +

!

"' Cmi $ Cmd '

00

#

$ (3.3)

CAPÍTULO 3. DISPARIDAD 19

Page 36: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Se puede ver por la ecuación anterior que, puntos correspondientes, una vez realizada larectificación, tienen la misma coordenada y y z.

Vamos a continuación a proyectar los puntos M !i y M !

d sobre sus respectivos planos deimagen rectificados utilizando unas matrices de parámetros intrínsecos Ani y And.

M !i =

!

"x!

iy!iz!i

#

$ M !d =

!

"x!

dy!dz!d

#

$

Ani =

!

"dui · f 0 u0i

0 dvi · f v0i

0 0 1

#

$ And =

!

"dud · f 0 u0d

0 dvd · f v0d

0 0 1

#

$

M !i · Ani =

!

"dui · f · x!

i + u0i · z!idvi · f · y!i + v0i · z!i

z!i

#

$

M !d · And =

!

"dud · f · x!

d + u0d · z!ddvd · f · y!d + v0d · z!d

z!d

#

$

Una vez realizada la rectificación sabemos que las proyecciones de un mismo punto enambas imágenes van a tener la misma coordenada en el eje vertical, por tanto:

dvi · f · y!i + v0i · z!iz!i

=dvd · f · y!d + v0d · z!d

z!d

Como sabemos de la ecuación 3.3, y!i = y!d y z!i = z!d, con lo que:

dvi · f · y!i + v0i · z!i = dvd · f · y!d + v0d · z!d(dvi · f $ dvd · f)y!i + (v0i $ v0d)z!i = 0

Para que lo anterior se cumpla para todo y!i y z!i, sólo nos queda que:

dvi = dvd v0i = v0d (3.4)

Cualquier par de matrices de parámetros intrínsecos que cumplan estas condiciones nosaseguran una rectificación correcta. En este proyecto se ha elegido fijar las dos matricesde parámetros intrínsecos a la media de las matrices de intrínsecos antiguas; con esto secumplen los requisitos necesarios y nos aseguramos que las nuevas proyecciones no seanexcesivamente distintas de las antiguas.

Rectificación: para poder realizar la rectificación vamos a calcular una transformación quenos mapee puntos de la imagen original a los puntos de la imagen rectificada. Para ellovamos primeramente a expresar la ecuación de proyección de la ecuación 2.7 en coordenadasno homogéneas para la imagen original y para la imagen rectificada, de la cámara izquierda:

"imi = Ai · (Ri · M + Ti)

"nmn = An · (Rn · M + Tn)

Sabemos que en ambas ecuaciones las coordenadas del mundo son iguales; vamos a rela-cionarlas a través de ellas:

M = $(R#1i · Ti) + "i(Ai · Ri)#1 · mi

20 CAPÍTULO 3. DISPARIDAD

Page 37: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

M = $(R#1n · Tn) + "n(An · Rn)#1 · mn

Combinando las dos anteriores obtenemos que:

mn = "(An · Rn · R#1i · A#1

i )mi (3.5)

Esta es la matriz Ni = An ·Rn ·R#1i ·A#1

i , que utilizaremos para realizar la rectificación dela imagen izquierda, aplicandola sobre cada píxel de la imagen. Podemos seguir los mismospasos y obtener un resultado equivalente para la imagen derecha.

Existe un problema añadido al proceso de rectificación: al no saber cuánto va a rotar lossistemas de las cámaras, cabe la posibilidad de que al realizar la rectificación varios píxelesocupen posiciones fuera de los límites de nuestra imagen. Para solucionar esto, variaremos lascoordenadas de los centros ópticos de las matrices de parámetros intrínsecos según lo siguiente.Una vez construida la matriz de rectificación como se acaba de explicar, se calcula que posiciónocuparía el punto central de la imagen original en la imagen rectificada para las dos cámaras.La diferencia entre ambas será lo que variarán los centros ópticos de las matrices de parámetrosintrínsecos. Para no afectar al funcionamiento del sistema de rectificación, la matriz izquierda yla derecha deberán variar igual en las dos coordenadas del centro óptico: en el vertical para quelas proyecciones de un mismo punto sigan estando en la misma fila en ambas imágenes y en elhorizontal para no variar el valor de la disparidad.

Este método centra la imagen rectificada sobre nuestros límites visibles, pero debido a latransformación sufrida, una pequeña cantidad de píxeles siguen fuera de la imagen. Ampliandolígeramente el tamaño de la imagen se consigue que todos los píxeles se encuentren dentro deella.

3.3. Métodos de cálculo de la disparidad

Como se ha explicado anteriormente, la disparidad mide la distancia en píxeles entre el mismopunto de ambas imágenes. El gran reto de los métodos de cálculo de disparidad es precisamente,dado un píxel en una imagen, hallar el píxel equivalente en la otra. Este es el llamado problemade la correspondencia estéreo.

Existen una gran cantidad de métodos que resuelven este problema, y se pueden clasificaren dos grandes grupos:

Métodos globales: aplican restricciones a la búsqueda del píxel correspondiente en todala imagen o en toda la línea epipolar. Son menos sensibles a las zonas conflictivas quelos locales, obteniendo en líneas generales mejores resultados. Los más comunes son losmétodos de Programación Dinámica y los de Corte de Grafos. Por contrapartida, sonmucho más costosos computacionalmente.

• Programación Dinámica: estos métodos reducen la complejidad de cálculo en pro-blemas de optimización descomponiendo el problema en subproblemas menores. Paraesto se construye una representación de las posibles correspondencias para cada puntoconstruyendo una imagen que se denomina imagen del espacio de disparidad (DSI)donde se busca un camino que recorra este espacio y minimice un cierto costo.

CAPÍTULO 3. DISPARIDAD 21

Page 38: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 3.2: Variantes en la construcción de la imagen del espacio de disparidad

En la figura anterior, Ii y Id representan una línea epipolar izquierda y su corres-pondiente derecha. La zona blanca representa las correspondencias permitidas por elalgoritmo. Los diferentes algoritmos varían la construcción y asignación de costos paraluego usar la Programación Dinámica para la minimización del costo global. El ma-yor problema de este tipo de métodos es que utiliza información de líneas epipolarescorrespondientes, perdiendo la información de las líneas adyacentes.

• Corte de Grafos: El corte de grafos se basa en armar un grafo a partir de los datosde las imágenes y buscar un corte mínimo. Dependiendo como se arma el grafo, elresultado obtenido es la minimización de una cierta expresión de energía. Este pro-cedimiento se puede considerar análogo al de hallar el mejor camino en una imagenbidimensional, con Programación Dinámica, pero extendido a un entorno tridimen-sional.

Figura 3.3: Representación del problema de cálculo de disparidad mediante corte de grafos

En la figura anterior se puede apreciar la forma en la que se arma el grafo, asignandoun nodo por cada disparidad posible de cada píxel. De esta forma, cada nodo estáunido a cuatro nodos de disparidad d, dos en vertical y dos en horizontal, y a dos nodosde disparidad d-1 y d+1. La supeficie representa el corte del grafo que minimiza algunaexpresión de energía. La diferencia entre los distintos algoritmos y las aplicaciones seda en la forma en que se asignan los pesos a los arcos del grafo y la expresión de laenergía a minimizar.

Métodos locales: utilizan restricciones en una zona alrededor del punto que se desea evaluar.Estos métodos presentan mayor velocidad que los anteriores, pero también mayor tasa deerror, sobre todos en las oclusiones (puntos que aparecen en una imagen pero no en otra),en las zonas fronterizas y en las zonas de baja textura (baja variabilidad en la intensidadde grises). Pese a estos problemas estos métodos son los más utilizados gracias a sus

22 CAPÍTULO 3. DISPARIDAD

Page 39: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

resultados y a la facilidad de implementación. Así mismo estos métodos pueden dividerseen dos categorías:

• Basados en características: en estos métodos, las imágenes se procesan con un ope-rador que extrae las características deseadas. Después se aplica el proceso de corres-pondencia a los atributos asociados a las características detectadas. Los bordes yesquinas presentan buenos resultados, pero el resto de características necesitan unalto coste computacional en la búsqueda de correspondencias. El gran inconvenientede este tipo de métodos es que no generan un mapa de disparidad denso, sino aisladoen las zonas de las que ha extraido características.

• Basados en zonas: aquí se utiliza un criterio de semejanza como medida para evaluarla similitud entre los puntos de ambas imágenes. Dado un píxel de la imagen izquierday una ventana alrededor suyo, se busca encontrar una ventana sobre la imagen derechaque sea la más parecida a la primera, según un criterio de similitud dado. Al encontrarla ventana de mayor similitud se dice que el píxel central derecho se corresponde conel píxel central de la ventana izquierda. La disparidad del punto será la diferenciaentre las coordenadas x de ambos puntos.

En este proyecto se han estudiado dos métodos para el cálculo de la disparidad, uno localbasado en zonas y otro basado en Programación Dinámica, el método de Birchfield-Tomasi [2].El primero fué elegido por ser el más sencillo y, según el criterio de similitud utilizado, de los masrápidos. El método de Birchfield-Tomasi se eligió por ser un representante de los métodos globalescon unos resultados bastante buenos y del que existe una implementación de alta eficiencia enla librería de procesamiento de imagen OpenCV.

3.3.1. Búsqueda por zonas

En este tipo de métodos es necesario definir tres parámetros:

Región de búsqueda: por geometría epipolar sabemos que la región de búsqueda va a serla línea epipolar del punto, pero además, gracias a que las imágenes sobre las que vamos acalcular la disparidad han sido previamente rectificadas, sabemos que debemos buscar enlos puntos con la misma coordenada y que el original. Ya que el objetivo es desarrollar unsistema en tiempo real, limitaremos la región a un valor máximo de disparidad centradoen las mismas coordenadas que el punto original.

Ventanas de cálculo: se han realizado pruebas con ventanas cuadradas centradas en elpíxel que se está evaluando, de tamaños 3x3, 5x5 y 7x7. Éste último fué rechazado tras laprimera prueba debido a un tiempo de cálculo excesivo. Se escogió que fuesen cuadradasfrente a ventanas rectangulares ya que, aunque el píxel correspondiente que buscamostiene la misma coordenadas vertical, no por ello los píxeles la misma fila nos aportan másinformación de similitud que los de las columnas.

CAPÍTULO 3. DISPARIDAD 23

Page 40: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 3.4: Definición de la región de búsqueda y de las ventanas

Criterio de semejanza: se han escogido las siguientes medidas de similitud por ser las demayor simplicidad, y por ello mayor velocidad de procesado: suma de diferencias absolutas(SAD), suma de diferencias cuadráticas (SSD) y correlación cruzada normalizada (NCC).

SAD =n)

i=#n

n)

j=#n

' Ii(x + i, y + j) $ Id(x + i, y + j) '

SSD =n)

i=#n

n)

j=#n

(Ii(x + i, y + j) $ Id(x + i, y + j))2

NCC =*n

i=#n

*nj=#n(Ii(x + i, y + j) $ Ii)(Id(x + i, y + j) $ Id)

#Ii#Id

donde Ii y #Ii se refieren al valor medio y a la desviación estándar de las véntanas decálculo.

3.3.2. Birchfield-Tomasi

El método de Birchfield-Tomasi se basa en la búsqueda de correspondencias y oclusionesentre líneas epipolares enteras. Para ello busca los emparejamientos por programación dinámicaque minimizan la siguiente función de coste:

$(M) = Nocckocc $ Nmkr +Nm)

i=1

d(xii, xdi) (3.6)

donde M es la secuencia a evaluar, kocc la constante de penalización por oclusión, kr laconstante de recompensa por emparejamiento, d(xii, xdi) la diferencia de intensidad entre píxelescorrespondientes, y Nocc y Nm el número de oclusiones (no de píxeles ocluidos) y el número deemparejamientos, respectivamente, en M .

24 CAPÍTULO 3. DISPARIDAD

Page 41: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 3.5: Ejemplo de una secuencia de correspondencias

En la imagen, I y D definen líneas epipolares de la imagen izquierda y derecha respectiva-mente. Las líneas entre ellas marcan la correspondencia entre sus píxeles. En la secuencia decorrespondencias de ejemplo descrita en la imagen anteriorM = ((1, 0), (2, 1), (6, 2), (7, 3), (8, 4), (9, 5), (10, 6), (11, 9), (12, 10)) se pueden observar, de iz-quierda a derecha, varios elementos utilizados en la función de coste descrita anteriormente:un píxel ocluido en la línea epipolar izquierda (ya que no tiene correspondiente en la derecha),dos píxeles correspondientes con un nivel de disparidad de uno, tres píxeles ocluidos en la líneaizquierda, cinco pixeles con sus correspondientes a un nivel de disparidad de cuatro, dos píxelesocluidos en la línea derecha, dos píxeles con correspondencia y un nivel de disparidad de dos ypor último dos píxeles ocluidos en la línea derecha.

En la práctica, kocc puede interpretarse como la cantidad de evidencia, expresada en términosde intensidad de píxel, necesaria para declarar un cambio de disparidad; mientras que kr puedeverse como la máxima diferencia de intensidad de píxel esperada entre correspondencias.

Figura 3.6: Imagen del espacio de disparidad y posiciones permitidas tras una correspondenciadada

La figura 4.6 a muestra una posible imagen del espacio de disparidad para líneas epipolaresde diez píxeles y una disparidad máxima de 3. En el eje de ordenadas se representa la líneaepipolar de la imagen izquierda y en el de abcisas la derecha. Las posiciones en negro son lasno permitidas, las blancas las permitidas y las marcadas representan una secuencia de empare-jamientos. Las figuras 4.6 b y 4.6 c indican las posiciones de correspondencias posibles antes odespués, respectivamente, de una correspondencia conocida (cuadrado rayado).

Una vez procesadas todas las líneas epipolares se realiza un postprocesado para aprovecharla informacion de dependencia entre una línea epipolar y sus contiguas. Para ello se clasifican lospíxeles en tres categorias no disjuntas (cada una de ellas contiene la anterior) basadas en su nivelde fiabilidad : escasamente fiable, moderadamente fiable y altamente fiable. Esta categorización

CAPÍTULO 3. DISPARIDAD 25

Page 42: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

de fiabilidad se hace en función del número de píxeles contíguos en la misma columna con elmismo nivel de disparidad. La idea se basa en que si las filas se computan independientementey obtenemos valores iguales de disparidad en las columnas, es más probable que el valor seacorrecto.

Un píxel de fiabilidad moderada se propaga por su columna cambiando a su valor de dispari-dad hasta que se encuentra con un cambio de intensidad o con una región escasamente fiable conun valor de disparidad menor. La única diferencia entre regiones moderada y altamente fiableses que las primeras no pueden propagarse si el cambio de disparidad es de un único nivel deintensidad.

Posteriormente se realiza el mismo procesado en sentido horizontal, y por último se eliminanlas disparidades aisladas y rodeadas por un mismo valor.

3.4. Relación entre disparidad y profundidad

Como se explicó anteriormente, una de las razones de calcular el mapa de disparidad es que,una vez conocida la disparidad de un pixel, es inmediato obtener la profundidad del punto querepresenta. Hay que hacer notar que la demostración siguiente es válida únicamente si los ejesópticos son paralelos y los planos de imagen son coplanares, como se muestra en la figura. Ennuestro caso hemos conseguido esta restricción mediante la rectificación de las imágenes.

Figura 3.7: Vista superior del sistema estéreo

En la figura anterior, Ci y Cd representan los centros ópticos de la cámara izquierda yderecha, respectivamente, T es la distancia en milímetros que separa ambos centros, f es ladistancia focal, pi y pd las proyecciones del punto P y Z la profundidad del mismo. c0 indica lacoordenada x del punto principal de la imagen.

26 CAPÍTULO 3. DISPARIDAD

Page 43: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Sean xi y xd las coordenadas x de los puntos pi y pd respectivamente. Así, definimos ladisparidad de estos puntos como d = xi $ xd. Por semejanza de los triángulos (P, pi, pd) y(P,Ci, Cd) podemos escribir:

T

Z=

c0 + T $ xi $ c0 + xd

Z $ f

T

Z=

T $ d

Z $ f

Z = fT

d

En la ecuación anterior, el valor de la disparidad se encuentra expresado en píxeles; para quetenga sentido, ésta debe convertirse a milímetros utilizando los factores de conversión de lamatriz de parámetros intrínsecos.

Z = fT · du

d(3.7)

Se puede ver por la ecuación anterior que la disparidad y la profundidad siguen una relacióninversa, y que su relación depende de parámetros obtenidos en el proceso de calibración de lascámaras.

CAPÍTULO 3. DISPARIDAD 27

Page 44: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 45: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

4Sistema, diseño y desarrollo

En este capítulo se va a explicar el desarrollo del objetivo final del proyecto, la obtención dela profundidad de los objetos de una escena a partir de las imágenes capturadas por un par decámaras.

Aunque en un principio el objetivo era desarrollar un sistema válido para los dos tipos decámaras citados en capítulos anteriores, en esta tema se explicarán las limitaciones que nosllevaron a descartar el uso de las cámaras Firewire.

Todo el sistema desarrollado, a excepción de la calibración de las cámaras y la obtenciónde las matrices de rectificación, se ha realizado en código C++, haciendo uso de la libreríade procesamiento de imagen OpenCV y de las herramientas integradas en la librería DiVAdesarrollada en el laboratorio VPU.

4.1. Sistema físico

Como se comentó anteriormente el sistema se va a desarrollar sobre dos soportes distintos,un par de cámaras Firewire y otras dos cámaras IP. A continuación se va explicar en detalle lascaracterísticas físicas y ópticas de ambos tipos de cámaras.

4.1.1. Cámaras Firewire

Las cámaras sobre las que se va a construir este sistema son cámaras fijas que se encuentransituadas en la pasarela de la tercera planta entre los edificios A y B de la Escuela PolitécnicaSuperior (EPS). El modelo de las cámaras Firewire es DFW-X710 de SONY y están conectadasa una red IP del laboratorio VPU.

29

Page 46: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 4.1: Sistema de cámaras Firewire

Especificaciones de las cámaras

Estas cámaras son digitales y soportan hasta 15 imágenes por segundo a una resoluciónmáxima de 1024x768 píxeles y una profundidad de píxel de 24 bits. La lente montada es elmodelo C815B de COSMICAR, con una montura tipo C y una distancia focal de 8, 5 mm. Eldispositivo CCD que incorporan es de color y de tipo 1/3", con un tamaño de píxel de 4,65x4,65µm, con lo que los factores de conversión quedan como:

du = dv =1

0,00465= 215,53763

pixeles

mm

4.1.2. Cámaras IP

Este otro tipo de cámaras son móviles y utilizan para su conexión una interfaz GigE. Elmodelo es piA1900-32gc de Basler. Se decidió montar dos de estas cámaras sobre un soportetransversal móvil y de altura e inclinación regulable, de manera que podamos utilizar el parestéreo fijo enfocando a distintas escenas.

Figura 4.2: Sistema de cámaras IP

30 CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO

Page 47: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Especificaciones de las cámaras

Estas cámaras son digitales y soportan hasta 32 imágenes por segundo a una resoluciónmáxima de 1900x1200 píxeles y una profundidad de píxel de 24 bits. El CCD utilizado en estascámaras es de escaneo progresivo, con un tamaño de píxel de 7,4x7,4 µm, y unos factores de

conversión de du = dv =1

0,0074= 135,135135

pixeles

mm. A estas cámaras se les ha acoplado una

lente Pentax TV con una montura tipo C y una distancia focal de 8, 5 mm.

4.2. Captura y sincronización

El sistema de captura para ambos tipos de cámara es una modificación de los ya existentesen el grupo de trabajo integrados dentro de la plataforma DiVA para el control de una únicacámara. El primer paso para el control del par estéreo consiste en la duplicación de los elementosexistentes en los sistemas de cáptura básicos. Dentro de las herramientas proporcionadas porMatrox se encuentra otra forma de iniciar el proceso de captura distinta a la utilizada en elsistema de captura básico. Se eligió probar este método ya que envolvía un menor número deoperaciones, lo que favorecería a una primera aproximación a la sincronización de los tiemposde captura y a un sistema en tiempo real. También fueron necesarias otras modificaciones sobreel sistema de captura inicial debido a problemas que se encontraron en el manejo interno de lasimágenes.

Esta modificación de las capturadoras nos permite obtener imágenes de ambas cámaras si-multáneamente, pero sin información sobre la diferencia de tiempo entre los instantes de captura.

Para obtener información de la sincronización inicial de las cámaras capturamos con ambascámaras un elemento que nos permita fijar un instante temporal. Para ello se ha utilizado elflash de una cámara de fotos, con una duración de destello de 1 ms, y una secuencia de tresdestellos consecutivos, que nos permita hacernos una idea de los momentos de captura.

Figura 4.3: Estado inicial de la sincronización

Como se ve en las imágenes, los tiempos de captura se diferencian dentro de la franja deexposición del flash, los tiempos de captura se diferencian en más de 1 ms. Esto nos obligaa buscar un método para forzar la captura en el mismo instante, ya que la precisión en lostiempos de captura será especialmente importante durante la calibración, como se explicará enel apartado 4.4.

Los métodos disponibles para la sincronización del tiempo de captura son la instalación deun sistema de disparo por hardware, la utilización de un disparador software o la adecuación delos sistemas de captura. La opción de disparo software se descartó ya que la tarjeta capturadora

CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO 31

Page 48: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

de la que se disponía durante la elaboración de este proyecto no soportaba esta posibilidad paraninguno de los dos tipos de cámaras.

Se decidió, antes de añadir al sistema un método hardware de disparo sincronizado paraambas cámaras, probar las herramientas software que nos proporciona la librería Matrox. Sedecidió cambiar la forma en que se inciaba la captura de los digitalizadores de las cámaras yutilizar el mismo método de inicio de la capturadora que en el sistema de captura básico. En estemétodo, se crean de forma manual todos los elementos internos necesarios para el funcionamientode las capturadoras y posteriormente se inician ambos sistemas en instrucciones consecutivas.Este método no nos garantiza a priori ningún nivel de sincronización, por lo que se realizó denuevo una medida de la sincronización obtenida. Tras este cambio de obtienen los siguientespares de imágenes.

Figura 4.4: Estado final de la sincronización

Así, conseguimos que ambas cámaras capturen con una diferencia temporal inferior a 1 ms,lo cual es un nivel de sincronización suficiente para nuestro proyecto, ya que no vamos a evaluarescenarios con velocidades excesivamente elevadas. En caso de ser este punto importante paraestudios posteriores, se deberá inicialmente realizar un estudio exhaustivo de sincronización aaltas velocidades.

4.3. Límites

Como se vió en el capítulo anterior, la relación entre la disparidad y la profundidad en lascondiciones en las que nos encontramos viene dada por: Z = f T ·du

d . La profundidad así calculadapresenta límites máximos y mínimos que es capaz de expresar. Si manejamos disparidades com-prendidas entre 0 y dmax, obtenemos estas profundidas máximas y mínimas para cada sistemade cámaras. El valor máximo que puede tomar dmax es de 255, ya que es el valor máximo quese puede expresar en imágenes en escala de grises de ocho bits de profundidad. En caso de nonecesitar representación de la disparidad, o de que sea más importante el poder obtener valoresaltos de disparidad, es posible el utilizar un tipo de datos distinto que lo soporte.

Cámaras Firewire: Utilizando la ecuación anterior, y tomando como dato que estas cámarastienen una separación T = 3, 88 m, obtenemos que:

Zmin =(1832, 06986 · T )

dmaxmm Zmax = 1832, 06986 · Tmm

Zmin = 27, 87619m Zmax = 7108, 43082m

32 CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO

Page 49: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Teniendo en cuenta que la escena a la que enfocan las cámaras se encuentra a una distanciamáxima de entre 12 y 14 metros, vemos que nos encontramos fuera del rango de funcio-namiento del sistema estereo. Cualquier cálculo de disparidad que intentaramos efectuaren estas condiciones nos daría como resultado una imagen en la que el sistema de cálculoredondearía todos los píxeles al máximo valor permitido, 255. Se pensó en la utilizaciónde un tipo de datos distinto, para aumentar el valor máximo permitido; pero en las cir-cunstancias anteriormente descritas, los puntos correspondientes en ambas imágenes dela escena tendrían, una vez rectificados, una separación o disparidad entre 500 y 600, esdecir, en la mayor parte de la imagen no se podría calcular la disparidad. Se pensó tambiénen la inclusión de un desfase de disparidad en una de las imágenes, para que al menos lamayor parte de las imágenes pudiese ser computada, añadiendo al resultado de disparidadel desfase añadido inicialmente. Pero este proceso ralentizaría el sistema en exceso, y yaque nuestro objetivo es obtener un sistema lo más cercano posible al tiempo real. Por ello,se descartó el uso de las cámaras Firewire y el resto del desarrollo se efectuará únicamentesobre el par de cámaras IP.

Cámaras IP: La separación de estas cámaras es de T = 156, 33 mm. Este valor ha si-do calculado una vez calibrado el par estéreo, con los parámetros extrínsecos de ambascámaras.

Zmin =(1013, 51348 · T )

dmaxmm Zmax = 1013, 51348 · Tmm

Zmin = 621, 343mm Zmax = 158, 442m

En ambos casos se ha tomado una disparidad máxima teórica de 255. En la práctica, utilizar estevalor ralentiza en gran medida el sistema, por ello es recomensable fijar una disparidad máximaque se ajuste a la menor distancia entre la escena y las cámaras.

4.3.1. Precisión

El hecho de no disponer de un sistema contínuo para el cálculo de la profundidad haceque únicamente tengamos un número finito de profundidas posibles, tantas como la disparidadmáxima. Ello hace que se produzcan errores al asignar a una profundidad de las posibles unaprofundidad real. El error cometido máximo se puede expresar como el punto medio entre dosvalores de profundidad permitidos. Vamos a evaluar este error en los valores máximos y mínimosde disparidad, ya que la diferencia entre dos valores de disparidad consecutivos varía dependiendode si son valores altos o bajos de disparidad. Si hacemos uso de la ecuación 3.7 que nos relacionadisparidad y profundidad podemos ver que el error cometido es:

errormax =Z1 $ Z2

2=

12· (d2 $ d1) · f · T · du

d1 · d2=

f · T · du

4= 44, 892m

errormin =Zdmax#1 $ Zdmax

2=

12· (dmax $ dmax#1) · f · T · du

dmax · dmax#1=

f · T · du

2 · dmax · dmax#1 = 1, 386mm

Así podemos ver que el error será tanto mayor cuanto menor sea el valor de la disparidad,es decir, cuanto más alejado esté el punto que estemos evaluando, mayor será el error cometido.De forma teórica, con dmax=255, tendríamos errormin = 1, 386 mm.

CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO 33

Page 50: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

4.4. Calibración y cálculo de matrices de rectificado

Como se vió en el capítulo 2, la importancia de la calibración radica en la necesidad deexpresar en términos de pixel los objetos de una escena. La calibración del sistema estéreo sóloserá necesario realizarla una vez para el par de cámaras Firewire; el par de cámaras IP habráque calibrarlo cada vez que las cámaras cambien de posición relativa una respecto de la otra, yaque sus parámetros extrínsecos habrán cambiado.

Para realizar el sistema de calibración haremos uso de una implementación del método deZhang realizada por Javier García Ocón para el VPU de la Universidad Autónoma de Madrid[3].Hemos resuelto primero el problema de la sincronización ya que en este método de calibración esespecialmente importante. En él se fija el sistema de coodenadas del mundo en una plantilla decalibración; si las imágenes de la plantilla no están tomadas en el mismo instante, o la plantillano se encuentra completamente inmóvil, el sistema de referencia puede estar desplazado en lacalibración de una cámara respecto al de la otra, con lo que los parámetros extrínsecos obtenidosno podrían ponerse en relación por estar referenciados a distintos sistemas de coordenadas.

Todo el método de calibración utilizado, así como el cálculo de las matrices de rectificaciónestá desarrollado en código Matlab.

Para la realización de la calibración se necesitan por lo menos tres imágenes de la plantillade calibración en distintas posiciones. Esta plantilla debe ocupar la mayor parte del centro dela imagen, sin acercarse demasiado a los bordes, para evitar efectos de distorsión de las lentes.

Figura 4.5: Ejemplo de imagen usada en la calibración de las cámaras IP

En la implementación que realiza Javier García Ocón son necesarias más de tres imágenespor cada cámara que se quiera calibrar y la marcación manual de entre 4 y 81 puntos sobre laplantilla de calibración de cada imagen. Siguiendo los datos obtenidos en su estudio, nos hemosdecantado por la utilización de cinco imágenes por cada cámara y el marcado de nueve puntosen cada imagen: la utilización de más imágenes o más puntos no mejora el resultado obtenido.

Las salidas de este método para cada cámara son, la matriz de parámetros intrínsecos de lacámaras y dos matrices de parámetros extrínsecos por cada imagen utilizada. Esto es así ya que,como se dijo anteriormente, el sistema de referencia del mundo se fija en el centro del tablerode calibración, por tanto tenemos cinco transformaciones en el espacio distintas. Para nuestrosobjetivos nos es válido cualquiera de los cinco, ya que necesitamos conocer la posición de lascámaras respecto del sistema de coordenadas del mundo, pero nos da igual donde esté situadoy como esté orientado.

Para la calibración de cada par de cámaras se ha realizado un mínimo de tres ejecucionessobre los mismos conjuntos de imágenes y se han comparado que los resultados obtenidos seansuficientemente similares. Se ha hecho esta comprobación para evitar que un marcado erróneo

34 CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO

Page 51: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

pudiera producir resultados demasiado alejados del valor real.

Una vez obtenidos los parámetros intrínsecos y extrínsecos de cada cámara, se procede aaplicar la ecuación 4, 5 para obtener las matrices de rectificado.

4.5. Rectificado

Como se vió en el capítulo anterior, la rectificación se puede ver como una transformación delos píxeles de una imagen dada por una matriz de rectificación. Para aplicar esto haremos uso dela librería OpenCV, y de la función cvWarpPerspective que nos permite aplicar transformacionesa imágenes. Se ha decidido utilizar este método porque se ha comparado con la aplicación directade la fórmula de rectificado y ha resultado ser más rápido y se obtienen los mismos resultados

Tras esto se procederá a la variación de los centros ópticos de las matrices de parámetrosintrínsecos tal y como se explicó en el apartado 3.2.

Figura 4.6: Ejemplo de imágenes rectificadas con y sin desplazamiento

En la figura anterior se puede ver un ejemplo de imagen rectificada con desplazamiento ópticoa la izquierda y sin desplazamiento del centro óptico a la derecha.

Figura 4.7: Verificación de la rectificación

Tras rectificar las imágenes de ambas cámaras vemos como las proyecciones correspondientesde un mismo punto 3D poseen la misma coordenada y.

CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO 35

Page 52: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

4.6. Disparidad

4.6.1. Birchfield-Tomasi

Cómo se explicó en el capítulo anterior, para el cálculo de la disparidad según el método deBirchfield-Tomasi se hará uso de la implementación existente en la librería de procesamiento deimágenes de OpenCV. La función que realiza esta implementación tiene la siguiente definición:

cvFindStereoCorrespondence(const CvArr* leftImage, const CvArr* rightImage,int mode, CvArr* depthImage,int maxDisparity,double param1, double param2,double param3, double param4, double param5);

donde leftImage y rightImage son las imágenes izquierda y derecha respectivamente, rectifi-cadas y en escala de grises con una profundidad de ocho píxeles; mode es el algoritmo de cálculode la disparidad, en nuestro caso su valor es CV_DISPARITY_BIRCHFIELD; depthImage es ladisparidad resultante, igualmente en escala de grises de ocho píxeles; maxDisparity es la dispari-dad máxima que se le permite declarar al algoritmo; param1 define la penalización por oclusiónvista en la ecuación 3, 6; param2 expresa la recompensa por emparejamiento y param3, param4y param 5 definen las regiones de fiabilidad alta, moderada y escasa, respectivamente. Estosparámetros de fiabilidad definen que un píxel va a pertenecer a un nivel dado si su fiabilidad espor lo menos el valor indicado en el parámetro correspondiente. Los valores por defecto son losindicados en [2]: param1 = 25, param2 = 5, param3 = 12, param4 = 15 y param5 = 25.

4.6.2. Búsqueda por bloques

La búsqueda por bloques se ha implementado de manera que tanto la disparidad máxima, co-mo el tamaño de la ventana de cálculo y el criterio de semejanza se introduzcan como parámetrosdel sistema.

4.7. Profundidad

Como se vió en el capítulo anterior, la relación entre la disparidad y la profundidad en lascondiciones en las que nos encontramos viene dada por: Z = f T ·du

d . Se decidió implementar elcálculo de la profundidad para puntos aislados marcados manualmente por el usuario sobre elmapa de disparidad. Tras elegir el punto el sistema devuelve por consola las coordenadas píxelmarcadas y la profundidad del punto 3D al que corresponde.

Figura 4.8: Ejemplo de funcionamiento del sistema de profundidad

36 CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO

Page 53: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

4.8. Funcionamiento

Las capturadoras se encuentran en los archivos GTICapture1394stereo.cpp y GTICapture-GIGE.cpp y deben estar incluidos en la librería libgtibasic.lib, Ésta librería debe estar a su vezañadida al proyecto que se quiera ejecutar.

Los programas se han separado según se quiera calcular la disparidad mediante el métodode Birchfield o de búsqueda por bloques. Esto se ha hecho así ya que la condensación de ambosmétodos en un único programa resultaría en un sistema demasiado pesado.

Ambos sistemas deben incluir como primer parámetro la ruta del fichero de configuración delas cámaras.

La ejecución del programa basado en Birchfield requiere la inclusión por parámetros de losvalores de disparidad máxima y los cinco parámetros necesarios para el algoritmo.Ejemplo: Birchfield D:\u\agl\800x600.dcf 100 25 5 12 15 25

El método basado en bloques requiere el paso por parámetros de la disparidad máxima, eltamaño de la ventana de cálculo y el criterio de semejanza a utilizar. Éste último se introducirácomo un número, correspondiendo el 1 a Suma de Diferencias Absolutas, el 2 a Suma de Dife-rencias Cuadráticas y el 3 a Correlación Cruzada Normalizada.Ejemplo: Bloques D:\u\agl\800x600.dcf 100 3 1

CAPÍTULO 4. SISTEMA, DISEÑO Y DESARROLLO 37

Page 54: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 55: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

5Experimentos Realizados y Resultados

Dado que el objetivo final del proyecto es el desarrollo de un sistema de cálculo de profundidaden tiempo real, los resultados del mismo se evaluarán en función de la precisión del cálculo y delnúmero de imagenes por segundo obtenidas.

Para la medida de la velocidad se tomará el funcionamiento del sistema completo, sin ate-nernos a restricciones de la escena, ya que ésta no influye en la medida de la velocidad. Paraestimar la precisión del sistema se ha realizado una modificación en el sistema final para quetome imágenes desde archivo en vez de desde las cámaras. Las imágenes a utilizar se han ob-tenido de http://vision.middlebury.edu/stereo/. En esta página se encuentran varios pares deimágenes con su correspondiente disparidad real, con lo cual se puede evaluar de forma precisael error cometido.

5.1. Análisis de la velocidad

5.1.1. Pruebas con el método de búsqueda por zonas

Las pruebas se han realizado sobre pares de imágenes de tamaño 640x480 y 320x240 píxelespara todos los métodos de cálculo. En el caso de Suma de Diferencias Absolutas se ha añadidoun tamaño de imagen de 800x600. Este tamaño no se ha incluído en los otros métodos ya quedaba como resultado velocidades demasiado bajas. Para cada tamaño de imagen se ha probadocon dos tamaños de ventana de cálculo, 3x3 y 5x5 píxeles; y por cada uno de estos tamaños deventana se han efectuado cinco pruebas, variando el valor de la disparidad máxima entre 50 y255. El resultado se ha expresado en las tablas en "frames"por segundo.

La escena evaluada durante las pruebas con el método de búsqueda por bloques es similar ala presentada a continuación, mientras que para el método de Birchfield se utilizó esta mismaescena como fondo con una figura personal en primer plano.

39

Page 56: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.1: Ejemplo de escena evaluada

Suma de Diferencias Absolutas

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 1,22 0,59 0,5 0,41 0,365x5 0,21 0,12 0,08 0,07 0,06

Cuadro 5.1: SAD 800x600

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 2,15 1,24 0,92 0,77 0,75x5 0,37 0,21 0,15 0,13 0,1

Cuadro 5.2: SAD 640x480

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 8,98 8,36 6,15 5,77 5,375x5 1,68 1,37 1,04 0,97 0,8

Cuadro 5.3: SAD 320x240

40 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 57: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Los resultados obtenidos con los dos tamaños de ventana de cálculo son los siguientes:

Figura 5.2: SAD con ventana de 3x3

Figura 5.3: SAD con ventana de 5x5

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 41

Page 58: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Suma de Diferencias Cuadráticas

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 0,48 0,31 0,2 0,18 0,175x5 <0,01 <0,01 <0,01 <0,01 <0,01

Cuadro 5.4: SSD 640x480

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 2,43 2,14 1,56 1,43 1,355x5 0,31 0,26 0,19 0,18 0,16

Cuadro 5.5: SSD 320x240

Los resultados obtenidos para la misma escena que en el caso anterior con los dos tamañosde ventana de cálculo son los siguientes:

Figura 5.4: SSD con ventana de 3x3

42 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 59: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.5: SSD con ventana de 5x5

Correlación Cruzada Normalizada

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 <0,01 <0,01 <0,01 <0,01 <0,015x5 <0,01 <0,01 <0,01 <0,01 <0,01

Cuadro 5.6: NCC 640x480

!!!!!!!!!!!!!!!!!!!!Tamaño ventana

Disparidad máxima50 100 150 200 255

3x3 1,32 1,03 0,86 0,68 0,475x5 0,36 0,25 0,14 0,07 <0,01

Cuadro 5.7: NCC 320x240

Los resultados obtenidos con los dos tamaños de ventana de cálculo son los siguientes:

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 43

Page 60: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.6: NCC con ventana de 3x3

Figura 5.7: NCC con ventana de 5x5

5.1.2. Pruebas con el método de Birchfield-Tomasi

Las pruebas realizadas con el método de Birchfield se han efectuado utilizando los trestamaños de imagen usados en el método de búsqueda por bloques y con los mismos valores dedisparidad. Así mismo se ha procedido a variar los parámetros utilizados en el cálculo, pero estasvariaciones produjeron unas diferencias en el resultados final menores a 0,02 fps. Es por ello queno se han inluido estas variaciones en los resultados listados a continuación, correspondiendoseéstos a los parámetros especificados por defecto.

44 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 61: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

!!!!!!!!!!!!!!!!!!!!Tamaño imagen

Disparidad máxima50 100 150 200 255

800x600 2,41 1,4 0,97 0,79 0,58640x480 3,7 2,31 1,72 1,36 1,08320x240 17,44 10,42 7,55 6,54 5,7

Cuadro 5.8: Resultados del método de Birchfield

5.2. Analisis de la precisión

Como se ha comentado anteriormente, para valorar la precisión de los distintos algorit-mos de cálculo de la disparidad se van ha utilizar dos pares de imágenes provenientes dehttp://vision.middlebury.edu/stereo/ de las que se dispone del valor real de la disparidad. Enlas imágenes de disparidad que nos proporcionan, la disparidad está codificada entre los 0.25 ylos 63.75 píxeles; para poder comparar nuestros resultados con los disponibles, ésta disparidadse recodificará entre 1 y 255 píxeles. Los conjuntos de imágenes utilizados son Cones y Teddy,de un tamaño de 450x375 pixeles.

Se utilizarán dos medidas de error para evaluar la precisión de los resultados obtenidos: elporcentaje de píxeles erróneos y el error medio de cada pixel.

Figura 5.8: Imágenes izquierda y derecha del conjunto Cones

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 45

Page 62: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.9: Imágenes izquierda y derecha del conjunto Teddy

En las siguientes imágenes se aprecia la imagen de disparidad original a la izquierda y larecodificada a la derecha.

Figura 5.10: Disparidad real de Cones

46 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 63: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.11: Disparidad real de Teddy

A continuación se van a mostrar los resultados obtenidos con cada uno de los algoritmosutilizados de forma gráfica, comparados con la disparidad real utilizada, y de forma analíticacon tablas con los errores obtenidos.

5.2.1. Pruebas con el método de búsqueda por zonas

Suma de Diferencias Absolutas

Figura 5.12: Resultados con SAD para un tamaño de 3x3, conjunto Cones

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 47

Page 64: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.13: Resultados con SAD para un tamaño 5x5, conjunto Cones

Figura 5.14: Resultados con SAD para un tamaño de 3x3, conjunto Teddy

48 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 65: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.15: Resultados con SAD para un tamaño de 5x5, conjunto Teddy

% error Error medioTeddy Cones Teddy Cones

Tamaño 3x3 46,48 40,99 13,57 12,26Tamaño 5x5 46,33 40,74 12,88 11,38

Cuadro 5.9: Resultados con SAD

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 49

Page 66: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Suma de Diferencias Cuadráticas

Figura 5.16: Resultados con SSD para un tamaño de 3x3, conjunto Cones

Figura 5.17: Resultados con SSD para un tamaño 5x5, conjunto Cones

50 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 67: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.18: Resultados con SSD para un tamaño de 3x3, conjunto Teddy

Figura 5.19: Resultados con SSD para un tamaño de 5x5, conjunto Teddy

% error Error medioTeddy Cones Teddy Cones

Tamaño 3x3 45,89 40,59 11,99 11,85Tamaño 5x5 44,87 39,05 11,14 12,18

Cuadro 5.10: Resultados con SSD

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 51

Page 68: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Correlación Cruzada Normalizada

Figura 5.20: Resultados con CNN para un tamaño de 3x3, conjunto Cones

Figura 5.21: Resultados con CNN para un tamaño 5x5, conjunto Cones

52 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 69: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Figura 5.22: Resultados con CNN para un tamaño de 3x3, conjunto Teddy

Figura 5.23: Resultados con CNN para un tamaño de 5x5, conjunto Teddy

% error Error medioTeddy Cones Teddy Cones

Tamaño 3x3 34,03 35,53 7,83 9,17Tamaño 5x5 34,07 35,32 7,76 9,99

Cuadro 5.11: Resultados con CNN

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 53

Page 70: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

5.2.2. Pruebas con el método de Birchfield

Figura 5.24: Resultados con Birchfield, conjunto Cones

Figura 5.25: Resultados con Birchfield, conjunto Teddy

% error Error medioTeddy Cones Teddy Cones

Tamaño 3x3 21,4 25,55 5,11 5,98

Cuadro 5.12: Resultados con Birchfield

54 CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS

Page 71: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

5.3. Comparativa de resultados con el estado del arte

Los resultados obtenidos con los algoritmos de cálculo utilizados difieren mucho del actualestado del arte. En el sitio web citado anteriormente, http://vision.middlebury.edu/stereo, existeuna relación de los algoritmos que obtienen mejores resultados en conjuntos de imágenes comolos utilizados en este estudio. En el se puede apreciar que los mejores algoritmos dan un 7-8% deerror en los conjuntos de imágenes aquí utilizados, tomando, dependiendo del algoritmo, entre 20y 30 segundos por cada par de imágenes. Si bajamos en la lista de resultados proporcionados porMiddlebury, encontramos algoritmos que sí consiguen una velocidad de tiempo real, obteniendoresultados de entre 13 y 28% píxeles erróneos, lo cual es consistente con los resultados obtenidosen este proyecto.

CAPÍTULO 5. EXPERIMENTOS REALIZADOS Y RESULTADOS 55

Page 72: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 73: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

6Conclusiones y trabajo futuro

En este capítulo se van a desarrollar las conclusiones a las que se han llegado sobre losobjetivos que se plantearon en la introducción del presente documento. Así mismo se sugierenposibles líneas de investigación para la mejora de este proyecto y para trabajos futuros.

La bondad de cada uno de los métodos de cálculo de disparidad utilizados se medirá enfunción del tiempo de cálculo y de la precisión obtenida.

6.1. Conclusiones sobre los sistemas físicos

Como se vió en el capítulo 4, de los dos sistemas físicos de los que partíamos, solo es viablela aplicación del proyecto sobre las cámaras IP, ya que el sistema Firewire necesitaría que laescena fuese grabada a mucha más distancia de la que es posible. Además de esto, el sistemaformado por cámaras IP presenta mucha flexibilidad, ya que, como se comentó en su momento,es un sistema móvil y regulable. Ésto es, nos permite grabar distintas escenas, así como modificarla distancia existente entre las cámaras, con lo que variaríamos entre qué distancias desde lascámaras el sistema es capaz de calcular la disparidad.

También hay que mencionar la posibilidad de añadir más cámaras al sistema de captura,y contar con más imágenes para el cálculo de la disparidad. Esto conllevará, por una parte unincremento notable del tiempo de cálculo, al añadir una línea epipolar más en la que buscarcorrespondencias para cada punto. Por otra parte, también dispondremos de más informaciónpara el cálculo de correspondencias, así como la posibilidad de obtener en la nueva imageninformación sobre objetos ocluidos en alguna de las dos imágenes originales, lo cual mejorará laprecisión de el mapa de disparidad, sobre todo en los bordes de los objetos cercanos.

57

Page 74: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

6.2. Conclusiones sobre la restricción temporal

El nivel de sincronización temporal entre los instantes de captura obtenido, mejor a 1ms, essuficiente para los objetivos de este proyecto, pero no se ha comprobado su funcionamiento frentea escenas a alta velocidad. Si un estudio sobre el sistema de captura en estas circustancias producediferencias en las capturas, se deberá añadir al mismo algún método de disparo sincronizado.

Los método de disparo que podrán utilizarse dependerán de los elementos utilizados. Parapoder usar en método de disparo por software es necesario que la tarjeta capturadora que utilizael PC sea compatible con esta característica; para un método de disparo hardware necesitamosque las cámaras tengan las conexiones necesarias. En nuestro caso, únicamente sería posible lainclusión de ésta última.

6.3. Conclusiones sobre la restricción de alineación

La precisión de la alineación epipolar está directamente relacionada con la precisión delsistema de calibración del que disponemos. Como se puede ver en las conclusiones expuestas en[3], la precisión del sistema de calibración es fiable, pero mejorable según las líneas de trabajofuturo propuestas. Entre ellas es destacable la utilización de un detector de esquinas de Harris uotro proceso de extracción de características fiable, a fin de reducir la aleatoriedad en el procesode marcado manual de las esquinas.

Otra línea de mejora concerniente a éste punto sería, partiendo de un sistema de calibracióndado, introducirlo como un paso opcional al iniciar el sistema; de manera que tengamos todaslas herramientas necesarias para la estereovisión integradas. Utilizando el método de calibraciónde Javier García Ocón necesitaríamos primeramente pasar el algoritmo a código C++.

6.4. Conclusiones sobre el cálculo de disparidad mediante bús-queda por bloques

De los resultados obtenidos en el capítulo anterior se pueden extraer varias conclusionesválidas para los tres algoritmos de cálculo utilizados. La primera de ellas es la escasa velocidadalcanzada, siendo en el mejor de los casos, inferior a los 10 fps. Estos resultados pueden mejorarsemediante la inclusión en el algoritmo de una matriz en la que almacenar los resultados de lasoperaciones entre las imágenes, de manera que no se realice varias veces la misma operación.

También hay que señalar los problemas que presenta este método para tratar con grandessuperficies, ya sean lisas o presentes brillos o cambios de color. Se puede apreciar este efectoen el caso mostrado en el capítulo anterior evaluando la puerta y la superficie de pared de laparte inferior de la imagen. Parte de estos errores vienen dados por la diferencia de intensidadentre píxeles correspondientes, ya que han sido grabados con distintas cámaras. Esta situaciónes subsanada en el método de Correlación Cruzada Normalizada, pero no así en los otros dos.Para paliar esta situación sería necesaria una igualación de los niveles de gris de las imágenes,que resultaría en una mejora del resultado, pero en un empeoramiento del tiempo de cálculo.

6.4.1. Suma de Diferencias Absolutas

De los tres algoritmos de cálculo estudiados dentro del método de búsqueda por bloques,este es el que obtiene mejor rendimiento temporal, pero menor precisión en el resultado. La

58 CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO

Page 75: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

diferencia entre los dos tamaños de ventana de cálculo no es apreciable, ya que mejora ciertaszonas mientras que empeora otras. Aún así, la utilización de este método es poco recomendable,ya que genera grandes zonas con una disparidad errónea.

6.4.2. Suma de Diferencias Cuadráticas

Este algoritmo mejora ligeramente los resultados obtenidos por el anterior, disminuyendoen gran medida la velocidad final del sistema. Este método genera menos zonas de disparidaderrónea, y más pequeñas, pero el empeoramiento que conlleva en velocidad de cálculo lo hacenpoco adecuado.

6.4.3. Correlación Cruzada Normalizada

Los resultados obtenidos mediante este algoritmo mejora sensiblemente los obtenidos me-diante Suma de Diferencias Cuadráticas, incrementando notablemente el tiempo de cálculo.

Como se ha visto, colocándonos en el equilibrio entre precisión y velocidad de cálculo entrelos métodos de búsqueda por bloque, en caso de necesitar más el primero, nos decantaremos porel método de Correlación Cruzada Normalizada, que ofrece sin duda los mejores resultados delos tres. En caso de primar la velocidad de cálculo elegiremos la Suma de Diferencias Absolutas.

6.5. Conclusiones sobre el cálculo de disparidad mediante el mé-todo de Birchfield

La primero que hay que destacar del método de cálculo de disparidad mediante el método deBirchfield es la aproximación bajo ciertas circunstancias a la velocidad aceptada como tiemporeal, 25 fps. De los métodos probados, es el que mayor velocidad nos proporciona, duplicando losresultados obtenidos con él método más rápido de búsqueda por bloques. Respecto a la precisión,los mejores resultados de todos los algoritmos vistos, estando los errores concentrados en la zonaizquierda de la imaagen, en la cual éste algoritmo no puede obtener buenos resultados.

También hay que señalar que varios de los errores de este método pueden subsanarse opaliarse en cierta medida mediante la variación de forma empírica de los parámetros de cálculo,pudiendo adaptar el método a la escena que se esté grabando en ese momento.

Comparando este método con los expuestos anteriormente, vemos que nos aporta los mejoresresultados con mayor velocidad, es por ello que la elección de este método para el cálculo de ladisparidad es la más recomendable.

CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO 59

Page 76: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.
Page 77: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Bibliografía

[1] Alessandro Verri Andrea Fusiello, Emamuele Trucco. A compact algorithm for rectificationof stereo pairs. Springer-Verlag, 2000.

[2] Stan Birchfield y Carlo Tomasi. Depth discontinuities by pixel-to-pixel stereo. InternationalJournal of Computer Vision, pages 269–293, 1999.

[3] Javier García Ocón. Autocalibración y sincronización de múltiples cámaras PTZ. PhDthesis, Universidad Autónoma de Madrid, Mayo 2007.

[4] Andrew Zisserman Richard Hartley. Multiple View Geometry in Computer Vision. Cam-bridge University Press, 2003.

[5] Olivier Faugeras y Quang-Tuan Luong. The geometry of multiples images. MIT Press, 2001.

[6] Olivier Faugeras. Three-dimensional computer vision: a geometric viewpoint. MIT Press,1993.

[7] Yao Wang, Jörn Osteermann, and Ya-Qin Zhang. Video Processing and comunications.Prentice-Hall, 2001.

[8] Gary Bradski y Adrian Kaehler. Learning Opencv. O’Reilly Media, 2008.

[9] D. Scharstein and R. Szeliski. High-accuracy stereo depth maps using structured light.IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 1:195–202, Junio 2003.

[10] Z. Zhang. A flexible new technique for camera calibration. IEEE Transactions on PatternAnalysis ans Machine Intelligence, 2000.

61

Page 78: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

62 BIBLIOGRAFÍA

Page 79: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

APresupuesto

1) Ejecución Material

Compra de ordenador personal (Software incluido) 2.200 ¤

Alquiler cámaras IP 880 ¤

Alquiler cámaras Firewire 720 ¤

Alquiler de impresora láser durante 6 meses 280 ¤

Material de oficina 130 ¤

Total de ejecución material 4.210 ¤

2) Gastos generales

sobre Ejecución Material 478 ¤

3) Beneficio Industrial

sobre Ejecución Material 209 ¤

4) Honorarios Proyecto

1800 horas a 15 ¤/ hora 27000 ¤

5) Material fungible

Gastos de impresión 280 ¤

Encuadernación 200 ¤

6) Subtotal del presupuesto

Subtotal Presupuesto 32.377 ¤

7) I.V.A. aplicable

16% Subtotal Presupuesto 5.180,32 ¤

8) Total presupuesto

Total Presupuesto 37.557,32 ¤

63

Page 80: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

Madrid, JULIO 2010

El Ingeniero Jefe de Proyecto

Fdo.: Alberto Garzón Leo

Ingeniero Superior de Telecomunicación

64 APÉNDICE A. PRESUPUESTO

Page 81: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

BPliego de condiciones

Pliego de condiciones

Este documento contiene las condiciones legales que guiarán la realización, en este proyecto,de un Desarrollo de herramientas de apoyo a la estereovisión. En lo que sigue, se supondrá queel proyecto ha sido encargado por una empresa cliente a una empresa consultora con la finalidadde realizar dicho sistema. Dicha empresa ha debido desarrollar una línea de investigación conobjeto de elaborar el proyecto. Esta línea de investigación, junto con el posterior desarrollo delos programas está amparada por las condiciones particulares del siguiente pliego.

Supuesto que la utilización industrial de los métodos recogidos en el presente proyecto hasido decidida por parte de la empresa cliente o de otras, la obra a realizar se regulará por lassiguientes:

Condiciones generales.

1. La modalidad de contratación será el concurso. La adjudicación se hará, por tanto, a laproposición más favorable sin atender exclusivamente al valor económico, dependiendo delas mayores garantías ofrecidas. La empresa que somete el proyecto a concurso se reservael derecho a declararlo desierto.

2. El montaje y mecanización completa de los equipos que intervengan será realizado total-mente por la empresa licitadora.

3. En la oferta, se hará constar el precio total por el que se compromete a realizar la obray el tanto por ciento de baja que supone este precio en relación con un importe límite sieste se hubiera fijado.

4. La obra se realizará bajo la dirección técnica de un Ingeniero Superior de Telecomunicación,auxiliado por el número de Ingenieros Técnicos y Programadores que se estime preciso parael desarrollo de la misma.

5. Aparte del Ingeniero Director, el contratista tendrá derecho a contratar al resto del per-sonal, pudiendo ceder esta prerrogativa a favor del Ingeniero Director, quien no estaráobligado a aceptarla.

65

Page 82: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

6. El contratista tiene derecho a sacar copias a su costa de los planos, pliego de condiciones ypresupuestos. El Ingeniero autor del proyecto autorizará con su firma las copias solicitadaspor el contratista después de confrontarlas.

7. Se abonará al contratista la obra que realmente ejecute con sujeción al proyecto que sirvióde base para la contratación, a las modificaciones autorizadas por la superioridad o a lasórdenes que con arreglo a sus facultades le hayan comunicado por escrito al IngenieroDirector de obras siempre que dicha obra se haya ajustado a los preceptos de los pliegosde condiciones, con arreglo a los cuales, se harán las modificaciones y la valoración de lasdiversas unidades sin que el importe total pueda exceder de los presupuestos aprobados. Porconsiguiente, el número de unidades que se consignan en el proyecto o en el presupuesto,no podrá servirle de fundamento para entablar reclamaciones de ninguna clase, salvo enlos casos de rescisión.

8. Tanto en las certificaciones de obras como en la liquidación final, se abonarán los trabajosrealizados por el contratista a los precios de ejecución material que figuran en el presupuestopara cada unidad de la obra.

9. Si excepcionalmente se hubiera ejecutado algún trabajo que no se ajustase a las condicionesde la contrata pero que sin embargo es admisible a juicio del Ingeniero Director de obras, sedará conocimiento a la Dirección, proponiendo a la vez la rebaja de precios que el Ingenieroestime justa y si la Dirección resolviera aceptar la obra, quedará el contratista obligado aconformarse con la rebaja acordada.

10. Cuando se juzgue necesario emplear materiales o ejecutar obras que no figuren en el pre-supuesto de la contrata, se evaluará su importe a los precios asignados a otras obras omateriales análogos si los hubiere y cuando no, se discutirán entre el Ingeniero Director yel contratista, sometiéndolos a la aprobación de la Dirección. Los nuevos precios convenidospor uno u otro procedimiento, se sujetarán siempre al establecido en el punto anterior.

11. Cuando el contratista, con autorización del Ingeniero Director de obras, emplee materialesde calidad más elevada o de mayores dimensiones de lo estipulado en el proyecto, o sustituyauna clase de fabricación por otra que tenga asignado mayor precio o ejecute con mayoresdimensiones cualquier otra parte de las obras, o en general, introduzca en ellas cualquiermodificación que sea beneficiosa a juicio del Ingeniero Director de obras, no tendrá derechosin embargo, sino a lo que le correspondería si hubiera realizado la obra con estricta sujecióna lo proyectado y contratado.

12. Las cantidades calculadas para obras accesorias, aunque figuren por partida alzada en elpresupuesto final (general), no serán abonadas sino a los precios de la contrata, según lascondiciones de la misma y los proyectos particulares que para ellas se formen, o en sudefecto, por lo que resulte de su medición final.

13. El contratista queda obligado a abonar al Ingeniero autor del proyecto y director de obrasasí como a los Ingenieros Técnicos, el importe de sus respectivos honorarios facultativospor formación del proyecto, dirección técnica y administración en su caso, con arreglo alas tarifas y honorarios vigentes.

14. Concluida la ejecución de la obra, será reconocida por el Ingeniero Director que a tal efectodesigne la empresa.

15. La garantía definitiva será del 4

16. La forma de pago será por certificaciones mensuales de la obra ejecutada, de acuerdo conlos precios del presupuesto, deducida la baja si la hubiera.

17. La fecha de comienzo de las obras será a partir de los 15 días naturales del replanteo oficialde las mismas y la definitiva, al año de haber ejecutado la provisional, procediéndose si noexiste reclamación alguna, a la reclamación de la fianza.

66 APÉNDICE B. PLIEGO DE CONDICIONES

Page 83: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

18. Si el contratista al efectuar el replanteo, observase algún error en el proyecto, deberácomunicarlo en el plazo de quince días al Ingeniero Director de obras, pues transcurridoese plazo será responsable de la exactitud del proyecto.

19. El contratista está obligado a designar una persona responsable que se entenderá con elIngeniero Director de obras, o con el delegado que éste designe, para todo relacionadocon ella. Al ser el Ingeniero Director de obras el que interpreta el proyecto, el contratistadeberá consultarle cualquier duda que surja en su realización.

20. Durante la realización de la obra, se girarán visitas de inspección por personal facultativode la empresa cliente, para hacer las comprobaciones que se crean oportunas. Es obligacióndel contratista, la conservación de la obra ya ejecutada hasta la recepción de la misma,por lo que el deterioro parcial o total de ella, aunque sea por agentes atmosféricos u otrascausas, deberá ser reparado o reconstruido por su cuenta.

21. El contratista, deberá realizar la obra en el plazo mencionado a partir de la fecha delcontrato, incurriendo en multa, por retraso de la ejecución siempre que éste no sea debidoa causas de fuerza mayor. A la terminación de la obra, se hará una recepción provisionalprevio reconocimiento y examen por la dirección técnica, el depositario de efectos, el inter-ventor y el jefe de servicio o un representante, estampando su conformidad el contratista.

22. Hecha la recepción provisional, se certificará al contratista el resto de la obra, reservándosela administración el importe de los gastos de conservación de la misma hasta su recepcióndefinitiva y la fianza durante el tiempo señalado como plazo de garantía. La recepcióndefinitiva se hará en las mismas condiciones que la provisional, extendiéndose el actacorrespondiente. El Director Técnico propondrá a la Junta Económica la devolución de lafianza al contratista de acuerdo con las condiciones económicas legales establecidas.

23. Las tarifas para la determinación de honorarios, reguladas por orden de la Presidenciadel Gobierno el 19 de Octubre de 1961, se aplicarán sobre el denominado en la actualidad"Presupuesto de Ejecución de Contrata 2anteriormente llamado "Presupuesto de EjecuciónMaterial"que hoy designa otro concepto.

Condiciones particulares.

La empresa consultora, que ha desarrollado el presente proyecto, lo entregará a la empresacliente bajo las condiciones generales ya formuladas, debiendo añadirse las siguientes condicionesparticulares:

1. La propiedad intelectual de los procesos descritos y analizados en el presente trabajo,pertenece por entero a la empresa consultora representada por el Ingeniero Director delProyecto.

2. La empresa consultora se reserva el derecho a la utilización total o parcial de los resultadosde la investigación realizada para desarrollar el siguiente proyecto, bien para su publicacióno bien para su uso en trabajos o proyectos posteriores, para la misma empresa cliente opara otra.

3. Cualquier tipo de reproducción aparte de las reseñadas en las condiciones generales, biensea para uso particular de la empresa cliente, o para cualquier otra aplicación, contarácon autorización expresa y por escrito del Ingeniero Director del Proyecto, que actuará enrepresentación de la empresa consultora.

4. En la autorización se ha de hacer constar la aplicación a que se destinan sus reproduccionesasí como su cantidad.

APÉNDICE B. PLIEGO DE CONDICIONES 67

Page 84: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

Desarrollo de herramientas de apoyo a la estereovisión

5. En todas las reproducciones se indicará su procedencia, explicitando el nombre del pro-yecto, nombre del Ingeniero Director y de la empresa consultora.

6. Si el proyecto pasa la etapa de desarrollo, cualquier modificación que se realice sobre él,deberá ser notificada al Ingeniero Director del Proyecto y a criterio de éste, la empresaconsultora decidirá aceptar o no la modificación propuesta.

7. Si la modificación se acepta, la empresa consultora se hará responsable al mismo nivel queel proyecto inicial del que resulta el añadirla.

8. Si la modificación no es aceptada, por el contrario, la empresa consultora declinará todaresponsabilidad que se derive de la aplicación o influencia de la misma.

9. Si la empresa cliente decide desarrollar industrialmente uno o varios productos en los queresulte parcial o totalmente aplicable el estudio de este proyecto, deberá comunicarlo a laempresa consultora.

10. La empresa consultora no se responsabiliza de los efectos laterales que se puedan produ-cir en el momento en que se utilice la herramienta objeto del presente proyecto para larealización de otras aplicaciones.

11. La empresa consultora tendrá prioridad respecto a otras en la elaboración de los proyectosauxiliares que fuese necesario desarrollar para dicha aplicación industrial, siempre queno haga explícita renuncia a este hecho. En este caso, deberá autorizar expresamente losproyectos presentados por otros.

12. El Ingeniero Director del presente proyecto, será el responsable de la dirección de la apli-cación industrial siempre que la empresa consultora lo estime oportuno. En caso contrario,la persona designada deberá contar con la autorización del mismo, quien delegará en él lasresponsabilidades que ostente.

68 APÉNDICE B. PLIEGO DE CONDICIONES

Page 85: DESARROLLO DE HERRAMIENTAS DE APOYO A LA ESTEREOVISIÓNarantxa.ii.uam.es/~jms/pfcsteleco/lecturas/20100707AlbertoGarzon.pdf · pacientemente en mis preguntas y problemas de novato.

CManual de utilización

1. Colocar el archivo de configuración config.ini y el archivo con las matrices de rectificadoMatrices.txt en la misma carpeta en la que esté el ejecutable.

2. Ejecutar por línea de comandos según el método

-Bloques D:\u\agl\800x600.dcf 100 3 1 Los parámetros se corresponden a el archivo deconfiguración de las cámaras, la disparidad máxima, el tamaño de la ventana de cálculo y elmétodo de obtención de la disparidad (1-SAD, 2-SSD, 3-NCC)

-Birchfield D:\u\agl\800x600.dcf 100 25 5 12 15 25 Los parámetros se corresponden a elarchivo de configuración de las cámaras, la disparidad máxima, y los cinco parámetros de cálculodel algoritmo de Birchfield.

3. Una vez esté el programa en funcionamiento, al hacer click sobre la imagen de disparidad,se mostrará por la ventana de comandos las coordenadas pixel del punto marcado, así como sudistancia a las cámaras expresada en milímetros.

69