FinePrint pdfFactory Pro, Job 2 - Universidad de Castilla
Transcripción
FinePrint pdfFactory Pro, Job 2 - Universidad de Castilla
Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Indice Indice de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Indice de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Nomenclator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Introducción General y Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv 1. Conceptos y Técnicas en Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1. Aspectos Psicológicos de la Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1. Psicología de la Visión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2. Psicología de la Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Fisiología de la Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1. Entrada de Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1.1. Análisis de Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.1.2. Respuesta ante Imágenes Estáticas . . . . . . . . . . . . . . . . 7 1.2.2. Movimiento y Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.2.2.1. Análisis Biológico del Movimiento . . . . . . . . . . . . . . . . 9 1.2.3. Separación de Hemicampos Visuales . . . . . . . . . . . . . . . . . . . . . 12 1.2.4. Integración Binocular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2.5. Análisis de Disparidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.5.1. Análisis Clásico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.2.5.2. Análisis Mediante Integración Visiomotora . . . . . . . . 15 1.2.5.3. Acople del Análisis Basado en Integración Visiomotora con el Análisis Clásico . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.2.6. Procesamientos de Nivel Superior . . . . . . . . . . . . . . . . . . . . . . . 17 1.2.6.1. Atención Visual Selectiva . . . . . . . . . . . . . . . . . . . . . . 17 1.2.6.2. Aprendizaje y Memoria . . . . . . . . . . . . . . . . . . . . . . . . 19 1.3. Conceptos Básicos de Estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.3.1. Estructura de un Sistema Estereoscópico . . . . . . . . . . . . . . . . . . 20 1.3.2. Captación de las Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.3.3. Imagen Digital: Representación y Procesamiento . . . . . . . . . . . 21 1.3.3.1. Representación de la Imagen Digital . . . . . . . . . . . . . . 22 1.3.3.2. La Imagen Digital en el Dominio de la Frecuencia . . . 23 i Indice 1.3.3.3. Procesamiento de Imágenes Digitales . . . . . . . . . . . . . 24 1.3.4. Análisis Geométrico y Calibración . . . . . . . . . . . . . . . . . . . . . . 25 1.3.4.1. Plano y Líneas Epipolares . . . . . . . . . . . . . . . . . . . . . . 26 1.3.4.2. Geometría de Cámaras Paralelas . . . . . . . . . . . . . . . . . 28 1.3.4.3. Geometría de Cámaras Convergentes y Rectificado . . 30 1.3.4.4. Calibración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1.3.5. Primitivas de Correspondencia . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.3.6. Restricciones a las Correspondencias . . . . . . . . . . . . . . . . . . . . 35 1.3.6.1. Restricción Epipolar . . . . . . . . . . . . . . . . . . . . . . . . . . 36 1.3.6.2. Restricción de Unicidad . . . . . . . . . . . . . . . . . . . . . . . 36 1.3.6.3. Restricción de Ordenamiento . . . . . . . . . . . . . . . . . . . 36 1.3.6.4. Restricción de disparidad . . . . . . . . . . . . . . . . . . . . . . 38 1.3.6.5. Restricción del Gradiente de Disparidad . . . . . . . . . . 38 1.3.6.6. Otras Restricciones Geométricas . . . . . . . . . . . . . . . . 40 1.4. Técnicas de Correspondencia Utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.4.1. Técnicas Basadas en la Correlación . . . . . . . . . . . . . . . . . . . . . . 44 1.4.1.1. El Principio General de las Técnicas de Correlación . 45 1.4.1.2. Algoritmo de Nishihara . . . . . . . . . . . . . . . . . . . . . . . . 46 1.4.1.3. Función de Similitud Basada en la Suma de Diferencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.4.2. Funciones basadas en Rango y Censo . . . . . . . . . . . . . . . . . . . . 47 1.4.3. Técnicas de Relajación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 1.4.3.1. El algoritmo de Marr-Poggio. . . . . . . . . . . . . . . . . . . . 50 1.4.3.2. El Algoritmo de Pollard, Mayhew, Frisby . . . . . . . . . 51 1.4.3.3. Técnicas de Grueso a Fino . . . . . . . . . . . . . . . . . . . . . 52 1.4.4. Métodos Basados en el Gradiente . . . . . . . . . . . . . . . . . . . . . . . 52 1.4.5. Correspondencias entre Características . . . . . . . . . . . . . . . . . . . 53 1.4.6. Técnicas de Programación Dinámica . . . . . . . . . . . . . . . . . . . . . 53 1.4.7. Técnica de las Curvas Íntimas . . . . . . . . . . . . . . . . . . . . . . . . . . 55 1.4.8. Métodos de Predicción y Verificación . . . . . . . . . . . . . . . . . . . . 56 1.4.8.1. Construcción de Descripciones Simbólicas . . . . . . . . 57 1.4.8.2. Definición de Correspondencias . . . . . . . . . . . . . . . . . 57 1.4.9. Métodos Basados en Diferencias de Fase . . . . . . . . . . . . . . . . . 58 1.5. Tratamiento de las Oclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 1.5.1. Métodos de Detección de Oclusiones . . . . . . . . . . . . . . . . . . . . 60 1.5.2. Métodos para Reducir la Sensibilidad a las Oclusiones . . . . . . 61 1.5.3. Métodos para Modelar la Geometría de las Oclusiones . . . . . . 61 ii Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.6. Técnicas que Relacionan Estereopsis con Movimiento . . . . . . . . . . . . . . 1.6.1. Técnicas de “Estructura desde el Movimiento” . . . . . . . . . . . . . 1.6.2. Estéreo Convencional a Partir del Movimiento . . . . . . . . . . . . . 1.6.3. Restricción de Disparidad Dinámica . . . . . . . . . . . . . . . . . . . . . 1.7. Aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 65 65 66 67 2. El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 2.1. Modelado del Conocimiento al Nivel de Conocimiento [Mir04] . . . . . . . 69 2.2. La Visión Estereoscópica Dinámica como Sistema Basado en Conocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.3. El Efecto de Permanencia en el Nivel Físico [Mir03b] . . . . . . . . . . . . . . . 73 2.4. El Efecto de Permanencia al Nivel de los Símbolos (Reglas) . . . . . . . . . . 77 2.5. El Efecto de Permanencia como Método a Nivel de Conocimiento en la Tarea de Visión Estereoscópica Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 2.5.1. Esquema Inferencial del Efecto de Permanencia . . . . . . . . . . . . 80 2.5.2. Aplicación a la Tarea de Visión Estereoscópica Dinámica . . . . 82 2.5.2.1. Aspectos Generales del Método . . . . . . . . . . . . . . . . . 83 2.5.2.2. Aspectos Específicos del Método . . . . . . . . . . . . . . . . 86 2.6. Conclusiones al Modelado de la Tarea de Visión Estereoscópica Dinámica al Nivel de Conocimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 3. El Modelo de Disparidad de Carga como Método de Solución de Problemas para el Análisis Estéreo del Movimiento 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.1. Descripción General del Modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 3.2. Descripción Detallada de las Subtareas . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 3.2.1. Digitalización del Par Estéreo de Secuencias . . . . . . . . . . . . . . . 95 3.2.2. Obtención del Mapa de Carga 2D . . . . . . . . . . . . . . . . . . . . . . 100 3.2.2.1. Segmentación en Bandas de Niveles de Gris . . . . . . 103 3.2.2.2. Detección de Movimiento (Permanencia) . . . . . . . . . 107 3.2.2.3. Separación de Hemicampos Visuales . . . . . . . . . . . . 114 3.2.3. Análisis de la Disparidad de Carga . . . . . . . . . . . . . . . . . . . . . . 116 3.2.3.1. Análisis de Correspondencias de Carga . . . . . . . . . . 119 3.2.3.2. Obtención del Mapa de Profundidad 3D. . . . . . . . . . 130 3.2.4. Obtención del Mapa de Carga 3D . . . . . . . . . . . . . . . . . . 132 3.2.5. Obtención del Movimiento 3D . . . . . . . . . . . . . . . . . . . . . . . . . 137 iii Indice 4. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1. Entorno de Trabajo y Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Modos de Representación de los Resultados . . . . . . . . . . . . . . . . . . . . . 4.3. Estimación de Profundidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1. Secuencia 1: Elemento Próximo . . . . . . . . . . . . . . . . . . . . . . . 4.3.2. Secuencia 2: Elemento Lejano . . . . . . . . . . . . . . . . . . . . . . . . . 4.4. Detección de Movimiento en la Profundidad . . . . . . . . . . . . . . . . . . . . . 4.4.1. Secuencia 3: Movimiento de Vaivén . . . . . . . . . . . . . . . . . . . . 4.4.2. Secuencia 4: Objetos Acercándose . . . . . . . . . . . . . . . . . . . . . 4.4.3. Secuencia 5: Objetos Acercándose y Alejándose . . . . . . . . . . 4.5. Filtrado de Objetos Estáticos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.5.1. Secuencia 6: Objetos Estáticos y Acercándose . . . . . . . . . . . . 4.6. Profundidad en Secuencias Reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1. Secuencia 7: IndoorZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.2. Secuencia 8: OutdoorZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.7. Navegación Autónoma Basada en la Profundidad . . . . . . . . . . . . . . . . . 4.7.1. Secuencia 9: Análisis del Entorno 3D Mediante Giros . . . . . . 4.7.2. Secuencia 10: Deambulación Autónoma . . . . . . . . . . . . . . . . . 4.8. Análisis de Velocidad en la Profundidad . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1. Secuencias Sintéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.1.1. Detección de Objetos que se Acercan y se Alejan . . 4.8.2. Secuencias Reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.8.2.1. Secuencia IndoorZoom . . . . . . . . . . . . . . . . . . . . . . . 4.8.2.2. Secuencia OutdoorZoom . . . . . . . . . . . . . . . . . . . . . . 4.9. Conclusiones de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 144 144 145 146 148 150 151 154 159 163 163 165 165 170 175 176 179 182 182 182 186 186 189 190 5. Discusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2. Comparación con Otros Métodos Utilizados . . . . . . . . . . . . . . . . . . . . . 5.2.1. Primitivas de Correspondencia . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2. Restricciones a las Correspondencias . . . . . . . . . . . . . . . . . . . 5.2.3. Técnicas de Correspondencia . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.4. Tratamiento de las Oclusiones . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.5. Técnicas Relacionadas con el Movimiento . . . . . . . . . . . . . . . 5.3. Aspectos Biológicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 193 195 195 199 199 200 201 201 iv Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 6. Conclusiones y Aportaciones Realizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 7. Bibliografía y Enlaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 7.2. Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 7.3. Enlaces Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 v Indice vi Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Indice de Figuras Figura 1. Esquema general del modelo propuesto. . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Figura 2. Estereovisión basada en la forma o en el movimiento . . . . . . . . . . . . . . . . . xx Figura 1.1. Estructura de un sistema de estereovisión por ordenador . . . . . . . . . . . . . 20 Figura 1.2. Representación en unidades logarítmicas de una imagen en el dominio de la frecuencia entre las frecuencias 0 y 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Figura 1.3. En los operadores puntuales cada píxel de la imagen de salida depende de un sólo píxel de la entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 Figura 1.4. Geometría estereo: Marco de referencia y sistemas de referencia de las cámaras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Figura 1.5. Restricción epipolar. Se representan el plano epipolar correspondiente al punto M de la escena y las lineas epipolares correspondientes. . . . . . . . . . . . . . . . . . . . . . . . 27 Figura 1.6. Geometría en el plano epipolar para cámaras paralelas. . . . . . . . . . . . . . . 29 Figura 1.7. Rectificación de planos retinales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Figura 1.8. Restricción de ordenamiento. Zona prohibida. . . . . . . . . . . . . . . . . . . . . . 37 Figura 1.9. Disparidad en geometría de cámaras paralelas. . . . . . . . . . . . . . . . . . . . . . 38 Figura 1.10. Definición del gradiente de disparidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Figura 1.11. Forma general de la función de correlación. . . . . . . . . . . . . . . . . . . . . . . 46 Figura 1.12. Cubo de correlaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Figura 1.13. Regiones excitatoria e inhibitoria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Figura 1.14. Técnicas de programación dinámica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Figura 2.1. Tarea de Visión Estereoscópica Dinámica . . . . . . . . . . . . . . . . . . . . . . . . . 72 Figura 2.2. Arquitectura de un modelo computacional de efecto de permanencia . . . . 75 Figura 2.3. Ilustración del modelo usado para el caso sencillo de una umbralización binaria de una imagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 Figura 2.4. Instanciación del efecto de permanencia para el uso de detección de movimiento en la modalidad de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Figura 2.5. Representación gráfica de los roles implicados en el estudio de la profundidad a partir del efecto de permanencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Figura 2.6. Disparidad de estelas de permanencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 Figura 2.7. Procesamiento de líneas epipolares. Separación de hemicampos visuales derecho e izquierdo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 vii Indices Figura 3.1. Esquema funcional del modelo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . 92 Figura 3.2. Descomposición en subtareas de la tarea “Análisis Estéreo del Movimiento”. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Figura 3.3. Esquema de procesos de “Digitalización del Par Estéreo de Secuencias”. 96 Figura 3.4. Roles de la subtarea “Digitalización del Par Estéreo de Secuencias”. . . . 98 Figura 3.5. Cuatro fotogramas consecutivos de la secuencia “IndoorZoom” . . . . . . 100 Figura 3.6. Descomposición en subtareas de “Obtención del Mapa de Carga 2D”. . 101 Figura 3.7. Esquema de procesos de la “Obtención del Mapa de Carga 2D”. . . . . . . 102 Figura 3.8. Roles de la subtarea “Segmentación en Bandas de Niveles de Gris” . . . 103 Figura 3.9. Solape entre bandas de niveles de gris . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Figura 3.10. Esquema inferencial de “Clasificación en Bandas de Niveles de Gris” 106 Figura 3.11. Segmentación en bandas de niveles de gris: clasificación e integración 108 Figura 3.12. Roles asociados a la subtarea “Detección de movimiento”. . . . . . . . . . 109 Figura 3.13. Esquema inferencial de la detección de movimiento . . . . . . . . . . . . . . 110 Figura 3.14. Detección de movimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 Figura 3.15. Esquema inferencial de la “Obtención del Mapa de Carga 2D” . . . . . . 112 Figura 3.16. Efecto de permanencia aplicado a la detección de movimiento 2D . . . 114 Figura 3.17. Roles de la subtarea “Separaciónde Hemicampos Visuales” . . . . . . . . 115 Figura 3.18. Esquema inferencial de la “Separación de Hemicampos Visuales” . . . 116 Figura 3.19. Separación de hemicampos visuales . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 Figura 3.20. Descomposición en subtareas de “Análisis de Disparidad de Carga . . . 118 Figura 3.21. Esquema de procesos del “Análisis de Disparidad de Carga” . . . . . . . . 119 Figura 3.22. Roles asociados a la subtarea “Análisis de Correspondencias de Carga”. 120 Figura 3.23. Esquema inferencial del “Análisis de Correspondencias Puntuales . . . 122 Figura 3.24. Análisis de correspondencias a partir de los Mapas de Carga . . . . . . . . 123 Figura 3.25. Esquema inferencial del “Conteo Horizontal de Carga en Horizontal“ 124 Figura 3.26. Esquema inferencial de la “Homogeneización de Carga Horizontal” . . 126 Figura 3.27. Esquema inferencial de la “Acumulación de Carga Vertical” . . . . . . . . 127 Figura 3.28. Esquema inferencial de la “Homogeneización de Carga Vertical” . . . . 129 Figura 3.29. Roles asociados a la subtarea “Obtención del Mapa de Profundidad 3D” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 Figura 3.30. Obtención del Mapa de Profundidad a partir de las correspondencias . 131 Figura 3.31. Esquema de procesos de la “Obtención del Mapa de Carga 3D” . . . . . 132 Figura 3.32. Roles estáticos y dinámicos de la subtarea “Obtención del Mapa de Carga 3D” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Figura 3.33. Esquema inferencial de la Detección de Movimiento 3D . . . . . . . . . . . 134 Figura 3.34. Representación Gráfica de la Detección de Movimiento 3D . . . . . . . . 135 Figura 3.35. Esquema inferencial del Efecto de Permanencia 3D . . . . . . . . . . . . . . . 133 viii Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 3.36. Esquema de procesos de “Obtención del Movimiento 3D” . . . . . . . . . . 138 Figura 4.1. Representación en falso color del Mapa de Profundidad . . . . . . . . . . . . . 145 Figura 4.2. Representación del movimiento en el dirección z . . . . . . . . . . . . . . . . . . 145 Figura 4.3. Comparación de los Fotogramas 90 de las secuencias “Elemento Cercano” y “Elemento Lejano” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Figura 4.4. Escenario del ejemplo “Cubos” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Figura 4.5. Representación tridimensional del Mapa de Profundidad 3D obtenido de la secuencia “Cubos” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 Figura 4.6. Escena de “Objetos Acercándose” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Figura 4.7. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia “Objetos Acercándose” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158 Figura 4.8. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia “Objetos Acercándose y Alejándose” . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Figura 4.9. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia “Objetos Estáticos y Acercándose” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Figura 4.10. Escena “IndoorZoom”: fotograma 53 . . . . . . . . . . . . . . . . . . . . . . . . . . 166 Figura 4.11. Histograma de brillo del fotograma 53 de la escena “IndoorZoom” . . . 167 Figura 4.12. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia “IndoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169 Figura 4.13. Fotograma 211 de la secuencia “OutdoorZoom” . . . . . . . . . . . . . . . . . . 171 Figura 4.14. Histograma de brillo del fotograma 211 de la escena “OutdoorZoom” . 171 Figura 4.15. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia “OutdoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 Figura 4.16. Escenario del pasillo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 Figura 4.17. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia del pasillo en tramo de giro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 Figura 4.18. Representación tridimensional del Mapa de Profundidad obtenido de la secuencia del pasillo en tramo recto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 Figura 4.19. Representación tridimensional de la velocidad en la dirección z obtenidos de la secuencia “Objetos Acercándose y Alejándose” . . . . . . . . . . . . . . . . . . . . . . . . . . 185 Figura 4.20. Representación tridimensional de la velocidad en la dirección z obtenidos de la secuencia “IndoorZoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Figura 5.1. Dependencia del tamaño de la “región de disparidad constante” según la posición del elemento que inicia el análisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 ix Indices x Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Indice de Tablas Tabla 1.1. Referencias básicas relacionadas con la percepción visual biológica. . . . . 19 Tabla 1.2. Referencias de disciplinas transversales al modelo propuesto . . . . . . . . . . 25 Tabla 1.3. Resumen de primitivas de correspondencia. . . . . . . . . . . . . . . . . . . . . . . . . 35 Tabla 1.4. Resumen de restricciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Tabla 1.5. Referencias apropiadas para conceptos generales de estereovisión. . . . . . . 43 Tabla 1.6. Métodos de resolución de la estereovisión . . . . . . . . . . . . . . . . . . . . . . . . . 59 Tabla 1.7. Tratamiento de las oclusiones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Tabla 1.8. Resumen de técnicas orientadas al análisis estéreo estático. . . . . . . . . . . . . 64 Tabla 1.9. Métodos de estereovisión basados en el movimiento . . . . . . . . . . . . . . . . . 67 Tabla 1.10. Referencias de estereo basada en el movimiento. . . . . . . . . . . . . . . . . . . . 68 Tabla 4.1. Resultados de la secuencia “Elemento Próximo” . . . . . . . . . . . . . . . . . . . Tabla 4.2. Resultados de la secuencia “Elemento Lejano” . . . . . . . . . . . . . . . . . . . . Tabla 4.3. Resultados de la escena de los “Cubos” . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla 4.4. Resultados de la escena de los “Objetos Acercándose . . . . . . . . . . . . . . . Tabla 4.5. Resultados de la escena de los “Objetos Acercándose y Alejandose . . . . Tabla 4.6. Resultados de la escena de los “Objetos Estáticos y Acercándose . . . . . . Tabla 4.7. Resultados de la escena “IndoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla 4.8. Resultados de la escena “OutdoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . . Tabla 4.9. Resultados de la escena del pasillo: tramo esquina . . . . . . . . . . . . . . . . . . Tabla 4.10. Resultados de la escena del pasillo: tramo recto . . . . . . . . . . . . . . . . . . . Tabla 4.11. Resultados de la escena de los “Objetos Acercándose y Alejándose” . . Tabla 4.12. Resultados de la escena “IndoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . . . Tabla 4.13. Resultados de la escena “OutdoorZoom” . . . . . . . . . . . . . . . . . . . . . . . . 147 149 153 157 161 164 168 173 177 179 184 187 190 xi Indices xii Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Nomenclator x, y, z u, v ui, vi ud, vd B α d(u, v) δd ν F δz(d, δd) NB NGmin NGmax SB Hmax Vmax Dmax E(x, y, z, t) NG(u,v) NGi(ui,vi) NGd(ud,vd) BNG(u, v, t) BNGi(ui, vi, t) BNGd(ud, vd, t) MOV2(u, v, t) MOV2i(ui, vi, t) MOV2d(ud, vd, t) C2(u, v, t) C2i(ui, vi, t) C2d(ud, vd, t) C2min C2max C2des H2(u, v, t) Coordenadas del marco de referencia de la escena Coordenadas de un píxel en una imagen genérica Coordenadas de un píxel en el sist. de ref. de la imagen izquierda Coordenadas de un píxel en el sist. de ref. de la imagen derecha Línea base: distancia entre las cámaras Ángulo entre las cámaras (habitualmente α=0 - paralelas) Disparidad Disparidad mínima detectable: tamaño del píxel Frecuencia de captación de los fotogramas Distancia focal de las cámaras Resolución en profundidad Número de bandas de niveles de gris utilizadas para segmentar Nivel de gris mínimo: habitualmente NGmin=0 Nivel de gris máximo: habitualmente NGmax=255 Solape entre bandas Tamaño horizontal de los fotogramas Tamaño vertical de los fotogramas Disparidad máxima: restricción de disparidad Escena de entrada Nivel de gris de un píxel genérico Nivel de gris de un píxel de la imagen izquierda Nivel de gris de un píxel de la imagen derecha Banda de niveles de gris a la que pertenece un píxel genérico Banda de niveles de gris de un píxel de un fotograma izquierdo Banda de niveles de gris de un píxel de un fotograma derecho Mapa de movimiento 2D Mapa de movimiento 2D del hemicampo izquierdo Mapa de movimiento 2D del hemicampo derecho Mapa de carga 2D resultado del efecto de permanencia 2D Mapa de carga 2D de la secuencia izquierda Mapa de carga 2D de la secuencia derecha Valor mínimo de carga de los elementos de permanencia 2D Valor máximo de carga de los elementos de permanencia 2D Valor de descarga de los elementos de permanencia 2D Hemicampo visual genérico 2D xiii Indices H2i(ui, vi, t) H2d(ud, vd, t) H2ii(ui, vi, t) H2id(ud, vd, t) H2di(ui, vi, t) H2dd(ud, vd, t) S3(u, v, d, t) S3i(ui, vi, d, t) S3d(ud, vd, d, t) D3(u, v, t) D3i(ui, vi, t) D3d(ud, vd, t) MOV3(u, v, d, t) MOV3i(ui, vi, d, t) MOV3d(ud, vd, d, t) C3(u, v, d, t) C3i(ui, vi, d, t) C3d(ud, vd, d, t) C3min C3max C3des vx(x, y, z, t) vy(x, y, z, t) vz(x, y, z, t) xiv Hemicampo visual izquierdo 2D de un fotograma genérico Hemicampo visual derecho 2D de un fotograma genérico Hemicampo visual izquierdo 2D de un fotograma izquierdo Hemicampo visual izquierdo 2D de un fotograma derecho Hemicampo visual derecho 2D de un fotograma izquierdo Hemicampo visual derecho 2D de un fotograma derecho Mapa de correspondencias de carga 3D Mapa de correspondencias de carga 3D del hemicampo izquierdo Mapa de correspondencias de carga 3D del hemicampo derecho Mapa de profundidad 3D Mapa de profundidad 3D del hemicampo izquierdo Mapa de profundidad 3D del hemicampo derecho Mapa de movimiento 3D Mapa de movimiento 3D del hemicampo izquierdo Mapa de movimiento 3D del hemicampo derecho Mapa de carga 3D Mapa de carga 3D del hemicampo izquierdo Mapa de carga 3D del hemicampo derecho Valor mínimo de carga de los elementos de permanencia 3D Valor máximo de carga de los elementos de permanencia 3D Decremento de descarga de los elementos de permanencia 3D Velocidad en x de un elemento de la escena Velocidad en y de un elemento de la escena Velocidad en z de un elemento de la escena Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Introducción General y Resumen En esta tesis se propone una nueva alternativa que permite obtener, de forma continua, información tridimensional del movimiento en la escena, tomando como entrada al sistema una pareja de secuencias de imágenes estéreo, prolongadas en el tiempo de forma indefinida. La forma es importante en visión; pero también, el mundo en el que nos movemos es un mundo dinámico, además de tridimensional. A esta dinámica contribuyen, tanto nuestro propio movimiento, como el de los elementos que nos rodean. Quizá por ello, el movimiento juega un papel tan significativo en los procesos de visión. En la estereovisión biológica, sabemos que existe una vía en el sistema nervioso que asocia el movimiento y la estereovisión; sabemos también que en la periferia del foco de atención, el movimiento juega un papel incluso más importante que la forma en multitud de sistemas biológicos. Este hecho llega hasta tal punto que la mayoría de los animales excepto los homínidos superiores no son capaces de detectar mediante la visión objetos que permanecen estáticos; sólo son capaces de percibir objetos en movimiento; y sin embargo, se desenvuelven perfectamente en su entorno. Esta característica permanece todavía en la periferia del campo de visión de los humanos. En dicha periferia no somos capaces de percibir los objetos a menos que se muevan. No obstante, este problema se resuelve mediante un acto reflejo que orienta los ojos, e incluso el cuello, hacia el objeto de la visión periférica que se ha movido, y centrarlo en la retina. La parte central de la retina, la fóvea, además de ser la parte que posee una mayor resolución espacial, también es capaz de reconocer objetos estáticos. Sólo hay un pequeño matiz. Según Hubel [Hub95], para la visión en todo el ojo necesitamos que los objetos se estén moviendo constantemente respecto de la retina. En realidad, los ojos en ningún caso permanecen absolutamente quietos, sino que se mueven de un modo inconsciente unos pocos minutos de arco varias veces por segundo. A estos movimientos se les llamó movimientos microsacádicos. Si fijamos artificialmente la imagen en la retina, curiosamente la visión desaparece. Esto nos lleva a la conclusión que únicamente vemos movimiento, y cuando los objetos están estables, necesitamos mover los ojos para que la imagen recibida varíe en el tiempo. En el ámbito de los sistemas artificiales, para interactuar de un modo adecuado en un medio dinámico, los robots deben contar con la capacidad de analizar su entorno y, por supuesto, una de las capacidades más potentes es la visión; por lo menos así se considera en los humanos y en los animales. Pero, en la actualidad, el mundo de la estereovisión artificial recoge pobremente los efectos derivados del movimiento en la escena. Hasta la fecha, las técnicas usuales de estereovisión se basan en la forma; analizando la disparidad xv Introducción General y Resumen y, por tanto, obteniendo la profundidad, atendiendo a dicha característica. Por otra parte, además, son fundamentalmente estáticas. La visión en nuestro entorno tridimensional se produce proyectando la escena sobre un elemento superficial. En el caso de los animales y el hombre, este elemento es la retina del ojo con forma de corteza esférica y en el caso de las cámaras tiene forma plana. La proyección sobre una superficie provoca la conversión de la información tridimensional de la escena en información bidimensional, perdiéndose por completo un grado de libertad: la profundidad de la escena. El proceso de proyección es, por su naturaleza, irreversible; por lo tanto, si queremos recuperar la profundidad de una escena hemos de recurrir a otro mecanismo. Existen diversos mecanismos para estimar la profundidad de una escena. Algunos ejemplos pueden ser el “tiempo de vuelo” en la propagación de una onda sonora o electromagnética, o el enfoque automático de una lente buscando el máximo contraste en la imagen tomada. De entre todos ellos, nos ha interesado uno en concreto por ser el que utilizan muchos seres vivos en general, y particularmente los humanos. Este método es la estereovisión que se basa en el análisis de dos perspectivas diferentes de la escena. Estéreo en Visión Natural Aunque ciertamente la bibliografía no es concluyente en cuanto a los procesamientos internos que realiza el sistema nervioso para estimar la profundidad a través de la estereopsis, en ella sí se encuentra un conjunto de evidencias que nos sugieren ideas al respecto. Así, en primer lugar, los experimentos realizados con objetos isoluminantes asocian la percepción de la profundidad a la vía magnocelular dedicada básicamente al movimiento. Esta vía se segrega de las dos parvocelulares en la retina, al depender la información transportada de las células de tipo M, que son sensibles a variaciones bruscas del contraste en su campo receptivo. La información procedente de los dos ojos, ordenada topográficamente, llega al quiasma óptico donde se separa en los hemicampos visuales izquierdo y derecho; probablemente con el fin de integrar separadamente, en las áreas de asociación corticales, los estímulos de las diferentes modalidades sensoriales que llegan de cada lado del espacio extracorporal. La información de cada hemicampo visual llega al córtex V1 contralateral atravesando el núcleo geniculado lateral. Esta separación genera una discontinuidad en el centro del campo visual que se resuelve en el córtex mediante el cuerpo calloso, en el que se encuentran células sensibles a estímulos localizados en dicha zona. En el córtex V1, las células simples y complejas están agrupadas en columnas de orientación y de dominancia ocular; estas últimas se consideran la primera etapa en la que xvi Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica convergen realmente las informaciones de los dos ojos en una única percepción binocular. Por otra parte, las células de “cerca” y “lejos” que se han registrado, no se sabe hasta qué punto colaboran en el procesamiento de la estereovisión, ni su relación con las columnas de dominancia ocular. De hecho, el propio Hubel en su libro refleja sus dudas de que éstas sean las células responsables de la percepción tridimensional que conocemos. En esta tesis, a través de experimentos psicofísicos, como el estrecho margen alrededor del punto de fijación en el que se fusionan las dos imágenes, derecha e izquierda, sin producir una imagen doble, o los relacionados con los movimientos sacádicos de los ojos, también reflexionaremos sobre las palabras escritas por Hubel: “Cambiando la dirección relativa de los ojos, ajustándolos hacia adentro o hacia afuera, se unirán las dos imágenes del objeto en un estrecho margen de convergencia y divergencia. Así en principio, o el ajuste de las lentes o la posición de los ojos podría decirnos la distancia de un objeto.” Visión Artificial Una de las posibilidades surgidas de la aplicación de la informática a los procesos industriales es la inserción de la capacidad de ver, que se ha ido integrando en las máquinas intentando conseguir en ellas una mayor autonomía. Todavía, los sistemas de visión de las máquinas son muy primitivos y simplistas; estando orientados a una tarea muy concreta y cerrada, con unos análisis a su vez concretos y cerrados. Prácticamente, todo lo que son capaces de hacer las máquinas es tomar una imagen o una secuencia de imágenes y realizar sobre ella un análisis basado en la extracción de características perfectamente definidas dependiendo del objetivo que se persiga. Posibles ejemplos de esto son la detección de fallos mediante características, como píxeles con niveles de brillo anormales; la medida de longitudes transversales; o la detección de formas de los productos a la salida en una cadena de fabricación, con el fin de controlar el posicionamiento del brazo de un robot. La aparente simplicidad desde el punto de vista humano de estas tareas choca con la complejidad de los procesos involucrados desde el punto de vista artificial. Esta complejidad ha llevado a la distinción entre procesos de alto y bajo nivel en función del grado de semántica y del conocimiento del dominio necesarios, así como a la especificación de distintas etapas: digitalización, preproceso, segmentación, etiquetado de regiones y objetos, reconocimiento y comprensión. A su vez, atendiendo a las técnicas usadas, la distinción básica está entre la computación convencional sobre bases estadísticas, analíticas o borrosas, las técnicas basadas en el conocimiento propias de la Inteligencia Artificial (IA), los sistemas expertos y las técnicas neuronales; si bien es cierto que en la actualidad es usual la utilización de técnicas híbridas. xvii Introducción General y Resumen Dentro de este entorno, ya hace tiempo se pensó en desarrollar sistemas bioinspirados, tratando de obtener sistemas robustos y eficientes en base a características de los sistemas neurales biológicos. El problema que se plantea aquí es que el conocimiento del sistema nervioso biológico sigue siendo muy limitado; y además, la interrelación entre diferentes sistemas, como el visual, la memoria, el aprendizaje, etc. hacen de ésta una tarea muy compleja. Por estas razones, la pretensión de una simulación del sistema visual humano, de forma artificial, queda bastante lejos de lo posible en la actualidad. El interés de estos desarrollos radica en extraer y aplicar aquellas características interesantes que aportan ideas para conseguir el propósito buscado. Planteamiento del Problema y Objetivos Como se ha visto en el principio de esta introducción, esta tesis propone definir una nueva alternativa que permita obtener, de forma continua, información tridimensional del movimiento en la escena, a partir de un par estéreo de secuencias de imágenes de duración indefinida. El hecho de incluir la capacidad de trabajar con secuencias indefinidas procedentes de una escena real, donde pueden existir diversos objetos que se mueven a lo largo del tiempo, implica que las teorías de visión estéreo basadas en imágenes estáticas no se pueden aplicar íntegramente, de manera que necesitan adecuarse a entornos dinámicos. Nuestro grupo lleva varios años desarrollando sus investigaciones en el estudio del movimiento en secuencias de imágenes. Todas estas investigaciones nos han permitido afrontar aplicaciones como el reconocimiento de siluetas de objetos móviles en entornos ruidosos [Fer03a], la clasificación de móviles según sus características del movimiento, como su velocidad o su aceleración [Fer01a] y [Fer01b], y en aplicaciones relacionadas con la atención selectiva visual [Lop03a], [Lop04]. En todos estos trabajos se ha abordado la solución a estos problemas usando una serie de métodos de inspiración biológica basados en dos mecanismos fundamentales: (1) la computación acumulativa, [Fer92], [Fer95a], [Fer97] y [Mir03b]; y (2) una versión generalizada del cálculo realizado por las redes de inhibición lateral algorítmica (ALI) [Mir01], [Fer01a], [Fer01b], [Del02], [Fer03b] y [Fer03c]. Todos estos trabajos han producido una base de conocimiento importante en este campo, que en su día se pensó aplicar también a la estereovisión. Fruto de esta decisión se comenzó a trabajar en esta tesis que ahora se presenta. En ella, todos estos conocimientos fundamentales que se aplican, están centrados en un método de segmentación basada en el movimiento de los objetos respecto de las cámaras que los están percibiendo. Esta segmentación se realiza mediante el denominado efecto de permanencia, cuyo análisis pormenorizado se puede encontrar en [Fer97]. xviii Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1. Esquema general del modelo propuesto. Para visualizar de forma gráfica la estructura del sistema que definimos, hemos utilizado el esquema de la figura 1. Puede verse cómo la entrada se obtiene desde dos cámaras pareadas, que adquieren sendas secuencias indefinidas de imágenes compuestas por series de fotogramas captados de una escena tridimensional con movimiento; y la salida es una secuencia de mapas tridimensionales donde conocemos, para cada punto móvil de la escena, las componentes de las coordenadas de sus vectores de velocidad y aceleración. Si conocemos la disparidad que los elementos de la escena generan entre las dos imágenes derecha e izquierda, la obtención del plano tridimensional, es simplemente una cuestión de geometría perfectamente resuelta. Pero el problema fundamental en visión estereo no es la geometría, sino el estudio de correspondencias o matching; esto es, emparejar los puntos de cada imagen izquierda con los de la derecha, o viceversa, que correspondan a un mismo punto del marco de referencia de la escena para poder medir su disparidad y así obtener su profundidad. Los trabajos de estereovisión tradicionales, utilizan como base para realizar el matching, un par de imágenes estereoscópicas, bien de color, bien de niveles de gris, e intentan realizar el matching basándose en las características de forma, o en general de luminosidad. Esta tesis, en cambio, propone fundamentar la estereopsis no en las características de forma, sino en las de movimiento. Esto es, manteniendo la misma estructura para resolver el problema geométrico, nosotros sustituimos el par de imágenes en niveles de gris, por otro par de imágenes que contienen las características de movimiento. En nuestro caso, fundamentamos el matching en las imágenes de carga que genera el efecto de permanencia en cada una de las secuencias procedentes de cada sensor (Derecho-Izquierdo). Puede verse un ejemplo gráfico sencillo en la figura 2. En la parte “A” de esta figura podemos ver la escena, el par de imágenes estéreo en luminosidad, y la disparidad que cada elemento genera. En la parte “B” vemos sin embargo que las imágenes xix Introducción General y Resumen que utilizamos para realizar el matching son los mapas de carga resultado de aplicar el efecto de permanencia a la secuencia de imágenes en cada sensor. Puesto que la estereopsis se calcula de forma continua sobre un par de secuencias de imagen estereoscópicas, se obtiene también una secuencia continua de mapas tridimensionales de movimiento. La secuencia de mapas tridimensionales en el tiempo nos genera, por permanencia, un mapa de carga tridimensional que nos permite calcular las coordenadas y magnitudes de los vectores velocidad y aceleración para cada punto con movimiento. Así pues, la clave de nuestra propuesta consiste en sustituir la forma por el movimiento, esto es, la luminosidad por la carga. En este trabajo se ha seguido el camino metodológico usual en Ingeniería del Conocimiento (IC). Se parte de un estudio de las especificaciones funcionales a nivel del conocimiento, donde se propone también el modelo conceptual dentro de la perspectiva funcional o representacional de la IA, es decir, en términos de tareas, subtareas, métodos, inferencias, roles estáticos y dinámicos, y conocimiento específico del dominio. Después se operacionalizan las inferencias y se implementan los operadores. Finalmente, se evalúa la implementación de la estereovisión dinámica para secuencias virtuales y reales, y se compara el enfoque propuesto con el de otros autores. Una vez planteado el objetivo global y la metodología usada, a continuación se indican los objetivos específicos de la misma. Figura 2. Estereovisión basada en la forma o en el movimiento xx Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica S S S S S S En primer lugar, el problema de estereovisión, generalmente, obtiene un mapa tridimensional estático de la escena a partir de un par de imágenes estéreo, que no pertenecen a secuencia alguna. Esta tesis no intenta obtener un mapa tridimensional estático, si no un mapa tridimensional de movimiento donde exista información de las componentes de las coordenadas de los vectores de velocidad y aceleración de los puntos móviles en la escena. Para ello, no utiliza simplemente un par de imágenes (izquierda-derecha) estáticas aisladas, sino que utiliza dos secuencias de imágenes indefinidas (izquierdaderecha). En estas secuencias, las imágenes están emparejadas cuadro a cuadro. La salida, por tanto, no es un mapa tridimensional estático de la escena, sino una secuencia de mapas tridimensionales de movimiento, uno por cuadro, que reflejan el movimiento en la escena a cada cuadro y de forma indefinida. No son de nuestro interés los elementos estáticos de la escena, por lo que el sistema debe filtrarlos. No aparecerá, por tanto, información tridimensional de los elementos estáticos de la escena. No son invisibles, ya que se produce oclusión cuando los elementos móviles se ocultan tras ellos, pero no son visibles para el sistema. En definitiva, no realizamos estereovisión basada en la forma, sino estereovisión basada en el movimiento. Los sistemas biológicos de estereovisión tienen generalmente la capacidad de variar la profundidad y localización del punto de fijación. Generalmente, este se focaliza para atender elementos de la escena que son de interés para el observador. En nuestro caso, el sistema propuesto se optimiza para obtener información de movimiento en la periferia del campo visual, con el fin de que sirva como soporte a cualquier otro sistema de visión artificial convencional. Algo así como una ayuda para detectar un balón que viene hacia nosotros mientras estamos mirando un niño sentado en la arena. Asimismo deseamos que el acercamiento que se realiza produzca frutos en dos sentidos. Por un lado que la biología nos enseñe lo que hace, para poder entender cómo lo hace; y por otro pretendemos humildemente, plantear mecanismos que, al resolver parte de la funcionalidad que encontramos en los sistemas biológicos, puedan servir de fuente de inspiración tanto a investigadores del campo de la biología como de la inteligencia artificial, para abrir líneas de trabajo que hasta la fecha no existen en el estado del arte actual. xxi Introducción General y Resumen Resumen A continuación se muestra la distribución de los contenidos de los distintos capítulos en los que se estructura esta memoria de tesis doctoral. S En el primer capítulo se muestran diversos conocimientos fisiológicos y psicológicos sobre la visión natural, centrando la atención en aquellos que son más importantes para nuestro modelo de visión estereoscópica dinámica. Por otro lado, se incluyen distintos modelos computacionales realizados que intentan explicar los resultados obtenidos en los experimentos psicofísicos. El capítulo termina con una revisión de algunos de los dominios de aplicación más usuales. S En el capítulo segundo se relaciona de una manera conceptual la tarea de la visión estereoscópica dinámica con las memorias de permanencia. Se analizan las memorias de permanencia en el nivel físico y en el nivel simbólico y, finalmente, se analiza su aplicación al problema de la Visión Estereoscópica Dinámica. S El capítulo tercero constituye el corazón del modelo propuesto. Aquí presentamos la descomposición de la tarea de “Análisis Estéreo del Movimiento 3D”, la obtención del esquema inferencial asociado a cada una de las subtareas y la operacionalización de las inferencias, especificando los distintos roles en términos del conocimiento del dominio. Aunque todos los resultados se agrupan en el capítulo cuarto, aquí introducimos algunos ejemplos con imágenes reales para poner de manifiesto el efecto producido por el cálculo asociado a cada una de las subtareas. S El capítulo cuarto está dedicado a mostrar los resultados obtenidos con el modelo propuesto en una serie de aplicaciones; en ellas se han variado los resultados a conseguir en cada caso, de manera que puedan mostrar las posibilidades que ofrece nuestro sistema. Esta variación de resultados está estructurada en términos del objetivo final: (1) Estimación de la profundidad y detección del movimiento en profundidad, (2) eliminación de objetos estáticos, (3) navegación autónoma de un vehículo inteligente y finalmente (4) análisis de la velocidad en la profundidad. En estos procesos se han utilizado tanto secuencias sintéticas como reales. S En el capítulo quinto se ofrece una discusión de los resultados y su comparación con los resultados obtenidos por otros autores. Se utiliza como marco de comparación la naturaleza de las suposiciones tomadas como puntos de partida de las distintas alternativas para un mismo problema. S Finalmente en el capítulo sexto se presenta un resumen de las conclusiones y las principales aportaciones de este trabajo. xxii Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Junto con estas conclusiones incluimos también algunas reflexiones sobre los aspectos a mejorar en nuestro sistema de visión estereoscópica dinámica: en particular el aprendizaje autónomo, y sobre los distintos dominios de aplicación. El objetivo a medio plazo es dotar a nuestro sistema de la capacidad de reconfiguración y aprendizaje, para adaptarse a distintos escenarios. Al final de la memoria se ha incluido un apéndice donde se muestra el código desarrollado que nos ha permitido valorar la solución propuesta. xxiii xxiv Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1. Conceptos y Técnicas en Estereovisión Este capítulo está orientado a realizar un recorrido por diversos dominios de conocimiento relacionados con la estereovisión. En el ámbito de lo biológico se abordan, en primer lugar, detalles relacionados con la psicología de la percepción. Posteriormente se presentan algunas teorías neurológicas centradas en los conceptos que nos han servido de inspiración para desarrollar nuestro modelo. Seguidamente, se hace un repaso de los conceptos implicados en la visión estereoscópica artificial, para finalizar con un recorrido por los modelos computacionales realizados y sus aplicaciones. 1.1. Aspectos Psicológicos de la Estereovisión La percepción visual, y en consecuencia la estereovisión, no dependen sólo de la información luminosa que llega a los fotorreceptores de nuestra retina, sino también de otros factores psicológicos. Por ello hemos querido comenzar este capítulo realizando un repaso de los más importantes. Comenzaremos con aquellos que afectan a la visión en general para posteriormente orientarnos hacia la estereovisión. 1.1.1. Psicología de la Visión Hasta hace relativamente poco, la percepción visual se comparaba frecuentemente con la operación de una cámara fotográfica en la que el cristalino enfoca e invierte la imagen sobre la retina. Esta analogía ha decaído rápidamente, ya que pasa por alto lo que realmente hace la vista, que es crear una percepción tridimensional del mundo distinta de las imágenes bidimensionales proyectadas sobre la retina. Dicha analogía tampoco puede dar cuenta de una característica importante de nuestro sistema visual: el que podamos reconocer un objeto aunque su imagen sobre la retina varíe considerablemente bajo distintas condiciones de iluminación. Además de ésto, se consideran otras características básicas respecto de nuestra percepción: S La aparente continuidad de percepciones nos hace pensar que cada proceso mental concreto (ver, pensar, aprender, etc.) es algo continuo e indivisible. En cambio, esta apariencia de continuidad en las diferentes percepciones del mundo, es una ilusión. 1 Conceptos y Técnicas en Estereovisión S S S 2 En realidad, dichos procesos se componen de varios elementos independientes de información-procesamiento; de manera que, incluso la tarea cognitiva más sencilla requiere la coordinación de varias áreas distintas del encéfalo para su ejecución [Kan00]. Una vez que cada una de las vías sensoriales ha sido analizada por separado, y extraída toda la información relevante de cada estímulo, todas elstas vías vuelven a converger en los centros superiores y en las áreas de asociación del sistema nervioso para conseguir percepciones más elaboradas. Como ejemplo, las áreas somatosensoriales primarias y secundarias del córtex parietal anterior proyectan a la otra principal subdivisión del lóbulo parietal, el córtex parietal posterior. Estas áreas parietales posteriores también reciben entradas de los sistemas visual y auditivo, y se ocupan de integrarlas todas, así como de dar lugar a las percepciones espaciales, de focalizar la atención en el espacio extrapersonal y de la integración visiomotora. La segunda de ellas es que la percepción es un proceso activo y creativo, más que pasivo. El cerebro construye una representación interna de los acontecimientos físicos externos, después de haber analizado sus componentes con anterioridad. A partir de los distintos detalles de un estímulo, el encéfalo los organiza de tal modo que crea un conjunto perceptual, que es más que la suma de sus partes. Un ejemplo de esto es cómo la sensación del tacto y la propiocepción de la mano son combinadas para producir la sensación de forma tridimensional cuando agarramos un objeto. Por otra parte, la percepción, no sólo depende de la información intrínseca del estímulo, sino que también depende de la estructura mental de quién la percibe. Por tanto podemos decir que la percepción es un proceso constructivo. El cerebro construye activamente preceptos completos a partir de los detalles de la imagen visual. Cuando miramos a nuestro alrededor, no vemos puntos de colores, sino que identificamos los objetos que nos rodean. El cerebro realiza esto estableciendo ciertos supuestos sobre lo que se verá en el mundo, supuestos que parecen derivar en parte de la experiencia y en parte de la organización de las conexiones neurales para la visión. Así un cubo dibujado en el papel nos parecerá un cubo tridimensional porque hemos tenido una amplia experiencia con cajas reales. Finalmente, a los psicólogos de la Gestalt les gustaba comparar la percepción de la forma visual con la percepción de una melodía. Lo que reconocemos en una melodía no es la secuencia de notas concretas sino su interrelación. Una melodía tocada en distintas claves seguirá siendo reconocida como la misma porque la relación entre las notas permanece constante. Del mismo modo, podemos reconocer distintas imágenes bajo distintas condiciones visuales. Incluyendo diferencias de iluminación, porque la relación entre los componentes de la imagen se mantienen. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Además de estas características básicas, el mecanismo de la atención juega un papel muy significativo en lo que percibimos en cada momento. Maurits Escher escribe: “Nuestros ojos están acostumbrados a fijarse en objetos específicos. En el momento en el que esto ocurre todo lo que los rodea queda reducido a un fondo. El ojo y la mente humana no pueden estar ocupados con dos cosas a la vez por lo que debe haber un paso rápido y continuo de un lado al otro.” La dicotomía figura-fondo ilustra así uno de los principios de la percepción visual: sólo se selecciona como foco de atención una parte de la imagen mientras que el resto queda sumergido en el fondo. Se cree que, para separar la figura del fondo, organizamos el campo visual en componentes coherentes, representando cada uno de ellos por un conjunto de valores de profundidad, brillo y textura. Además, cuando un objeto se mueve, un conjunto de estos elementos tendrá una dirección específica y una velocidad de movimiento, de modo que un conjunto en movimiento puede ser una clave para distinguir los objetos. La profundidad, el brillo y la textura pueden analizarse eficientemente con una resolución baja. Así las capacidades para discriminar la figura del fondo, para unir partes de la escena y para percibir las relaciones espaciales pueden estar mediadas, todas ellas, por un sistema de baja resolución que organiza toda la imagen definiendo sus componentes. Sin embargo, el análisis de la forma requiere una resolución alta. 1.1.2. Psicología de la Estereovisión Nuestra capacidad de estimar la profundidad depende de cinco principios: en primer lugar, podemos considerar muchas pistas sobre la profundidad. Por ejemplo, cuando un objeto oculta parcialmente a otro, consideramos que éste está mas cerca que aquel. Cuando movemos la cabeza de un lado a otro o de arriba hacia abajo, el movimiento relativo de los objetos a diferentes distancias varía. Esto es lo que se llama el paralaje. Si reconocemos un objeto del campo visual, su tamaño relativo en la retina nos puede dar una estimación de su profundidad; y si no lo conocemos, podemos establecer puntos de referencia en su entorno para hacer estimaciones tanto de su tamaño como de su distancia. Asimismo, la observación de las sombras y la perspectiva también nos permite hacer conjeturas. Por su parte, Hubel en su libro [Hub95] escribe sobre las variaciones en el enfoque a través del cristalino y la convergencia y divergencia de los ojos, que nos permite fusionar las dos imágenes percibidas en un sólo constructo perceptual, como otros dos mecanismos que nos pueden permitir estimar la distancia a la que está un objeto. Algunos detectores de profundidad están basados en estos principios. Excepto esta convergenciadivergencia, todas las demás opciones afectan sólo a un ojo; pero la estereopsis, que es la 3 Conceptos y Técnicas en Estereovisión forma más importante y más precisa de analizar la profundidad en una escena, depende de la utilización de los dos ojos conjuntamente. Si fijamos nuestra mirada en un punto del espacio, cualquier punto a la misma profundidad que el punto de convergencia de los dos ojos caerá en puntos homólogos de las dos retinas. Si ahora consideramos un punto de luz que está a una profundidad diferente, en las dos retinas se generan dos puntos de luz de manera que no coincidirán en sus posiciones relativas; no serán homólogos. Esta distancia relativa entre las dos imágenes define la disparidad. Cuando las imágenes en las retinas está más hacia afuera (teniendo en cuenta la inversión de la imagen que se produce en el ojo) el objeto estará más cerca, y cuando el desplazamiento es hacia adentro, el objeto está mas alejado. Se ha observado que si la disparidad en la dirección horizontal es menor que 2 grados y no tiene componente vertical o es menor que unos pocos minutos de arco, lo que percibimos es un solo punto en el espacio. Asimismo, si el desplazamiento está fuera de este margen tendremos una doble visión del punto de luz, y puede o no parecer que está más lejos o más cerca. 1.2. Fisiología de la Estereovisión Un hecho tan cotidiano como es el ver lleva consigo todo un conjunto de pequeñas tareas que nosotros no apreciamos, debido a que las realizamos de forma automática y fuera de todo control consciente. El sistema nervioso del que forma parte el sistema visual podemos considerarlo como un enorme sistema de control. En él, las diferentes percepciones están orientadas en muchas ocasiones a la ejecución y el control de acciones, y algunas de nuestras acciones nos permiten percepciones más complejas. Un ejemplo de ello lo tenemos en el seguimiento de objetos; y a nuestro entender, como veremos en el apartado 1.2.5.2, también nos proporciona la percepción visual estereoscópica completa. Los principios de polarización dinámica y de especificidad de las conexiones nos permiten deducir que la información percibida fluye a través de las vías neurales en un sólo sentido, y que la convergencia y divergencia de la información que se produce en cada neurona sugiere la existencia de un procesamiento en etapas basado en efectos de integración y transmisión. A partir de estos objetos, en las primeras etapas del sistema visual, las células ganglionares retinianas y las geniculadas responden fundamentalmente a los contrastes de luz en pequeños campos receptivos circulares. En el nivel siguiente, el córtex visual primario, las células simples responden a estímulos lineales orientados con relativa precisión y a límites dentro de los campos receptivos rectilíneos que abarcan los campos receptivos de varias neuronas de orden inferior. En las células complejas, cuyos campos 4 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica receptivos son mayores, el eje de orientación sigue siendo importante, pero no así la posición exacta del estímulo sino, en algunos casos, su dirección de movimiento. Así, en cada nivel del sistema aferente, las características del estímulo necesarias para activar una célula son muy distintas aumentando, en cada etapa, el nivel de abstracción. Según esto, los expertos suelen diferenciar dos etapas en el proceso de la visión: S S Una primera etapa de procesamiento a bajo nivel, que abarca un procesamiento de imágenes automático, sin utilizar la información pasada almacenada en la memoria ni el razonamiento; y una segunda etapa que conlleva un procesamiento de más alto nivel, para el que sí se utilizan recursos atencionales, experiencias pasadas y tienen lugar inferencias, añadiéndose a la información extraída del estímulo un plus de información que enriquece la percepción. En esta segunda etapa del proceso de visión se encuentran bastantes áreas de estudio, como la detección y el reconocimiento de objetos, la detección del movimiento y la percepción tridimensional que nos ocupa en esta tesis, entre otras. De los principios de funcionamiento del sistema nervioso que se pueden observar en [Kan00] destacamos estos cuatro: S S S S El procesamiento en paralelo y la separación en vías de cada uno de los procesos mentales, visto en el apartado 1.1.1 desde el punto de vista psicológico, también tiene su perspectiva fisiológica. Cada sistema se organiza topográficamente; pero no todas las áreas del campo sensorial se representan equitativamente en cada vía; por ejemplo, la región central de la retina, que es el área de mayor agudeza visual, posee una representación cortical desproporcionadamente grande, ya que se requiere también un número mayor de neuronas y conexiones sinápticas para procesar la información detallada procedente de este área. Muchas de las vías nerviosas se cruzan al lado opuesto del encéfalo o de la médula espinal. A consecuencia de este hecho, los eventos sensoriales que acontecen a un lado del cuerpo se controlan por el hemisferio del lado opuesto. Como se vio en la introducción general, probablemente con el fin de integrar separadamente los estímulos de los distintos sistemas sensoriales procedentes de cada lado del cuerpo. Cada sistema neuronal traduce el estímulo a una señal neural electroquímica. Los atributos de este estímulo deben quedar representados en las señales de la neurona sensorial primaria. Dicha información sensorial debe ser afinada para conseguir una 5 Conceptos y Técnicas en Estereovisión máxima capacidad de discriminación entre los diferentes estímulos; de esta labor es responsable el mecanismo de inhibición lateral, que amplifica el contraste de los rasgos de los estímulos. Una vez vistos los principios generales del sistema nervioso y del sistema visual, a continuación desarrollamos aquellas partes que más nos han interesado para la configuración de nuestro modelo. 1.2.1. Entrada de Imágenes Respecto de la entrada de imágenes y los primeros procesamientos realizados, nos fijamos en dos características fundamentales: el análisis de las imágenes, y la respuesta del sistema ante imágenes estáticas. 1.2.1.1. Análisis de Imágenes La convergencia de las señales neurales de los fotorreceptores hacia las células ganglionares a través de las interneuronas bipolares, horizontales y amacrinas, y su proyección hacia el córtex visual primario a través del núcleo geniculado lateral provoca que, en las células simples y complejas, los campos receptivos sean más elaborados aumentando el nivel de abstracción a cada paso [Mar98]. Su resultado son las columnas de orientación y de dominancia ocular, de las cuales en este punto sólo nos interesan las primeras; las columnas de dominancia ocular las retomaremos en el apartado 1.2.4. relativo a la integración binocular. En las columnas de orientación, a través de las vías de centro-on y centro-off, las células tienen respuestas eléctricas que dependen por completo de los patrones espaciales y temporales de la luz que estimula la retina haciendo las veces de un filtro paso alto. En este caso, la información se centra en un realce del contraste de los contornos de los elementos de la imagen capaces de excitar el centro del campo receptivo de cada célula, e inhibir la periferia de forma transitoria. En el caso de nuestro modelo, aunque la segmentación en bandas de niveles de gris obtiene resultados conceptualmente diferentes (regiones en vez de contornos), también representan un nivel de abstracción superior al de los píxeles. No obstante, si además de la segmentación en bandas tenemos en cuenta el efecto de permanencia posterior, se verá que su resultado también serán aquellos contornos de los objetos que se están moviendo; de la misma manera que las células simples disparan cuando un contorno llega o se va de su campo receptivo en el campo visual. 6 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.2.1.2. Respuesta ante Imágenes Estáticas En el procesamiento intermedio producido por el córtex V1 las células simples de centro-on y centro-off se limitan a disparar cuando un estímulo orientado llega a su posición concreta, o desaparece de ella. Además estos disparos cesan a lo largo del tiempo en el caso de que el movimiento desaparezca. Este aspecto queda nítidamente expuesto en los estudios psicofísicos relacionados con los movimientos microsacádicos. Cuando miramos hacia una escena estacionaria, nosotros fijamos los ojos en un punto de interés, pero esta fijación no es absoluta. A pesar de los esfuerzos que hagamos, los ojos no permanecen inmóviles, sino que continúan realizando movimientos constantes muy pequeños, llamados microsacádicos. Esto ocurre varias veces por segundo y son más o menos aleatorios en dirección y con una amplitud de 1 o 2 minutos de arco. Curiosamente, si intentamos fijar artificialmente una imagen en la retina eliminando cualquier movimiento relativo, la visión desaparece en aproximadamente un segundo y la imagen se vuelve vacía. Esto nos da la evidencia de que los movimientos microsacádicos son necesarios para continuar observando los objetos estacionarios. Como puede verse, algo así es lo que realizan los elementos de carga de las memorias de permanencia de nuestro sistema. En el caso biológico, al producirse un movimiento, las células que lo detectan comienzan a disparar, y posteriormente disminuyen su tasa de disparo lentamente. En el modelo presentado, cuando un elemento de carga detecta movimiento se satura, y posteriormente, se descarga paulatinamente. 1.2.2. Movimiento y Estereovisión Las tres vías neurales paralelas que posibilitan el análisis de la percepción visual realizan un procesamiento especializado en el color, la forma y el movimiento de los objetos. La existencia de estas tres vías paralelas plantea el problema de la integración de las tres informaciones en áreas de asociación. En el caso de esta tesis sólo se hace referencia a la vía del movimiento; las otras dos se presentan aquí de forma muy breve. La vía implicada en la percepción del color surge de las células P de la retina que son sensibles al color y llega a los blobs de V1 que tienen campos receptivos circulares. Esta vía termina en el córtex inferotemporal; un área de asociación implicada también en la en la percepción del color. La vía implicada en la percepción de la forma también surge de las células P de la retina que presentan además una resolución muy alta, lo que probablemente es importante para ver los objetos con detalle. La forma se analiza en base exclusivamente a la disposición de contornos rectilíneos orientados detectados por las células simples y 7 Conceptos y Técnicas en Estereovisión complejas del córtex V1, no aportando ninguna información las áreas monótonas. Los mecanismos de invarianza posicional formados por las células complejas se encargan de absorber el movimiento que se produce en las imágenes, entre ellos los movimientos microsacádicos. La tercera vía, la vía magnocelular está especializada en la detección del movimiento y en las relaciones espaciales, y contribuye de manera importante junto con la vía de la forma a la percepción de la profundidad. La vía del movimiento comienza en las células tipo M de la retina que tienen una resolución baja y son sensibles, no al movimiento en sí, sino más bien a variaciones bruscas del contraste dentro de su campo receptor. Esta vía termina en el córtex TM, un área implicada en la profundidad y en el movimiento proyectando posteriormente a otras áreas en el córtex parietal implicadas en la función visuoespacial. Las neuronas de este sistema son relativamente insensibles al color y realizan análisis pobres de los objetos fijos. Las tres vías especializadas interactúan a varios niveles. La contribución del sistema parvocelular puede examinarse en aislamiento parcial, reduciendo la entrada del sistema magnocelular. Esto puede conseguirse utilizando estímulos isoluminantes, imágenes que varían en el color pero no en el grado de brillo. El sistema magnocelular es prácticamente ciego al color; sólo se basa por tanto en claves de brillo, y no podría distinguir bordes entre un rojo y un verde isoluminantes. Por lo tanto, los estímulos isoluminantes reducen la contribución del sistema magnocelular a la percepción. Estudios de las respuestas humanas a estímulos isoluminantes sugieren que la percepción del movimiento se ve comprometida sustancialmente por la isoluminancia. En consecuencia, se piensa que la información sobre el movimiento puede ser procesada, en gran medida, independientemente de la información sobre el color, presumiblemente por el sistema magnocelular, y ampliamente independiente del sistema parvocelular. La perspectiva, el tamaño relativo de los objetos, la percepción de la profundidad, la relación figura-fondo y las ilusiones visuales también desaparecen con la isoluminancia y por lo tanto parecen estar mediadas fundamentalmente por el sistema magnocelular. A pesar de que existe un consenso acerca de que el sistema visual realiza un procesamiento en paralelo, los investigadores no están de acuerdo sobre hasta qué punto las distintas funciones están divididas entre las tres vías. Una de las discusiones se establece en torno a la cuestión de si los estímulos isoluminantes sólo afectan a la vía magnocelular. Otra se centra sobre la extensión de la interacción entre las vías. Un cierto número de investigadores defiende que a pesar de lo especializada que esté una vía en el procesamiento de un componente concreto de la imagen visual, las otras vías también contribuyen al procesamiento de esos componentes, debido a la extensa comunicación entre las vías. 8 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Al igual que en el caso biológico, el análisis de profundidad del modelo presentado en esta tesis también se centra sobre todo en el movimiento. Nuestra entrada de imágenes al sistema de análisis de disparidades son las memorias de permanencia, que exclusivamente poseen información sobre el movimiento, eliminando toda información estática del sistema. Por otra parte, el análisis de las imágenes que se realiza, basado en la segmentación en bandas de niveles de gris, también elimina la información de color; eliminación que parece se produce en la vía magnocelular biológica. 1.2.2.1. Análisis Biológico del Movimiento Dado que los análisis iniciales del modelo presentado se centran en extraer la información del movimiento, en este apartado se presenta su correspondencia en el dominio biológico. Debido a que nos movemos constantemente, necesitamos información precisa sobre el movimiento de los objetos en relación a nosotros. Incluso cuando ni nosotros ni los objetos que interesan se mueven, las imágenes que caen sobre la retina se mueven, porque nuestros ojos y nuestra cabeza nunca están completamente quietos. El sistema visual tiene dos modos de detectar el movimiento: uno basado en el movimiento de la imagen y otro basado en el movimiento de la cabeza y los ojos. En este capítulo consideramos el movimiento de la imagen en el campo visual. La detección del movimiento es tan importante para la adaptación de la mayoría de los animales que sólo los humanos y otros primates evolucionados pueden responder a objetos que no se mueven. Muchos vertebrados tales como las ranas y los ciervos no pueden ver los objetos a menos que se muevan. En humanos esta limitación persiste en la parte periférica de la retina. No podemos detectar objetos estáticos en los extremos periféricos del campo visual; en vez de ello, un objeto en movimiento en la periferia desencadena un reflejo inconsciente que provoca la rotación de los ojos, colocando así el objeto móvil en el campo visual central. El movimiento en el campo visual podría detectarse comparando la posición de las imágenes percibidas en distintos momentos. La mayoría de las células del sistema visual responden sólo ante estímulos que inciden sobre un lugar determinado de la retina y pueden proporcionar información sobre acontecimientos con una separación temporal de decenas de milisegundos. Por lo tanto, en principio, el sistema visual debería ser capaz de extraer información sobre el movimiento comparando la localización actual de un objeto sobre la retina y su localización previa. La evidencia de la existencia de una vía aferente distinta para la detección del movimiento ha llegado de las observaciones psicofísicas sobre movimiento aparente, una 9 Conceptos y Técnicas en Estereovisión ilusión de movimiento que aparece cuando luces separadas se encienden y apagan con los intervalos adecuados proporcionando la ilusión de movimiento a pesar de que las luces no han cambiado de posición. Las películas son otro claro ejemplo de la ilusión del movimiento aparente. La impresión de movimiento es producida por la sucesión rápida de fotogramas estáticos sobre la pantalla. Esta ilusión muestra cómo la imagen de un objeto no tiene que barrer la retina continuamente para que el movimiento sea percibido y sugiere que la información acerca de la posición y el movimiento se transporta por vías distintas. La información sobre el movimiento nace en las grandes células de tipo M. Estas células no tienen una sensibilidad especial al movimiento por sí mismas, pero responden mejor a dianas circulares en el campo visual cuyo contraste varía en el tiempo. Las señales generadas por las células de tipo M se transmiten a través de las capas magnocelulares del núcleo geniculado lateral a varias capas del córtex visual V1. En V1 las señales son procesadas por neuronas simples y complejas selectivas a la dirección del movimiento perpendicular a su eje de orientación. Estas señales de tipo M se elaboran posteriormente en el área temporal medial (TM o V5) y el área temporal superior medial (TSM o V5a) y después se remiten al área visiomotora del lóbulo parietal donde los patrones de neuronas reflejan la velocidad y la dirección del movimiento de los objetos en el campo visual. Cuando uno o más objetos se mueven simultáneamente en una región limitada del campo visual, necesitamos distinguir entre el movimiento de partes distintas de un mismo objeto y el movimiento de distintos objetos. ¿Cómo se realiza esta distinción en el encéfalo?, esta cuestión se ha planteado mediante experimentos de psicofísica en humanos en los que se utilizan patrones de líneas paralelas y en movimiento o enrejados. Dos enrejados distintos se mueven inicialmente de modo independiente (en ángulo recto con sus ejes de orientación) y después se mueven conjuntamente, uno sobre otro, pero cada uno moviéndose en ángulo recto con su eje de orientación. Al sujeto se le pregunta si percibe los patrones superpuestos como dos enrejados independientes desplazándose uno sobre el otro o como un montaje único de cuadros moviéndose en una dirección. Cuando los enrejados están aproximadamente superpuestos, el observador, de hecho, ve un único patrón moviéndose en una sola dirección. Estos hallazgos psicofísicos han llevado a la idea de que la información sobre el movimiento se analiza en dos etapas. En la primera están implicadas las células simples y complejas que detectan movimientos perpendiculares a los ejes de orientación, es decir, la información sobre un componente del movimiento de un objeto de múltiples caras. La segunda etapa está implicada con el establecimiento de patrones complejos de movimiento; las neuronas activas en esta segunda etapa integrarían las diferentes direcciones de movimiento detectadas por las neuronas activas en la primera etapa del procesamiento. 10 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica La hipótesis de las dos etapas fue sometida a prueba en experimentos neurofisiológicos en monos, en los que se registraba la actividad de neuronas corticales mientras que se le presentaba al mono la secuencia de estímulos anterior. Las neuronas de V1, así como la mayoría de las neuronas del córtex TM, sólo responden bien al movimiento de un componente del patrón o conjunto de cuadros, por ejemplo, a uno de los enrejados que se mueven en una dirección perpendicular al eje de orientación del campo receptor de la célula. No responden a la dirección del movimiento del conjunto de cuadros. Estas neuronas se denominan neuronas selectivas a la dirección de los componentes. Una segunda población de neuronas en el TM es pequeña (alrededor de un 20%), y responde a la dirección del movimiento de un conjunto de cuadros, debido presumiblemente a que integran entradas de células selectivas a la dirección de los componentes. Estas neuronas se denominan neuronas selectivas a la dirección del patrón. Así, como sugiere la hipótesis de las dos etapas, las células selectivas a la dirección del patrón del córtex TM, procesan el movimiento global de un objeto en base a las entradas de las neuronas del V1 y V2 selectivas a la dirección de los componentes. Todo ello es consistente con nuestra percepción del movimiento. Al igual que en otras áreas corticales, las neuronas del TM están organizadas funcionalmente en columnas. Las neuronas de una única columna se excitan por el movimiento en una dirección pero no por el movimiento en otras direcciones. La dirección preferente del movimiento varía sistemáticamente de una columna a otra, de modo que el TM contiene una representación completa del movimiento en todas las direcciones en cada punto del campo visual. La mayor parte de las células del córtex V1 que participan en la vía del movimiento son células simples. Realmente, el córtex V1, junto con el V2 son zonas de procesamiento intermedio y en él no se analiza el movimiento en sí. Las células del córtex que se han detectado sensibles al movimiento en una dirección concreta están situadas en el córtex TM (temporal medial). El análisis del movimiento que realiza nuestro modelo es cercano al realizado por las células simples de las etapas intermedias de la vía magnocelular. Las células simples disparan al detectar un contorno que se mueve en su campo receptivo y nuestros elementos de carga se saturan al detectar movimiento y se descargan en ausencia de éste. Procesamientos posteriores nos permiten sin embargo estimar las velocidades de los objetos y sus direcciones, en base a las estelas de movimiento formadas en los mapas de carga. 11 Conceptos y Técnicas en Estereovisión 1.2.3. Separación de Hemicampos Visuales Una de las características generales de organización funcional del encéfalo es el análisis por separado de los estímulos que provienen de cada lado del cuerpo, probablemente con la finalidad de integrar separadamente los diversos estímulos sensoriales procedentes de cada lado del entorno extracorporal. Un ejemplo de esto, podemos encontrarlo en el sistema somatosensorial dedicado a la sensación del tacto. En este caso, la percepción táctil producida en la mano izquierda se procesa en el hemisferio derecho del cerebro y la sensación táctil producida en la mano derecha se procesa en el hemisferio izquierdo. En el sistema visual no se atiende de forma independiente a cada ojo, sino que, lo que se procesan por separado son los dos hemicampos visuales derecho e izquierdo; por tanto, esta separación es algo más compleja. Los dos nervios ópticos que forman los axones de las células ganglionares de la retina de cada ojo llegan al quiasma óptico y allí se entrecruzan y distribuyen de manera que en el hemisferio izquierdo se procesa toda la información de los dos ojos procedente del hemicampo visual derecho, y en el hemisferio derecho se procesa la información del hemicampo visual izquierdo. La separación de las dos mitades en la retina se produce a partir del centro de la fóvea, con lo que los hemicampos visuales se dividen a partir de la vertical del punto de fijación, o punto donde se cruzan los dos ejes ópticos de los ojos. Una vez separados los dos hemicampos visuales, puede entenderse que aparecería una discontinuidad en el análisis del centro del campo visual. Esta discontinuidad se resuelve a través del cuerpo calloso; una comisura que interconecta las células cuyos campos receptores están en el centro del campo visual para unificar las imágenes procedentes de los dos ojos en la percepción de un único mundo visual. Nosotros, en nuestro algoritmo, también realizamos esta división de los dos hemicampos visuales y los analizamos por separado; pero no simplemente por imitar a la biología, sino para permitir la utilización de la información de los eventos que suceden a un lado y al otro del punto de fijación de forma separada. 1.2.4. Integración Binocular En las columnas de dominancia ocular es donde se interrelacionan por primera vez las informaciones de los dos ojos entre sí. En dichas columnas de dominancia ocular existen células simples, que son sensibles a la posición y la orientación de los estímulos; y células complejas que también son sensibles a la orientación, pero que permiten un pequeño margen de desplazamiento del estímulo dentro del campo receptor. A primera 12 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica vista, puede parecer sensato que tanto las células simples como las complejas participen en el procesamiento encaminado a la percepción del movimiento; máxime las células complejas, debido a su comportamiento de seguir disparando, a pesar de que el estímulo se mueva dentro del campo receptivo; en cambio, esto no es así. No todas las células complejas participan en la percepción del movimiento; sino que más bien participan en la invarianza a la posición en el proceso de análisis de la forma. En cuanto a la percepción de la profundidad, cuando observamos cuidadosamente las respuestas de las células corticales, muchas de las células binoculares del córtex visual no parecen estar influenciadas en exceso con las posiciones relativas de los estímulos en los dos ojos. Si consideramos una célula compleja típica que dispara continuamente si la barra excitatoria se desplaza a lo largo del campo receptivo en cada ojo, cuando los dos ojos se estimulan conjuntamente, la célula dispara a un ritmo mucho mayor que lo hace cuando se excita a los dos ojos por separado; pero no importa si el estímulo está en un momento dado colocado exactamente en la misma posición en las dos retinas. La mayor respuesta aparece si la barra entra y sale al mismo tiempo del campo receptivo, pero si entra un poco antes o un poco después, no importa demasiado; en cambio, lo importante para la estereopsis es detectar que las barras estén en las posiciones correspondientes de la retina en un mismo instante. Las columnas de dominancia ocular referentes a células simples, en cambio, responden a campos receptivos coincidentes, aquellos que están a la misma distancia donde convergen los ojos; por tanto, éstas serán de gran utilidad para la estimación de la profundidad. En el caso de nuestro modelo el análisis de correspondencias de cada mapa de carga se centra también en comparar la información homóloga de los elementos de carga de ambas imágenes, considerando como correspondencias aquellas en las que los dos elementos de carga tienen valores semejantes, de la misma manera que las células de dominancia atienden a células con las mismas características de posición y orientación de los estímulos. 1.2.5. Análisis de Disparidades Al afrontar el análisis de disparidades en las memorias de permanencia también hemos tratado de aplicar algunas características extraídas del sistema visual humano. 13 Conceptos y Técnicas en Estereovisión 1.2.5.1. Análisis Clásico Ciertamente la bibliografía no es concluyente en cuanto a los procesamientos internos que realiza el sistema nervioso para estimar la profundidad a través de la estereopsis. No obstante, sí nos parecen relevantes algunas de las ideas que se plantean al respecto. Se han encontrado células de córtex que disparan si el objeto está muy lejos, y otras que responden si los estímulos están cercanos conforme variamos la disparidad. Estas células se denominan células de lejos y células de cerca. Otras células, en cambio muestran cambios rápidos en su respuesta cerca de la disparidad nula. Estos tres tipos de células se llaman células de disparidad y han sido vistas en el área V1 de los monos. Todavía no esta claro lo comunes que son estas células de disparidad, si están dispuestas en una capa especial, o si tienen alguna relación especial con las columnas de dominancia ocular. Estas células tienen muy en cuenta la distancia a la que está el objeto, estimada a través de la posición relativa de los estímulos respecto de la retina. Otra característica de estas células es que responden muy poco o casi nada cuando hay estímulos en un solo ojo. Todas estas células tienen la característica común de la especificidad a la orientación. De hecho, hasta donde se conoce, éstas son semejantes a las células complejas ordinarias de capas superiores excepto por su sensibilidad a la profundidad, y también responden muy bien a estímulos móviles que algunas veces son sensibles a término. Gian Poggio ha registrado células sensibles a la disparidad nula en monos entrenados para mantener sus ojos fijos a un objetivo. En monos anestesiados, estas células, aunque ciertamente presentes, no se suelen encontrar en el V1 sino en el V2. También encontró células de cerca y de lejos, pero sólo con disparidades muy cercanas a cero. También Hubel [Hub95] dice que le sorprendería que un animal o un humano pudiera estimar la profundidad estereoscópicamente utilizando exclusivamente las células de cerca y de lejos descritas. Él pensaba que se debería encontrar un núcleo de células para todas las posibles profundidades, pero lo cierto es que este extremo todavía no se ha podido constatar; todavía no se conoce cómo el sistema nervioso reconstruye la escena completa de objetos a diferentes distancias. Nosotros por nuestra parte nos planteamos una posibilidad, que es la que describimos en el apartado siguiente del análisis mediante integración visiomotora. Esta posibilidad es consistente con nuestra percepción y con los hallazgos encontrados de las columnas de dominancia ocular y las células de cerca y lejos, pero ciertamente debe cotejarse con otras investigaciones para validarla o descartarla. 14 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.2.5.2. Análisis Mediante Integración Visiomotora La característica que a nuestro parecer es la más interesante en cuanto a la estimación de la profundidad fue planteada por Hubel en su libro [Hub95]. Esta expresión fue expuesta en la introducción y la repetimos aquí por su trascendencia en nuestro modelo. Hubel escribe que: “Cambiando la dirección relativa de los ojos, ajustándolos hacia adentro o hacia afuera, se unirán las dos imágenes del objeto en un estrecho margen de convergencia y divergencia. Así en principio, o el ajuste de las lentes o la posición de los ojos podría decirnos la distancia de un objeto.” Esta frase nosotros la estimamos de crucial importancia. Nuestra idea es que para la percepción de la profundidad a la que están los objetos de nuestro entorno, la información más importante de la que dispone el cerebro es la propiocepción de la convergencia de los ojos, de la misma manera que mediante la propiocepción de la mano somos capaces de estimar la forma tridimensional de un objeto. A continuación enunciamos las razones que nos llevan a esta conclusión. S S En primer lugar, nos parece muy significativo, como hemos reflejado en el apartado 1.1.2, que experimentos psicofísicos llevados a cabo en el campo de la neurociencia concluyan que la percepción tridimensional, entendida como la fusión de las imágenes derecha e izquierda en una sola percepción visual nítida, sólo se produce en el centro de la fóvea, en el punto de fijación de los dos ojos, con un margen de unos pocos minutos de arco en horizontal y prácticamente nulo en vertical. Todo lo que se sale de estos márgenes produce una visión doble; así pues, no válida para la percepción estéreo. Es probable que esa capacidad de percepción tridimensional tan reducida nos sirva para analizar la textura de un objeto, o para estimar su grosor, pero no parece probable que sea suficiente para analizar la profundidad de toda una escena. Para corroborar este experimento se puede hacer un ejercicio muy sencillo y es, el intentar tocar con la yema de un dedo, y mediante un movimiento vertical de la mano, un bolígrafo concreto del cubilete de nuestro escritorio al mismo tiempo que estamos prestando atención a un objeto en la misma dirección pero a diferente profundidad, como puede ser la pared si está suficientemente alejada, o si hay una ventana mirando a través de ella. Observaremos que no es sencillo, aunque algunos condicionantes psicológicos como el conocimiento del tamaño de los objetos, etc (ver apartado 1.1.1) ciertamente ayudan. En cambio, si hacemos este mismo ejercicio mirando al punto donde queremos tocar, el movimiento que realizamos resulta muy eficiente. La información propioceptiva es necesaria para controlar los reflejos y los movimientos voluntarios. Esta información propioceptiva está monitorizada por 15 Conceptos y Técnicas en Estereovisión S dos tipos de receptores: los husos musculares que informan de la longitud de los músculos se utilizan para determinar la posición relativa de los segmentos de los miembros; y los órganos tendinosos de Golgi que informan de su tensión muscular son útiles para una variedad de actos motores como mantener agarrado un objeto. Las áreas premotora y motora suplementaria, importantes para la coordinación y la planificación de secuencias de movimiento complejas, reciben información de las áreas corticales de asociación parietal posterior y prefrontal, y proyectan al córtex motor primario. La abundancia de entradas desde el córtex parietal posterior hasta las áreas premotoras sugiere que las áreas premotoras participan en el control del movimiento mediante claves visuales y somatosensoriales. Así pues, los sistemas motores disponen de un flujo continuo de información sensorial sobre los acontecimientos del entorno. También nos parece relevante el analizar nuestro comportamiento cuando estamos observando con atención un objeto. Si nos fijamos, nuestros ojos en ningún momento están estáticos, sino que continuamente se están moviendo. Estos movimientos, que son involuntarios e inconscientes, son los movimientos sacádicos citados por los neurocientíficos. Este proceso de realizar movimientos sacádicos hacia los objetos de interés para poner sus imágenes en la fóvea es llevado a cabo también por el colículo superior, como Peter Schiller del MIT mostró en su serie de artículos en los años 1970s. Si estamos observando una persona, nuestra visión se desplaza habitualmente entre los dos ojos y si la persona está hablando también los desplazamos hacia la boca, y de vez en cuando miramos hacia sus rasgos más significativos y a sus contornos. En el caso de otros objetos, depende de su naturaleza, pero en general realizamos un barrido inconsciente alrededor de sus contornos pasando también por otros rasgos interiores que nos llamen la atención. Todo esto se produce de la misma manera cuando estamos mirando a una escena. Nuestros ojos van viajando a lo largo de ésta, e inconscientemente van convergiendo y divergiendo para adaptarse a la profundidad a la que están los objetos. La propiocepción de esta convergencia y divergencia de los ojos es la que nosotros entendemos como la información fundamental para observar las profundidades relativas de los objetos. Posteriormente al análisis puntual de de todos los puntos de la escena, un área de la región prefrontal del córtex dedicada a la planificación es probable que retenga unos segundos un mapa visual de nuestro entorno, provocando nuestra sensación ilusoria de visión tridimensional completa. Este mapa puede ser utilizado para los fines de la memoria funcional; es decir para retener en la memoria durante unos instantes la localización de los objetos dentro del campo visual. De hecho se ha constatado que pequeñas lesiones en esta 16 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica parte del córtex interfieren en la capacidad para recordar la posición de los objetos en regiones específicas del campo visual contralateral al lado de la lesión. El método del calculo de disparidades propuesto puede considerarse similar al efecto de convergencia-divergencia de los ojos. Cuando estamos haciendo converger los ojos, las imágenes de la retina resultan desplazadas entre sí, y el análisis de convergencia se realiza analizando localmente la posibilidad de fusión de las dos imágenes derecha e izquierda. 1.2.5.3. Acople del Análisis Basado en Integración Visiomotora con el Análisis Clásico Según esta teoría de la integración visiomotora, la función de las células de cerca y de lejos halladas entre el córtex V1 y V2 del cerebro y que se analizaron en el apartado 1.2.5.1, podría tener que ver con la identificación de posibles objetivos de futura atención y para tener preparados los mecanismos necesarios con el fin de orientar nuestros ojos hacia un objetivo diferente, que esté a una profundidad distinta de nuestro punto de fijación actual. Por su parte, las columnas de dominancia ocular vistas en el mismo apartado pueden tener que ver con el control fino de la orientación de los dos ojos cuando estamos tratando de fusionar las dos imágenes de la retina referidas a un objeto nuevo, además de, con la propagación hacia otras áreas corticales superiores de la imagen conjunta percibida a través de ellas. 1.2.6. Procesamientos de Nivel Superior Además de los conceptos expuestos hasta aquí, existen otros mecanismos intrínsecamente relacionados con la estereovisión, y que serían compatibles con el modelo propuesto. Con este subapartado se pretende abrir, aunque mínimamente, la puerta a futuras ampliaciones del modelo y a nuevas prestaciones tomando en consideración los elementos que a continuación se exponen. 1.2.6.1. Atención Visual Selectiva El hecho de que la visión estereoscópica instantánea se produzca en el centro de la mirada con un margen de unos pocos minutos de arco en horizontal sugiere que la estereovisión requiere atención. Mediante la atención, la visión se centra en un objeto y lo demás aparece como fondo. 17 Conceptos y Técnicas en Estereovisión La percepción visual, como se ha visto, no es un proceso pasivo, ya que nuestros ojos no se limitan a recibir la información visual, sino que, por el contrario, el sistema nervioso a través de la atención, realza la parte de información más interesante que contiene el estímulo, y desecha el resto, para luego interpretar esa información en el contexto de su experiencia previa. En este proceso, la posición de los ojos juega un papel muy importante, ya que se controla con exactitud para explorar el entorno, y nos permite atender selectivamente y orientarnos a estímulos visuales específicos. La búsqueda de los estímulos se realiza en serie; es decir, a veces se atiende a uno y a veces se atiende al otro. La única excepción aquí es si los estímulos se perciben y procesan por vías distintas; entonces la búsqueda se puede realizar en paralelo (por ejemplo, la forma y el color). Según Rybak, “durante la percepción o reconocimiento visual, los ojos se mueven y se fijan en las partes más informativas de la imagen, realizando la selección orientada al problema y procesando la información del mundo visual bajo el control de la atención. La atención incluye, bien un realce de las descargas de las células que responden al objeto de interés, bien una atenuación de las descargas de las células que responden a los objetos que están siendo ignorados”. En la variación del foco de atención juega un papel importante un comportamiento reflejo que es el relacionado con el movimiento en la periferia del campo visual. Como hemos visto, en la periferia del campo visual, todos los objetos que permanecen inmóviles normalmente no se perciben; en cambio, cualquier objeto móvil detectado, genera un comportamiento reflejo a través del colículo superior, que produce la orientación de los ojos, e incluso si es necesario el giro del cuello, para que la imagen de dicho objeto se sitúe en la fóvea, donde se tiene mayor resolución espacial y se es capaz de percibir objetos estáticos. Este movimiento, además de por la sensación de movimiento en la retina, también se produce al escuchar un ruido imprevisto o al producirse una sensación táctil también inesperada. En el caso de la estereovisión, nuestra intención ha sido desarrollar un sistema que atendiese a las percepciones visuales del movimiento en la periferia, a partir de la separación de hemicampos propuesta en el apartado 1.2.3. Pero no sólo la atención es importante para la estereovisión; quizá la relación contraria también requiera consideración. Un mecanismo de atención selectiva visual como el propuesto en [Lop04] sería interesante integrarlo con un mecanismo estéreo con el fin de atender a objetos que estén a una determinada distancia, o bien estimar la distancia a la que están los elementos a los que se está atendiendo. 18 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.2.6.2. Aprendizaje y Memoria El funcionamiento del sistema nervioso se basa en que las células nerviosas están conectadas de forma precisa, pero sus conexiones pueden ser modificadas mediante mecanismos de aprendizaje. Mediante el aprendizaje, nosotros y otros animales adquirimos conocimientos o experiencia sobre el mundo que nos rodea. Los estudios de pacientes con lesiones del lóbulo temporal han revelado que existen dos modos de aprendizaje esencialmente diferentes: un aprendizaje explícito y un aprendizaje implícito. En la memoria explícita, aprendemos acerca de qué es el mundo, adquiriendo conocimientos sobre personas, lugares y acontecimientos que están disponibles en la consciencia. Para la memoria explícita el hipocampo sirve de almacén o de vía de acceso, estando también implicado el sistema del lóbulo temporal medial. Con la memoria implícita, aprendemos cómo hacer las cosas adquiriendo habilidades motoras o perceptivas que no están disponibles a la consciencia. La memoria implícita no requiere un recuerdo deliberado e implica a varias vías perceptivas y reflejas. La memoria implícita se almacena en cada reflejo de forma distribuida por todo el sistema nervioso central; así pues no hay un núcleo compacto dedicado al aprendizaje implícito, sino que cada núcleo sensorial o motor tiene su propio núcleo de “procesamiento avanzado”. En el modelo propuesto no se ha incluido ninguna característica de tipo evolutivo o mecanismo de aprendizaje, aunque probablemente sería positivo hacerlo. Ciertamente los resultados obtenidos con el sistema actual son buenos, pero como es lógico siempre son mejorables, y un mecanismo de aprendizaje implícito podría tratar de establecer las bandas de niveles de gris, los parámetros de descarga de las memorias de permanencia o los valores de disparidad máximos permitidos en valores óptimos. Asimismo un mecanismo explícito podría ir almacenando los valores óptimos más habituales con el fin de conseguir una mayor autonomía de este sistema. Referencia Concepto [Kan00] Conocimientos básicos de los sistemas neuronales biológicos [Mar98] Anatomía del sistema nervioso humano [Hub95] Estudio profundo del sistema visual humano Tabla 1.1. Referencias básicas relacionadas con la percepción visual biológica. 19 Conceptos y Técnicas en Estereovisión 1.3. Conceptos Básicos de Estereovisión 1.3.1. Estructura de un Sistema Estereoscópico Habitualmente, la toma de imágenes en todas las aplicaciones de visión artificial se realiza con una sola cámara; con ello, el análisis del entorno se restringe a planos perpendiculares al eje de visión. La posibilidad de utilizar dos cámaras con posicionamientos y orientaciones conocidas amplía las posibilidades de análisis a escenas volumétricas; siendo posible, a partir de las dos perspectivas obtenidas, la extracción de medidas de profundidad en la escena por métodos puramente geométricos, como puede ser la triangulación. Un sistema estereoscópico consta de un mínimo de dos cámaras situadas con perspectivas de la escena semejantes aunque no iguales y de un elemento procesador de dichas imágenes. Las cámaras pueden ser fotográficas o de vídeo dependiendo de la aplicación. En el caso de esta tesis, como el objetivo es la extracción de información a partir del movimiento de una escena, se va a trabajar con dos cámaras de video. En las pruebas que hemos realizado, se ha comprobado que el color en aplicaciones orientadas al movimiento y la profundidad no es relevante, por lo que proponemos que los análisis se realicen sobre imágenes en niveles de gris y no en color. Curiosamente, como puede verse en [Kan00] y se plantea en el apartado 1.2.2, la vía del sistema visual humano dedicada al movimiento y a la profundidad es casi insensible al color; es más, el color no aporta ninguna información a esta vía. Quizá esto nos sirva de confirmación de los resultados obtenidos en las pruebas. Una vez obtenidas las dos secuencias estéreo mediante la digitalización de la información obtenida por las cámaras, éstas se podrán procesar para obtener la información tridimensional de la escena. Figura 1.1. Estructura de un sistema de estereovisión por ordenador 20 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.3.2. Captación de las Imágenes Con el fin de aplicar la geometría del sistema estéreo a las imágenes obtenidas por las cámaras se hace necesario en primer lugar, caracterizar la transformación geométrica que se produce entre la escena real tridimensional y las imágenes bidimensionales captadas. A esta caracterización van orientados estos párrafos. Los efectos más importantes que sufre la luz en su propagación son la reflexión y la refracción, y los elementos que los producen son las lentes y los espejos. Lo habitual es configurar los objetivos de las cámaras a base de lentes, por lo tanto esta explicación se centrará en ellas. Finalmente, otro efecto a considerar es la dispersión cromática. Este efecto suele estar corregido en los sistemas ópticos habituales de manera que no se le prestará más atención. El parámetro más importante de una lente o de un conjunto de lentes para la tarea que nos ocupa es su distancia focal. Llamamos distancia focal imagen f a la distancia que existe entre el centro de la lente y el punto del espacio imagen en el que convergen los rayos que provienen, teóricamente del infinito del espacio objeto. Según la teoría de las lentes esféricas la distancia focal se puede calcular como 1 1 1 1 1 1 = (n1− 1) • − ⇒ = + F F S1 S2 R1 R2 Aspectos más profundos de todo este análisis pueden encontrarse en [Hec99]. El concepto de distancia focal es tan importante para nosotros porque se va a suponer que el plano fotosensible estará a esa distancia de la lente equivalente formada por el objetivo. Esto se basa en que se supone que los objetos de la escena están a una distancia mucho mayor que la distancia focal, por lo tanto sus rayos se puede considerar que provienen del infinito; y cuando la distancia S1 tiende a infinito y S2 tiende a F. Sólo en el caso en que los objetos estén anormalmente cerca de la cámara habrá que retomar esta idea recalculando con una mayor precisión la distancia existente entre la lente y la superficie fotosensible. 1.3.3. Imagen Digital: Representación y Procesamiento En el sistema de análisis de imágenes estereoscópicas presentado en este trabajo, las imágenes y los procesamiento que se utilizan son digitales. Por ello, en este apartado se hace una introducción muy breve de las implicaciones que tiene el trabajo con imágenes digitales y a las posibilidades de procesamiento que existen. La representación será muy 21 Conceptos y Técnicas en Estereovisión importante a la hora de estudiar la geometría del sistema estéreo, y las posibilidades de procesamiento nos aportarán ideas sobre los algoritmos presentados. 1.3.3.1. Representación de la Imagen Digital Las imágenes se pueden considerar como una función en la que el nivel de intensidad de la luz o del color depende de dos variables independientes “X” e “Y”. Estas variables independientes son la posición horizontal y la posición vertical de cada punto. En el caso de las imágenes ópticas estas variables son continuas; en cambio, si queremos procesar imágenes a través del ordenador, como es nuestro caso para la estereovisión, necesitamos representar dichas imágenes en formato digital. Este formato digital implica una discretización espacial, en la que la imagen quedará representada por una matriz numérica rectangular de N x M elementos discretos mínimos de imagen denominados píxeles. Cada píxel integra mediante proyección toda la energía luminosa contenida en el ángulo sólido subtendido por su tamaño en el dispositivo fotosensible, y el centro óptico de la lente objetivo. Esta integración implica una pérdida de resolución en la imagen que es directamente proporcional a la distancia; cuanto más lejos de la cámara esté un objeto, menor cantidad de píxeles ocupará, y por tanto menor información tendremos sobre los detalles de dicho objeto. La matriz numérica que representa a la imagen, donde cada píxel tiene asociado un número de orden entero en la dirección horizontal y otro número de orden en la dirección vertical, será susceptible de ser procesada matemáticamente El formato digital también implica una cuantificación de la intensidad luminosa de cada píxel, ya que cada uno será representado por un código. En el caso de imágenes en blanco y negro se suelen utilizar códigos de 8 bits para cada píxel, resultando una escala de 256 posibles niveles de gris. En cambio para imágenes en color se suelen utilizar 8 bits para cada una de las intensidades de los colores primarios, rojo, verde y azul, utilizándose una mezcla aditiva de estos tres para conseguir toda la gama de colores disponible que asciende a más de 16 millones de colores. A las imágenes digitales se puede llegar por diversas vías, como por ejemplo, cámaras digitales, captura de señal de vídeo analógica, escaner, librerías de imágenes e internet. En todas estas, para el posterior cálculo geométrico de la estereovisión será importante tener en cuenta, además de la posición y orientación de las cámaras, la resolución con que cuenta el dispositivo fotosensible y su transformación con la distancia en el espacio objeto. 22 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.3.3.2. La Imagen Digital en el Dominio de la Frecuencia Las imágenes al igual que cualquier otro tipo de señales pueden estudiarse en su dominio natural, que en este caso es el espacio; o en el dominio de la frecuencia aplicando la Transformada de Fourier. En el dominio de la frecuencia la consideración más importante es la existencia de pocas componentes de alta frecuencia. Estas escasas altas frecuencias se dan en los contornos de los objetos. Esto puede comprobarse al visualizar el módulo de la transformada de Fourier de una imagen como el que aparece en la figura 1.2. Esto nos indica que las componentes de frecuencias altas (los contornos), al ser menos frecuentes, aportan más información que las bajas frecuencias en la extracción de características de las imágenes. Esto en cambio sólo tiene un problema, y es que los contornos son muy sensibles al ruido impulsivo, ya que un píxel de ruido puede ser considerado como un contorno, y a su vez un contorno puede ser falseado por la existencia de ruido a su alrededor. Este problema sugiere que, en presencia de ruido, lo más robusto para analizar la correspondencia entre pares de imágenes estereo parecen ser las regiones. Si se quiere aplicar este método presentado al análisis a través de los contornos, es conveniente tomar éstos, no como puntos de alta frecuencia sin más, sino como interfaz de alta frecuencia entre dos regiones planas (de frecuencia cero). Además, así es como da Figura 1.2. Representación en unidades logarítmicas de una imagen en el dominio de la frecuencia entre las frecuencias digitales 0 y 1. 23 Conceptos y Técnicas en Estereovisión la impresión que actúa el sistema nervioso animal y humano a la hora de analizar la forma de los objetos. Un mayor detalle de esto puede encontrarse en [Hub95]. 1.3.3.3. Procesamiento de Imágenes Digitales Una vez convertida la imagen en una matriz de datos numéricos mediante la digitalización, a esta matriz se le pueden aplicar numerosos algoritmos de los cuales se puede encontrar un amplio repertorio en [Gon01]. Todos estos algoritmos podemos clasificarlos en cuatro tipos, atendiendo al nivel de procesamiento que se practica para cada uno de los píxeles de salida. Así tenemos: operadores puntuales, operadores locales, operadores globales y operadores por bloques. Estos últimos tienen su aplicación en los sistemas de codificación de imágenes, que como no son objetivo de este trabajo, no entraremos a desarrollarlos. Los operadores puntuales son los más sencillos de todos. Éstos consideran las imágenes digitales como lo que son en realidad; matrices numéricas en las que a cada píxel se le asigna una posición dentro de la matriz y un código numérico. Estos operadores se llaman así porque cada píxel de la imagen de salida es función única y exclusivamente de un píxel de la imagen de entrada. Con estos operadores se pueden realizar operaciones relacionadas con el nivel de intensidad de los píxeles o con la geometría de la imagen. Entre los algoritmos dedicados a realizar cambios en la intensidad nos podemos encontrar con aquellos que aumentan o disminuyen el contraste de la imagen; los que alteran el brillo, el tono, la saturación o la transparencia; los que calculan el negativo de la imagen, o los que modifican la resolución de los colores de cada píxel, ya sea de forma individual como de forma conjunta. Dentro de los algoritmos orientados a modificar la geometría de las imágenes. Con ellos podemos conseguir desplazamientos horizontales y verticales, rotaciones, así como otros efectos especiales de transición entre secuencias de vídeo en entornos de edición no-lineal. Figura 1.3. En los operadores puntuales cada píxel de la imagen de salida depende de un sólo píxel de la entrada. 24 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica En el caso del método presentado en este trabajo se van a utilizar algunos de estos operadores en tareas como la segmentación en bandas de nivel de gris, la detección de movimiento mediante memorias de permanencia, y la búsqueda de regiones correspondientes a partir del análisis de semejanza de los píxeles procedentes del análisis del movimiento. La aplicación básica de los operadores locales y globales es el filtrado, pero como en nuestro caso no se ha pensado utilizarlos no se profundiza más en ellos. Para un conocimiento más exhaustivo del filtrado digital de imágenes una referencia adecuada es [Gon01]. Se pueden definir filtro específicos para secuencias estéreo y reconstrucciones tridimensionales como los planteados en [Lop04] relacionados con la atención selectiva visual, o algunos filtrados del movimiento como los que se proponen en el capítulo 4 de resultados. Referencia Contenido [Kan00] Mecanismos neuronales biológicos [Hec99] Óptica [Hub95] Sistema visual biológico [Gon01] Tratamiento digital de imágenes Tabla 1.2. Referencias de disciplinas transversales al modelo propuesto 1.3.4. Análisis Geométrico y Calibración Tradicionalmente el análisis de la estereovisión se ha dividido en dos problemas diferentes. Partiendo de las dos imágenes (I) izquierda y (D) derecha de la figura 1.4, el problema de la correspondencia trata de buscar qué dos puntos mi de la imagen izquierda y md de la imagen derecha corresponden a un mismo punto M del espacio. Una vez encontrados estos, el problema de la reconstrucción trata de encontrar las coordenadas de dicho punto M La tarea más difícil es sin duda responder al problema de la correspondencia. Como en general, hay varias posibilidades para escoger el elemento correspondiente en la imagen D de un elemento de la imagen I, el problema de la correspondencia estéreo se dice que es ambiguo. Debido a esta ambigüedad se hace necesario averiguar qué elementos, qué características, qué restricciones y qué consideraciones se pueden aplicar para reducirla al máximo. A esto se dedicará una parte importante del resto del apartado; pero en primer 25 Conceptos y Técnicas en Estereovisión Figura 1.4. Geometría estereo: Marco de referencia y sistemas de referencia de las cámaras. lugar se analiza el problema de la reconstrucción que es un problema cerrado y determinista. Todos estos conceptos pueden contemplarse en [Bro03] y en [Sch02] o más a fondo en [Fau93]. El problema de la reconstrucción parte de la geometría del sistema y puede plantearse como un problema determinista que puede estar basada en la triangulación. En la figura 1.4 se representa un sistema de referencia (u,v) para cada cámara, y el marco de referencia (x,y,z) del sistema estereo. Para este estudio consideraremos que la imagen se forma a la distancia focal por detrás de la lente objetivo, y que los rayos que pasan por el centro de dicha lente conservan su dirección. 1.3.4.1. Plano y Líneas Epipolares Antes de entrar a analizar las dos geometrías básicas en estereovisión, la geometría de cámaras paralelas y la geometría de cámaras convergentes, es necesario describir una serie de elementos generales a ambas geometrías. Estos elementos son el plano epipolar, las líneas epipolares y los epipolos. En la figura 1.5, consideramos plano epipolar aquel que forman los dos centros ópticos Ci y Cd de los objetivos de las cámaras con cualquier punto M del espacio objeto. Por otra parte, el plano epipolar corta a las dos superficies imagen I y D en sendas líneas rectas “ep”, que se denominan líneas epipolares. Finalmente, 26 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1.5. Restricción epipolar. Se representan el plano epipolar correspondiente al punto M de la escena y las lineas epipolares correspondientes. la proyección del centro óptico de una cámara sobre la otra cámara, nos va a definir el llamado epipolo “e”. Los epipolos de cada una de las cámaras van a ser los puntos por los que van a pasar todas las líneas epipolares. Utilizando cualquier plano epipolar como base, cualquier punto de la escena que pertenece a éste tendrá su imagen en una de las dos líneas epipolares de las dos imágenes. Esto implica que cualquiera de los píxeles de una línea epipolar tendrá su correspondiente dentro de la línea epipolar correspondiente en la otra imagen. En general, las líneas epipolares son oblicuas respecto del plano retinal; pero existe una excepción muy interesante que simplifica de gran manera el análisis. Si consideramos que los planos retinales son coincidentes entre sí, y paralelos a la linea base (Ci, Cd), observaremos que los epipolos de ambas cámaras se situarán en el infinito, y por lo tanto, las líneas epipolares serán todas paralelas entre sí, y paralelas a su vez a la línea base. Esta configuración especial se denomina configuración de cámaras paralelas. Con esta configuración, y un adecuado posicionamiento de los planos retinales se puede conseguir que las líneas epipolares coincidan con las filas de las imágenes digitales tomadas. 27 Conceptos y Técnicas en Estereovisión 1.3.4.2. Geometría de Cámaras Paralelas La configuración de cámaras paralelas es la más sencilla de tratar en cuanto a geometría; por ello es la primera que se analiza en este trabajo. Para realizar este sencillo análisis se parte de la figura 1.4 anterior, en la que se considera que el marco de referencia, o el sistema de referencia de la escena tiene su origen en el centro óptico de la cámara izquierda, su eje x coincide con la línea base que une los dos centro ópticos, y su eje z coincide con el eje óptico de dicha cámara. En la figura 1.6 se representa esta configuración considerando exclusivamente un plano epipolar. El objetivo es hallar las coordenadas del punto M(x, y, z) partiendo de las coordenadas de las proyecciones de dicho punto sobre los planos de imagen (ui,vi) y (ud,vd). Para ello se necesita la distancia focal F de las cámaras y la distancia entre sus dos centros ópticos o línea base B. La reconstrucción tridimensional puede resolverse, bien mediante geometría proyectiva, o bien mediante geometría Euclídea. En el caso de la geometría Euclídea que es la forma más sencilla y ofrece unos resultados suficientemente aproximados, tenemos lo siguiente: Para la imagen I, por semejanza de triángulos se tiene: ui x F z ui ; x ; v y i ·z F F ·z y de la misma manera para la dirección y vi y F z Para la imagen D se tiene: x ud F ·z B ; y vd F ·z Desarrollando estas ecuaciones podemos llegar a las expresiones siguientes: x 28 ui·B d y vi·B d z F·B d Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1.6. Geometría en el plano epipolar para cámaras paralelas. En estas expresiones el valor d es la denominada disparidad que hace referencia a la diferencia entre las coordenadas ui y ud respecto del centro de sus imágenes. dudu i Además, al conjunto de todas las disparidades entre dos imágenes de un par estéreo se denomina mapa de disparidad. Claramente, las disparidades sólo se pueden calcular de aquellas características que son visibles en las dos imágenes; las características que sólo se ven en una imagen y no en la otra se denominan oclusiones. Con estas expresiones podemos concluir que una vez conocidas la distancia focal de las cámaras, la línea base, y la disparidad entre los píxeles correspondientes es sencillo calcular las coordenadas (x, y, z) del punto del espacio para la configuración de cámaras paralelas. La digitalización de las imágenes estereo obliga a que la imagen tridimensional de la escena también sea discretizada. Si queremos calcular el error que se comete en el cálculo de las coordenadas por el hecho de tener un dispositivo fotosensible con un tamaño de píxel discreto, derivando las expresiones anteriores llegamos a las expresiones siguientes: u ·B v ·B F·B δx I ·δd δy I ·δd δz ·δd 2 2 d d d2 29 Conceptos y Técnicas en Estereovisión En estas expresiones δd es el tamaño del píxel de la imagen. Esto implica que cuanto menor sea la disparidad, el punto del espacio estará mas lejos y la precisión con la que podemos calcular las coordenadas (x, y, z) tendrá un valor finito que es inversamente proporcional al cuadrado de la disparidad. Para orientarnos en la magnitud de las medidas que se han realizado, quizá lo mejor es ver lo que ocurre con datos numéricos concretos. Si suponemos que tenemos un sistema cuyas cámaras tienen una distancia focal de 35 mm. un tamaño de píxel de 25 µm., y están separadas entre sí una distancia de 70 mm., (linea base), para distintas disparidades tendremos diferentes medidas de profundidad y diferentes errores de estimación. Por ejemplo, para una disparidad de 1 píxel (d=25 µm) el punto físico M tendrá una coordenada z, según las expresiones anteriores de 98 m., con un error debido a la discretización de 98 m (±49 m.). Si la disparidad es algo mayor, significa que el objeto estará mas cerca. Una disparidad de 5 píxeles, da unos resultados de z=19,6 m. y un error δz=3,9m. En el caso de disparidades de 10 píxeles, los resultados son z=9,8 m. y un error δz=0,98m. Todo esto significa que el hecho de discretizar las imágenes tomadas por las cámaras con un tamaño de píxel determinado, también se está discretizando la imagen tridimensional en celdas de tamaño finito en las tres direcciones del espacio. 1.3.4.3. Geometría de Cámaras Convergentes y Rectificado La configuración de cámaras paralelas se toma con mucha frecuencia debido a su simplicidad; pero siendo físicamente posible, en la práctica resulta dificultoso alinear dos sistemas ópticos de forma tan precisa, y suficientemente estable. En el caso general, que se puede ver en la figura 1.5, el procedimiento a seguir sería, en primer lugar calcular la posición de los epipolos e1 y e2 de cada una de las cámaras. Con ello, cualquier punto de la imagen izquierda m1 formará una línea epipolar ep1 que lo une con el epipolo izquierdo. Dicha línea epipolar cortará al plano imagen de la cámara derecha en un punto, que junto con el epipolo derecho e2 formará la línea epipolar derecha ep2, sobre la que habrá que buscar las correspondencias. Además, la relación entre las coordenadas (u, v) de cada una de las imágenes con el marco de referencia (x,y,z) no es tan trivial como en el caso anterior. Es necesario transformar las componentes de los vectores (u, v) en el sistema de coordenadas de la escena (x,y,z). Habida cuenta de esta complejidad, lo que se suele hacer es aplicar el proceso de rectificado para convertir una geometría general de cámaras convergentes en una geometría más simple de cámaras paralelas. Esto es posible, como puede verse en la figura 1.7, volviendo a proyectar las imágenes sobre un mismo plano R virtual utilizando los mismos 30 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1.7. Rectificación de planos retinales. centros ópticos de las cámaras. En este caso, el plano R es el mismo para las dos nuevas retinas R’1 y R’2. Para que los dos epipolos estén en el infinito, el plano R debe ser paralelo a la línea que une los dos centros ópticos (C1,C2) y para minimizar la distorsión de las imágenes reproyectadas sobre el nuevo plano R, interesa que éste sea también paralelo a la línea <P1,P2> de intersección de las dos retinas originales. Por otra parte, la distancia de este plano R a la línea que une los centros ópticos <C1,C2> corresponde a un cambio de escala; y quizá para minimizar este cambio de escala, lo propio será utilizar como medida la distancia focal real de las cámaras. Una vez proyectadas las imágenes sobre el plano R se tendrán las líneas epipolares paralelas a las filas de la imagen. Pueden verse las referencias [Tru98] y [Zit00] para una discusión más profunda sobre la rectificación. 1.3.4.4. Calibración El problema de la reconstrucción puede resolverse mediante la intersección de las rectas <Ci, mi> y <Cd, md> de la figura 1.5. El resultado dependerá de con que precisión se conocen las posiciones de Cd y Ci y los planos derecho e izquierdo en el sistema de coordenadas. Esto nos lleva al problema de la calibración; puesto que, si las posiciones mi y md no se conocen con precisión, las rectas <Ci, mi> y <Cd, md> podrían no cortarse. 31 Conceptos y Técnicas en Estereovisión Mediante la calibración de un sistema de estereovisión se estiman los parámetros intrínsecos (distancia focal, centro óptico, distorsiones de las lentes) y extrínsecos (posiciones relativas y orientaciones) de las cámaras que lo componen. Existen dos métodos comúnmente usados para la calibración: la autocalibración y la calibración fotogramétrica. En la autocalibración se toman varias imágenes de una misma escena y mediante la correspondencia entre puntos de distintas imágenes se pueden encontrar los mejores parámetros del modelo que puedan otorgar dicha correspondencia. La reconstrucción de la escena tridimensional realizada con el modelo encontrado no es precisa, ya que ésta está afectada por un factor de escala. Con este método no se puede saber cuál es el tamaño real de los objetos captados por las cámaras; puesto que, un objeto pequeño cerca del centro óptico podrá tener la misma imagen que el mismo objeto más grande alejado del dicho centro óptico. Si lo que se busca es una reconstrucción precisa, como es el caso de muchas de las aplicaciones de la robótica, es recomendable utilizar la calibración fotogramétrica. Esta calibración utiliza un objeto tridimensional de referencia cuya geometría es conocida a la perfección. Se escogen N puntos de interés del objeto de referencia, obteniéndose así las coordenadas M’i = (x’i, y’i, z’i), para i = 1, ..., N. El objeto es a continuación captado por el sistema de cámaras, y sus puntos de interés son vistos como puntos bidimensionales con coordenadas wi=(ui,vi). A partir de las medidas reales y las estimadas por el sistema estereoscópico, es posible obtener una estimación teórica de los puntos en tres dimensiones. Así pues, se calculan los puntos en función de los parámetros desconocidos como la línea base B y la distancia focal de las cámaras F. Una vez llegado a aquí, el problema de la calibración se transforma en un problema estadístico mediante el cual se calculan los parámetros B y F que minimizan el error cuadrático medio de las medidas tomadas respecto de los resultados obtenidos partiendo de las imágenes. Para una mayor profundidad en la discusión acerca de la calibración en trabajos recientes puede verse [Fau01] y [Har00]. En esta tesis, se supondrá que la calibración de la cámara es estática y conocida. 1.3.5. Primitivas de Correspondencia Al contrario del problema geométrico, que es un problema con solución cerrada, el problema de la correspondencia es un problema más complejo de resolver por la ambigüedad que existe al buscar posibles correspondencias entre los píxeles de las dos imágenes. Con el fin de comenzar a minimizar al máximo esta ambigüedad, en primer lugar se buscan características de las imágenes que nos sirvan para establecer con mayor robustez dichas correspondencias. Si nos quedamos simplemente comparando los píxeles 32 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica uno a uno, encontraremos varios píxeles iguales entre los que escoger; y sus emparejamientos nos llevarían a varios puntos de la escena 3D posibles. En cambio, si utilizamos primitivas más complejas, formadas por conjuntos de píxeles, como contornos o regiones, será menos probable encontrar falsas correspondencias. El píxel individual es la primitiva más simple de todas. El pixel se utiliza en las técnicas de correlación, pero para ello hemos de caracterizarlo, de forma que si los pixeles mi y md se corresponden, sus características sean iguales o aproximadamente iguales. La característica más simple es una medición de la radiación. Existe un problema a la hora de utilizar píxeles individuales como primitivas, y es que la luz reflejada por una superficie de un objeto es función de la posición de las fuentes de luz, la orientación de la superficie y la dirección de la visión. Así pues, las imágenes tomadas de un mismo punto físico, pueden variar en luminosidad dependiendo de estos factores. Este comportamiento se resume en la función de reflectancia. Para superficies Lambertianas (las que son totalmente mate) la luz reflectante es igual en todas las direcciones. Así que como primera aproximación se puede considerar que todas las superficies son de este tipo, para después observar los errores que se producen con esta simplificación. Como resultado, las intensidades de los dos puntos correspondientes de una superficie Lambertiana son las mismas. Si se quiere tener una mayor información sobre la correspondencia entre dos píxeles, una posibilidad muy utilizada habitualmente es analizar éstos, junto con sus entornos. De esta manera, resulta más sencillo descartar correspondencias falsas producidas por la igualdad entre píxeles individuales; puesto que el entorno proporcionará una mayor información. La siguiente primitiva a considerar es el pixel de contorno. Los píxeles de contorno pueden ser caracterizados mediante medidas basadas en su intensidad y en su geometría, como puede ser su longitud, su orientación, su curvatura y el contraste medio a lo largo de él. También se puede pensar en agrupar los píxeles de contorno para formar curvas o trozos de curvas. La curva más simple y que además es invariante mediante proyección perspectiva es la línea recta. No todos los contornos son buenos para la visión estereo. Un caso particular son los que podemos llamar contornos ocultos y las discontinuidades suaves, donde el objeto termina de forma redondeada, en cuyo caso las dos cámaras no ven la misma parte del objeto. Excepto en estos casos, los contornos son fuentes de información muy válidas y muy robustas para guiar el proceso de correspondencia estéreo. El inconveniente más importante que tiene el trabajo con contornos es lo sensibles que son al ruido. Dependiendo de la calidad de las imágenes, los contornos pueden quedar perfectamente definidos y uniformes, o por contra, discontinuos y llenos de irregularidades. En este segundo caso es necesario acudir a información o procesamientos posteriores para conseguir píxeles de contorno fiables. 33 Conceptos y Técnicas en Estereovisión Finalmente, podemos utilizar regiones de las imágenes como primitivas para analizar su correspondencia en el procesamiento estéreo. Existen muchas características que se pueden extraer de dichas regiones para establecer las correspondencias: su nivel medio de brillo, su tamaño, su perímetro, su forma, etc. El proceso de dividir una imagen en regiones se denomina segmentación y pueden encontrarse muchos métodos en la bibliografía. Generalmente, los algoritmos de segmentación de imágenes se basan en dos propiedades fundamentales de la intensidad de los píxeles: por un lado, los cambios abruptos, como son las líneas y los contornos de los objetos; y por otro lado, las regiones cuyos píxeles son similares de acuerdo con una serie de criterios predefinidos. La segmentación basada en los contornos de las figuras ha sido el método principal utilizado por los algoritmos de segmentación, durante muchos años. Los dos operadores matemáticos más habituales para la detección de discontinuidades son el operador gradiente y el Laplaciano de un Gaussiano. Tomando como base estos operadores, la forma más común de buscar discontinuidades de niveles de gris en imágenes digitales, es mediante la convolución con máscaras de tamaños 2x2, y más habitualmente 3x3. Varios autores han desarrollado diversas máscaras tomando como base el operador gradiente. Algunos ejemplos clásicos son: Roberts [Rob65], Prewitt [Pre70], Sobel [Sob78] y Canny [Can86]. Por otra parte, las propiedades del cruce por cero del operador Lapaciano en contornos las podemos encontrar en un artículo de Marr and Hildreth [Mar80], y en el clásico libro de Marr [Mar82]. La umbralización es una técnica que cuenta con una gran popularidad, ya que es muy sencilla de implementar. Existe una cantidad considerable de trabajo en este ámbito, que puede verse en los artículos de revisión de Sahoo et al. [Sah88], de Lee et al. [Lee90] y de Russ [Rus95]. En ellos, se proponen métodos automáticos para el ajuste de los umbrales utilizando, bien el histograma, o bien la propia imagen como guía. Finalmente hemos de considerar la segmentación basada en regiones como tales. Dos de los métodos más referenciados son el de “unión y división” y el “crecimiento de regiones”, que son métodos opuestos por el vértice. El método de “unión y división” es un método “top-down”, que comienza considerando como región la imagen completa. Eligiendo una característica concreta como criterio de uniformidad, se evalúa si toda la región es uniforme. A menudo este criterio se basa en las características del histograma de brillo. Si se considera que la región no es uniforme, se divide en varias subregiones, examinándose cada una de la misma manera. En cuanto al crecimiento de regiones, éste comienza desde abajo, o a nivel de píxel. A partir de un determinado píxel, se examinan los píxeles vecinos y, si son suficientemente similares, se añaden a la región creciente. Esta similitud puede ser evaluada considerando toda la región, o simplemente los píxeles adyacentes, permitiendo regiones con cambios de brillo graduales. El proceso termina cuando no se puede añadir ningún píxel más. 34 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Primitivas Ventajas Inconvenientes Píxel Mapa denso de disparidades Coste computacional bajo o moderado Alta ambigüedad. Suele analizarse un entorno del píxel. Muy sensible a las oclusiones Contorno Menor ambigüedad En ocasiones, sensibilidad al ruido. Mapa de disparidad poco denso Mapa de disparidad poco denso. Muy poca ambigüedad Alto coste computacional Poca sensibilidad a las oclusiones Tabla 1.3. Resumen de primitivas de correspondencia. Área 1.3.6. Restricciones a las Correspondencias La búsqueda del píxel correspondiente a mi, en teoría, podría abarcar toda la imagen derecha trabajo sin duda muy laborioso. Afortunadamente, existen algunas características de la geometría del sistema y de la geometría de los objetos que nos van a restringir considerablemente esta búsqueda, reduciendo el número de posibles correspondencias potenciales de mi. Estas restricciones son de tres tipos básicos. S S S Restricciones geométricas impuestas por el sistema de captación de las imágenes. Probablemente la restricción más importante sea la restricción epipolar, gracias a la cual podemos transformar una búsqueda en 2 dimensiones en otra de 1 dimensión. Restricciones geométricas impuestas por los objetos a los que estamos mirando. Podemos asumir que, dada la continuidad de los objetos de la escena, las distancias al origen de los puntos cercanos de la escena varía lentamente en todas las direcciones excepto en las discontinuidades producidas en los contornos. Este es el origen de la restricción de disparidad y del gradiente de disparidad. Otra restricción de este tipo aparece si asumimos que los objetos a los que estamos mirando se aproximan a poliedros. Restricciones físicas como aquellas que proceden de modelos por los que los objetos interactúan con la iluminación: fuentes y reflexiones en los objetos. De todos estos, el modelo más simple y el más usado es el modelo Lambertiano ya comentado. 35 Conceptos y Técnicas en Estereovisión 1.3.6.1. Restricción Epipolar Esta restricción se basa en la condición vista en el apartado 1.3.4.1. Cada punto M del espacio forma con los centros ópticos de las cámaras, Ci y Cd, el plano epipolar <Ci M Cd>. Este plano epipolar corta a las superficies fotosensibles Ri y Rd de las cámaras en sendas líneas rectas epi y epd, que llamamos líneas epipolares. La existencia de estas líneas epipolares va a implicar que el correspondiente md en la imagen derecha de un píxel mi de la imagen izquierda caerá inevitablemente en la linea epipolar epd correspondiente de epi, y viceversa. Esto restringe la búsqueda de correspondencias que anteriormente se suponía en todo el plano imagen a exclusivamente la línea epipolar; reduciendo considerablemente los cálculos a realizar; y además si se utiliza la configuración de cámaras paralelas, las líneas epipolares coinciden con las filas de las imágenes. 1.3.6.2. Restricción de Unicidad Esta es una restricción basada en la geometría del sistema de visión y en la naturaleza de los objetos de la escena. Dice que, a cualquier píxel de la imagen derecha sólo le ha de corresponder uno de la imagen izquierda. Esto significa que en el caso de tener varios píxeles potencialmente correspondientes, habrá que escoger aquel que nos dé una mayor confianza. El análisis de confianza se puede realizar considerando cualquiera de las otras restricciones aquí expuestas. 1.3.6.3. Restricción de Ordenamiento La restricción de ordenamiento indica que, si dos píxeles mi y ni de la línea epipolar de la imagen izquierda están situados mi a la derecha de ni, sus correspondientes md y nd estarán situados en su respectiva línea epipolar de forma que md estará a la derecha también de nd. Esta restricción se cumple en un muy alto porcentaje de los casos, pero ahora veremos que existen algunas excepciones. Considerando la figura 1.8, en ella aparece un punto de la escena tridimensional y sus proyecciones mi y md en las retinas izquierda y derecha respectivamente. Si se escoge otro punto N en el triángulo definido por <M Ci Cd>, véase la zona rayada de la figura, N tiene las imágenes ni y nd en distinto orden respecto de M en las retinas izquierda y derecha. Es fácil ver que sucede lo contrario con cualquier punto de la zona no rayada. 36 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1.8. Restricción de ordenamiento. Zona prohibida. Existen dos argumentos para llamar a la zona rayada, zona prohibida asociada a M: S S Lo primero es que la distancia de M a las cámaras suele ser mucho mayor que la longitud B de la línea base. De esta manera, el ángulo CiMCd es muy pequeño y la probabilidad de que un punto N caiga dentro de él es muy baja. El segundo argumento es que si asumimos que M y N están situados en objetos opacos de espesor no despreciable, entonces M esconderá detrás a N, no siendo posible verlos simultáneamente en las retinas izquierda y derecha. Así que, podemos decir que N está en la zona prohibida definida por M, considerando el orden de sus imágenes a lo largo de las líneas epipolares. En la práctica es difícil eliminar toda la zona rayada, ya que existirán configuraciones como la de la figura 1.8, en la que los puntos M y N pertenecen a objetos distintos y ambos pueden verse. En este caso la restricción de orden no se aplicaría. Así parece razonable forzar sólo a los vecinos de M, con una cercanía pequeña, a pertenecer a la zona prohibida. 37 Conceptos y Técnicas en Estereovisión Figura 1.9. Disparidad en geometría de cámaras paralelas. 1.3.6.4. Restricción de disparidad Esta restricción está basada en la geometría de los objetos e impone un rango de profundidades posibles para los objetos de la escena. Esta restricción considera que no es probable que existan objetos muy cerca de las cámaras; ya que la escena suele tomarse a media distancia. Si se descarta la posibilidad de que existan objetos muy cercanos, estamos eliminando disparidades excesivamente grandes. Nuevamente se está limitando la búsqueda en toda la línea epipolar, a una búsqueda restringida a un segmento de dicha línea. Esta restricción está basada en la geometría de la escena. Los mejores trabajos relacionado con la restricción de disparidad son: el de Koenderink y van Doorn [KvD76] quienes expresaron la teoría necesaria, así como el de Wildes quien implementó algunas de sus ideas [Wil91]. 1.3.6.5. Restricción del Gradiente de Disparidad La idea de la zona prohibida que se apuntaba en la restricción de ordenamiento, se puede ver como una forma particular de la idea del gradiente de disparidad. Si consideramos la figura 1.10 donde el eje x es paralelo a los ejes v1 y v2 con su origen en O, el punto medio de la línea Ci Cd, podemos imaginar una retina virtual paralela a las dos reales con el centro óptico en O. Esta retina se llama a menudo retina ciclópea [Jul71]. Si 38 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica M z C1 O d12 C2 f m1 c1 x m3 c2 v1 m2 v2 Figura 1.10. Definición del gradiente de disparidad. el punto M de la escena tridimensional tiene las imágenes mi y md en las dos retinas reales con coordenadas v1 y v2, entonces su imagen m3 en la retina virtual tendrá las coordenadas v3 v1v2 2 Asumiendo que el punto M puede variar en un objeto suavizado definido por la ecuación z=h(x), las ecuaciones vistas para la configuración de cámaras paralelas de las coordenadas x, y, z, definen la disparidad d como una función suavizada de v3. d v2v1 B·F z ; x B (v v ) 2d 1 2 Ahora consideramos dos puntos en el mismo objeto con coordenadas ciclópeas v3 y w3 y disparidades d1 y d2. La magnitud de la derivada de la disparidad con respecto a la coordenada ciclópea, el gradiente de disparidad puede aproximarse a esto. DG| d1d2 v3w3 | 39 Conceptos y Técnicas en Estereovisión Utilizando las ecuaciones anteriores de la disparidad d y la coordenada x obtenemos DG B|z1z2| |z2x1z1x2| Experimentos psicofísicos [PMF85] permiten conjeturar que la percepción humana impone la restricción, que el gradiente de disparidad está limitado por arriba por una constante (DG < K). Esto significa que, si un punto M de un objeto se percibe, los puntos del mismo objeto que están cerca de M de forma que DG > K no se perciben correctamente. Supongamos que M1=[x1,z1] T es fijo, y veamos que tipo de condiciones obtenemos en M2=[x2,z2] T imponiendo que DG < K. La condición DG < K puede escribirse como B· |z1 - z2| < |z2 · x1 - z1 · x2| así obtenemos el cono definido por las líneas de ecuaciones z1z2 ± K (z x z x ) B 2 1 1 2 El vértice del cono es el punto M. Su complemento es el cono prohibido para el que el gradiente de disparidad es menor que K. El caso especial K=2 es interesante porque las dos líneas son <Ci, M> y <Cd, M> y la correspondiente zona prohibida es el cono prohibido de la restricción de ordenamiento. Si K<2 obtenemos una zona prohibida menor. Nótese que la restricción del gradiente de disparidad impone una condición a la tangente a la superficie del objeto: ésta debe quedar fuera del cono prohibido. Así la restricción del gradiente de disparidad es una restricción geométrica del tipo de objetos posibles. Es decir, los tipos de objetos que pueden ser reconstruidos mediante el proceso estéreo. Notese también, en general, que la restricción del gradiente de disparidad implica una restricción de unicidad vista anteriormente. 1.3.6.6. Otras Restricciones Geométricas En las restricciones a la correspondencia podemos ir un poco más lejos que simplemente imponer un gradiente de disparidad a la escena. Además podemos imponer que las superficies de los objetos, localmente tengan alguna forma simple. Esta imposición puede llegar a restringir que los objetos sean localmente planos, es decir que ellos se aproximen por sus planos tangentes en todas las direcciones excepto en las 40 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica discontinuidades. Nótese que esto no es un caso especial del gradiente de disparidad ya que dado un umbral al gradiente de disparidad, algunos planos quedarían excluidos. a)- Continuidad de Superficie y Continuidad Figural Estas restricciones van en la misma dirección que la del gradiente de disparidad. La restricción de continuidad de superficie se basa en que los puntos proyectados sobre la imagen, pertenecen a las superficies de los objetos de la escena, superficies que se asumen continuas presentando únicamente discontinuidades en los contornos de los objetos. Esta continuidad de las superficies se traduce en una continuidad en el mapa de profundidades y, por lo tanto, en el mapa de disparidad, pues la disparidad está estrechamente relacionada con la profundidad. La restricción figural fue propuesta por Mayhew y Frisby, y establece la continuidad de las superficies formulada como la continuidad de la disparidad a lo largo de los contornos de las figuras, y no a través de ellas. Esta formulación evita los problemas derivados de la discontinuidad en los límites de las superficies. Esta restricción impone que si dos puntos m y n pertenecen al contorno de un mismo objeto, las disparidades de ambos puntos han de ser iguales o al menos semejantes, de forma que la diferencia de las mismas sea inferior a cierto valor umbral. b)- Posición General Ciertos eventos ocurren bastante infrecuentemente, en un sentido estadístico, de forma que permiten desestimar correspondencias asociadas a disposiciones geométricas improbables de los objetos. Se trata de una restricción específica de cada aplicación, pues la escena a captar y los objetos que la componen pueden poseer ciertas características tanto en su geometría como en su posición, de forma que permitan predecir posibles correspondencias correctas y desestimar o eliminar posibles correspondencias erróneas. Por ejemplo, si se está utilizando la estereovisión para realizar un mapa topográfico de una zona no urbana, como puede ser una cordillera, la escena que se tiene, en su mayoría, no estará compuesta por grandes discontinuidades, sino que será un terreno continuo, en ocasiones abrupto, pero continuo, permitiendo así descartar correspondencias que indicaran en el mapa de disparidad obtenido, alguna gran discontinuidad. Otra posibilidad dentro de las aplicaciones de la estereovisión, es la del control de calidad, un sistema de inspección de piezas tridimensionales conocidas permitiría guiar el proceso de búsqueda de correspondencias. 41 Conceptos y Técnicas en Estereovisión c)- Restricciones Fotométricas Las restricciones fotométricas son restricciones que están basadas en los modelos de interacción de los objetos con la iluminación. Entre ellas podemos destacar (1) la restricción de reflectancia superficial, que asume un modelo de reflectancia Lambertiana para las superficies, de modo que la intensidad de la proyección de cualquier punto tridimensional no dependa del punto de vista. En realidad, esto no es del todo cierto, aunque es una buena aproximación. (2) La restricción de compatibilidad fotométrica, que impone que la distribución de intensidades entre puntos correspondientes debe ser similar. Y (3) la restricción de compatibilidad fotométrica diferencial, que utiliza la continuidad de superficie para asumir que dados dos puntos cercanos de una imagen, la diferencia de intensidades entre ambos puntos ha de ser similar a la diferencia de intensidades de sus correspondientes. Estas restricciones deben aplicarse sobre entornos de vecindad o regiones, pues los valores puntuales de intensidad en un píxel están sujetos al ruido. d)- Restricciones Locales de Primitiva Estas restricciones son indicadores de la compatibilidad entre las características geométricas de pares de posibles correspondencias en función del tipo de primitivas utilizadas. Por ejemplo, en los puntos de borde correspondientes la orientación del gradiente (signo) debe ser similar. En el caso de los segmentos de borde, la orientación de éste, su longitud y su gradiente también deben ser compatibles; y finalmente en las regiones, sus dimensiones y su forma también deben estar relacionadas. Restricción Aplicación Epipolar La búsqueda de correspondencias se limita a las líneas epipolares Unicidad Cada píxel sólo tiene un correspondiente (análisis de confianza) Ordenamiento Los píxeles en las líneas epipolares guardan un orden (excepciones) Disparidad Limita las correspondencias a un segmento de la línea epipolar Gradiente Disp. Limita la variación de disparidad entre píxeles vecinos Posición General Dependiente de aplicación Fotométricas Interacción de los objetos de la escena con la luz Locales Primitiva Dependientes de la primitiva que se utilice. Tabla 1.4. Resumen de restricciones. 42 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Referencia Concepto [Bro03] Algunos métodos novedosos de estereovisión [Sch02] Métodos basados en mapas densos de correspondencias [Tru98] Técnicas de visión tridimensional [Fau93] Referencia clásica de estereovisión [Zit00] Correspondencias con detección de oclusiones [Fau01] Geometría de sistemas multiimagen [Har00] Geometría de múltiples vistas [Rob65], [Pre70], [Sob78], [Can86] [Mar80] Detección de bordes [Mar82] Referencia clásica de visión [Sah88], [Lee90] [Rus95]. Técnicas de segmentación basadas en la umbralización [KvD76] Teoría relacionada con la restricción de disparidad [Wil91]. Puesta en práctica de la restricción de disparidad [Jul71] Análisis de la retina ciclópea [PMF85] Utilización de la restricción del gradiente de disparidad Tabla 1.5. Referencias apropiadas para conceptos generales de estereovisión. 1.4. Técnicas de Correspondencia Utilizadas El análisis de la visión en estéreo tiene una historia muy corta; los primeros artículos específicos que se encuentran en la literatura datan de los años 1970s. Desde entonces han surgido multitud de ideas para resolver el problema de la correspondencia que es el más esquivo, y quizá por ello el más importante. Actualmente se siguen buscando soluciones a este problema, ya que no se ha encontrado una solución que funcione bien con imágenes sintéticas y con imágenes reales, en ausencia y en presencia de ruido, etc. Debido a esa multitud de intentos de resolución que han aparecido hasta la fecha de realizar esta tesis y a que todavía se siguen buscando nuevos métodos, el intentar abarcar absolutamente todos los intentos sería un trabajo inacabable. Por ello, en este apartado, se van a repasar algunos de los intentos de solución más representativos. 43 Conceptos y Técnicas en Estereovisión Existen en la bibliografía múltiples ejemplos de taxonomías de las técnicas estereo como por ejemplo [Bro03], [Sch02], cada una de ellas con una relación análisis-síntesis de los procesos involucrados diferente. En la clasificación que se presenta en los siguientes apartados se ha preferido distinguir las técnicas según su estructura general profundizando mayormente en la síntesis que en el análisis. Dentro de esta clasificación se agruparán los distintos algoritmos según su afinidad con el fin de centrar más la atención en los diferentes conceptos que se presentan en cada modalidad. 1.4.1. Técnicas Basadas en la Correlación Las técnicas de área basadas en intensidad han sido investigadas extensamente para aplicaciones comerciales en estereofotogrametría [KMM77] y [FP86], pero estos son sólo algunos métodos antiguos utilizados en visión por ordenador. La principal de este tipo de técnicas es la técnica de correlación de área. Ésta se basa en considerar los valores de intensidad de los píxeles de las imágenes como una señal bidimensional, que en una de las dos imágenes ha sufrido una traslación (disparidad). Se trata de obtener, para cada punto de la imagen, dicha traslación minimizando una función de coste, que comúnmente tiene que ver con la correlación. Para cada píxel de una imagen se calcula la correlación entre la distribución de intensidades de una ventana centrada en dicho píxel y una ventana del mismo tamaño centrada en el píxel a corresponder de la otra imagen. Esta técnica aplica, además de la restricción epipolar, las restricciones lambertiana, de continuidad y otra restricción conocida como fronto-paralela, que asume que la disparidad es constante localmente, por lo que las superficies deben ser paralelas a los planos de imagen de las cámaras, o al menos tener una pendiente pequeña. Las ventajas de utilizar este método de correlación de área, es que se obtienen unos buenos resultados en imágenes con texturas importantes y son fáciles de paralelizar. Además, permite crear mapas densos de disparidad, es decir, se obtendrá una disparidad para todos los puntos de la escena, y no solo para los contornos, esquinas u otras primitivas de mayor nivel. También es cierto que presenta problemas con imágenes que contienen elevadas discontinuidades de superficie y es una técnica muy sensible a variaciones fotométricas debidas a sombras o reflejos. Tiene además problemas con las oclusiones y requiere de un proceso posterior de eliminación de falsas correspondencias. También es posible utilizar esta técnica como complemento de otras e incluso realizar algún tipo de postprocesado sobre el mapa de disparidad hallado, que permita reducir los inconvenientes de la correlación de área como técnica de correspondencia. 44 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.4.1.1. El Principio General de las Técnicas de Correlación Para encontrar las coordenadas de un pixel en la imagen 2 que corresponde con el píxel de coordenadas (u1, v1) en la imagen 1, consideramos una ventana rectangular de tamaño (2P+1)x(2N+1) centrada en (u1, v1) y calculamos su similitud con una parte de la segunda imagen: la zona de búsqueda. Esta zona de búsqueda atendiendo a la restricción epipolar estará dentro de la línea v2 = v1, y atendiendo a la restricción de disparidad podremos centrarnos en un segmento de dicha línea. El método estadístico más utilizado para determinar dicha similitud es la correlación cruzada normalizada c12(τ). 1 C12(τ) (I1(u1i, v1j)I1(u1,v1))·(I2(u1iτ, v1j)I2(u1τ,v1)) k iN jP N P donde k (2N1)(2P1) · σ1(u1,v1) · σ2(u1τ,v1) En estas fórmulas I1(u1,v1) y σ1(u1,v1) son la intensidad media y la desviación estándar en la imagen 1 del entorno centrado en (u1,v1) 1 I (u i,v1j) (2N1)(2P1) iN jP 1 1 N I1(u1,v1) 2 σ1(u1,v1) P 1 2 ( I (u i,v1j)I1(u1,v1) ) (2N1)(2P1) iN jP 1 1 N P Las formulas son similares para I2 y σ2. Debido a la normalización por la media y la varianza, esta función es relativamente insensible a cambios en la iluminación. La curva C12(τ) habitualmente tiene un máximo que se alcanza para el valor τ0 de τ. En este caso, la disparidad del pixel (u1, v1) debe ser τ0. Esto puede verse en la figura 1.11. Con esta técnica es necesarios hacer algunas consideraciones: (1) Las líneas epipolares deben ser filas de la imagen, ya que el estudio se hace por filas. Esto implica que las imágenes deben estar rectificadas. (2) Si el máximo de la función de correlación C12(τ) no está muy definido, o existen varios máximos, la disparidad τ0 puede no ser muy precisa o completamente errónea. (3) La disparidad se asume como constante en la ventana de análisis; es posible tener problemas cuando el gradiente de disparidad sea diferente de 0. Este tercer problema es el más importante, ya que debemos asumir que las superficies de 45 Conceptos y Técnicas en Estereovisión Figura 1.11. Forma general de la función de correlación. la escena deben tener una disparidad constante. Esto equivale a decir que estas superficies deben representarse localmente como planos frontales. Por otra parte, podemos considerar que la fórmula de C12 no es simétrica respecto de I1 e I2. Por ello podemos también calcular la función de correlación C21(τ) intercambiando los roles de las imágenes 1 y 2. En este caso, los píxeles en los que C12(τ) y C21(τ) son distintos probablemente sean píxeles de contorno o cerca de discontinuidades, en los que puede haber oclusiones y el gradiente de disparidad ser grande. En el algoritmo desarrollado por Fua [Fua91], los puntos donde C12 y C21 difieren no se les asocia correspondencia entre ellos, si no que se les consideran oclusiones, y el resultado final se deja a una función de suavizado. 1.4.1.2. Algoritmo de Nishihara Nishihara [Nis84] propuso una técnica de correlación basada en el signo de la convolución de las imágenes con el operador Laplaciano de un Gaussiano. El uso del Laplaciano del Gaussiano fue motivado por el trabajo de Marr y Hildreth [Mar80] en detección de contornos, donde los contornos se detectan en los cruces por cero de la salida de dicha convolución. Otra extensión notable del método de correlación básico es el propuesto por Kass [Kas83], [Kas88], quién procesó las dos imágenes con filtros lineales independientes y después correlacionó los vectores de las salidas. 46 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Las posiciones de los cruces por cero de las imágenes en el algoritmo de Nishihara son muy sensibles al ruido. Estos cruces por cero se desplazan cantidades que son proporcionales a la amplitud del ruido e inversamente proporcionales al gradiente de la convolución en el cruce por cero [Nis84], [NP82]. Por otro lado, si el espacio entre cruces por cero es relativamente grande comparado con la cantidad de este desplazamiento, la región de signo constante entre ceros será estable en un rango grande de relaciones señalruido. La idea es realizar la convolución de las imágenes derecha e izquierda con 2Gσ donde Gσ es un ruido Gaussiano de varianza σ, y después correlacionar las imágenes de salida. Este tiene el efecto de hacer más abrupto el pico de la función de autocorrelación. En [Fau93] puede extenderse el estudio de la sensibilidad al ruido, y la forma de las funciones de correlación utilizando algunos modelos de imágenes de estadística simple. 1.4.1.3. Función de Similitud Basada en la Suma de Diferencias La función de correlación es una función muy pesada computacionalmente; por ello, los algoritmos que la utilizan suelen tardar mucho tiempo en ejecutarse. Debido a esto, se han planteado dos alternativas a esta función; alternativas que en principio son menos costosas computacionalmente, y que a la postre han resultado ser tanto o más fiables que la propia función de correlación. Estas funciones son la suma de diferencias absolutas (SAD) y la suma de diferencias al cuadrado (SSD) y se aplican de la misma manera a entornos bidimensionales de los píxeles a corresponder. Mediante la suma de diferencias absolutas se comparan los entornos bidimensionales de los píxeles a analizar, calculando sus diferencias píxel a píxel y sumándolas todas entre sí. Aquellos entornos que tengan un mínimo de esta suma serán los que más confianza tenga su correspondencia. Por su parte, la suma de diferencias al cuadrado se diferencia del anterior, en que previamente a la suma, las diferencias de los píxeles de los entornos bidimensionales se elevan al cuadrado. En [Asc93] puede verse una comparación extensa de estos métodos. 1.4.2. Funciones basadas en Rango y Censo Zabih y Woodfill [Zab94] propusieron un método alternativo para analizar la correspondencia aplicando una transformación previa a las imágenes con el fin de eliminar dependencias con la iluminación. Ambas funciones se aplican de forma local a las regiones a corresponder de las dos imágenes. La transformada del rango de una región centrada en un píxel se define como el número de píxeles de esta región cuya intensidad es menor que la del píxel central. El resultado está más basado en la cantidad de píxeles, que en los 47 Conceptos y Técnicas en Estereovisión píxeles en sí. Después de la transformación del rango, se procede a una comparación de las regiones mediante técnicas de correlación, SAD o SSD. La transformada del rango es interesante porque reduce la sensibilidad a la iluminación, pero reduce el poder de discriminación en las correspondencias, ya que se pierde información sobre la posición del orden relativo de los píxeles. Los propios Zabih y Woodfill propusieron una variación de la transformación del rango llamada transformación del censo. Ésta conserva la distribución espacial de los píxeles codificándolos mediante una cadena de bits. En este caso, el análisis de correspondencia se realiza mediante la distancia de Hamming, número de bits diferentes entre cadenas de bits. Esta transformación incrementa la cantidad de información necesaria por un factor que depende del tamaño local de la región, haciéndola algo más costosa computacionalmente. 28 19 32 48 18 25 37 12 15 28 19 32 >rango2; 48 18 25 >censo00000011 37 12 15 Banks y Croke [Ban01] compararon las prestaciones de las correspondencias mediante censos y rangos con las analizadas mediante correlaciones y medidas de la diferencia. Sus resultados indican que los métodos del rango y el censo consiguen métricas comparables con las anteriores y son más robustos frente a la iluminación y a las oclusiones. Para la mayoría de las escenas analizadas, las diferencias entre la correlación cruzada y la correspondencia mediante el censo están entre el 5 y el 9 por ciento de errores del número total de píxeles. 1.4.3. Técnicas de Relajación La técnica de correlación de área por sí sola presenta numerosos errores en las correspondencias, que bien pueden ser eliminados mediante un postprocesado o parcialmente evitados mediante un proceso que se conoce con el nombre de relajación o algoritmo cooperativo. La idea básica de las técnicas de relajación es permitir a los píxeles que se van a poner en correspondencia, realizar “estimaciones controladas” de cómo debe ser su correspondencia y después, permite a las correspondencias reorganizarse propagando algunas de las restricciones descritas en los apartados anteriores. Para este tipo de proceso, no solo importa el valor de la correlación obtenida para los píxeles de la línea que se analiza, sino que también otorga importancia a los valores de correlación obtenidos para una cierta vecindad que se conocerá con el nombre de región excitatoria; y un grupo de píxeles que se conocerán como región inhibitoria. 48 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 1.12. Cubo de correlaciones. Este algoritmo se implementa a partir del denominado cubo de correlación, que será una matriz de tres dimensiones (filas x columnas x disparidad). Cada uno de los elementos de la matriz almacenará el valor de la correlación obtenido para la ventana de la imagen 1 centrada en el píxel marcado por las coordenadas (fila, columna) con la ventana de la imagen 2 centrada en el píxel de coordenadas (fila, columna + disparidad). Este cubo de correlación se muestra en la figura 1.12. Una vez creado el cubo de correlación para cada uno de los píxeles de la imagen marcado por su fila y su columna, se tiene un vector unidimensional del tamaño el límite de disparidad elegido en el análisis, y que almacena los valores de la correlación. El proceso de relajación, se realizará ahora línea por línea, o fila por fila, de modo, que para cada una de las filas, se tiene una matriz bidimensional de la magnitud horizontal y la disparidad. Es en esta matriz donde se definirán las que antes se han llamado región inhibitoria y excitatoria. Las regiones excitatoria e inhibitoria se definen utilizando las restricciones de continuidad, unicidad y, de forma indirecta, también de ordenamiento, además de la restricción epipolar que se ha utilizado para crear el cubo de correlación. Para un píxel de coordenadas (x,y), existirá un valor de disparidad d para el cual se encuentre el punto correspondiente. Si ese punto es realmente una correspondencia tendrá un alto valor de correlación y, a su vez, atendiendo a la restricción de continuidad, los puntos cercanos a él también tendrán valores altos, de modo que esos puntos cercanos serán la región excitatoria. Por el contrario, si dicho punto es correcto, los demás elementos de la matriz cuya coordenada x sea la misma pero difieran en la disparidad, serán 49 Conceptos y Técnicas en Estereovisión Figura 1.13. Regiones excitatoria e inhibitoria. correspondencias falsas, de modo que tendrán valores pequeños de disparidad. Si a su vez, se aplica la restricción de ordenamiento y unicidad, los puntos que tengan una coordenada x diferente pero tengan una disparidad tal que lleven al mismo píxel, no serán correspondencias válidas, por lo que sus valores de correlación también serán pequeños. Estos dos últimos grupos de puntos se corresponderán con la región inhibitoria. En la figura 1.13 se muestra gráficamente todo esto. Conociendo las características de las regiones comentadas, será posible utilizarlas para mejorar el proceso de la búsqueda de las correspondencias. 1.4.3.1. El algoritmo de Marr-Poggio. El algoritmo de Marr y Poggio [MP76] [MP79] fuerza las restricciones de unicidad y de disparidad. Para cada píxel m1 de la imagen 1, se calcula un conjunto inicial de medidas de confianza c(m1, m2) que estiman cual de los m1 puede ser puesto en correspondencia con m2 de la imagen 2. Existen muchas formas de calcular los valores de C. El más simple es comparar los valores de intensidad de m1 y m2: C(m1,m2) = 1 si la intensidad de m1 y m2 están lo suficientemente cerca C(m1,m2) = 0 de otra forma. Los puntos m2 son elegidos de la línea epipolar correspondiente de m1. Las medidas de confianza se actualizan secuencialmente para comprobar la restricción de continuidad así: C(n+1)(m1, m2) = 1, si el número de pixeles m’1 en el vecindario V1 de m1 son tales que C(n)(m’1, m’2) = 1 para m’2 en el vecindario V2 de m2 está por encima del umbral (n+1) C (m1, m2) = 0 en otro caso. 50 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Los vecindarios V1 y V2 son usualmente aproximaciones a discos de radio unos pocos píxeles centrados en m1 y m2. El algoritmo ha sido probado, sobretodo en estereogramas de puntos donde se han obtenido resultados muy satisfactorios. En unas pocas iteraciones éste converge; es decir, la confianza medida permanece estable. Más aún, la confianza medida es habitualmente no ambigua en el sentido de que, para la mayoría de los píxeles m1 de la primera imagen sólo hay un píxel m2 de la línea epipolar correspondiente de forma que C(m1,m2)=1. El punto m1 es entonces puesto en correspondencia con m2. Si existen varios m2 candidatos, no se debe aplicar la restricción de unicidad. El algoritmo no funciona tan bien con imágenes reales, sobretodo porque las características que utiliza, la intensidad en el punto y las restricciones que impone (geometría plana y disparidad) no son suficientes para utilizarlas en la mayoría de las imágenes reales. Su implementación y muchas aportaciones interesantes son debidas a Eric Grimson [Gri81], [Gri85]. 1.4.3.2. El Algoritmo de Pollard, Mayhew, Frisby La mayor diferencia del algoritmo PMF [PMF85] con el de Marr y Poggio es que éste fuerza la restricción del gradiente de disparidad. Éste, primero extrae de las dos imágenes varios elementos cada uno de ellos caracterizado por varios atributos. Por ejemplo, los puntos de contorno son caracterizados por su contraste y su orientación. Una correspondencia entre el detalle t1 de la imagen 1 y el detalle t2 de la imagen 2 se caracteriza por una medida C12 de su confianza comparando los valores de los atributos de t1 y de t2. Para cada elemento localizado en el pixel m1, y cada posible correspondiente en la imagen 2 (aplicando la restricción epipolar) se calcula una “fuerza de la correspondencia” SM(m1,m2). Se consideran todos los elementos ti localizados tanto en los píxeles m1 como en algún vecino de m1. Para cada detalle, las correspondencias t2 localizadas en los píxeles m2 que satisfacen la restricción DG(m1, m2, n1, n2) < σ se consideran como candidatos para considerarse correspondientes (m1, m2). En el caso donde hay más de un detalle con esta restricción DG<σ, sólo se considera aquel con mayor valor de Cij. Los detalles son correspondientes mediante un proceso en que “el que gana se queda con todo” para asegurar la unicidad. El método funciona como sigue. Para cada iteración, se consideran correctos aquellos cuya fuerza de correspondencia es máxima para los dos detalles de las imágenes. Después, debido a la restricción de unicidad, todas las correspondencias asociadas a los dos puntos se eliminan para la siguiente iteración. Esto permite que las correspondencias se elijan tan correctas como sea posible a partir de la 51 Conceptos y Técnicas en Estereovisión fuerza de la correspondencia para los dos detalles (uno de cada imagen). Normalmente con cuatro o cinco iteraciones es suficiente para conseguir todas las correspondencias. El algoritmo se ha probado en gran número de imágenes sintéticas y reales dando resultados precisos y fiables. 1.4.3.3. Técnicas de Grueso a Fino Dentro de las técnicas basadas en área, existe otra bastante común que se conoce como técnica grueso a fino y que puede emplearse con diferentes técnicas de correspondencia, siendo lo más habitual su uso junto con la técnica de correlación de MarrPoggio. Esta técnica se basa en crear una estructura piramidal a partir de las imágenes estéreo reduciendo su tamaño y por lo tanto, su resolución. El proceso se realizará para K niveles de reducción comenzando la búsqueda de correspondencias en el nivel mas bajo, es decir, el de menor tamaño o resolución. Los resultados obtenidos en este nivel, serán utilizados para guiar y restringir la búsqueda de las correspondencias en el nivel superior, y así sucesivamente hasta alcanzar el nivel K-1, que serán las imágenes originales. Ejemplos de esta técnica pueden verse en [Qua84], [Wit87] o [Ber92] Esta técnica tiene el inconveniente de que un pequeño error en un nivel bajo, se convertiría en un gran error en el mapa de disparidad final. Su ventaja es que al realizar gran parte de la búsqueda de las correspondencias en imágenes de bajas resoluciones, el tiempo de ejecución se reduce, pues al llegar a las imágenes de los niveles altos, la búsqueda queda muy restringida a unos pocos píxeles. 1.4.4. Métodos Basados en el Gradiente Los métodos basados en el gradiente o en el flujo óptico persiguen determinar disparidades locales entre dos imágenes en base a formular una ecuación diferencial que relaciona el movimiento y el brillo en las imágenes. Para hacer esto, se asume que el brillo en la imagen de un punto de la escena es constante entre las dos vistas. Así la traslación horizontal que se produce debida a la diferente perspectiva se analiza a partir de la ecuación (x E)v Et 0 donde xE es la componente horizontal del gradiente en la imagen, Et es la diferencia de intensidades entre las imágenes derecha e izquierda, y v es el desplazamiento entre las dos imágenes. 52 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Puede notarse que con esta expresión solamente es posible estimar el desplazamiento en la dirección del gradiente. Para solucionar esto, es conveniente estudiar el gradiente en todos los píxeles del entorno del punto a estudio para, de esta manera, tener una información más fiable para realizar las correspondencias. Un ejemplo de este tipo se encuentra en [Sch94]. 1.4.5. Correspondencias entre Características Las técnicas relacionadas con el área como la correlación, y las basadas en el gradiente son muy sensibles a errores provocados por las discontinuidades en la profundidad, así como a las regiones uniformes. Para solventar estos problemas, las técnicas basadas en características limitan las regiones a analizar a características fiables de las imágenes, como pueden ser los contornos, las curvas, etc. Esta técnica reduce la densidad de puntos sobre los que se estima la profundidad; por eso, debido a la necesidad de conseguir mapas de disparidad densos para distintas aplicaciones y también a las mejoras en eficiencia y robustez en los métodos basados en áreas, en la última década el estudio de los métodos basados en características ha decaído. Los dos métodos que han recibido más atención en los últimos tiempos han sido los métodos jerárquicos, y la segmentación basada en regiones. Venkateswar y Chellappa [Ven95] propusieron un algoritmo de correspondencias basadas en características explotando cuatro tipos de ellas: líneas, vértices, contornos, y superficies. La correspondencia comienza en el nivel más alto de la jerarquía; las superficies y continua hasta el más bajo; las líneas. Una vez que los componentes de la jerarquía más alta han sido puestos en correspondencia, las características que lo componen no son vueltas a analizar en los niveles más bajos. Otra aproximación basada en características es primero segmentar las imágenes y después poner en correspondencia dichas regiones. Como todos los métodos basados en características, los mapas densos se definen en base a desplazamientos de las regiones. Por lo tanto, estos métodos son sensibles sobretodo, a la calidad de la segmentación. 1.4.6. Técnicas de Programación Dinámica El problema de la correspondencia de primitivas entre imágenes puede ser abordado como minimización de una función de coste. La programación dinámica es una forma eficiente de minimizar (o maximizar) funciones de gran número de variables discretas. Intentos satisfactorios utilizando programación dinámica para resolver el problema de la 53 Conceptos y Técnicas en Estereovisión correspondencia estéreo son los de Baker y Binford [BB81] y Ohta y Kanade [OK85]. En ambos casos se utilizan los contornos como primitivas básicas. Asumamos que las líneas epipolares son paralelas a las filas de las imágenes y consideremos dos líneas correspondientes en las imágenes derecha e izquierda. En cada fila se identifican varios píxeles de contorno, y se incluyen los dos finales de las líneas por conveniencia. La correspondencia de estos píxeles de contorno, pueden considerarse como el problema de corresponder los intervalos entre ellos de la siguiente manera: Ordenamos los píxeles de contorno de izquierda a derecha en cada línea y los numeramos entre 0 y N-1 en la imagen izquierda y 0 a M-1 en la derecha. En la figura 1.14 se representan los pares (i,j) de puntos de contorno de las líneas derecha e izquierda como puntos que forman una rejilla. Corresponder el intervalo [i, i’] de la izquierda con el [j, j’] de la derecha es equivalente a dibujar un segmento entre los puntos m=(i,j) y m’=(i’,j’) en la rejilla. El objetivo es encontrar una secuencia de segmentos (un camino) desde el punto m0=(0,0) hasta el punto me(N-1, M-1). En esta búsqueda, podemos aplicar restricciones del estilo de las vistas en apartados anteriores. La restricción de orden es interesante ya que es equivalente a decir que los caminos admisibles son caminos monótonos decrecientes. A pesar de esta restricción todavía existen muchos caminos posibles. Definiremos el mejor camino el que minimice una función de coste. Primero definimos el coste c(m,m’) de un segmento entre los puntos m=(i,j) y m’=(i’,j’). Por supuesto, existen varias formas de definir esta función de coste. En general esta función de coste debe medir dos cosas: (1) Figura 1.14. Técnicas de programación dinámica. 54 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica la similitud de las características de los píxeles de la imagen derecha y la izquierda, características que pueden ser la orientación de los contornos o contraste a través de ellos y (2) la similitud de intensidades a lo largo de los intervalos entre contornos. Si existe un contorno entre dos filas, las correspondencias de una fila deben depender bastante de las vecinas. Reforzar la consistencia es equivalente a aplicar la continuidad de las figuras, y hay varias formas de hacerlo: (1) Baker [BB81] utiliza un proceso cooperativo para detectar y corregir los resultados de la correspondencia, mientras que (2) Ohta y Kanade [OK85] lo incluyen en la función de coste y resuelven una programación dinámica en un espacio 3D en vez de un espacio previo 2D. Además de la minimización de la función de coste para las líneas epipolares independientemente, también se pueden aplicar relaciones de correspondencia entre líneas epipolares vecinas (superiores e inferiores) con el fin de reducir la ambigüedad. Algunas herramientas que avanzan en esta dirección son los llamados graph cuts [Boy01], que tratan de minimizar una función de coste que puede implicar tanto a la dirección horizontal como a la vertical. La principal desventaja de la programación dinámica es la probabilidad de que errores locales se puedan propagar a lo largo de la línea epipolar descartándose correspondencias potencialmente correctas. 1.4.7. Técnica de las Curvas Íntimas Tomasi y Manduchi [Tom98] propusieron una alternativa a la búsqueda convencional de correspondencias utilizando una representación diferente de las líneas epipolares de las imágenes; es la técnica de las curvas íntimas. Una curva íntima es una representación de descriptores definidos por la aplicación de operadores de borde o de esquinas. Las curvas íntimas se definen representando gráficamente las intensidades de cada línea epipolar frente a sus respectivas derivadas. Esta representación es invariante con la disparidad, así que en el caso ideal, los píxeles correspondientes se sitúan superpuestos en las dos representaciones de las líneas epipolares. En el caso general, debido al ruido y a las diferencias de perspectivas los puntos correspondientes, no siempre se superponen exactamente en el mismo sitio. De esta manera se recurre ha identificar a los puntos correspondientes como los puntos más cercanos de la gráfica. Una vez que se ha encontrado la correspondencia mediante las curvas íntimas, debe deshacerse la representación para asociar a cada correspondencia la disparidad apropiada. La principal ventaja de las curvas íntimas es su invarianza respecto de la disparidad. Algunos métodos utilizan precisamente la restricción de disparidad para reducir su coste computacional, pero en esta aproximación, eso no es necesario. Por supuesto esta 55 Conceptos y Técnicas en Estereovisión representación también está afectada por las oclusiones y por texturas homogéneas en las imágenes. Para compensar sobretodo el segundo problema, se añade un mecanismo de programación dinámica que se aplica en aquellos puntos de la curva íntima que por su nivel de brillo constante y su derivada también constante no quedan del todo situados. Las oclusiones en las curvas íntimas quedan patentes como discontinuidades en la representación; y aunque es visiblemente un indicador interesante, todavía no se ha publicado ningún algoritmo para su tratamiento. Tampoco se han publicado análisis comparativos con otros métodos. 1.4.8. Métodos de Predicción y Verificación Este es un ejemplo de algoritmo estéreo donde los elementos puestos en correspondencia son de un nivel simbólico mayor que los píxeles. Esta aproximación ha sido seguida particularmente por Medioni y Nevatia [MN85]. Describiremos un algoritmo estéreo desarrollado por Ayache y Faverjon [AF87] que realiza la correspondencia de segmentos entre dos imágenes por una técnica de predicción y verificación de hipótesis. El tomar segmentos de línea como primitivas tiene dos ventajas: (1) El número de primitivas a poner en correspondencia es más pequeño que el número usual de píxeles de contorno y (2) en la correspondencia de primitivas simbólicas podemos utilizar características de ellas, como por ejemplo características geométricas, que son robustas y fiables. El utilizar segmentos también tiene desventajas: (1) Se asume que los contornos se pueden aproximar bien por segmentos de línea, y que además los objetos de la escena son poliedros o parecidos. Si no lo son, el número de segmentos puede aumentar para una tolerancia dada, reduciendo la ventaja (1). (2) Si los objetos no son poliedros, no hay garantía de que los vértices de los poliedros aproximados en las imágenes del par estéreo se correspondan; es decir, que estén en las mismas líneas epipolares. (3) La densidad de correspondencias es menor que las obtenidas en el caso de puntos. A pesar de esto, las correspondencias son habitualmente más precisas y fiables que las tomadas por técnicas basadas en correlación y esta ventaja compensa la desventaja. La primera desventaja se puede aliviar considerando aproximaciones por curvas en vez de segmentos de línea. La segunda desventaja también puede aliviarse mediante técnicas de interpolación. Este método utiliza tres restricciones para reducir el tamaño del espacio de búsqueda: la restricción epipolar modificada para el caso de segmentos de línea que se verá a continuación, la restricción de continuidad y la restricción de unicidad. 56 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.4.8.1. Construcción de Descripciones Simbólicas Las dos imágenes del par estéreo se representan como conjuntos de segmentos. Estos segmentos se extraen de una primera búsqueda de puntos de contorno y después se aproximan dichos puntos por líneas rectas. Cada segmento se representa por varias características geométricas (coordenadas del punto medio, longitud, orientación) y basadas en intensidad (contraste, gradiente de intensidad media de la imagen a lo largo del segmento). También se introduce una estructura de vecindario en los conjuntos de segmentos [AEI85]. Esto significa que cada imagen se divide en ventanas cuadradas no solapadas. Para cada ventana se le asigna una lista de segmentos que intersectan. Esto da un acceso rápido a los segmentos que están cerca de un segmento dado y se utilizan para implementar el proceso de propagar las hipótesis que se describirán a continuación. 1.4.8.2. Definición de Correspondencias Estrictamente hablando, una correspondencia es un par (D, I) de los segmentos de la derecha y la izquierda que satisfacen la restricción epipolar. En la práctica la probabilidad de que dos aproximaciones poligonales produzcan segmentos cuyos finales estén en el mismo plano epipolar es muy pequeña. Es mejor observar situaciones en las que las líneas epipolares de los finales de segmentos intersectan con otros segmentos s1 y s2 en algún punto distinto de los finales. Una correspondencia aceptable puede definirse de la manera más rigurosa considerando los puntos finales de I y sus correspondientes líneas epipolares que intersectan en D a lo largo del segmento D’ (más largo). Debe existir la intersección D” de D’ y D, si la correspondencia se acepta. Utilizando un método similar, los puntos finales de D” corresponderán con I” que estará incluida en I. Los segmentos I” y D” existirán y tendrán sus características en correspondencia. Como esta forma de hacer es muy costosa, definimos una restricción epipolar modificada como sigue. La restricción epipolar para segmentos de línea implica que los segmentos homólogos tienen al menos un punto análogo. Para hacerlo más sencillo este punto se escoge como el punto medio del segmento. Imponemos que la linea epipolar del punto medio del segmento I intersecte al segmento D para que la correspondencia (I, D) sea válida. Esta definición no es simétrica con respecto a I y D, y tiene la desventaja de permitir potencialmente una correspondencia global entre contornos aproximados por distintos segmentos. Finalmente, para evitar falsas correspondencias espúreas posibles, las características de los segmentos se comparan. 57 Conceptos y Técnicas en Estereovisión Como resumen, una correspondencia es un par (I, D) de segmentos de la derecha y la izquierda que satisfacen la restricción epipolar modificada. Además las características de los segmentos derecho e izquierdo deben estar suficientemente cercanas. 1.4.9. Métodos Basados en Diferencias de Fase Otro de los enfoques quizá menos extendido sea el fundamentado en el cálculo de la disparidad binocular en base la diferencia de fase a la salida de filtros paso banda locales aplicados a las imágenes estereo. Este enfoque es analizado con mayor profundidad en [Jep89], y [San88]. Además existen evidencias biológicas incluidas en [Wil89] que soportan diferentes aspectos de este método. Estos métodos han surgido debido a que se piensa que la forma en que el cortex visual primario procesa las imágenes visuales puede ser modelada adecuadamente mediante filtros paso banda espacio-temporales [Cor93]. 1.5. Tratamiento de las Oclusiones La mayor parte de la investigación en estereovisión en la última década se ha orientado a la detección y medida de regiones ocultas, y en recuperar la profundidad precisa para estas regiones. Este apartado define el problema de la oclusión en estereovisión y contempla tres clases de algoritmos para el manejo de oclusiones: métodos que detectan oclusiones, métodos que reducen la sensibilidad a las oclusiones y métodos que modelan la geometría de las oclusiones. El problema de las oclusiones en estereovisión se refiere al hecho de que algunos puntos de la escena son visibles por una cámara y sin embargo, no por la otra, debido a la propia escena y a la geometría del sistema. En estos casos, la estimación de la profundidad no es posible si no se añaden más vistas en las que el punto no esté oculto, o se asuman ciertas características de la escena. 58 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Referencia Concepto [KMM77] Fotogrametría aplicada a la teledetección [FP86] Uso de la visión artificial en fotogrametría [Fua91] Correlación biunívoca para detección de oclusiones [Nis84], [NP82] Correlación basada en detección de bordes [Kas83], [Kas88] Correlación con filtrados lineales previos [Asc93] Similitud basada en sumas de diferencias (SAD), (SSD). [Zab94] Similitud basada en la transformación del rango y del censo [Ban01] Comparativa de similitudes basadas en rango y censo [MP76], [MP79] Técnica de relajación basada en vecindario [PMF85] Correlación basada en características [Qua84], [Wit87] [Ber92] Utilización de técnicas de grueso a fino [Sch94] Métodos basados en el flujo óptico [Ven95] Correspondencias basadas en líneas, vértices, contornos y superficies [BB81], [OK85] Técnicas basadas de programación dinámica [Boy01] Minimización de función de coste mediante graph cuts [Tom98] Técnica de curvas íntimas o “intrinsic curves” [AF87] Correspondencias basadas en segmentos (predicción y verificación) [Jep89], [San88], [Wil89] Métodos basados en diferencias de fase a la salida de filtros paso banda [Cor93] Evidencias biológicas de la existencia de filtrados en el sistema visual biológico Tabla 1.6. Métodos de resolución de la estereovisión 59 Conceptos y Técnicas en Estereovisión 1.5.1. Métodos de Detección de Oclusiones Los acercamientos más simples al manejo de oclusiones comienzan por su detección previa o posteriormente a las correspondencias. Estas regiones en algunos casos resultan interpoladas cuando se pretende conseguir un mapa denso de disparidades, o simplemente no se toman en consideración cuando se busca un mapa menos denso. La aproximación más común es detectar discontinuidades en el mapa de profundidad después del análisis de correspondencias. Habitualmente se utilizan filtros de mediana para eliminar dichas discontinuidades que son producidas generalmente por oclusiones. Por ejemplo, Hoff y Ahuja [Hof89] detectan la profundidad y la orientación de las discontinuidades comparando los resultados con superficies planas. Cuando dos de estas superficies difieren en profundidad o en orientación más de un determinado umbral, se considera que existe una oclusión. Chang et al. [Cha91] calcula dos mapas de disparidad, uno basado en las correspondencias de la imagen izquierda con las de la derecha, y otro basado en las correspondencias de la derecha con las de la izquierda. Las disparidades inconsistentes se consideran producidas por oclusiones en la escena. Existen otras muchas causas posibles de inconsistencias, incluyendo diferencias de perspectiva, iluminación no uniforme, o ruido en los sensores. La inconsistencia de izquierda a derecha trata todos estos fenómenos por igual, pero es un método que utilizando las funciones SAD o SSD vistas anteriormente tienen un coste computacional razonable. Por ello, son comúnmente utilizadas en sistemas en tiempo real. La restricción de ordenamiento también se puede utilizar para detectar oclusiones. El ordenamiento relativo de los puntos a lo largo de las líneas epipolares es monótono, asumiendo que no existen objetos excesivamente estrechos en la escena. Silva y SantosVictor [Sil00] han propuesto un método que buscan correspondencias fuera de orden, que pueden indicar la presencia de oclusiones. Otra aproximación a la detección de oclusiones se basa en la observación de discontinuidades en la profundidad y orientación que aparecen en torno a los bordes de los objetos. Los mapas de disparidad se suavizan, manteniendo exclusivamente sin suavizar las disparidades asociadas a los bordes. Entonces, aquellos puntos con grandes diferencias de disparidad entre la versión original y la suavizada se considera como regiones ocultas. La programación dinámica de Ohta y Kanade [OK85] que hace corresponder a las regiones a través de la interpolación de las profundidades de los contornos, no sólo detecta sino que también evita el problema de las oclusiones. 60 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.5.2. Métodos para Reducir la Sensibilidad a las Oclusiones El uso de métodos robustos es un camino para conseguir reducir la sensibilidad a oclusiones en la correspondencia, y otras diferencias en las imágenes. La presencia de oclusiones en pares de imágenes estereo producen discontinuidades en la disparidad que por otro lado son coherentes; es decir, existen regiones que por un lado tienen una discontinuidad grande en la disparidad, pero en otra dirección su función disparidad es suave. Esta suavidad introduce un nuevo umbral en la detección de oclusiones. Stewart [Ste97] llama a estas discontinuidades “pseudo-outliers” y ofrece sugerencias para una selección cuidadosa de estimadores robustos para manejarlas. Zabih y Woodfill [Zab94] Propusieron las transformaciones del rango y el censo que se aplican a las áreas locales antes de la correlación. Como estos métodos se basan en la intensidad relativa en vez de en las intensidades absolutas, son bastante robustos a las discontinuidades de disparidad. Otra aproximación para reducir la sensibilidad a las oclusiones es redimensionar la ventana de correlación para optimizar la similitud de las correspondencias cerca de las oclusiones. Kanade y Okutomi [Kan94] proponen un método iterativo para determinar el tamaño óptimo de las ventanas. El tamaño de las ventanas es inicialmente muy pequeño, y se analiza la incertidumbre de la correspondencia. Entonces, el tamaño de la ventana se expande un píxel por cada dirección independientemente, y se vuelve a calcular la incertidumbre. Si esta incertidumbre ha crecido al expandir la ventana en una dirección, esa dirección se declara prohibida para expandir. Este procedimiento se aplica de forma iterativa hasta que todas las direcciones se declaran prohibidas. 1.5.3. Métodos para Modelar la Geometría de las Oclusiones Aunque los métodos anteriores para la detección y reducción de la sensibilidad a las oclusiones ofrecen distintas ventajas y todos son computacionalmente abordables, estos no aprovechan todas las posibilidades que aportan las restricciones a la estereovisión. Es deseable integrar el conocimiento de la geometría de las oclusiones dentro del proceso de búsqueda. Belhumeur [Bel96] define las bases de una serie de estimadores Bayesianos, los cuales cada uno maneja un modelo más complicado de la escena. Estos se utilizan para definir funciones de coste para utilizar en programación dinámica. El modelo más simple 61 Conceptos y Técnicas en Estereovisión supone que las superficies son suaves. El segundo asume que además de la suavidad de las superficies existen contornos abruptos en los objetos. El modelo tercero es más realista, e incluye superficies con inclinaciones además de los contornos en los objetos. Variaciones de estos modelos, sobretodo del segundo han sido utilizados tanto en la programación dinámica como en los graph cuts para determinar el mapa de disparidad óptimo. Otro método para detectar oclusiones y recuperar las profundidades de estas regiones es explotar la posibilidad de tener varias cámaras [Oku93]. Kanade et al. [Kan92] proponen un algoritmo que utiliza la función SSD, y tiene como base la posibilidad de desplazar las cámaras obteniendo diferentes lineas base conocidas. La ambigüedad en el par estereo debida a las oclusiones no están presentes en otros pares, en los que el objeto es visible desde las dos perspectivas. También se puede utilizar visión activa para detectar oclusiones y recuperar la profundidad de éstas, en base al estudio del movimiento de las cámaras, para conseguir que el punto oculto pase a ser visible. Ching [Chi94] utiliza la visión activa para discernir entre oclusiones y reflejos especulares. Una de las dos cámaras del par estereo se rota, y se analiza el cambio de las dimensiones de las regiones supuestamente ocultas. Aquellas áreas que no crecen o decrecen de una forma predecible se asume que son debidas a reflejos especulares. Una aproximación más general para manejar oclusiones utilizando visión activa fue propuesta por Reed y Allen [Ree00], quienes describen la planificación de un sistema sensor que minimiza el número de cámaras requeridas para capturar todos los puntos de la escena. 1.6. Técnicas que Relacionan Estereopsis con Movimiento Además de la estereovisión clásica, también han aparecido otras formas de recuperar la estructura 3D de una escena en base a información de movimiento. Las primeras de ellas han sido agrupadas con la denominación de “Estructura desde el Movimiento - Structure from Motion” y utilizan para ello una sola secuencia de video. En cambio, actualmente se trata de combinar la información espacial y temporal para aumentar la robustez y la eficiencia computacional de la recuperación tridimensional. 62 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Referencia Concepto [Hof89] Existencia de oclusiones cuando dos superficies difieren en profundidad o en orientación más de un determinado umbral [Cha91] Detección en base a inconsistencias entre dos mapas de disparidad, derecha-izquierda e izquierda-derecha [Sil00] Elementos que no cumplen la restricción de ordenamiento [OK85] Interpolación de profundidades en base a la programación dinámica [Ste97] Oclusiones en puntos con distinta variación de disparidad según la dirección de análisis [Zab94] Las intensidades relativas del rango y el censo son robustos frente a oclusiones [Kan94] Variaciones de tamaño de las ventanas de correlación y análisis de incertidumbre [Bel96] Aproximación a las superficies en base a programación dinámica y diferentes modelos de superficie (plana, bordes, inclinaciones) [Oku93], [Kan92] Diferentes análisis con líneas base distintas pero conocidas [Chi94] Rotación de cámara para detectar regiones especulares [Ree00] Uso de varias cámaras para evitar oclusiones Tabla 1.7. Tratamiento de las oclusiones. 63 Conceptos y Técnicas en Estereovisión Autores Método Restricciones Refs. Nishihara Búsqueda de contornos y correlación. Ep. Uni. [Nis84], [NP82] Zabih Woodfill Transformada del Rango y correlación. Transf. Censo y distancia de Hamming. Ep. Uni. [Ban01], [Zab94] Marr - Poggio Comparación de intensidades y análisis de vecindario. Ep. Uni. Disp [Mar82], [Mar80], [Gri85] Pollard Mayhew Frisby Extracción de características de píxeles y comparación. Ep. Uni. Disp. Grad-Disp [PMF85] Venkatesvar Chellappa Correspondencias basadas en caracteríticas: regiones, contornos, vértices, líneas. Ep. Uni. Ord. Disp. [Ven95] Baker-Binford, Otha-Kanade Programación dinámica: Detección de contornos y estimación de superficie en profundidad mediante minimización de función de coste. Ep. Uni. Ord. [BB81], [OK85] TomasiManduchi Representación de nivel de brillo frente a derivada (curvas íntimas). Ep. Uni. [Tom98] MedioniNevatia, AyacheFaverjon Comparación de segmentos de línea aplicando restricción epipolar modificada Ep. Uni. Disp. [MN85], [AF87] Sanger, Jepson-Jemkin Filtrado paso banda local y comparación de diferencias de fase. Ep. Uni. Disp. GradDisp. Tabla 1.8. Resumen de técnicas orientadas al análisis estéreo estático. 64 [San88], [Jep89] Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 1.6.1. Técnicas de “Estructura desde el Movimiento” Estas técnicas son inherentemente temporales y como se ha dicho en la introducción para su análisis sólo utilizan una secuencia de imágenes tomada por una cámara. Los desarrollos actuales han puesto de manifiesto la robustez de estas técnicas incluso en el caso de tener que recuperar simultáneamente la trayectoria de la cámara. Los inconvenientes de estos algoritmos se centran, por una parte, en que la estructura tridimensional sólo se puede recuperar a falta de un factor de escala; no es posible recuperar medidas absolutas sino se dispone de información adicional. Por otra parte, se necesitan numerosos fotogramas, al menos decenas de ellos para recuperar de forma robusta los datos de la estructura 3D de la escena, esto se debe a que el movimiento entre fotogramas se impone que sea pequeño para simplificar el problema de la correspondencia. Algunos investigadores han acometido el problema introduciendo además información estéreo. Esto ayuda a resolver problemas como el del factor de escala, ya que la información extra del estéreo aumenta la precisión de la recuperación de la escena. En este entorno existen métodos basados en características como [YiO97], [Hun95], o [HoC97] y métodos que consiguen mapas densos utilizando flujo óptico de los gradientes espaciales y temporales de las imágenes, como [Wan96], [HoP96] y [Gro89]. En estos últimos el efecto de paralaje permite estimar la profundidad y solucionar ambigüedades. En el caso de los métodos basados en características es frecuente utilizar filtros Kalman como estimación del movimiento de las características en 2D y 3D. Estos métodos utilizan técnicas estereo a lo largo de las secuencias de movimiento. Por ejemplo en [YiO97], dado un sistema de cámaras estéreo y un conjunto de posibles correspondencias, el algoritmo genera un conjunto de objetos virtuales con ellas. Posteriormente, utilizando filtrado Kalman predicen el movimiento de los objetos virtuales a lo largo de la secuencia. Las correspondencias erróneas se identifican debido a que su seguimiento en el espacio 3D no sigue a la predicción de su filtrado Kalman. 1.6.2. Estéreo Convencional a Partir del Movimiento Los algoritmos estéreo convencionales reconstruyen la escena en base al conocimiento de las diferentes perspectivas de la escena tomadas por dos cámaras. A partir de esta idea, se han desarrollado algoritmos robustos que resuelven el problema de la correspondencia utilizando secuencias monoculares como entrada. En este caso, la secuencia de entrada se produce habitualmente en base a un movimiento de rotación o de traslación de la cámara cuidadosamente controlado, para conseguir diferentes perspectivas 65 Conceptos y Técnicas en Estereovisión de la escena desde posiciones conocidas. Los pares estéreo se forman pareando diferentes fotogramas de la secuencia monocular. Este conocimiento de la geometría instantánea de la cámara permite ser más precisos en la estimación de profundidades absolutas. Ejemplos de esto son [Mat89], [Dal96] y [Nev76]. Puesto que la resolución del problema de la correspondencia estereo con lineas base amplias es dificultoso, estos algoritmos comienzan con pares estéreo con lineas base cortas. De esta manera se tendrán márgenes de disparidades pequeños. Los datos de disparidad con líneas base pequeñas permiten estimar el proceso de correspondencias estéreo con pares de imágenes con líneas base más amplias; ya que las imágenes iniciales proporcionan una representación a groso modo de los objetos en la escena. Conforme la línea base se amplía, el modelo de disparidad se va actualizando, y la representación de la escena resulta refinada. 1.6.3. Restricción de Disparidad Dinámica La mayoría de los algoritmos estéreo convencionales utilizan un límite fijo para la disparidad, lo que limita la profundidad mínima de la escena a analizar. Esto se utiliza, sobretodo por que se conoce la naturaleza de la escena que discurre entre los límites marcados. Esta configuración manual conocida la escena no es conveniente aplicarla en el caso de sistemas móviles autónomos de visión en los cuales es posible encontrar gran variedad de escenas. De forma alternativa se puede optar por buscar correspondencias de forma exhaustiva a lo largo de toda la línea epipolar lo que introduce grandes cantidades de ambigüedad a las correspondencias. En secuencias estéreo, una tercera posibilidad es considerar en cada fotograma y para cada píxel o característica un margen de disparidades limitado pero alrededor de la disparidad encontrada en el fotograma anterior. De esta manera se pueden conseguir márgenes estrechos de búsqueda, en principio, con probabilidades de error pequeñas. En [Cro98] y en [Cro97] se persigue esto estableciendo la búsqueda en un margen a lo largo de la línea epipolar basado en las disparidades encontradas en un vecindario local alrededor del bloque que se está utilizando para realizar la correlación. Al restringir el margen de disparidades a buscar, la carga computacional del algoritmo se reduce y por tanto es posible procesar secuencias con velocidades entre fotogramas más altas. En [Cro98] además se propone utilizar una técnica de grueso a fino temporal que permita realizar búsquedas de correspondencias rápidas desde los primero fotogramas con un grano grueso (por ejemplo diezmando las imágenes por 2 o por 3), y conforme se va avanzando en el tiempo afinar el algoritmo llegando a procesar los fotogramas completos. 66 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Método Procesamiento básico Estructura desde el movimiento Utilización estimación del movimiento 2D en cada secuencia, análisis estéreo de los móviles y estimación del movimiento 3D. Se descartan correspondencias cuya estimación 3D de movimiento no es coherente Estéreo convencional con movimiento Movimiento controlado de rotación o traslación de la cámara apra conseguir distintas perspectivas entre fotogramas. Con líneas base cortas estimación de profundidad gruesa. Refinamiento con lineas base más largas Búsqueda de correspondencias en un margen pequeño de Restricción de disparidad disparidades en torno a una estimación a partir de la disparidad del fotograma anterior. dinámica Tabla 1.9. Métodos de estereovisión basados en el movimiento 1.7. Aplicaciones Los algoritmos que relacionan la estereovisión con el movimiento en secuencias de imágenes nos permiten conseguir diversos efectos sobre las secuencias del par estéreo que le apliquemos a la entrada: S S S S S S La primera de ellas es el filtrado y eliminación de todos aquellos objetos que no se muevan en nuestra escena. Las propias memorias de permanencia en XY ya realizan este filtrado. Es posible obtener un mapa tridimensional del movimiento para todos los objetos que se sitúen en la periferia del campo de visión. A partir de dicho mapa tridimensional del movimiento, podemos conocer la posición de los objetos que se acercan y que se alejan. Podemos estimar otras características como pueden ser la velocidad, e incluso la aceleración en la dirección z. Conocidas todas estas características del movimiento en la dimensión z de los objetos es posible preparar filtros para ellas: sería posible eliminar tanto los que se están alejando como los que se acercan independientemente. Previsiblemente, sería posible también filtrar aquellos objetos que tienen una determinada velocidad, aunque para ello se necesita una mayor precisión que la actual. Finalmente, en entornos estáticos, montando este sistema en un robot móvil podemos explorar el entorno existente con el mero hecho de girar o hacer avanzar 67 Conceptos y Técnicas en Estereovisión dicho robot por este entorno. El propio movimiento del robot generará suficiente información del movimiento relativo de los objetos de alrededor. Referencia Concepto [YiO97] Basado en características. Predicción y corrección, del movimiento 3D en base a filtrados Kalman de las entradas estéreo y la salida tridimensional [Hun95] Basado en características. Predicción del movimiento 3D en base a filtros Kalman. [HoC97] Basado en características. Seguimiento de características 2D y utilización de métodos clásicos de análisis de correspondencias para seguimiento 3D. [Wan96] Aplicación cooperativa de flujo óptico y estereovisión a objetos rígidos. Calculo independiente de estructuras 3D de las secuencias (paralaje). [HoP96] Paralaje de cada secuencia y doble estereo: derecha con izquierda e izquierda con derecha. Resolución de ambigüedades [Gro89] Integración de correlación estereo con paralaje derecha e izquierda. [Mat89] Estereo convencional basado en el movimiento de traslación conocido de una cámara [Dal96] Estereo basado en el flujo óptico de la traslación conocida de una cámara [Nev76] Utiliza cámara con rotación conocida para realizar análisis estéreo entre fotogramas [Cro97] Restringe búsqueda de disparidades a un vecindario corto según la estimación realizada en base al fotograma anterior [Cro98] Utiliza una técnica de grueso a fino temporal para realizar búsquedas de correspondencias rápidas Tabla 1.10. Referencias de estereo basada en el movimiento. 68 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica 2. El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica 2.1. Modelado del Conocimiento al Nivel de Conocimiento [Mir04] Un problema central de la inteligencia artificial es el de construir modelos de tareas y métodos de resolución de problemas ("problem solving methods", PSMs) en el nivel de conocimiento y en el dominio del observador externo ([Mat75] [Mir87] [For93] [Mir03a]). A continuación, se han de reducir estos modelos de pericia del dominio de los expertos humanos al dominio de las herramientas formales, ambos en el nivel del conocimiento. Es decir, recorremos el camino desde la descripción en lenguaje natural de una tarea y el PSM usado para resolver esta tarea, a una transformación de formalismo de este modelo conceptual en términos de herramientas formales (reglas). Finalmente se realiza una nueva reescritura del modelo formal en término de las primitivas de un lenguaje de programación para producir un programa. El enfoque usual al modelado en el nivel de conocimiento y a la facilitación de la reducción subsiguiente del modelo al programa ha sido el de desarrollar librerías de PSMs y ontologías del dominio. Hablamos de una reducción del modelo real ya que la información siempre permanece al nivel de conocimiento (en el sentido de Newell) y en el dominio del observador (en el sentido de Maturana [Mat75], Varela [Var79] y Mira y Delgado [Mir87]). Algunos ejemplos más relevantes de este enfoque incluyen la metodología CommonKADS [Bre94] [Eri95] [Sch01], el marco de trabajo formal UPML [Fen99] y el marco de trabajo de propósito general Protégé II [Eri95] [MAM00]. En este contexto metodológico, el proceso de modelado del conocimiento arranca en el nivel de conocimiento y sigue los siguientes pasos [MHD98] [MAM00]: S Descripción en lenguaje natural de la tarea a modelar y codificar, y eliminación de los términos no causales en el proceso de razonamiento. 69 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica S S S S S Identificación de las entidades del conocimiento del dominio. Estas entidades desempeñan el mismo papel que las magnitudes físicas en un modelo analítico. Representan conceptos separados que el experto humano considera necesarios y suficientes para describir su conocimiento acerca de la solución a la tarea específica bajo consideración. Identificación de las relaciones entre estas entidades que aparecen explícitamente o implícitamente en la descripción del experto. Búsqueda de componentes inferenciales del razonamiento, generalmente verbos ("establish", "refine", "select", "match", "abstract"), usados por el experto humano para describir sus pasos de razonamiento en lenguaje natural. Estas inferencias son los componentes a partir de los cuales se construyen los PSMs. Descripción, por cada uno de estos verbos inferenciales, de los roles de entrada y salida usados por las entidades del dominio. Obtención de un boceto del circuito inferencial correspondiente al flujo de conocimiento a partir de los roles dinámicos y a las diferentes inferencias, de acuerdo con la secuencia, las concurrencias y lazos que mejor representen el patrón de razonamiento seguido por el experto. Estos patrones de razonamiento (PSMs) pueden seleccionarse a veces de una biblioteca componentes reutilizables [Bre94] [Fen97] [Ben98] [Sch01] ("abstract match refine", "establish and refine", "propose critique modify", "generate and test", "cover and differentiate"), aunque suele ser necesario aportar conocimiento adicional para la adaptación del PSM a la tarea (puente tarea PSM) y al dominio (puente PSM dominio) [Tab01]. Al final del último paso, tendremos: 1. 2. 3. 4. Un conjunto de entidades y relaciones del modelo del dominio. Un conjunto de inferencias con los correspondientes roles de entrada y salida. Un circuito inferencial que conecta estas inferencias mediante roles dinámicos. Una estructura de control. Es decir, tenemos un modelo conceptual al nivel del conocimiento para resolver la tarea. El siguiente paso en el camino de construcción del código es hacer operacional cada una de estas inferencias ("abstract", "select", "classify", "refine"). En otras palabras, hay que reescribir en términos formales seleccionando operadores formales (reglas simbólicas, reglas borrosas, redes neuronales, redes bayesianas, etc.) cada una de estas inferencias. Los criterios usados en este proceso de selección están siempre relacionados con el equilibrio entre los datos y el conocimiento disponible para la inferencia específica considerada. 70 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica También es relevante la clase de conocimiento (preciso, incierto) y los datos (etiquetados, no etiquetados) disponibles. Generalmente, no se dispone de todo el conocimiento para ser capaces de utilizar únicamente operadores orientados al conocimiento. Tampoco es frecuente no saber nada acerca del procedimiento de los expertos humanos para resolver la tarea y verse uno forzado a utilizar métodos orientados al dato. En los problemas reales, el experto generalmente describe su método para resolver la tarea de un modo híbrido, con una parte simbólica (reglas) y una parte conexionista [Fu90] [Hil95] [Sun97]. Por convención, un método se denomina simbólico si es esencialmente guiado por conocimiento, hecho explícito de un modo declarativo, y acaba siendo completamente programado. Como alternativa, un método se llama conexionista si posee una arquitectura modular de grano fino, con una función paramétrica local, y donde una parte importante de la programación se sustituye por un mecanismo de aprendizaje supervisado o no supervisado. Esencialmente, un método es conexionista si es guiado por datos. La idea de un sistema híbrido se usa para describir aquellas situaciones donde no se dispone de todo el conocimiento o datos necesarios para resolver el problema. Así, el conocimiento disponible puede usarse en primer lugar para especificar el modelo esquelético inicial de una red conexionista y, después, se establece un método de aprendizaje supervisado para ajustar los valores de este modelo esquelético. Por lo tanto, el concepto de híbrido se usa en el sentido del denominado "enfoque unificado” ("unified approach") [Hil95]. Dicho de otro modo, se mantiene la estructura de la red conexionista, mientras que la capacidad de cálculo de cada nodo aumenta por medio de un modelo inferencial que posee la estructura de una regla en la que se evalúa el antecedente sobre el campo de datos especificados por el campo receptivo. Después de esto, se usa una tabla LUT para seleccionar la acción más adecuada correspondiente a cada resultado de la evaluación del antecedente de la regla. Este es nuestro enfoque general en este trabajo para la tarea de visión estereoscópica dinámica en una secuencia de imágenes. 2.2. La Visión Estereoscópica Dinámica como Sistema Basado en Conocimiento Bajo el nombre de visión estereoscópica dinámica se engloban un conjunto mecanismos de procesamiento de imágenes encaminados a calcular el movimiento existente en una escena, considerando como sistema de referencia tridimensional del marco de referencia (x,y,z), tomado como base el movimiento detectado en un par de secuencias 71 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica estereoscópicas de video, cada una de ellas respecto del sistema de referencia bidimensional (u,v) de los fotogramas de cada secuencia. Estos mecanismos de estereoscopía visual sirven a varios propósitos: (1) Detectar la profundidad de los objetos móviles de una escena tridimensional, (2) Analizar el movimiento existente en dicha escena tomando como sistema de referencia el propio marco de referencia tridimensional en lugar de los fotogramas, afectados por un factor de escala, (3) Filtrar la información relevante relativa al movimiento de otra que no lo es, (4) Situar un robot autónomo en un entorno dinámico, (5) Permitir al propio robot desenvolverse dentro de dicho entorno. Planteada así, la tarea de visión estereoscópica tiene las características de una evaluación secuencial dinámica, basada en una combinación de parámetros geométricos del sistema tal como se ilustra en la figura 2.1. El rol de entrada es el conjunto de píxeles que componen la pareja de secuencias tomadas de la escena visual (secuencia derecha y secuencia izquierda) en cada momento, y el rol de salida lo constituyen los parámetros de profundidad y movimiento de los ítems seleccionados. Los roles estáticos los constituyen los parámetros geométricos del sistema. La tarea de visión estereoscópica se considera habitualmente de carácter estático, ya que implícitamente se supone que la escena visual permanece constante mientras que se aplican los criterios de selección. Sin embargo, en muchas situaciones de interés la selección de coordenadas y/o ítems relevantes se realiza sobre el tiempo (conducción, blancos móviles, vigilancia, etc.) lo que nos obliga a comparar la situación de la escena Escena Visual (izquierda) Parámetros Escena Visual (derecha) evaluate Expresiones Características Calculadas u Profundidad de objetos u Movimiento de objetos Figura 2.1. Tarea de Visión Estereoscópica Dinámica. 72 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica visual en instantes sucesivos de tiempo. Para ello, los mecanismos de visión estereoscópica dinámica necesitan disponer de una memoria de trabajo en la que almacenar la constancia o novedad de la evolución temporal de la escena. La propuesta que hacemos en este trabajo de tesis doctoral es que gran parte de los mecanismos constituyentes de la organización ascendente de la visión estereoscópica dinámica pueden hacerse computables mediante métodos basados en el efecto de permanencia. En efecto y en concreto, el Modelo de Disparidad de Carga presentado aplicamos el efecto de permanencia para dos propósitos diferentes pero de una forma absolutamente similar. En primer lugar, para cada una de las secuencias de entrada, una vez segmentadas en niveles de gris, el efecto de permanencia nos sirve para caracterizar el movimiento que se está produciendo en cada instante de las dos secuencias de entrada, con el fin de establecer, posteriormente, correspondencias entre los elementos de carga fruto de aplicar dicho efecto. En segundo lugar, después de calculada la profundidad de cada elemento móvil de la escena, volvemos a aplicar las memorias de permanencia con la finalidad de estudiar, en base a las estelas de movimiento extraídas del Mapa de Carga 3D, el movimiento (velocidad, aceleración) de los objetos en la dirección z con respecto del marco de referencia de la escena. Esto a su vez nos permitiría realizar filtrados en base a la velocidad, así como las demás aplicaciones vistas al principio de este apartado. 2.3. El Efecto de Permanencia en el Nivel Físico [Mir03b] Los modelos más usuales en computación neuronal son de naturaleza estática. Una r vez conocidos los valores de entrada, x (t ) , y los valores de los pesos, w(t ) , en un r r r r instante, se obtiene el valor de salida en ese instante, y(t ) = w( t ) ⋅ x (t ) . Sin embargo, una parte importante de los procesos biológicos y de la propia computación son más bien de naturaleza dinámica. Es decir, se trata de modelos dependientes del tiempo, donde la r respuesta, y (t ) , es una función de las entradas y respuestas en instantes anteriores, {xv(t − k ⋅ ∆t ), yr(t − k 1 2 ⋅ ∆t )} . Para modelar estas redes dinámicas se necesita un conjunto de variables de estado descritas por medio de una ecuación diferencial de primer orden τj dyi(t ) r = − yi(t ) + hj , de modo que en el caso estacionario la variable y (t ) dt alcanza su valor de equilibrio (hj) con una constante temporal τj. 73 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica Al añadir el efecto de las entradas {xi( t )} , se obtiene la parte lineal de la expresión de un modelo neuronal dinámico conocido como filtro integrador. Esto significa que el valor y el signo de la variable de estado dependen de la excitación o inhibición en el campo receptivo del elemento de cálculo: τj dy j (t ) dt = − y j (t ) + ∑ w ji ⋅ x i (t ) + h j i∈V j En este caso la influencia de la componente temporal del cálculo (la memoria analógica) viene representada físicamente por medio de procesos de carga y descarga de un condensador [Hay99]. Por otra parte, en modelos digitales de redes neuronales, la memoria local se presenta mediante un biestable D que representa el efecto del retardo sináptico [Mor68]. En este caso, el modelo computacional es un circuito secuencial modular (un autómata modular), en el que cada elemento de cálculo es un autómata universal de dos estados que permite calcular cualquier función lógica de sus entradas y de las salidas de los propios elementos o de otros elementos en instantes de tiempo previos: y j (t + Δt )= 2 N + M −1 ∑ ωi j (t ) ⋅ m i (t ) i =0 donde ωij (t ) ∈ {0,1} , son los pesos binarios y mi (t ) son los términos mínimos, mi = x1α ⋅ x2β ⋅ ⋅ ⋅ x Mµ ⋅ ⋅ ⋅ y Nγ for i = αβ ⋅ ⋅ ⋅ µ ⋅ ⋅ ⋅ γ , usando la notación de Gilstrap: (x 0 = x , x1 = x ) El efecto de permanencia a nivel físico puede describirse como un novedoso modelo local con grandes capacidades computacionales que expande los modelos convencionales analógicos y lógicos dinámicos, basándose en la carga y descarga de un condensador o en la utilización de un biestable D. La capacidad de la memoria local se aumenta para comportarse como un autómata de S estados y se añaden elementos de control a dicha memoria local. La parte equivalente de cálculo analógico (W Tx(t) ) o digital ( ωij(t)·mi(t) ) del equilibrio entre excitación e inhibición se generaliza para incluir cualquier preprocesado no relacionado con el aprendizaje, donde se calculan características espacio-temporales de los estímulos sobre expansiones temporales del espacio de entrada. Esta expansión mediante una estructura de memoria FIFO representa a las características computacionales del campo receptivo, lo que hace computacionalmente homogéneos los datos que provienen de intervalos de tiempo diferentes. La parte correspondiente a la gestión del retardo también se generaliza al substituirse por un autómata de S estados con 74 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica la estructura de un contador reversible (o una memoria RAM), donde se programa el incremento y el decremento de su contenido. Este modelo se denomina computación acumulativa y su funcionalidad se ha llamado efecto de permanencia. La figura 2.2 muestra el diagrama de bloques del modelo computacional para el efecto de permanencia. El modelo trabaja en dos escalas de tiempo, una macroscópica, t, asociada a la secuencia de datos externos a procesar por la red, y otra microscópica, τ , interna, asociada al conjunto de procesos internos que ocurren mientras los datos externos permanecen constantes. El modelo contiene los siguientes elementos: S Una extensión temporal del espacio de entrada (una memoria FIFO) que permite acceder a los valores de las entradas en varios instantes de tiempo sucesivos. t t τ Expansión Temporal del Espacio de Entrada (memoria FIFO) Información de Programación M Cálculo de la Persistencia Incremento/Decremento, ±δQ(t), y nuevo valor de Q(t+∆t) Generador de Patrones de Salida Reloj Maestro, τ τ Medida de una Característica Espacio-Temporal Estado de Persistencia Acumulada de al Característica Seleccionada t+∆t ÷n t MODO DE CONTROL • Inicialización • Cálculo - Carga gradual - Descarga gradual - Carga abrupta - Descarga abrupta - Espera • Reconfiguración +δ -δ Qmax Qmin APRENDIZAJE Adquisición de Nuevos Valores de Parámetros Figura 2.2. Arquitectura de un modelo computacional de efecto de permanencia 75 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica S S S S S S S 76 Un módulo, para la extracción de las características espacio-temporales sobre dicha expansión de entrada, que calcula la acumulación temporal de su persistencia sobre el campo de datos. Un módulo que calcula el valor de incremento o decremento, (±δQ), del estado de actividad de la propiedad medida como una función de su valor en ese instante, Q(t), a partir del valor acumulado en instantes anteriores y del modo de acumulación seleccionado en la unidad de control. Un módulo de acumulación del tipo contador reversible, que almacena el nuevo estado de persistencia de la característica seleccionada. Un módulo de control del modo de acumulación, que recibe entradas de los módulos de programación y de aprendizaje, y controla la operación de cambio de estado de la memoria a partir del cálculo de incrementos o decrementos, ±δQ, sobre el valor previo. Tenemos tres modos de operación en el modelo: (I) Inicialización, (II) cálculo y (III) reconfiguración (aprendizaje). En modo de cálculo, y de acuerdo a la secuencia temporal de valores p(x,y;t) medidos en los datos de entrada I(x,y;t), se activa uno de los siguientes procesos: (1) Carga gradual, (2) carga abrupta, (3) descarga gradual, (4) descarga abrupta o (5) espera. Los valores de los parámetros que especifican los procesos de carga y descarga (Qmax, Qmin, +δQ, -δQ) se introducen en el modelo durante la fase de inicialización y se modifican durante la fase de aprendizaje. Un módulo de aprendizaje supervisado que permite ajustar los valores los parámetros de carga y descarga a las características de las propiedades de interés. Un módulo de programación, usado para configurar el modo de control y para especificar la expansión temporal del espacio de entrada y la forma del campo receptivo. De este modo es posible especificar la propiedad espacio-temporal que deseamos destacar, después de acumular su persistencia. Un módulo de temporización que consiste en un reloj maestro que genera el tren de pulsos que controla el tiempo local ("microscópico") usado para calcular el valor y el signo del cambio de estado de acumulación y la transición al nuevo estado de carga, así como la producción de la respuesta de la unidad que pasa a una FIFO para su distribución a los módulos vecinos. Mientras se realiza el cálculo interno, los datos del espacio de entrada permanecen constantes, controlados por el reloj "macroscópico" resultante de la división por n de la frecuencia del reloj maestro. Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica 2.4. El Efecto de Permanencia al Nivel de los Símbolos (Reglas) El modelo de permanencia en el nivel físico no puede ir más allá del lenguaje de señales. La primera abstracción posible, que pasa de un circuito a un algoritmo, se obtiene al reescribir los procesos de carga y de descarga en términos de reglas (condicionales "if-then") como generalización de la suma y del umbral. Por otro lado, la estructura del modelo de permanencia se mantiene. Entre otras posibilidades, al especificar la naturaleza de las reglas de decisión incluidas en el modo de control obtenemos los distintos tipos de reglas del efecto de permanencia. En la figura 2.3 se muestra el comportamiento del modelo asociado al efecto de permanencia en algunas situaciones unidimensionales muy sencillas. Supongamos que los valores de I(x,y,t) corresponden a una secuencia indefinida de imágenes. Supongamos también que la propiedad medida, p(x,y,t) (b), es sencillamente el resultado de la umbralización binaria de la imagen I(x,y,;t). Entonces, el modo de control compara los valores de p(x,y,t) en dos instantes consecutivos de tiempo, interpretando que p(x,y,t)=1 significa que algo se ha movido sobre el pixel (x,y) en t, y que p(x,y,t)=0 significa que no se ha detectado movimiento sobre (x,y). De este modo, cambios del tipo p(t-Δt)=0 y p(t)=1 significan que un objeto en movimiento ha entrado en el campo receptivo de la unidad. Si p(t-Δt)=1 y p(t)=0, un móvil ha salido del campo receptivo; si ambos son cero, no se ha detectado ningún móvil, y finalmente, si ambos valen uno, hay un objeto en movimiento cruzando el campo receptivo. Para esta propiedad, la evolución de la carga y descarga de su persistencia se muestra en la figura 2.3 para algunos de los modos de utilización seleccionados. La figura 2.3.c muestra el comportamiento del efecto de permanencia en una modalidad denominada RLV (relación longitud-velocidad) [Fer03]. Esta modalidad ha sido estudiada y utilizada para la clasificación de objetos a partir de esta relación [Fer92] [Fer95a] [Fer99]. Su modo de funcionamiento puede expresarse de la siguiente manera: if p(t) == 1 then begin Q(t) = Q(t-Δt) + δQ; if Q(t) > Qmax then Q(t) = Qmax; end else Q(t) = Qmin; 77 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica Las figuras 2.3.d y 2.3.e muestran la operación del modelo propuesto en las modalidades de salida y entrada, respectivamente. Ambas opciones permiten realizar un cálculo posterior de parámetros de movimiento característicos, tales como la velocidad y la aceleración [Fer95b]. La primera de estas modalidades ofrece información en la cola de los objetos en movimiento, mientras que la segunda lo hace por delante del movimiento. Para la modalidad de salida, tenemos: if ((p(t-Δt) == 0) && (p(t) == 1)) then Q(t) = Qmax else begin Q(t) = Q(t-Δt) - δQ; if Q(t) < Qmin then Q(t) = Qmin; end; En modalidad de entrada, tenemos: if ((p(t-Δt) == 1) && (p(t) == 0)) then Q(t) = Qmax else begin Q(t) = Q(t-Δt) - δQ; if Q(t) < Qmin then Q(t) = Qmin; end; Finalmente, se muestra la modalidad más general de carga/descarga (figura 2.3.f). Esta modalidad ha sido usada con éxito en algunos trabajos previos del grupo de investigación [Fer03b], [Fer03c], [Fer03d]. Estos artículos versan sobre detección de objetos en movimiento, clasificación y seguimiento en secuencias de imágenes indefinidas. 78 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica if p(t) == 1 then begin Q(t) = Q(t-Δt) + δQ; if Q(t)> Qmax then Q(t) = Qmax; end else begin Q(t) = Q(t-Δt) - δQ; if Q(t)< Qmin then Q(t) = Qmin; end; (a) (b) (c) (d) (e) (f) Figura 2.3 Ilustración del modelo usado para el caso sencillo de una umbralización binaria de una imagen. (a) Reloj macroscópico t. (b) p(t). (c) Q(t) en la modalidad RLV. (d) Q(t) en la modalidad de entrada. (e) Q(t) en la modalidad de salida. (f) Q(t) en la modalidad de carga/descarga 79 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica 2.5. El Efecto de Permanencia como Método a Nivel de Conocimiento en la Tarea de Visión Estereoscópica Dinámica Para completar las posibilidades del efecto de permanencia, realizamos un nuevo proceso de abstracción y pasamos del nivel de los símbolos al nivel de conocimiento, generalizando las reglas en términos de inferencias ([Mir01], [Del02], [Mir03a], [Mir04]), particularizando para la tarea de Visión Estereoscópica Dinámica. 2.5.1. Esquema Inferencial del Efecto de Permanencia Ahora el circuito de permanencia se convierte en un esquema inferencial. Es decir, en un método para descomponer tareas en visión usando todo el conocimiento disponible en la aplicación. La figura 2.4 muestra el esquema inferencial correspondiente al efecto de permanencia, que comienza evaluando los datos de entrada, comparando después los resultados de esas evaluaciones para obtener las clases de discrepancia y seleccionando finalmente las salidas asociadas a cada una de esas clases de discrepancia. En la figura 2.4 y en el resto de los esquemas inferenciales usados en la redacción de esta memoria usaremos el convenio usual en CommonKADS [Sch01] para representar los roles estáticos y dinámicos y el significado operacional de los verbos inferenciales propuestos por Breuker [Bre94] ("compare", "select", ...) Los roles dinámicos se representan como rectángulos con trazo continuo y los roles estáticos se representan como rectángulos a trazos discontinuos. En algunas ocasiones un rol dinámico resultado de una inferencia puede jugar el papel de rol estático en otra inferencia posterior dentro del flujo de información. En estos casos usaremos un doble rectángulo, de línea continua como final de la flecha que lo trae de la inferencia que lo genera como rol dinámico y de línea discontinua (y exterior al otro rectángulo) de la que parte la flecha que termina en la inferencia en la que esa entidad juega un papel estático. Volviendo a la figura 2.4, y manteniendo en mente que el objetivo de la instanciación ofrecida es la de la detección de movimiento en la modalidad de salida del efecto de permanencia, vemos que el espacio de entrada está compuesto por la pareja de valores binarios, p(x,y,t) y p(x,y,t-Δt), mientras que el espacio de salida es el resultado del cálculo local del elemento. La inferencia "compare" recibe, pues, los observables p(x,y,t) y p(x,y,t-Δt), y el valor actual del valor de carga (que inicialmente toma el valor Qmin). También recibe como rol estático la regla de comparación y la codificación numérica de 80 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica p ( x , y; t ) p (x , y; t − ∆t ) compare C r i te r io s 1. Regla de comparación 2. Clases de discrepancia p(t) p(t-∆t) Clases 0 0 D1 0 1 D1 1 0 D2 1 1 D3 C la s e s d e D is c r e p a n c ia R e g la d e s e l e c c i ó n select Clases D1 D2 D3 Q(t-∆t) Q min Q max max{Q-δQ, Q min} V a l o r d e C a rg a A c u m u l a d a , Q(t) Figura 2.4. Instanciación del efecto de permanencia para el caso de detección de movimiento en la modalidad de salida. las distintas clases de discrepancia (D1, D2, D3). El rol (dinámico) de salida es la clase de discrepancia seleccionada en este instante, D(t). Esta clase desempeña ahora el rol estático de una inferencia "select", que está al cargo de filtrar un valor de carga específico a partir de un conjunto potencial de valores. Estos valores potenciales son Qmin, Qmax y max{Q-δQ, Qmin}, donde δQ es el valor de descarga aplicado cuando no se detecta movimiento, entre dos instantes de tiempo consecutivos, Qmin es el valor mínimo de carga y Qmax es el valor máximo de carga. El valor Qmax se obtiene cuando un objeto acaba de entrar en el campo receptivo. La salida está constituida por el valor de carga acumulado, Q(t). 81 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica 2.5.2. Aplicación a la Tarea de Visión Estereoscópica Dinámica Considerando como entradas los Mapas de Carga 2D, obtenidos a través de las memorias de permanencia 2D, procedentes de procesamiento de las secuencias derecha e izquierda, se pretende obtener a la salida un mapa tridimensional que nos muestra la profundidad de los puntos de la escena en los que se ha producido movimiento. Figura 2.5. Representación gráfica de los roles implicados en el estudio de la profundidad a partir del efecto de permanencia En la figura 2.5 se observa como una de las aplicaciones posibles del efecto de permanencia es el análisis de profundidades en Visión Estereoscópica Dinámica. El hecho de utilizar como entradas las memorias de permanencia tiene dos características destacables: S 82 En primer lugar, se utiliza solo la información de movimiento, filtrando toda la información estática de la escena, ya sea 2D, como 3D. Como nuestro objetivo es Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica S obtener un mapa tridimensional del movimiento de la escena, este filtrado nos supone más una ventaja que un inconveniente, ya que los elementos estáticos aportan ruido a este estudio. Por otra parte, el movimiento de diversos objetos produce estelas en las memorias de permanencia que tendrán características diferentes según su dirección su velocidad instantánea y su historia de movimiento. Sin embargo, el movimiento instantáneo de un mismo objeto va a tener una representación muy semejante en las dos memorias de permanencia. Por eso, la puesta en correspondencia de las estelas de los objetos móviles que hay en la secuencia es sencilla y muy robusta. 2.5.2.1. Aspectos Generales del Método A continuación se realiza una aproximación al método por el que se estima la disparidad, y por lo tanto la profundidad, de una escena dinámica a partir de las estelas de movimiento contenidas en los Mapas de Carga 2D. Los métodos basados en primitivas locales, como píxeles y contornos, pueden ser muy eficientes, pero son muy sensibles a regiones locales ambiguas en imágenes, tales como oclusiones, o regiones con texturas uniformes. Los métodos basados en áreas son menos sensibles a estos problemas, ya que proporcionan un soporte adicional para que estas regiones difíciles correspondan de una manera sencilla y robusta, o se descarten disparidades falsas; pero, en general, son muy costosos computacionalmente. En nuestro caso, hemos tratado de conjugar las ventajas de ambos sistemas. Hemos de tener en cuenta que el mayor inconveniente de los píxeles es la puesta en correspondencia, mientras que su mayor ventaja es conseguir un mapa de disparidad denso. En cambio, en las regiones o contornos, su mayor inconveniente es el cálculo de disparidades y su mayor ventaja es la robustez de las correspondencias. Nuestro algoritmo trata de establecer las correspondencias a nivel de áreas, mientras que el cálculo de la disparidad se realiza píxel a píxel, tratando de aprovechar las ventajas de uno y otro sistema. Por otra parte, a lo largo del proceso quedarán encajadas las restricciones a las correspondencias como se verá en cada momento. Para explicar de forma progresiva el algoritmo utilizado en primer lugar se realiza una simplificación suponiendo que sólo se quieren hacer corresponder las líneas epipolares entre sí, de forma independiente. Este es el desarrollo que se sigue en éste apartado. Posteriormente, en el capítulo 3, se lleva a cabo la generalización, al análisis de los Mapas de Carga 2D completos. La utilización, como pares de secuencias de entrada, de aquellas que han sido tomadas según la configuración paralela, o si esto no fuera posible, aplicándoles un proceso de rectificado, permite la aplicación de la restricción epipolar según las filas de las 83 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica imágenes. A partir de esta condición el estudio de correspondencias se podrá realizar a lo largo de las filas de las memorias de permanencia. En la figura 2.6 se representa la superposición de dos líneas epipolares correspondientes genéricas obtenidas de las memorias de permanencia de la entrada. Con dos cámaras en configuración paralela, en un entorno en el que los objetos de la escena están muy lejos (hipotéticamente en el infinito) las dos imágenes tomadas por las cámaras serán iguales. Pero si suponemos que a lo lejos se acerca un objeto en dirección al punto central de la línea base; es decir, entre las dos cámaras, su imagen, conforme se va acercando, aparece más a la derecha en la imagen izquierda y más a la izquierda en la imagen derecha. De este hecho surge el concepto de disparidad; objetos más cercanos tienen una mayor disparidad que objetos más lejanos. Para explicar esto con mayor detenimiento quizá sea conveniente utilizar un ejemplo: Dado un par de líneas epipolares correspondientes obtenidas de un par estéreo de memorias de permanencia, como las que aparecen en la figura 2.6, en primer lugar, podemos caracterizar el movimiento de los tres elementos móviles, independientemente en cada memoria, a través de su estela de movimiento: la estela “a” es más larga y tiene su máximo de carga a la izquierda, lo que indica que el móvil que la está produciendo está avanzando, precisamente, hacia la izquierda con una velocidad alta; la estela “b” es más corta; así el elemento de la escena asociado a la misma está avanzando también en la misma dirección que el “a”, pero con una velocidad más baja. Finalmente, la estela “c”, que esta invertida en horizontal, pertenecerá a un móvil que está moviéndose en sentido contrario, a una velocidad media de acuerdo al tamaño de dicha estela. A partir de la misma figura 2.6 pero en este caso comparando las estelas entre las dos líneas podemos realizar el análisis de disparidad a las estelas. En este caso, la estela de movimiento del elemento “b” tiene una disparidad nula y por lo tanto podemos concluir que es la más alejada de todas; puesto que, suponiendo configuración de cámaras paralelas los píxeles que tienen una disparidad nula se localizan, teóricamente, en el infinito. El siguiente elemento más cercano es el “a” que tiene una disparidad algo mayor y, finalmente, el mas cercano de todos es el elemento “c“ que tiene la mayor disparidad de los tres. De este ejemplo se pueden sacar dos conclusiones. S 84 Respecto al análisis de correspondencias entre dos líneas epipolares de sendos Mapas de Carga 2D, para considerar dos estelas de movimiento correspondientes entre sí, tenemos que comprobar que las cargas del máximo número de elementos de permanencia homólogos sean iguales. De esta forma sería más probable establecer correctamente las correspondencias entre las estelas “a”, resultando de menor confianza una “unión” entre una estela “a” y otra “b”, a pesar que tienen la misma dirección. Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Figura 2.6. Disparidad de estelas de permanencia.. S En segundo lugar, para analizar las disparidades a partir de las correspondencias, una posibilidad es comenzar a desplazar la línea epipolar derecha completa hacia la derecha a partir del punto en el que ambas líneas están superpuestas completamente; o lo que produciría el mismo efecto, desplazar la línea epipolar izquierda hacia la izquierda, hasta que dos de las estelas de movimiento coincidan. En ese momento, el valor de desplazamiento que se haya ejercido coincidirá con el valor de disparidad de dicha estela de movimiento. La forma de implementar el cálculo de dicha disparidad puede basarse en el establecimiento de dos temporizaciones. S S S En el inicio del procesamiento se superponen las dos líneas epipolares sin ningún desplazamiento entre ellas. A partir de esto, en la primera temporización cada elemento de procesamiento realiza paso de mensajes a sus vecinos a derecha e izquierda para establecer un conteo entre aquellos en los que existe correspondencia (igualdad de carga asociada). Terminado este primer proceso de conteo, en la segunda temporización se incrementaría el valor de un contador y se realizaría el desplazamiento de una línea epipolar sobre la otra volviendo a la primera temporización. 85 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica S Llegados al desplazamiento máximo sólo queda por asociar como disparidad aquel valor de desplazamiento cuya carga en cada elemento de procesamiento, entendida como el valor de cada uno de los conteos para cada desplazamiento, es máxima. Para saber hasta que punto hemos de desplazar una línea sobre otra buscando correspondencias podemos atender a dos restricciones diferentes de las vistas en el capítulo 1 dedicado al estado del arte. Si atendemos a la restricción de disparidad, las estelas no deben tener un valor de disparidad mayor que el dado por la restricción; de manera, que el desplazamiento máximo a analizar vendrá dado por el máximo de la disparidad permitido. La segunda restricción aplicable es la de ordenamiento. Esta restricción se aplica de forma general con este algoritmo, ya que los desplazamientos que realizamos con las líneas epipolares y el conteo elementos con igual carga suponen un cierto ordenamiento en los píxeles. No obstante, el definir y respetar un limite de disparidad máxima puede permitir que se pongan en correspondencia estelas que no cumplen la restricción de ordenamiento. Si se quiere aplicar rigurosamente la restricción de ordenamiento y no tener en cuenta las excepciones posibles, el orden de las estelas debe también mantenerse entre las dos memorias de permanencia; por lo tanto, cuando una estela en su desplazamiento encuentre a la correspondiente de otra estela, no debería seguir buscando más allá. Ya sabemos que esta restricción de ordenamiento debemos tomarla con mucho cuidado, precisamente debido a las excepciones vistas en el apartado 1.3.6.3. En este entorno, cada píxel puede pertenecer a varias regiones diferentes según distintos desplazamientos; ya que siempre hay regiones planas en las imágenes, y en las memorias de permanencia, existen también móviles suficientemente rápidos como para provocar la carga simultánea de varios elementos de una fila. De todas estas regiones asociadas a los distintos desplazamientos habrá, en general, sólo una, cuyo tamaño será máximo. De esta manera se aplica la restricción de unicidad. El desplazamiento asociado a esta región indicará el valor de disparidad de máxima confianza para cada uno de los píxeles contenidos en ella. 2.5.2.2. Aspectos Específicos del Método En el método utilizado en esta tesis se han pretendido examinar los estímulos sucedidos en el hemicampo visual izquierdo de los ocurridos en el hemicampo visual izquierdo. Por ello en el capítulo 3, como entrada al análisis de correspondencias estéreo se utilizarán separadamente las mitades izquierdas de las memorias de permanencia, de las dos mitades derechas; con el fin de realizar dicho examen separado. De esta manera, se disponen dos sistemas de procesamiento paralelos; cada uno para procesar su mitad 86 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Figura 2.7. Procesamiento de líneas epipolares. Separación de hemicampos visuales derecho e izquierdo. correspondiente del campo visual. Ambos sistemas, como puede suponerse, son muy semejantes En la figura 2.7 puede apreciarse la filosofía de la separación de hemicampos visuales en el análisis de disparidades de a partir de las dos memorias de permanencia. Una de las posibilidades es que el hemicampo visual izquierdo de la memoria de permanencia izquierda se desplace hacia la izquierda sobre el hemicampo visual izquierdo de la memoria de permanencia derecha, y a su vez, el hemicampo visual derecho de la memoria de permanencia derecha se desplace hacia la derecha sobre el hemicampo visual derecho de la memoria de permanencia izquierda. 87 El Efecto de Permanencia como Método de Solución de Problemas en Visión Estereoscópica Dinámica 2.6. Conclusiones al Modelado de la Tarea de Visión Estereoscópica Dinámica al Nivel de Conocimiento A lo largo del capítulo tercero, como hemos anunciado en el apartado 2.2, haremos uso específico y detallado de las distintas particularizaciones del método del efecto de permanencia adecuados a las distintas subtareas en los que vamos a descomponer la tarea de visión estereoscópica dinámica. Se ha presentado el enfoque del modelado del conocimiento aplicado al efecto de permanencia, intentando mostrar dos aspectos metodológicos fundamentales: S S La conveniencia de modelar el conocimiento de tareas y métodos en términos de una biblioteca de componentes reutilizables (verbos inferenciales "compare" y "select") y un conjunto de roles de entrada y salida jugados por las entidades del dominio de la aplicación. De este modo, se contribuye a acercar la ingeniería del conocimiento a la ingeniería electrónica, donde la ventaja inherente del carácter reutilizable de los mismos circuitos básicos es evidente. La utilidad potencial de búsqueda de inspiración en la biología. En este caso estamos usando una versión de memoria local para modelar una tarea de visión artificial. El carácter distintivo de este enfoque es que se han introducido varios niveles de abstracción. Se ha pasado del nivel de las señales al del conocimiento, donde el efecto de permanencia se convierte en un PSM genérico construido sobre las inferencias "compare" y "select". La conveniencia de utilizar un PSM híbrido para resolver problemas en visión artificial, donde la configuración final de un PSM es siempre dependiente del equilibrio particular entre los datos y el conocimiento disponibles para el caso específico bajo estudio. En el problema base de detección del movimiento (usado posteriormente para la tarea de visión estereoscópica dinámica), se ha usado en primer lugar, el conocimiento disponible para especificar la arquitectura del modelo asociado al efecto de permanencia. Después, se ha mejorado el poder computacional de los elementos de cálculo al convertirlos en reglas inferenciales de naturaleza paramétrica. De este modo es posible usar métodos supervisados de aprendizaje conexionista para ajustar los valores de estos parámetros. La idea en la que se fundamenta la aplicación del efecto de permanencia a la resolución de problemas de visión estereoscópica dinámica es, finalmente, sencilla. Las 88 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica estelas de movimiento que aparecen en los Mapas de Carga 2D, obtenidos procesando un par de secuencias de imágenes estéreo, minimizan la ambigüedad a las correspondencias. La aplicación de la restricción epipolar a estos Mapas de Carga 2D simplifica la búsqueda de correspondencias a estelas de movimiento pertenecientes a una misma fila del Mapa. La restricción de disparidad, además, limita también la búsqueda de correspondencias a segmentos de dichas líneas epipolares. Un desplazamiento mutuo de las líneas epipolares y la comparación de las estelas de movimiento nos permite, en último lugar, aplicar la restricción de unicidad quedándonos con aquellas correspondencias que mayor confianza ofrezcan. 89 90 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica 3. El Modelo de Disparidad de Carga como Método de Solución de Problemas para el Análisis Estéreo del Movimiento 3D En este capítulo presentamos el núcleo de esta tesis. El Modelo de Disparidad de Carga se configura como la herramienta para obtener, a través del efecto de permanencia, información tridimensional del movimiento en una escena de forma continua. Para facilitar la comprensión del modelo hemos optado por realizar previamente una descripción del mismo a nivel general, para después pasar a describir cada subtarea más en detalle. Dividimos por tanto este capítulo en dos apartados: uno de descripción general y otro dedicado a la descripción detallada de cada subtarea. Además, dicha descripción detallada se apoyará gráficamente, con los modelos ejemplo utilizados en el capítulo 4 de resultados. 3.1. Descripción General del Modelo Para alcanzar el objetivo propuesto, optando por las directrices descritas en la introducción a esta tesis, se ha diseñado la estructura de computación que puede verse en la figura 3.1, y que describimos a continuación. Dicha estructura es fruto del análisis del problema geométrico de la estereovisión y la aplicación de las restricciones pertinentes, así como del estudio de los sistemas de estereovisión biológicos y de los mecanismos de permanencia y comunicaciones a nivel local, bien conocidos por nuestro grupo de investigación. A continuación describimos, de forma general, la estructura propuesta, dedicando el resto del capítulo a detallar específicamente cada una de las subtareas en las que desglosamos la solución del problema en términos de subtareas elementales e inferencias. La entrada al sistema es una escena tridimensional en la que aparecerán, a lo largo del tiempo, diversos elementos móviles. Como veremos mas adelante, al hablar de los resultados, el sistema admite que las cámaras sean móviles, lo que configura una variación continua entre la posición de la cámara y la escena, haciendo que las imágenes se desplacen modificando sus coordenadas locales en los sensores. 91 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Figura 3.1. Esquema funcional del modelo propuesto. 92 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica En la sección “A” de la figura 3.1 se representa la adquisición y Digitalización del Par Estéreo de Secuencias tomadas de la escena. La entrada a esta subtarea es la escena real y la salida son dos secuencias de imágenes digitalizadas que configuran el par estéreo de secuencias que suponen la base del proceso que realiza nuestro Modelo de Disparidad de Carga. En el apartado 3.2.1 se desarrollará algo más esta operación. A pesar de que la digitalización de las secuencias es una tarea que generalmente nos viene dada, la hemos incluido aquí, puesto que parámetros como la resolución de las imágenes y la frecuencia de refresco de las imágenes son roles fundamentales para las subtareas posteriores del sistema. En la sección “B” se representa la subtarea mediante la que se obtiene, cuadro a cuadro, el estado de los Mapas de Carga en dos dimensiones correspondientes al par de secuencias estéreo al aplicar el efecto de permanencia sobre ellas. La entrada en cada instante es el par de imágenes estéreo en niveles de gris correspondiente a un cuadro, y la salida a cada cuadro es el estado del mapa de carga donde se almacena la información asociada al movimiento. El proceso de obtención del estado de los mapas de carga se realiza mediante la correspondiente segmentación en bandas y posterior aplicación del efecto de permanencia descrito en el capítulo 2. Claramente, a cada secuencia de imágenes derecha e izquierda se le aplica, de forma independiente, dicho proceso, con lo que se obtiene un mapa de carga para cada secuencia; esto es, un mapa de carga para el sensor derecho y otro para el sensor izquierdo. Debido a nuestra intención de analizar la periferia del punto de fijación, separamos los mapas de carga derecho e izquierdo en dos zonas, correspondientes a los dos hemicampos visuales asociados. Esta opción se justifica al igual que se vio en el ámbito biológico en el apartado 1.2.3 por la intención de analizar separadamente los estímulos que provienen de cada lado del campo visual. La sección “C” representa la subtarea que realiza el matching entre los dos mapas de carga de las secuencias izquierda y derecha para cada cuadro. La entrada a la subtarea de Análisis de Disparidad de Carga son los mapas de carga de cada uno de los dos hemicampos visuales de cada uno de los sensores iniciales y la salida es un mapa de profundidad por cuadro, donde aparecen activados los puntos (x,y,z) donde se ha detectado movimiento en dicho cuadro. Este mapa, como es lógico por el procesamiento realizado, también aparecerá dividido en sus dos hemicampos correspondientes. En esta sección se aplican todos los conceptos del dominio de conocimiento de estereovisión: restricciones a las correspondencias, las primitivas, etc. pero aplicados a los mapas de carga obtenidos de la sección anterior en vez de a información de formas de objetos, como es clásico. Por otra parte, hemos tratado de aplicar técnicas de comunicación a nivel local entre elementos de procesamiento que nos han parecido muy útiles para la implementación del proceso. El desarrollo pormenorizado de todos estos aspectos se encuentra en el apartado 3.2.3. 93 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D La sección “D” representa la subtarea destinada a Obtener el Mapa de Carga 3D. El proceso a partir del mapa de profundidades es sencillo, y consiste básicamente en la aplicación del efecto de permanencia en un espacio de tres dimensiones. Esto es, una activación en el punto (x,y,z) del mapa de profundidad genera una carga hasta la saturación en dicha posición del mapa de carga tridimensional disminuyendo este valor de carga paulatinamente hasta la descarga total cuando el punto no aparece activado en el mapa de profundidad. Las entradas a esta subtarea son los mapas tridimensionales de profundidad de ambos hemicampos visuales, y la salida son los mapas tridimensionales de carga que se utilizarán en la subtarea siguiente. La descripción detallada de este proceso puede verse en el apartado 3.2.4. La sección “E” representa la subtarea cuya función es Obtener el Mapa de Movimiento 3D, que en cada cuadro contiene las componentes (x,y,z) de los vectores velocidad y aceleración de los puntos móviles de la escena. La entrada a cada cuadro son los mapas de carga procedentes de la sección “D” y la salida, también a cada cuadro, es el propio mapa tridimensional de movimiento. Sobre las estelas de movimiento en el mapa tridimensional de carga se pueden obtener los valores vx,vy,vz y ax,ay,az de los vectores velocidad y aceleración para los puntos en los que ha existido movimiento y todavía no han llegado a descargarse por completo. La descripción detallada de este proceso puede verse en el apartado 3.2.5. Con esta estructura se ha pretendido realizar un análisis del movimiento de la escena, eliminando toda información estática, y estimando la profundidad y la velocidad, en las tres dimensiones del espacio, de los móviles que aparecen en ella. En la figura 3.2 podemos observar la descomposición en subtareas de la tarea principal que trata de analizar el movimiento en una escena tridimensional. Como podemos apreciar, a través del método de resolución de problemas descomponemos el problema en las cinco subtareas vistas en los párrafos anteriores. Una de las utilidades quizá más destacada puede ser la navegación autónoma de un robot móvil en un entorno dinámico. 3.2. Descripción Detallada de las Subtareas Después de haber dado un vistazo a las ideas generales de cada una de las subtareas que componen nuestra propuesta, a continuación pasamos a mostrar un detalle más concreto de los procesamientos aplicados en cada una de ellas. 94 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Análisis Estéreo del Movimiento 3D Modelo de Disparidad de Carga Digitalización del Par Estéreo de Secuencias Obtención del Mapa de Carga 2D Obtención del Movimiento 3D Análisis de Disparidad de Carga Obtención del Mapa de Carga 3D Figura 3.2. Descomposición en subtareas de la tarea “Análisis Estéreo del Movimiento” 3.2.1. Digitalización del Par Estéreo de Secuencias Esta subtarea se representa en la sección “A” de la figura 3.1. Su finalidad estriba en la necesidad de obtener el parámetro resolución en profundidad δz a partir de los parámetros de resolución de las cámaras. Sin él estaríamos trabajando siempre afectados por un factor de escala en dicha dimensión. La entrada de esta sección es la escena y la salida son el par estéreo de secuencias indefinidas digitalizadas por las cámaras. A partir del desarrollo realizado en el apartado 1.3.4.2, considerando la energía luminosa de la escena tridimensional, se calcularán los niveles de gris de los píxeles de las secuencia de imágenes izquierda y derecha digitalizadas, así como la resolución en profundidad que será capaz de conseguir el sistema. La resolución en profundidad es necesaria puesto que marca la configuración que hemos de utilizar según la escena a analizar. Habitualmente, para una cámara con un tamaño de píxel de 25 micras y una escena cuya profundidad máxima esté en torno a los 20 metros, valores entre 60 y 150 milímetros para la línea base y distancias focales de 35 milímetros ofrecen buenos resultados. 95 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Digitalización del Par Estéreo de Secuencias La adquisición de las secuencias de imágenes se realiza mediante dos cámaras de niveles de gris según la norma ITU-R BT.601, a 25 cuadros por segundo. Los sensores de las cámaras colocados a la distancia focal del centro óptico del objetivo pueden tener tamaños en píxeles de 720 x 576, que se utiliza en este estándar para televisión, aunque es factible utilizar otros formatos de imagen diferentes. Los fotogramas a la salida de las cámaras quedan digitalizados en 256 niveles de gris, esto es, con 8 bits por píxel. En esta subtarea, para un resultado óptimo del modelo, se impone que las dos cámaras estén dispuestas en configuración paralela para captar la escena según se vio en el apartado 1.3.4.2; de esta manera, las líneas epipolares coincidirán con las filas de las imágenes. Aunque los resultados óptimos se obtendrán a partir de dicha configuración paralela, el modelo propuesto permite utilizar una configuración con una pequeña convergencia de las cámaras hacia un punto de fijación finito, girando éstas a ser posible sobre el centro óptico de las lentes objetivo. El análisis de correspondencias basado en el movimiento que se propone admite cierta flexibilidad en este aspecto, aunque la configuración en cámaras convergentes es algo más susceptible de generar falsas correspondencias. En la figura 3.3 puede verse la representación de esta subtarea, y en la figura 3.4 los roles asociados a ésta. Escena de Entrada 3D E(x,y,z,t) Secuencia Izquierda de Imágenes 2D NGI(uI,vI,t) Digitalización del Par Estéreo de Secuencias Resolución en Profundidad Secuencia Derecha de Imágenes 2D NGD(uD,vD,t) Figura 3.3. Esquema de procesos de “Digitalización del Par Estéreo de Secuencias”. 96 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica La función E(x, y, z, t) hace referencia a la energía luminosa que existe en cada punto (x, y, z) del espacio en la escena para cada instante de tiempo t. A partir de ella, mediante la digitalización realizada por las cámaras se consiguen las secuencias de imágenes derecha e izquierda denotadas como NGI(uI, vI, t) y NGD(uD, vD, t). Estas secuencias así como la resolución en profundidad, van a depender de distintos parámetros de la geometría del sistema, como la distancia o línea base B y el ángulo α que forman los ejes ópticos de las cámaras. También depende de las características de las cámara como el tamaño de píxel, la distancia focal del objetivo, y la frecuencia a la que se toman los fotogramas consecutivos. De todos estos parámetros se analizará su necesidad y su interrelación mutua. Atendiendo a la transformación que se produce por la proyección de la escena en las cámaras que se presentó en el apartado 1.3.4.2, las relaciones que existe entre la escena de entrada y las secuencias de salida son las siguientes: NGI(u I,vI,t) E NGD(u D,vD,t) E uI F ·z, uD·z vI F B, F ·z, z, t vD F ·z, z, t En ellas podemos observar dos sistemas de referencia (uI, vI) y (uD, vD) diferentes para las imágenes izquierda y derecha de la salida, respectivamente. Los orígenes de coordenadas de cada sistema se toman en el centro geométrico de las superficies fotosensibles, o, lo que es lo mismo, en el centro de las imágenes obtenidas. Los márgenes de variación de las coordenadas de las imágenes, de la profundidad y del tiempo son, respectivamente: Hmax 2 Hmax 2 <uI< <uD< Hmax 2 Hmax 0 < z < 2 ; ; ; Vmax 2 Vmax 2 <vI< <vD< Vmax 2 Vmax 2 0 < t < En las expresiones anteriores podemos observar la dependencia de las imágenes respecto de la distancia base B, la profundidad a la que esté cada objeto y la distancia focal del objetivo de las cámaras. 97 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Escena 3D E (x,y,z,t) línea_base B ángulo_cámaras α Secuencia Izq. 2D NGI (uI,vI,t) Digitalización del Par Estéreo de Secuencias Resolución en Profundidad δz Parámetros Cámara tamaño_pixel δd frecuencia ν distancia_focal f Secuencia Derecha 2D NGD (uD,vD,t) Figura 3.4. Roles de la subtarea “Digitalización del Par Estéreo de Secuencias”. Por otra parte, en el mismo apartado 1.3.4.2 también se calculó la dependencia de la variable “z” con respecto de la disparidad. Esta relación se repite a continuación para mayor claridad. z F·B d Es nuestro caso, esta relación es importante, porque a partir de ella podemos calcular la resolución en la profundidad (δz) que se puede obtener en función de la disparidad que existe entre dos puntos correspondientes. Esta relación vimos que resultaba así: δz F·B d2 ·δd Puede observarse asimismo la relación de estos parámetros con la geometría del sistema y la resolución de las imágenes reflejada en el tamaño del píxel δd. Puesto que la disparidad “d”, que es el dato a partir del cual estimamos la profundidad es todavía desconocida, el valor de “z” no se conoce; aunque, puede verse que 98 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica está implícito en la información del par de imágenes de entrada. Las expresiones anteriores únicamente modelan el efecto de transformación de la energía luminosa de la escena en la variación de luminosidad captada por los elementos fotosensibles de las cámaras. A partir de estas expresiones y mediante la estimación de la disparidad aportada por el sistema, se calculará una estimación de la profundidad a la que está cada uno de los elementos de la escena deshaciendo, dicha transformación por proyección. Existen, asimismo, otros dos parámetros que pueden influir ciertamente en los valores calculados anteriormente. Estos son el ángulo entre los ejes ópticos de las cámaras, que, puesto que se ha impuesto como mejor opción la configuración de cámaras paralelas, tendrá un valor siempre nulo (α=0), y la frecuencia de captación de los fotogramas, que redundará en la discretización de la variable tiempo entre la escena y las imágenes. Las secuencias de imágenes a obtener mediante las cámaras deben poseer las siguientes características: S S S Deben ser secuencias de imágenes estereoscópicas con un mínimo de 5 cuadros, aunque lo normal será tomar secuencias con longitud indefinida Se ha trabajado con secuencias de imagen en blanco y negro, después de comprobar que el color no aporta gran información a nuestro proceso. Para sacarle todo el rendimiento al algoritmo es conveniente que en el escenario exista movimiento en las tres direcciones del espacio (x,y,z). A partir de estas características que deben tener las secuencias estéreo, las secuencias analizadas se han obtenido de las siguientes fuentes: S S Imágenes sintéticas realizadas mediante aplicaciones: se ha utilizado el programa de animación tridimensional LightWave para configurar secuencias estéreo de objetos en movimiento y posteriormente aplicarles el Modelo de Disparidad de Carga propuesto. También se han recogido imágenes de internet ofrecidas por algunos autores. Los ejemplos utilizados en el capítulo de resultados han sido obtenidos de la dirección labvisione.deis.unibo.it/~smattoccia/stereo.htm. Para el resto de la explicación del Modelo de Disparidad de Carga vamos a tomar como ejemplo una de las secuencias descargadas precisamente de este sitio de Internet. Se trata de la secuencia “IndoorZoom”, de la cual representamos en la figura 3.5 algunos fotogramas consecutivos. En estas secuencias, que no han sido tomadas por nosotros, no tenemos control de los parámetros geométricos del sistema de cámaras, ni de las 99 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Figura 3.5. Cuatro fotogramas consecutivos de la secuencia “IndoorZoom”. características de éstas, como la distancia focal, o el tamaño del píxel. Por lo tanto, los resultados saldrán afectados por un factor de escala. A lo largo del presente apartado y los que siguen se irán sucediendo las figuras con los resultados obtenidos a cada paso con la secuencia “IndoorZoom”. 3.2.2. Obtención del Mapa de Carga 2D Esta subtarea representa la sección “B” de la figura 3.1, y tiene como finalidad la representación del movimiento bidimensional de cada secuencia de entrada en los niveles de carga de los elementos de permanencia. Una vez obtenidos éstos, se realizará la separación de las imágenes en hemicampos con el fin de analizar por separado los estímulos procedentes de cada lado del campo visual. La entrada son las secuencias de imágenes estéreo en niveles de gris procedentes de la digitalización de la señal de las cámaras. Por su parte, la salida es el estado de carga de las memorias de permanencia derecha e izquierda divididas cada una en sus dos mitades por las razones enunciadas en el párrafo anterior. 100 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Obtención del Mapa de Carga 2D Efecto de Permanencia Segmentación en Bandas de Niveles de Gris Detección de Movimiento (Permanencia) Separación de Hemicampos Visuales Figura 3.6. Descomposición en subtareas de “Obtención del Mapa de Carga 2D”. En la figura 3.6 se representa la división en subtareas de la tarea Obtención del Mapa de Carga 2D. Como puede verse, la subtarea consta de tres pasos fundamentales que son: S S S Segmentación en bandas de niveles de gris, Detección del movimiento o cálculo de los mapas de carga bidimensionales (memorias de permanencia) y, Separación de hemicampos visuales. En la figura 3.7 pueden verse también estas tres subtareas en su secuencia natural y con sus interrelaciones. En ella se aprecian dos procesamientos en paralelo, cada uno correspondiente a una secuencia de entrada, la izquierda y la derecha. A partir de la entrada, el subsistema de “Segmentación en Bandas de Niveles de Gris” separa cada uno de los fotogramas en regiones conexas con el fin de analizar posteriormente sus movimientos. Como veremos en el apartado siguiente, este subsistema requiere como entrada, además de la secuencia a segmentar, la salida del fotograma anterior. Esta 101 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Nivel de Gris Imagen Izquierda NGI(u,v,t) BNGI(u,v,t-1) Segmentación en Bandas de Nivel de Gris BNGD(u,v,t-1) Segmentación en Bandas de Nivel de Gris Banda de Nivel de Gris Imagen Izquierda BNGI(u,v,t) Banda de Nivel de Gris Imagen Derecha BNGD(u,v,t) Obtención del Mapa de Permanencia 2D Detección de Movimiento (Permanencia) Detección de Movimiento (Permanencia) Mapa de Carga 2D Izquierdo C2I[u,v,t] Mapa de Carga 2D Derecho C2I[u,v,t] Separación de Hemicampos Visuales Hemicampo Visual 2D Izdo. / Izdo. H2II[u,vI,t] Nivel de Gris Imagen Derecha NGD(u,v,t) Hemicampo Visual 2D Izdo. / Dcho. H2ID[u,vI,t] Separación de Hemicampos Visuales Hemicampo Visual 2D Dcho. / Izdo. H2DI[u,vI,t] Hemicampo Visual 2D Dcho. / Dcho. H2DD[u,vI,t] Figura 3.7. Esquema de procesos de la “Obtención del Mapa de Carga 2D”. necesidad se justificó convenientemente en el capítulo 2, en el que se hizo el análisis de las memorias de permanencia. El sistema de detección del movimiento a través de la permanencia también requiere como entradas la imagen actual segmentada en bandas de niveles de gris y la imagen anterior con el fin de analizar qué elementos de la memoria han saltado entre bandas y por lo tanto han detectado movimiento en los píxeles correspondientes. Finalmente, cada uno de los subsistemas de separación de hemicampos visuales tiene como entrada la información de movimiento procedente de la respectiva permanencia, y tiene como salidas los dos hemicampos visuales separados. A continuación se desarrollan más en detalle cada una de estas subtareas. 102 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica 3.2.2.1. Segmentación en Bandas de Niveles de Gris La subtarea “Segmentación en Bandas de Niveles de Gris” transforma las imágenes de entrada tomadas en 256 niveles de gris en un número menor de niveles. En concreto, se suele trabajar con buenos resultados utilizando 8 niveles. A estas imágenes en 8 niveles se les denomina imágenes segmentadas en 8 bandas de niveles de gris (BNG). Las razones por las que preferimos trabajar con bandas de niveles de gris son dos: S S El método tradicional de detección de movimiento está basado en la diferencia de imágenes. Al unir un rango de niveles de gris en una sola banda, y considerando que existe movimientos cuando se detecta una variación en la banda de niveles de gris, se reduce el nivel de ruido debido a pequeñas variaciones de luminosidad de un mismo objeto entre dos imágenes consecutivas. Por otra parte se consigue una disminución de la complejidad computacional teniendo en cuenta el gran paralelismo usado en los algoritmos del modelo propuesto. Pasamos a computar en paralelo en el orden de magnitud de bandas de niveles de gris NB, y no de niveles de gris NG con NG>NB. En la figura 3.8 pueden observarse los roles asociados a la subtarea de Segmentación en Bandas de Niveles de Gris. En dicho esquema podemos apreciar una realimentación de la salida en el instante actual t, BNG(u,v,t), al tenerse en cuenta su propia Nivel de Gris NG (u,v,t) número_bandas NB nivel_gris_mínimo NGmin nivel_gris_máximo NGmax solape_bandas SB Banda de Niveles de Gris BNG (u,v,t-1) Segmentación en Bandas de Niveles de Gris Banda de Niveles de Gris BNG (u,v,t) Figura 3.8. Roles de la subtarea “Segmentación en Bandas de Niveles de Gris”. 103 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D respuesta en el instante anterior, BNG(u,v,t-1). Como se muestra en la misma figura, los roles estáticos son el número de bandas de niveles de gris (NB) en el que quedará dividida la imagen, el solape entre bandas (SB) y los valores máximo (NGmax) y mínimo (NGmin) de los niveles de gris de la imagen de entrada. El valor de solape entre las bandas (SB) se utiliza para aumentar el tamaño de las bandas sin disminuir el número de estas. De este modo se consigue adaptar el nivel de disminución del ruido debido a los leves cambios de luminosidad entre dos tramas de imagen consecutivas. La figura 3.9 muestra gráficamente la idea que subyace tras el solape entre bandas SB. A la izquierda de la figura 3.9 podemos ver la división en “NG” niveles de gris, siendo NG=NGmax-NGmax+1, y en la parte derecha podemos ver la división en “NB” bandas de niveles de gris, desde BNG1 hasta BNGn; siendo obviamente NB<NG. Tal como se puede apreciar en la misma figura, existe un solape entre las bandas de niveles de gris, de modo que un punto de la imagen de entrada cuyo nivel de gris sea NG, a priori podría pertenecer a una sola banda de niveles de gris en el caso de que el solape no le afecte, o a dos bandas de niveles de gris si el nivel de gris está situado en la zona de solape. Obviamente, en un instante de tiempo determinado t, un punto de la imagen sólo puede pertenecer a una de las posibles bandas. Como ya se ha indicado con anterioridad, el uso de las bandas de niveles de gris reduce el nivel de ruido. De la misma manera, el solape entre bandas está pensado para que un punto que pertenece en un instante a una banda de niveles de gris permanezca en esa banda cuando la variación de luminosidad es pequeña. Por “pequeña” hemos de entender NGmax BNGn SB BNGn-1 NB bandas de niveles de gris NG nivel de gris BNG3 E2max SB BNG2 SB E2min BNG1 NGmin Figura 3.9. Solape entre bandas de niveles de gris. 104 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica que la luminosidad de un punto de la imagen incluido en una zona solapada no sale de la misma zona de solape SB en el siguiente instante de tiempo. Queda claro que se disminuye de este modo aún más la afectación por el nivel de ruido sin variar el número de bandas. También observamos en la figura los valores de Emax, valor máximo de la banda actual (en el caso de la figura la banda 2) y Emin valor mínimo de dicha banda, aplicable a cada una de las bandas de niveles de gris. A continuación se pasa a detallar cual es la labor de cada una de las inferencias mostradas en la figura 3.10. La primera de las inferencias de tipo evaluate realiza el cálculo del valor de B, que será el propio valor de salida de la subtarea si hay variación de banda de niveles de gris (ver inferencia select más adelante). El valor de B es el valor calculado de paso de nivel de gris a banda de nivel de gris, sin tener aún en cuenta el valor del solape. El cálculo del valor de B se expresa en la ecuación siguiente. B(u,v,t)round NG(u,v,t) NB 0,5 NGmaxNGmin1 Como puede verse, se trata de un sencillo cambio de escala. Véase que aún no estamos decidiendo si existe o no variación en la banda de niveles de gris del punto (u, v). Por otra parte, la segunda inferencia evaluate realiza sobre la parte central del espacio de salida, (o sea, sobre su propia salida en el instante anterior de tiempo) el cálculo de los valores extremos Emax y Emin, que producen cambios en la banda. Emin es el extremo inferior y Emax es el extremo superior. Sus valores son los siguientes: Emin(u,v,t)max (BNG(u,v,t1) 1) N SB , NGmin NB y Emax(u,v,t)min BNG(u,v,t1) N SB , NGmax NB en estas expresiones el factor N=NGmax-NGmin+1 corresponde al número de niveles de entrada que en general serán 256. 105 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D NG (u,v,t) NB NGmin NGmax BNG (u,v,t-1) evaluate evaluate B Emin, Emax NG (u,v,t) compare SB NGmin NGmax clases Emin≤ NG (u,v,t) ≤ Emax 1 NG (u,v,t) < Emin 0 NG (u,v,t) >Emax 0 {0,1} BNG (u,v,t-1) B select BNG (u,v,t) Figura 3.10. Esquema inferencial de “Clasificación en Bandas de Niveles de Gris”. Interpretando las dos fórmulas anteriores de Emax y Emin, vemos que tanto Emax como Emin se corresponden con un nivel de gris: respectivamente, Emax con el nivel de gris superior de la banda de niveles de gris a la que pertenecía el píxel analizado en el instante de tiempo t-1, y Emin el nivel de gris inferior de la banda de niveles de gris en el mismo instante t-1. La inferencia compare comprueba si el valor del nivel de gris NG(u,v,t), produce cambio de banda con respecto al valor de la banda de niveles de gris obtenida en t-1, es decir BNG(u, v, t-1). Para ello, el criterio usado es el siguiente: si NG(u,v,t) se 106 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica encuentra dentro del rango establecido entre Emax y Emin, la salida de esta inferencia (denominada Variación ya que detecta la variación de un píxel en su banda de niveles de gris entre los instantes t y t-1), será 0 y en caso contrario 1: Variación(u,v,t) 0 1 si Emin(u,v.t) NG(u,v,t) < Emax(u,v,t) en caso contrario Por último, la inferencia select selecciona como valor para la salida el valor calculado B, si la salida de la inferencia compare es 1, y BNG(u,v,t-1) si la salida de la inferencia compare es 0. BNG(u,v,t) BNG(u,v,t1) si Variación0 B en caso contrario En la figura 3.11 podemos ver, de forma gráfica, una representación de las implicaciones de la segmentación en bandas de niveles de gris. Para ello se ha utilizado el fotograma I(t) de la figura 3.5, segmentándolo en ocho bandas de niveles de gris. Resumiendo, el resultado de la subtarea Segmentación en Bandas de Niveles de Gris es, por cada píxel de la imagen de entrada, la transformación de nivel de gris en su correspondiente banda de niveles de gris, o la banda de niveles de gris anterior, si no ha existido variación suficiente para el cambio de banda. Es decir, el resultado será una matriz con el mismo tamaño que la imagen de entrada, pero su contenido tomará valores entre 1 y NB. 3.2.2.2. Detección de Movimiento (Permanencia) Una vez establecida la banda de niveles de gris a la que pertenece cada píxel de las dos imágenes, el siguiente paso es caracterizar el movimiento. Para ello, en primer lugar, establecemos un mapa de movimiento bidimensional para cada una de las secuencias, que se irá actualizando para cada fotograma. Este mapa de movimiento bidimensional tendrá tantos elementos detectores de movimiento como píxeles tengan las imágenes en la dimensión horizontal y vertical. 107 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Banda 1 Banda 2 Banda 3 BNGi(u,v,t) NGi(u,v,t) Clasificación Integración Banda 5 Banda 6 Banda 7 Banda 8 Figura 3.11. Segmentación en bandas de niveles de gris: clasificación e integración 108 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica En la figura 3.12 se muestran los roles asociados a esta subtarea. Las entradas a este proceso son las bandas de nivel de gris actual BNG(u,v,t) y anterior BNG(u,v,t-1) para un mismo píxel (u,v). La variación temporal de la banda a la que pertenece un píxel nos va indicar la existencia de movimiento. Aparecen en esta figura otros roles estáticos con el fin de aportar algo más de información temporal al movimiento. Estos son el valor máximo de carga C2max que puede tener un elemento de permanencia, el valor mínimo de carga C2min que puede tener un elemento de permanencia, y el valor de la descarga paulatina que se producirá en ausencia de movimiento. Como salida de esta subtarea se obtiene el mapa de carga 2D de la secuencia en el instante de tiempo t. Esta subtarea, a su vez se divide en dos partes que presentamos a continuación a través de sus esquemas inferenciales. a)- Detección de Movimiento En la figura 3.13 se representa el esquema inferencial del proceso involucrado en la detección de movimiento. La presencia de movimiento MOV2(u,v,t), se obtiene mediante la comparación punto a punto de dos imágenes segmentadas en bandas de niveles de gris sucesivas en el tiempo, de forma que si el punto (u, v) en un instante t pertenece a la misma banda de niveles de gris que en el instante anterior t-1, consideramos que no ha habido movimiento, mientras que si ha existido un cambio de BNG entonces consideramos que sí lo ha habido. Banda de Niveles de Gris BNG (u,v,t) valor_mínimo_carga C2min valor_máximo_carga C2max descarga_permanencia C2des Banda de Niveles de Gris BNG (u,v,t-1) Detección de Movimiento (Permanencia) Mapa de Carga 2D C2 (u,v,t) Figura 3.12. Roles asociados a la subtarea “Detección de Movimiento (Permanencia)”. 109 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Se obtiene presencia de movimiento, MOV2(u, v, t) a partir de los roles dinámicos de entrada Banda de Niveles de Gris en los instantes de tiempo t y t-1. ver figura 3.13. En este caso la inferencia realizada es un compare, que valora la similitud entre las bandas de nivel de gris actual y anterior del píxel de coordenadas (u,v). El resultado de esta comparación, denominada Presencia de Movimiento es directamente la salida del proceso MOV2(u,v,t) con valores 0 si las bandas son iguales y 1 si éstas son diferentes: MOV2(u,v,t) 0 1 si BNG(u,v,t) BNG(u,v,t1) si BNG(u,v,t) BNG(u,v,t1) Estos mapas de movimiento bidimensionales identifican aquellos píxeles de la imagen de entrada en los que se ha producido un salto entre bandas de niveles de gris; y, por lo tanto, los puntos en las coordenadas u,v de las imágenes en los que ha habido movimiento. En la figura 3.14 podemos observar gráficamente el resultado de la detección de movimiento en dos instantes consecutivos de la secuencia “IndoorZoom”. Puede observarse que de todas las regiones segmentadas, el sistema únicamente atiende a aquellos píxeles en los que ha habido salto de banda de niveles de gris y por lo tanto se ha detectado movimiento. BNG(u,v,t) BNG (u,v,t-1) compare Criterio clases BNG(u,v,t)=BNG(u,v,t-1) 0 BNG(u,v,t)≠ BNG(u,v,t-1) 1 MOV2 (u,v,t) Figura 3.13. Esquema inferencial de la detección del movimiento 110 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica b)- Obtención del mapa de carga 2D Con el fin de extraer mayor información sobre el movimiento, es interesante no solamente detectar los puntos en los que ha habido movimiento, sino también la historia reciente de dicho movimiento. Para ello, utilizamos los mapas de carga de las memorias de permanencia. Esta subtarea obtiene mediante mecanismos de computación acumulativa sobre la negada de la propiedad Presencia de Movimiento la Memoria de Carga de Movimiento asociada a dicho proceso de acumulación. El modo de funcionamiento se explica mediante el esquema inferencial de la figura 3.15. Los roles estáticos mostrados tienen el siguiente significado: C2min y C2max son los valores mínimo y máximo respectivamente que pueden alcanzar los valores almacenados en la Memoria de Carga de Movimiento 2D, y C2des es el valor de disminución de la carga. El incremento de la carga no aparece como rol, ya que se ha considerado que es igual al Figura 3.14. Detección de movimiento. 111 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D C2max. La idea de este proceso es que si no existe movimiento en el punto (u, v), el valor de carga C2(u, v, t) irá disminuyendo hasta llegar a C2min, y que si existe movimiento, se produce la carga completa tomando el valor C2max. Los puntos en los que ha existido movimiento recientemente tendrán valores de carga comprendidos entre la saturación y la descarga, siendo más próximos a la saturación cuanto más reciente haya sido dicho movimiento; y a la inversa, tomarán valores más bajos cuanto más tiempo hace que se produjo el movimiento en esta zona de la imagen. De esta manera, el valor de carga C2(u, v, t) es proporcional al tiempo transcurrido desde la última variación significativa de la luminosidad sobre cada píxel de imagen (u,v). La inferencia evaluate realiza el cálculo de los valores de Ch1 y Ch2 en los distintos intervalos de tiempo. Estos valores de Ch1 y Ch2 son los posibles valores de la Memoria de Carga 2D. A continuación, mediante la inferencia select, se obtiene el valor de la salida C2(u,v,t), que tomará uno de los valores del conjunto {Ch1, Ch2} dependiendo C2 (u,v,t-1) C2min C2max C2des evaluate {Ch1, Ch2} Criterio select Clases MOV2 (u,v,t)=0 MOV2 (u,v,t)=1 Selección Ch1 Ch2 C2 (u,v,t) Figura 3.15. Esquema inferencial de la “Obtención del Mapa de Carga 2D”. 112 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica del resultado obtenido en el apartado anterior (MOV2(u, v, t)), que actúa como clase de discrepancia. Así el criterio usado es: Ch1 max(C2(u,v,t1) C2des, C2min) Ch2 C2max Ch1 representa el caso de descarga paulatina, mientras que Ch2 se utiliza cuando se detecta movimiento y, en consecuencia, debe cargarse el elemento de permanencia hasta la saturación. La inferencia select selecciona como valor de salida el valor Ch1 si MOV2(u,v,t) es 0 (ausencia de movimiento), y Ch2 en caso contrario. C2(u,v,t) Ch1 Ch2 si MOV2(u,v,t) 1 si MOV2(u,v,t) 0 A la hora de darle valores a la variable C2des, hemos de tener en cuenta la relación muestreo-velocidad de las secuencias captadas. Por ejemplo, en los pares de secuencias virtuales preparados para probar el algoritmo, se han utilizado velocidades de descarga C2des=16. En cambio, en las secuencias reales obtenidas de Internet, debido a que las imágenes estaban tomadas a una velocidad lenta, hemos debido utilizar un parámetro C2des=64 para conseguir una descarga rápida y, por tanto, estelas relativamente cortas. A través de los Mapas de Carga 2D derecho e izquierdo tenemos ya caracterizado el movimiento a nivel de las imágenes en las direcciones horizontal y vertical. En la figura 3.16 puede verse la evolución de los fotogramas en la secuencia “IndoorZoom” al aplicar el efecto de permanencia sobre la detección de movimiento. Podemos observar que en la memoria de permanencia se van almacenando los últimos movimientos que se han producido en la secuencia. En esta representación se ha supuesto que el proceso es continuo y por lo tanto los Mapas de Carga 2D contienen información de instantes anteriores. 113 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Figura 3.16. Efecto de permanencia aplicado a la detección del movimiento 2D. 3.2.2.3. Separación de Hemicampos Visuales Como salida de esta sección, estas memorias de permanencia son divididas en dos mitades, ya que queremos separar el movimiento que se produce en la parte derecha del campo visual, respecto del que se produce en la parte izquierda. En la figura 3.17 quedan representados los roles estáticos y dinámicos asociados a esta subtarea. Así, a partir de los mapas de carga extraídos de cada una de las dos memorias de permanencia, la derecha y la izquierda, obtenemos las mitades que aparecen en la figura 3.19. 114 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Mapa de Carga 2D C2 (u,v,t) Separación de Hemicampos Visuales tamaño_imagen_horizontal Hmax Hemicampo Visual 2D Izquierdo H2i (u,v,t) Hemicampo Visual 2D Derecho H2d (u,v,t) Figura 3.17. Roles de la subtarea “Separación de Hemicampos Visuales”. Al hemicampo visual izquierdo de un Mapa de Carga 2D lo denominaremos H2I(u,v,t); y al hemicampo visual derecho lo denominaremos H2D(u,v,t). La separación de ambos hemicampos se produce por la mitad de la longitud horizontal del mapa de carga, de ahí la utilización de este tamaño (Hmax) como rol estático. En la figura 3.18 podemos ver el esquema inferencial propuesto. En él se utiliza como entrada el Mapa de Carga 2D completo. La primera inferencia select extrae de dicho mapa completo su parte izquierda, dejando la derecha en conjunto vacío. En el caso de la inferencia select derecha su función es la misma sólo que en este caso lo que se extrae es el hemicampo visual derecho del Mapa de Carga 2D completo. Así pues, el contenido del hemicampo visual izquierdo será: H2I(u,v,t) C2(u Hmax 2 , v, t) considerando: 0 < u Vmax 2 Umax 2 < v < Vmax 2 0 < t < 115 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D y el contenido del hemicampo derecho será H2D(u,v,t) C2(u,v,t) considerando: 0 < u Vmax 2 Umax 2 < v < Vmax 2 0 < t < En la figura 3.19 queda representado gráficamente la separación de hemicampos visuales de un mapa de carga 2D. 3.2.3. Análisis de la Disparidad de Carga Esta subtarea se representa en la sección “C” de la figura 3.1. En dicha figura se puede ver que, a la entrada se disponen por separado las dos mitades izquierdas de los Mapas de Carga respecto de las dos mitades derechas, con el fin de separar los estímulos provenientes de cada hemicampo visual. De esta manera, se necesitarán dos sistemas de procesamiento paralelos; cada uno para procesar su mitad correspondiente del campo visual. Ambos sistemas son muy semejantes con lo que aquí se concentrará la atención en C2 (u,v,t) Criterio Clases H − max 2 < u < 0 0 < u < H max 2 Criterio Selección C2 (u,v,t) Clases Selección H − max 2 < u < 0 ∅ 0 < u < H max select select H2i (u,v,t) H2d (u,v,t) 2 ∅ C2 (u,v,t) Figura 3.18. Esquema inferencial de la “Separación de Hemicampos Visuales”. 116 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica C2I(u,v,t) Separación de hemicampos H2II(u,v,t) H2DI(u,v,t) Figura 3.19. Separación de hemicampos visuales explicar el funcionamiento de uno de ellos. La salida es un mapa tridimensional de profundidad que nos muestra la profundidad de los puntos de la escena en los que se ha producido movimiento. El hecho de utilizar como entradas los Mapas de Carga, con se vio en el capítulo 2 tiene dos características destacables: S S Se utiliza sólo la información de movimiento filtrando toda la información estática de la escena ya sea 2D como 3D. Como nuestro objetivo es obtener un mapa tridimensional del movimiento de la escena, este filtrado supone más una ventaja que un inconveniente, ya que los elementos estáticos aportan ruido a este estudio. Por otra parte, el movimiento de los objetos produce estelas en los mapas de carga de las memorias de permanencia que tendrán características diferentes según su 117 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D dirección su velocidad instantánea y su historia de movimiento. Sin embargo, el movimiento instantáneo de un mismo objeto va a tener una representación en los dos mapas de carga como estelas muy semejantes; por eso, la puesta en correspondencia de las estelas de los objetos móviles que hay en la secuencia será sencilla y muy robusta. En la figura 3.20 se representa la división en subtareas elementales de esta subtarea. En ella se pueden ver las dos subtareas elementales en las que se descompone, que son; por un lado el Análisis de Correspondencias de Carga, y por otro la Obtención del Mapa de Profundidad 3D. Por su parte, en la figura 3.21 se visualiza el esquema de procesos de esta subtarea. En él se pueden ver, además, las interrelaciones de los procesos entre sí, así como las entradas y salidas involucradas en cada proceso. Como puede verse, los dos hemicampos visuales de las Memorias de Carga 2D de entrada se reorganizan para procesar separadamente los estímulos procedentes del hemicampo visual izquierdo de los del derecho. Así, el proceso de análisis de correspondencias de carga izquierdo tiene como entradas el hemicampo visual izquierdo del mapa de carga izquierdo y el hemicampo visual izquierdo del mapa de carga derecho. Por su parte, el proceso de análisis de correspondencias derecho tiene como entradas los dos hemicampos derechos de ambos Mapas de Carga 2D. Análisis de Disparidad de Carga PSM Análisis de Correspondencias de Carga Obtención del Mapa de Profundidad 3D Figura 3.20. Descomposición en subtareas del “Análisis de Disparidad de Carga”. 118 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Hemicampo Visual 2D Izdo. / Izdo. H2II(u,v,t) Hemicampo Visual 2D Izdo. / Dcho. H2ID(u,v,t) Obtención del Mapa de Profundidad 3D Análisis de Correspondencias de Carga Mapa de Correspondencias de Carga 3D Izquierdo S3I(u,v,d,t) Obtención del Mapa de Profundidad de Carga 3D Mapa de Profundidad 3D Izquierdo D3I(u,v,t) Hemicampo Visual 2D Dcho. / Izdo. H2DI(u,v,t) Hemicampo Visual 2D Dcho. / Dcho. H2DD(u,v,t) Análisis de Correspondencias de Carga Mapa de Correspondencias de Carga 3D Derecho S3D(u,v,d,t) Obtención del Mapa de Profundidad de Carga 3D Mapa de Profundidad 3D Derecho D3D(u,v,t) Figura 3.21. Esquema de procesos del “Análisis de Disparidad de Carga”. La salida de los análisis de correspondencias los denominamos Mapas de Correspondencias de Carga 3D (S3(u,v,d,t)); donde d es la disparidad. En ellos se van a representar las correspondencias existentes entre píxeles de los hemicampos de las imágenes derecha e izquierda para diferentes disparidades. A partir de dichos Mapas de Correspondencias de Carga se decidirá cual es la profundidad de máxima confianza para cada una de las coordenadas (u,v) de los hemicampos visuales. Esto se realizará mediante el proceso de Obtención del Mapa de Profundidad de Carga 3D, y la salida la denominaremos Mapa de Profundidad 3D. 3.2.3.1. Análisis de Correspondencias de Carga Con esta subtarea se pretende preparar la información necesaria para, posteriormente, en la obtención del Mapa de Profundidad 3D, tomar la decisión de cual es la disparidad de mayor confianza para cada uno de los elementos de procesamiento de los mapas de carga de entrada. En esta tarea principalmente se va a tomar en consideración 119 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D las restricciones epipolar, de ordenamiento y de disparidad. La forma de aplicarlas se verá en cada uno de los pasos realizados. Con estas consideraciones se puede afrontar ya el análisis de los roles estáticos y dinámicos que concurren en esta subtarea. Estos se pueden ver representados en la figura 3.22. En ella vemos como roles dinámicos los hemicampos homólogos de las imágenes derecha e izquierda a la entrada y el Mapa de Correspondencias de carga 3D a la salida. Por su parte como roles estáticos figuran el tamaño de la imagen en horizontal y vertical y el valor máximo de disparidad dado por la restricción del mismo nombre. Se sabe que las primitivas de correspondencia de mayor robustez son aquellas de más alto nivel como los contornos o las regiones. En nuestro caso pretendemos realizar un análisis de correspondencias por regiones. Por lo tanto, hemos de agrupar aquellos elementos de carga vecinos cuyos correspondientes tengan la misma disparidad. Pero antes de agrupar a los vecinos correspondientes hemos de definir qué es lo que consideramos elementos de carga correspondientes. Básicamente, para cada elemento de carga se trataría de buscar en la línea epipolar contraria qué píxel tiene una historia de movimiento semejante, y por lo tanto qué elemento de procesamiento del mapa de carga correspondiente tiene un nivel instantáneo de carga almacenada igual. Hemicampo Visual 2D Izquierdo H2I (u,v,t) tamaño_imagen_horizontal Hmax tamaño_imagen_vertical Vmax disparidad_máxima dmax Hemicampo Visual 2D Derecho H2D (u,v,t) Análisis de Correspondencias de Carga Mapa de Correspondencias de Carga 3D S3 (u,v,d,t) Figura 3.22. Roles asociados a la subtarea “Análisis de Correspondencias de Carga”. 120 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Una vez establecidas las regiones que denominamos de “disparidad constante”, se hace conveniente establecer una característica de ellas que nos permita establecer un criterio de confianza para la decisión de cuál es la disparidad correcta para cada elemento de carga (u,v). La característica escogida depende de la posición (u, v) de cada elemento de procesamiento y tiene que ver con el tamaño de cada región de “disparidad constante”. La forma de calcular dicho tamaño se realiza en dos fases: S S En primer lugar se lleva a cabo un conteo en horizontal de todos los vecinos contiguos que pertenecen a dicha región. Posteriormente se acumulan los valores horizontales encontrados para todos los elementos de procesamiento contiguos verticales que también pertenecen a dicha región. En los próximos subapartados se explicarán estas fases por el orden en el que se producen, (Correspondencias Puntuales, Conteo Horizontal y Acumulación Vertical), utilizando para ello los esquemas inferenciales. a)- Análisis de Correspondencias Puntuales El análisis de Correspondencias Puntuales se realiza sobre los elementos de carga de dos hemicampos correspondientes. Aplicando la restricción epipolar se compara cada uno de los elementos de carga de un hemicampo con aquellos del otro que están en la misma fila, pero desplazados en horizontal hasta el límite máximo impuesto por la restricción de disparidad. El esquema inferencial de esta parte se puede ver en la figura 3.23. En este esquema puede verse que se tienen dos inferencias evaluate una para cada hemicampo visual. Cada una de éstas tienen como roles dinámicos de entrada las mitades correspondientes H2I(u,v,t) y H2D(u,v,t) de los mapas de carga del hemicampo visual y como roles estáticos el valor de la disparidad máxima dmax dada por la restricción. El rol dinámico de salida de cada inferencia es una matriz tridimensional Sa3(u, v, d, t) en la que para cada coordenada (u, v) y para cada valor de disparidad d indica si existe o no correspondencia puntual. 121 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D H2DI (u,v,t) H2II (u,v,t) dmax evaluate H2ID (u,v,t) dmax Sa3I (u,v,d,t) H2DD (u,v,t) evaluate Sa3D (u,v,d,t) Figura 3.23. Esquema inferencial del “Análisis de Correspondencias Puntuales”. Las expresiones de cálculo de los elementos de esta matriz tridimensional de salida en cada hemicampo visual son las siguientes: Sa3I(u,v,d,t) Sa3D(u,v,d,t) 1, 0, 1, 0, si |H2II(u,v,t)H2DI(ud,v,t)| 1 d | 0ddmax , en caso contrario si |H2ID(ud,v,t)H2DD(u,v,t)| 1 en caso contrario , d | 0ddmax En la figura 3.24 se puede ver una representación gráfica del desarrollo del análisis de correspondencias. Como el rol de salida Sa3(u,v,d,t) es una variable que depende de tres dimensiones espaciales, además del tiempo, en la figura se ha representado la variación en la disparidad a modo de mosaico. Por ello, el elemento central de la figura en la que aparecen las correspondencias está configurado como una matriz de cinco columnas y cuatro filas, en las que cada columna a su vez está dividida en dos para albergar los hemicampos derecho e izquierdo de cada mapa de carga. En dicha figura se puede observar cómo el personaje que aparece en el hemicampo izquierdo es el más cercano pues su región de disparidad constante tiene un tamaño máximo para d=18. En cambio, el personaje del hemicampo derecho está más alejado, apareciendo con una disparidad menor (d=6). El personaje central aparece con una disparidad (d=15) y está bastante estático. 122 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Figura 3.24. Análisis de correspondencias a partir de los Mapas de Carga. 123 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D b)- Conteo y Homogeneización de Carga en Horizontal En este segundo paso, la finalidad es establecer una matriz de elementos de carga del mismo tamaño que las matrices tridimensionales Sa3 procedentes del paso anterior, en la que cada uno de los elementos tenga como resultado final la cantidad de elementos contiguos de entrada que se consideran correspondientes (aquellos en los que Sa3(u,v,d,t)=1) en la dirección horizontal. Este proceso se realiza en dos tiempos: una primera pasada hacia la izquierda va contando los elementos de entrada puestos a 1 y almacenando el valor en el elemento de carga de salida correspondiente (Sb3(u,v,d,t)). El esquema inferencial de este primer paso se puede ver en la figura 3.25. En primer lugar, la inferencia compare comprueba si el elemento de entrada Sa3(u,v,d,t) tiene valor 1, lo que significaría que ha encontrado correspondencia válida en el proceso anterior. Si es así, el resultado de esta comparación es 1, y 0 en caso contrario. En la parte superior derecha de la figura se puede ver una inferencia evaluate que simplemente ofrece como salida a, el valor de salida anterior Sb3(u,v,d,t) incrementado en 1. Sa3 (u,v,d,t) Criterio Sb3 (u-1,v,d,t) clases Sa3 (u,v,d,t) = 0 0 Sa3 (u,v,d,t) ≠ 0 1 compare evaluate {0,1} select Sb3 (u-1,v,d,t) + 1 a 0 a Sb3 (u,v,d,t) Figura 3.25. Esquema inferencial del “Conteo de Carga en Horizontal”. 124 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Finalmente en la parte final del esquema se utiliza una inferencia select para, a partir de los valores de salida de la inferencia compare, decidir si dar como salida un valor nulo o el valor a previamente calculado. En el aspecto temporal debemos decir que deben calcularse en primer lugar los elementos de menor coordenada u, avanzando a lo largo de la matriz de elementos hacia la izquierda. Así el proceso se puede interpretar como tres bucles anidados de la siguiente manera. for u=1 to (Hmax / 2) { for v=1 to Vmax { for d=1 to dmax { aSb3(u1,v,d,t)1 Sb3(u,v,d,t) a 0 si Sa3(u,v,d,t)0 en caso contrario } } } Una vez realizado el conteo hacia la derecha en horizontal, se realiza una homogeneización de carga, para que todos los elementos de carga que pertenezcan a una región horizontal de disparidad constante adquieran el mismo valor de carga. Este valor adquirido será el máximo y corresponderá con el tamaño horizontal de la región de disparidad constante que forman todos ellos. El esquema inferencial de este proceso puede verse en la figura 3.26, y su explicación es muy similar a la anterior, aunque veremos que existen diferencias. La inferencia compare nuevamente comprueba si el elemento de entrada Sb3(u,v,d,t) tiene valor distinto de 0, lo que significaría que ha acumulado carga en el proceso anterior. Si es así, el resultado de esta comparación es 1, y en caso contrario 0. En la parte superior derecha de la figura se puede ver una inferencia evaluate que simplemente ofrece como salida en b el valor máximo entre la entrada actual Sb3(u,v,d,t) y el valor anterior, considerando este como Sb3(u+1,v,d,t). Finalmente en la parte final del esquema se utiliza una inferencia select para, a partir de los valores de salida de la inferencia compare, decidir si dar como salida un valor nulo o el valor b previamente calculado. En cuanto a la temporización, hemos de destacar que en este proceso han de realizarse primero las operaciones con los elementos de carga de la parte derecha de las matrices de entrada, y posteriormente avanzar hacia la izquierda. 125 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Sb3 (u,v,d,t) Criterio Sb3 (u+1,v,d,t) clases Sb3 (u,v,d,t) = 0 0 Sb3 (u,v,d,t) ≠ 0 1 compare evaluate {0,1} select max [Sb3 (u,v,d,t), Sb3 (u+1,v,d,t)] b 0 b Sc3 (u,v,d,t) Figura 3.26. Esquema inferencial de la “Homogeneización de Carga Horizontal”. El procesamiento de este esquema también puede escribirse en forma de bucles anidados de esta manera: for u=(Hmax / 2)-1 downto 1 { for v=1 to Vmax { for d=1 to dmax { bmax(Sb3(u,v,d,t),Sb3(u1,v,d,t)) Sc3(u,v,d,t) } } } 126 b 0 si Sb3(u,v,d,t)0 en caso contrario Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica c)- Acumulación y homogeneización de carga en vertical En este tercer paso la finalidad es establecer una nueva matriz de elementos de carga del mismo tamaño que las matrices tridimensionales Sc3 procedentes del paso anterior, en la que cada uno de los elementos tenga como resultado final la acumulación de carga de los elementos contiguos de entrada que se consideran correspondientes en la dirección vertical. Este proceso se realiza, de la misma manera que en el caso anterior en dos tiempos: una primera pasada hacia abajo (valores de v crecientes) va contando los elementos de entrada distintos de 0 y almacenando el valor acumulado en el elemento de carga de salida correspondiente (Sd3(u,v,d,t)). El esquema inferencial de este primer paso se puede ver en la figura 3.27. En primer lugar, la inferencia compare comprueba si el elemento de entrada Sa3(u,v,d,t) tiene valor distinto de cero, lo que significaría que ha encontrado correspondencia válida en los procesos anteriores. Si es así, el resultado de esta comparación es 1, y en caso contrario 0. En la parte superior derecha de la figura se puede ver una inferencia evaluate que simplemente ofrece como salida en c la suma de los valores de entrada Sc3(u,v,d,t) y Sc3(u,v-1,d,t). Sc3 (u,v,d,t) Criterio clases Sc3 (u,v,d,t) = 0 0 Sc3 (u,v,d,t) ≠ 0 1 Sc3 (u,v-1,d,t) compare evaluate {0,1} select Sc3 (u,v,d,t) + Sc3 (u,v-1,d,t)] c 0 c Sd3 (u,v,d,t) Figura 3.27. Esquema inferencial de la “Acumulación de Carga Vertical”. 127 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D En la parte final del esquema se utiliza una inferencia select para, a partir de los valores de salida de la inferencia compare, decidir si dar como salida un valor nulo o el valor c previamente calculado. En el aspecto temporal debemos decir que deben calcularse, en primer lugar, los elementos de menor coordenada v, avanzando a lo largo de la matriz de elementos hacia valores más altos. Así, el proceso se puede interpretar como tres bucles anidados de la siguiente manera: for u=1 to (Hmax / 2) { for v= 2 to Vmax { for d=1 to dmax { cSc3(u,v,d,t)Sc3(u,v1,d,t) Sd3(u,v,d,t) c 0 si Sc3(u,v,d,t)0 en caso contrario } } } Una vez realizado el conteo hacia valores positivos de v, se realiza una homogeneización de carga, de manera que todos los elementos de carga que pertenezcan en vertical a una región de disparidad constante tengan el mismo valor de carga, que será el máximo, y corresponderá al tamaño total de esta región. El esquema inferencial de este proceso puede verse en la figura 3.28. La inferencia compare nuevamente comprueba si el elemento de entrada Sd3(u,v,d,t) tiene valor distinto de 0, lo que significaría que ha acumulado carga en el proceso anterior. Si es así, el resultado de esta comparación es 1, y en caso contrario 0. En la parte superior derecha de la figura se puede ver una inferencia evaluate que simplemente ofrece como salida en e el valor el valor máximo entre la entrada actual Sd3(u,v,d,t) y el valor anterior, considerando este como Sd3(u,v+1,d,t). Finalmente en la parte baja del esquema se utiliza una inferencia select para, a partir de los valores de salida de la inferencia compare, decidir si dar como salida un valor nulo o el valor e previamente calculado. En cuanto a la temporización, hemos de destacar que en este proceso han de realizarse primero las operaciones con los elementos de carga de valores de v altos de las matrices de entrada, y posteriormente avanzar hacia valores más bajos. El procesamiento de este esquema también puede escribirse en forma de bucles anidados de esta manera: 128 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica for u=1 to (Hmax / 2){ for v=(Vmax- 1) to 1 { for d=1 to dmax { emax(S3(u,v,d,t),S3(u,v1,d,t)) S3(u,v,d,t) e 0 si Sd3(u,v,d,t)0 en caso contrario } } } Sd3 (u,v,d,t) Criterio clases Sd3 (u,v,d,t) = 0 0 Sd3 (u,v,d,t) ≠ 0 1 Sd3 (u,v+1,d,t) compare evaluate {0,1} select max [Sd3 (u,v,d,t), Sd3 (u,v+1,d,t)] e 0 e S3 (u,v,d,t) Figura 3.28. Esquema inferencial de la “Homogeneización de Carga Vertical”. 129 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D 3.2.3.2. Obtención del Mapa de Profundidad 3D. Una vez calculados los tamaños de región a los que pertenece cada una de las correspondencias de los mapas de carga, sólo queda por asociar como disparidad de máxima confianza de cada píxel aquel valor cuya carga S3(u,v,d,t) es máxima en d. Con esto se está imponiendo la restricción de unicidad; ya que, como valor final, cada elemento de procesamiento sólo tendrá un valor único de disparidad. En la figura 3.29 pueden verse los roles estáticos y dinámicos involucrados en esta subtarea. Ésta tiene como entrada el Mapa de Correspondencias de Carga, S3(u,v,d,t), y como rol estático la disparidad máxima impuesta por la restricción de disparidad. En la expresión siguiente queda también reflejado el procesamiento que se realiza para obtener la disparidad asociada a cada elemento de carga. D3(u,v,t)i | S3(u,v,i,t)S3(u,v,j,t), (i,j), 0idmax, 0jdmax Mapa de Correspondencias de Carga 3D S3 (u,v,d,t) disparidad_maxima dmax Obtención del Mapa de Profundidad 3D Mapa de Profundidad 3D D3 (u,v,t) Figura 3.29. Roles asociados a la subtarea “Obtención del Mapa de Profundidad 3D”. 130 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Básicamente, esta operación trata de buscar aquel valor i cuyo S3(u,v,i,t) es máximo en la tercera dimensión. Puede observarse que en el método propuesto para la subtarea de análisis de la disparidad de carga queda incluída la restricción de ordenamiento, puesto que la comprobación de correspondencias puntuales y la posterior configuración en regiones lleva implícita la conservación del orden de las correspondencias encontradas. A partir del cálculo de disparidades de carga realizado y del análisis geométrico del sistema de cámaras, podemos estimar las profundidades de los elementos móviles. Con ello, hemos conseguido un mapa estereoscópico de movimiento, en el que cada uno de los Figura 3.30. Obtención del Mapa de Profundidad a partir de las correspondencias. 131 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D móviles de la escena aparece con su profundidad asociada. En la figura 3.30 pueden verse de forma gráfica los roles de entrada y salida a la subtarea “Obtención del Mapa de Profundidad 3D. 3.2.4. Obtención del Mapa de Carga 3D Esta subtarea representa la sección “D” en la figura 3.1. Esta subtarea tiene como finalidad la representación del movimiento en la profundidad de los objetos móviles que aparecen en las secuencias de entrada en los niveles de carga de los elementos de permanencia. A partir del valor de profundidad de cada móvil de la escena, la subtarea de Obtención del Mapa de Carga 3D pretende obtener, en base al efecto de permanencia visto anteriormente estimar el movimiento que están teniendo cada uno de los objetos en la profundidad. Esta subtarea aplicará el efecto de permanencia a la información de movimiento en esta dirección para obtener el mapa de carga 3D buscado. En la figura 3.31 se representa el esquema de procesos de esta subtarea. Asimismo, en la figura 3.32 se representan los roles estáticos y dinámicos. Las entradas a cada uno de los procesos, izquierdo y derecho, son los Mapas de Profundidad actual D3(u,v,t) y anterior D3(u,v,t-1). Los roles estáticos que aparecen son, por un lado, los valores mínimo y máximo de carga de los elementos de carga de la memoria de permanencia C3max y C3min, y, por otro, el valor de la descarga en ausencia de movimiento C3des. El rol dinámico de salida es propiamente el mapa de carga 3D. Obtención del Mapa de Permanencia 3D Mapa de Profundidad 3D Izquierdo D3i(u,v,t) Mapa de Profundidad 3D Izquierdo D3i(u,v,t-1) Obtención del Mapa de Carga 3D Mapa de Carga 3D Izquierdo C3i(u,v,d,t) Mapa de Profundidad 3D Derecho D3d(u,v,t) Mapa de Profundidad 3D Derecho D3d(u,v,t-1) Obtención del Mapa de Carga 3D Mapa de Carga 3D Derecho C3d(u,v,d,t) Figura 3.31. Esquema de procesos de la Obtención del Mapa de Carga 3D 132 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Mapa de Profundidad 3D D3 (u,v,t) valor_mínimo_permanencia C3min valor_máximo_permanencia C3max descarga_permanencia C3des Mapa de Profundidad 3D D3 (u,v,t-1) Obtención del Mapa de Carga 3D Mapa de Carga 3D C3 (u,v,d,t) Figura 3.32. Roles estáticos y dinámicos de la subtarea “Obtención del Mapa de Carga 3D”. a)- Detección de Movimiento 3D. Una vez establecidos los mapas de profundidad 3D, el siguiente paso es caracterizar el movimiento. Para ello, en primer lugar, establecemos un mapa de movimientos tridimensional para cada una de las secuencias, que se irá actualizando para cada fotograma. Este mapa de movimiento tridimensional tendrá tantos elementos detectores de movimiento como píxeles tengan las imágenes en la dimensión horizontal y vertical multiplicado por el número de diferentes disparidades posibles (Dmax +1). En la figura 3.33 se representa el esquema inferencial del proceso involucrado en la detección de movimiento. La presencia de movimiento MOV3(u,v,d,t), se obtiene mediante la comparación punto a punto de dos mapas de profundidad 3D sucesivos en el tiempo, de forma que si el punto (u, v, d) en un instante t se encuentra en la misma posición que en el instante anterior t-1, consideramos que no ha habido movimiento, mientras que si ha existido un cambio de posición, entonces consideramos que sí lo ha habido. En este caso, la inferencia realizada es un compare, que valora la igualdad entre las posiciones actual y anterior del móvil de coordenadas (u,v,d). El resultado de esta comparación denominada Presencia de Movimiento es directamente la salida del proceso MOV3(u,v,d,t) con valores 0 si las posiciones son iguales y 1 si éstas son diferentes. 133 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D D3 (u,v,t) D3 (u,v,t-1) compare Criterio clases D3(u,v,t) = D3 (u,v,t-1) 0 D3 (u,v,t) ≠ D3 (u,v,t-1) 1 MOV3 (u,v,z,t) Figura 3.33. Esquema inferencial de la Detección de Movimiento 3D. MOV3(u,v,D3(u,v,t),t) 0 1 si D3(u,v,t) D3(u,v,t1) si D3(u,v,t) D3(u,v,t1) donde D3(u,v,t) contiene la disparidad de más confianza para cada píxel (u,v). Estos mapas de movimiento bidimensionales identifican aquellas celdas del marco de referencia discretizado en los que se ha producido un movimiento en la dirección Z y, por lo tanto, los puntos en las coordenadas (u,v,d) de los mapas de profundidad en los que ha habido movimiento. En la figura 3.34 puede verse la transformación entre el Mapa de Profundidad y la salida de la Detección del Movimiento 3D. Básicamente, se trata de poner a cada píxel en la profundidad según su disparidad. En el mapa de profundidad, los píxeles más cercanos aparecen en color claro, y en la salida de la detección de movimiento 3D los píxeles más cercanos se representan con colores más cálidos y a diferente altura. b)- Efecto de Permanencia 3D Con el fin de extraer mayor información sobre el movimiento es interesante, no solamente detectar los puntos en los que ha habido movimiento sino también, la historia reciente de dicho movimiento. Para ello utilizamos los mapas de carga resultado de las memorias de permanencia. 134 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica Figura 3.34. Representación gráfica de la Detección de Movimiento 3D. En esta ocasión, así como en el caso bidimensional visto en el apartado 3.2.2.2, se obtiene, mediante mecanismos de computación acumulativa sobre la negada de la propiedad Presencia de Movimiento, la Memoria de Carga de Movimiento asociada a dicho proceso de acumulación. El modo de funcionamiento se explica mediante el esquema inferencial de la figura 3.35. Los roles estáticos mostrados tienen el siguiente significado: C3min y C3max son los valores mínimo y máximo, respectivamente, que pueden alcanzar los valores almacenados en la Memoria de Carga de Movimiento 3D, y C3des es el valor de disminución de la carga. El incremento de la carga no aparece como rol, ya que se ha considerado que es igual al C3max. La idea de este proceso es que, si no existe movimiento en el punto (u, v, d), el valor de carga C3(u,v,d,t) se irá decrementando hasta llegar a C3min, y que si existe movimiento, se produce la carga completa tomando el valor C3max. Los puntos en los que ha existido movimiento recientemente tendrán valores de carga entre la saturación y la descarga, siendo más próximos a la saturación cuanto más reciente haya sido dicho movimiento; y a la inversa, tomará valores más bajos cuanto más tiempo hace que se produjo el movimiento en esta zona de la imagen. De esta manera, el valor de carga C3(u,v,d,t) representa una medida del tiempo transcurrido desde la última variación significativa de la posición sobre cada celda del marco de referencia (u,v,d). La inferencia evaluate realiza el cálculo de los valores de Ch1 y Ch2 en los distintos intervalos de tiempo. Estos valores de Ch1 y Ch2 son los posibles valores de la Memoria de Carga 3D. A continuación, mediante la inferencia select se obtiene el valor de la salida C3(u,v,d,t), que tomará uno de los valores del conjunto {Ch1, Ch2} 135 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D dependiendo del resultado obtenido en el apartado anterior (MOV3(u, v, d, t)), que actúa como clase de discrepancia. Así el criterio usado es: Ch1 = max(C3(u,v,D3(u,v,t),t-1)-C3des , C3min) Ch2 = C3max En la figura 3.35 y en la expresión anterior, D3(u,v,t) indica el valor de las disparidad estimada para el píxel (u,v). Ch1 representa el caso de descarga paulatina, mientras que Ch2 se utiliza cuando se detecta movimiento y en consecuencia debe cargarse el elemento de permanencia hasta la saturación. La inferencia select selecciona como valor de salida el valor Ch1 si MOV3(u,v,t) es 0 (ausencia de movimiento), y Ch2 en caso contrario. D3 (u,v,t-1) C3min C3max C3des C3 (u,v,,d,t-1) evaluate {Ch1, Ch2} Criterio select Clases MOV3 (u,v,d,t)=0 MOV3 (u,v,d,t)=1 Selección Ch1 Ch2 C3 (u,v,d,t) Figura 3.35. Esquema inferencial del Efecto de Permanencia 3D 136 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica C3(u,v,D3(u,v,t),t) Ch1 Ch2 si MOV3(u,v,D3(u,v,t),t) 1 si MOV3(u,v,D3(u,v,t),t) 0 Para darle valores a la variable C3des, nuevamente hemos de tener en cuenta la relación muestreo-velocidad de las secuencias captadas. Por ejemplo, en los pares de secuencias virtuales preparados para probar el algoritmo se han utilizado velocidades de descarga C3des=32. En cambio, en las secuencias reales obtenidas de Internet, debido a que las imágenes estaban tomadas a una velocidad lenta, hemos debido utilizar un parámetro C2des=128 para conseguir una descarga rápida y por tanto estelas relativamente cortas. Con los elementos de carga de los Mapas de Carga 3D derecho e izquierdo tenemos ya caracterizado el movimiento en la profundidad. 3.2.5. Obtención del Movimiento 3D Esta subtarea se representa en la figura 3.1 como la sección “E”. Las entradas a esta subtarea son los Mapas de Carga 2D y 3D en el tiempo t obtenidos a partir de las disparidades detectadas para cada elemento de carga en los apartados anteriores, y la salida es el Mapa de Movimiento 3D en el que para cada punto se definen los vectores de velocidad y aceleración (ver figura 3.36). vx(x, y, z, t); vy(x, y, z, t); vz(x, y, z, t) ax(x, y, z, t); ay(x, y, z, t); az(x, y, z, t) Los Mapas de Carga 2D y 3D derecho e izquierdo van a almacenar en sus elementos de carga información referente el tiempo que ha transcurrido desde el último movimiento detectado. A dichos Mapas de Carga se le pueden realizar diferentes filtrados, de manera que seamos capaces de identificar independientemente aquellos objetos que se acercan o se alejan e incluso asociándoles una velocidad aproximada en esta dirección. También, a partir de los elementos de carga de los Mapas de Carga 3D de los hemicampos visuales derecho e izquierdo tenemos ya caracterizado el movimiento en la profundidad. Sólo nos restaría convertir las coordenadas u, v, d del sistema de cada Mapa de Carga a las del Marco de Referencia o sistema de referencia de la escena en x, y, z con las relaciones encontradas en el apartado 1.3.4.2. 137 Obtención del Movimiento 3D El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Mapa de Carga 2D C2(u,v,t) Mapa de Carga 3D C3(u,v,d,t) Digitalización del Par Estéreo de Secuencias Movimiento 3D (vx, vy, vz) Figura 3.36. Esquema de procesos de “Obtención del Movimiento 3D”. La velocidad v(x, y, z) en cualquier punto del espacio viene dada por la ecuación en derivadas parciales clásica que reproducimos aquí v(x,y,z,t) δM(x,y,z,t) δx δy δz ·ux ·u y ·u δt δt δt δt z donde M(x, y, z) es la posición de un objeto y ux, uy, y uz, son los vectores unitarios en las direcciones de los ejes. En las expresiones obtenidas de x, y, z, del Marco de Referencia a partir de la información de las imágenes que es de la que partimos relacionábamos estas variables con la disparidad y las variables ui, vi, y en su caso ud y vd. Estas expresiones eran: x uI·B d y vI·B d z F·B d En estas expresiones podemos comprobar que las tres componentes x, y, z, dependen de la disparidad con variaciones respecto de ella dadas por las siguientes ecuaciones: u ·B v ·B F·B δx I ·δd δy I ·δd δz ·δd 2 2 d d d2 138 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica y en el caso de las componentes x e y también dependen de la variación de uI y de vI. B B δy ·δvI δx ·δuI d d De esta manera hemos de retomar el cálculo de la velocidad reflejando dichas relaciones. v(x,y,z,t) δx(uI,d) δt ·u x δy(uI,d) δt ·u y δz(d) ·uz δt Desarrollando esta expresión llegamos a la siguiente v(x,y,z,t) δX δuI δX δd δY δvI δY δd δZ δd · ·ux ·u y · u · · · δuI δt δd δt δvI δt δd δt δd δt z De esta expresión conocemos ya los términos de derivada de las componentes respecto de la disparidad y respecto de las componentes ui y vi. Por su parte, el término derivada de uI con respecto del tiempo lo podemos obtener de la evolución de la carga en la estela de permanencia horizontal obtenido en la sección “C”. Dicha derivada puede aproximarse localmente por la diferencia de carga entre dos elementos contiguos del Mapa de Carga 2D. De este modo podemos considerar la siguiente ecuación: δuI δt 1 C2I(u I,vI,t)C2I(u I1,vI,t) C2 des El mismo razonamiento podemos realizar para la derivada de vi, pero esta vez referido a las estelas en la dirección vertical de cada elemento de carga. δvI δt 1 C2I(u I,vI,t)C2I(u I,vI1,t) C2 des Finalmente la derivada de la disparidad respecto del tiempo la podemos aproximar a partir de las estelas de permanencia en la dirección z. También en este caso, hemos de trabajar sobre la variación de la carga en 3D dividida por la descarga realizada en cada cuadro. δd 1 δt C3I(uI,vI,zI,t)C3I(u I,vI,z I1,t) C3 des 139 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D Sustituyendo los valores conocidos de expresiones anteriores y aplicando las relaciones para cada una de las direcciones obtenemos las diferentes componentes de la velocidad para cada punto del espacio. C2 des u ·B C3 des B vx(x,y,z,t) · I · d C2I(u I,vI,t)C2I(u I1,vI,t) d 2 C3I(uI,vI,zI,t)C3I(u I,vI,z I1,t) C2 des u ·B C3 des B I · vy(x,y,z,t) · d C2I(u I,vI,t)C2I(u I,vI1,t) d 2 C3I(uI,vI,zI,t)C3I(u I,vI,z I1,t) vz(x,y,z,t) F·B d2 · C3des C3I(u I,vI,z I,t)C3I(uI,vI,zI1,t) Con los valores de disparidad y variación de la disparidad que manejamos, puede imaginarse que la velocidad calculada no tendrá una gran precisión debido a los efectos de la cuantificación en las direcciones x e y sobre la cuantificación en la dirección z; pero ciertamente nos aportan una nueva información muy valiosa sobre el movimiento de los objetos de nuestra escena. El desarrollo matemático del cálculo de la aceleración es absolutamente similar al realizado hasta aquí con la velocidad. Aplicando la derivación de la expresión de la velocidad v(x,y,z,t) vista respecto del tiempo, casi todos los términos se pueden calcular directamente de las expresiones vistas hasta aquí. Los términos más conflictivos son los referentes a las derivadas segundas de la posición horizontal y vertical “ui” y “ud” y de la disparidad “d” con respecto del tiempo dos veces, que, de la misma manera que las primeras derivadas del caso de la velocidad se pueden resolver por el método de diferencias finitas. Para el cálculo de la velocidad de los objetos contamos con un inconveniente fundamental y es la escasa resolución en profundidad que suelen aportar los sistemas estereoscópicos con los parámetros de resolución de las cámaras y la línea base que se maneja. En el apartado 3.4.1.2 se analizó esta cuestión, comprobando que, conforme nos alejamos, la resolución en z es cada vez peor; e incluso que para las distancias habituales entre 5 y 20 metros somos capaces de discriminar entre 15 y 20 profundidades diferentes. Todo esto hace que las posiciones en la dirección z, o las velocidades y las aceleraciones en cualquiera de los ejes, sean muy difíciles de obtener con precisión. Por ello, nosotros hemos optado por simplificar el análisis de velocidades al máximo, persiguiendo más la comprobación del funcionamiento del modelo, que un análisis de 140 Estereopsis y Movimiento. Modelo de Disparidad de Carga: Un Enfoque con Inspiración Biológica precisión más riguroso que nos llevarían un volumen de trabajo importante. Así, en primer lugar, a la salida del sistema sólo vamos a considerar la velocidad en la dimensión z; y en segundo lugar, de este análisis de velocidad en z, tratamos de discriminar exclusivamente velocidades positivas, es decir de móviles que se alejan hacia valores positivos del eje de las z, y velocidades negativas; es decir, que se acercan. Las velocidades positivas se ha optado por representarlas en color oscuro y las velocidades negativas en color claro. 141 El Modelo de Disparidad de Carga como PSM para el análisis estéreo del movimiento 3D 142 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 4. Resultados En este capítulo se van a presentar los resultados obtenidos con el Modelo de Disparidad de Carga propuesto para algunas secuencias estereoscópicas en las que existe movimiento. Para estas pruebas se han utilizado tanto secuencias sintéticas generadas por ordenador como secuencias reales tomadas mediante cámaras. Las secuencias generadas por ordenador tienen un tratamiento relativamente más sencillo que las secuencias reales. Básicamente, esto es debido a que en ellas no aparecerán efectos de ruido aleatorio en las imágenes. Unicamente deberá tenerse en cuenta la interacción de la iluminación con los objetos del escenario, y las sombras que se pueden producir en ellos. Todos estos factores en cualquier caso son controlables en el momento de la generación de la secuencia, en base a una correcta situación de los focos de luz. Se han preparado varias secuencias sintéticas diferentes, de las cuales en este capítulo se presentarán nueve, correspondientes a cuatro escenarios distintos. Cada escenario tiene una naturaleza diferente para tratar de mostrar las capacidades del modelo desarrollado. En los dos primeros escenarios se ha situado un fondo negro sobre el cual se hacen mover diferentes objetos. El primer escenario es el más sencillo y sobre él se mueven varios volúmenes cúbicos con movimientos circulares a diferentes profundidades. El segundo escenario se compone de objetos con diferentes geometrías que se mueven con trayectorias de acercamiento y alejamiento respecto del sistema de cámaras. El tercer escenario se basa en el segundo, al que se han añadido un fondo diferente y un elemento volumétrico estático a una determinada profundidad para probar el filtrado de objetos estáticos. El cuarto, finalmente, es un pasillo con planta cuadrangular en el que la cámara se desplaza por su interior, simulando la deambulación de un robot. En las secuencias reales es mucho más complicado tratar con la iluminación de la escena y su sombreado, y además, es muy habitual, por la propia naturaleza de las cámaras, que aparezcan efectos de ruido aleatorio en las imágenes que nos dificulten el análisis del movimiento mediante la segmentación en bandas de niveles de gris. No obstante, para mejorar en lo posible estos resultados, se ha utilizado el solapamiento entre las bandas explicado en su momento, obteniendose unos buenos resultados. En gran cantidad de algoritmos estereo se suelen realizar pruebas sobre estereogramas de puntos aleatorios, pero esto no es factible con este algoritmo puesto que las memorias de permanencia en este caso estarían siempre saturadas y no habría forma de separar estelas de los objetos móviles. 143 Resultados 4.1. Entorno de Trabajo y Simulación Para poner a prueba todas nuestras ideas se ha utilizado el entorno matemático Matlab. Este entorno no brilla por su eficiencia computacional, ya que utiliza un lenguaje interpretado, y por lo tanto muy lento de procesar. Sin embargo, donde Matlab es realmente excelente es en las etapas de desarrollo, debido a la cantidad de funciones de alto nivel de las que se dispone para realizar pruebas. Esta gran cantidad de funciones permite implementar y probar una idea en unas pocas horas, lo que con otros lenguajes de programación, como puede ser C++, sería impensable. Las funciones que más se han utilizado de Matlab han sido los operadores de suma y producto de matrices, además del producto de vectores. Finalmente, es destacable por su simplicidad la lectura y escritura de ficheros de imágenes que nos han permitido volcar a ficheros de fotogramas y posteriormente a secuencias “avi” los resultados de nuestros cálculos. Este volcado de los ficheros de fotogramas a secuencias “avi” se ha realizado mediante la aplicación “Adobe Premiere” dedicada básicamente a la edición no lineal. De este programa no se han utilizado técnicas de edición de vídeo sino que se han ido configurando las secuencias a partir de los fotogramas, para después renderizar y conseguir el fichero “avi” buscado. 4.2. Modos de Representación de los Resultados Los resultados relacionados con la profundidad de los objetos han sido representados en falso color, haciendo que los elementos más cercanos, con mayor disparidad tengan niveles de gris más claros y los objetos más lejanos, niveles más oscuros. En la figura 4.1 puede verse un ejemplo de representación de este tipo. En el caso del estudio del movimiento en la dirección z, se ha optado por representar, sobre un gris medio, de color negro los objetos que se están alejando y de color claro los que se están acercando hacia las cámaras. En la figura 4.2 puede observarse un ejemplo de esta representación. 144 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.1. En la imagen derecha, representación en falso color del Mapa de Profundidad. Los elementos más claros son los más cercanos. Figura 4.2. Representación del movimiento en la dirección z. Los objetos que se alejan aparecen en colores oscuros, los objetos que se acercan se representan en color blanco y el fondo estático se representa en gris oscuro. 4.3. Estimación de Profundidad Las pruebas más sencillas que se han realizado corresponden a un escenario virtual en el que se mueven varios volúmenes cúbicos. En las dos primeras pruebas se presentan objetos que no varían la profundidad en su desplazamiento; únicamente se mueven en planos transversales al eje óptico de las cámaras. Así, en este caso, se trata exclusivamente de representar sus diferentes profundidades. Respecto de la presentación de resultados, Se utilizará una tabla en la que se representan, por filas, algunos de los fotogramas significativos. Por columnas se representan de izquierda a derecha el fotograma izquierdo del par de entrada, la imagen segmentada en bandas de niveles de gris, el estado del Mapa de Carga 2D y el Mapa de Profundidad 3D en cada instante. 145 Resultados 4.3.1. Secuencia 1: Elemento Próximo En este ejemplo, el escenario se compone de un volumen cúbico moviéndose sobre un fondo negro. Este cubo tiene una arista de 60 cm y gira alrededor del eje z centrado en el plano z=0. El radio de la trayectoria tiene aproximadamente 1 m. Las cámaras están situadas en un punto negativo del eje z y están orientadas hacia el eje positivo de las z, a una distancia de 4,5 m. del origen. Las cámaras están en configuración paralela con una distancia de separación de B=15 cm. Esta secuencia está formada por 240 fotogramas y, a lo largo de ella, el cubo realiza una vuelta completa. Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 32 Disparidad máxima (Dmax) 16 píxeles El hecho de no utilizar solapamiento es debido a que la escena es muy sencilla, y es difícil que se produzcan alteraciones en las bandas de niveles de gris tanto por diferencias en la iluminación como por ruido aleatorio. En la tabla 4.1 se representan, los resultados obtenidos en el formato que aparece en el punto 4.3. Como observaciones más importantes destacan las siguientes: S S S 146 En primer lugar, entre las imágenes de entrada y las segmentadas en bandas de niveles de gris existe una ligera variación en los niveles de gris de los objetos. Esta variación es producida por la propia naturaleza de la segmentación que disminuye la cantidad de niveles de gris posibles en los objetos de la escena. En cuanto al movimiento, en los fotogramas 8, 30 y 90 se observa movimiento en las dos direcciones x e y; mientras que en el fotograma 60, el movimiento es básicamente vertical y en el 120 el movimiento es horizontal. Referente a la profundidad, se observa que en todos los casos el nivel de gris con el que se representa la estela de movimiento del cubo a la salida (columna 4) es constante y alto. Esto da idea de que el objeto está cerca de las cámaras, puesto que un elemento del Mapa de Profundidad 2D con un valor de brillo alto significa alta disparidad y, por lo tanto, cercanía. En la siguiente secuencia, en la que el cubo aparece más separado de la cámara, se observará que a pesar de que la información Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica de movimiento es la misma, la representación en la profundidad es más oscura, debido a los valores de disparidad obtenidos. Foto NG BNG C2 D3 8 30 60 90 120 Tabla 4.1. Resultados de la secuencia “Elemento próximo”:su representación en Bandas de Niveles de gris, el estado del Mapa de Carga 2D y el Mapa de Profundidad. 147 Resultados 4.3.2. Secuencia 2: Elemento Lejano Este ejemplo es muy similar al anterior con la diferencia de que las cámaras están mucho más alejadas del plano de movimiento del cubo. Nuevamente, el escenario se compone de un volumen cúbico moviéndose sobre un fondo negro. Este cubo tiene una arista de 60 cm y gira alrededor del eje z centrado en el plano z=0. El radio de la trayectoria tiene aproximadamente 1 m. Las cámaras están situadas en un punto negativo del eje z y están orientadas hacia el eje positivo de las z a una distancia de 11 metros del origen. Las cámaras están en configuración paralela con una distancia de separación de 15 cm. Esta secuencia está formada por 240 fotogramas y a lo largo de ella, el cubo realiza una vuelta completa. Se han utilizado los mismos parámetros de captación y procesamiento que en el ejemplo anterior para hacer posible una comparación de los resultados obtenidos. Estos parámetros son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 32 Disparidad máxima (Dmax) 16 píxeles Al ser una escena virtual muy sencilla, no se ha utilizado solapamiento entre bandas a la hora de la segmentación. Como en el caso anterior, es difícil que se produzcan alteraciones en las bandas de niveles de gris, tanto por diferencias en la iluminación, como por ruido aleatorio. En la tabla 4.2 se representan, los resultados obtenidos en el formato que aparece en el punto 4.3. Como observaciones más importantes destacan las siguientes: S S 148 Los resultados en cuanto al movimiento son similares. En los fotogramas 8, 30 y 90 se observa movimiento en las dos direcciones x e y; mientras que en el fotograma 60, el movimiento es básicamente vertical y en el 120 horizontal. Únicamente se observa que los objetos parecen más pequeños y las estelas son un poco más cortas debido a la variación de la profundidad. En cuanto a la profundidad, en todos los casos el nivel de gris con el que se representa la estela de movimiento del cubo a la salida es constante y bajo. Esto es debido a la mayor lejanía del elemento que se mueve respecto de las cámaras. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 8 30 60 90 120 Tabla 4.2. Resultados de la secuencia “Elemento lejano”. Como aclaración de los resultados obtenidos, en la figura 4.3 se presenta una comparación de los resultados obtenidos en el fotograma 90 para las dos secuencias vistas hasta ahora. En ella se puede comprobar que, a pesar de que el movimiento es semejante en los dos casos, los valores de los Mapas de Carga 2D son similares, los valores de los Mapas de profundidad 3D son diferentes. No hay más que comprobar los valores de los ejes de las figuras “c” y “d”: En la figura “c” el acercamiento se representa con un máximo de 250 mientras que en la figura “d” éste es de 100.. 149 Resultados Figura 4.3. Comparación de los fotogramas 90 de las secuencias “Elemento Cercano” (“a” y “c”) y “Elementos Lejano” (“b” y “d”). Las imágenes “a” y “b” corresponden a Mapas de Carga 2D, y las imágenes “c” y ”d” a Mapas de Profundidad 3D. 4.4. Detección de Movimiento en la Profundidad Después de poner a prueba el algoritmo con varias secuencias en las que los objetos se mueven en la dirección z; es decir, en la profundidad, se han elegido otras tres pruebas. La primera es similar a las dos anteriores, con la diferencia de que, además de un cubo moviéndose en un plano transversal, existe otro cubo moviéndose en el mismo plano en el que están las cámaras. Las otras dos secuencias se han preparado para que el algoritmo detecte objetos que se mueven, acercándose y alejandose de las cámaras. La presentación de los resultados se realiza en forma de tabla de la misma forma que en el apartado 4.3. 150 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 4.4.1. Secuencia 3: Movimiento de Vaivén En este ejemplo, el escenario se compone de dos volúmenes cúbicos moviéndose sobre un fondo negro. El cubo más grande ha sido modelado con una arista de tamaño 1m. y gira alrededor del eje y, centrado en el plano y=0 y con un radio de giro aproximado de 1 m. En cambio, el cubo pequeño tiene una arista de 60 cm., gira alrededor del eje z centrado en el plano z=0 y tiene un radio de giro aproximado de 1 m. Dicha escena puede verse representada en la figura 4.4. La cámara está situada en un punto negativo del eje z, a 5m. del origen y está orientada hacia el eje positivo de las z. La separación entre las cámaras es de 15 cm. Esta secuencia está formada por 240 fotogramas y a lo largo de ella, ambos objetos realizan una vuelta completa. Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 8 píxeles Figura 4.4. Escenario del ejemplo “Cubos”. 151 Resultados No se utiliza solapamiento ya que nuevamente la escena es muy sencilla, y es difícil que se produzcan alteraciones en las bandas de niveles de gris tanto por diferencias en la iluminación como por ruido aleatorio. En las imágenes resultado de la tabla 4.3 podemos observar varios efectos: S S En la columna de los Mapas de Carga 2D puede observarse la trayectoria llevada a cabo por cada elemento desde algunos fotogramas anteriores. De esta información, quizá la más destacable sea la que aparece el fotograma 60 con el cubo más grande. En ese instante, este elemento llega al extremo horizontal de su trayectoria, pasando de moverse hacia la izquierda a quedar estático para después moverse hacia la derecha. También se está produciendo un movimiento en profundidad, pero ése no es perceptible por la imagen XY representada. Finalmente, en la columna de las salidas podemos observar cómo el nivel de gris de los objetos varía con su profundidad. El objeto más pequeño no sufre movimientos en profundidad. Por ello no se aprecia variación en sus niveles de gris. En cambio el objeto más voluminoso pasa de un nivel de brillo más claro en el fotograma 30, a hacerse más oscuro en el fotograma 120, y volver progresivamente a aclararse al final de la secuencia, en el fotograma 240. En la figura 4.5 puede verse una comparación de los Mapas de Profundidad 3D obtenidos para diferentes fotogramas. Puede observarse como en el caso del fotograma 30 el cubo pequeño se representa a mayor profundidad que el grande. Esta diferencia de profundidades se hace menor en el fotograma 60, en el que la escala de cercanía (eje vertical) ha cambiado de 300 a 250. En el fotograma 120, el cubo grande está algo más lejos que el pequeño, pero la diferencia es poco significativa. Finalmente, en el fotograma 240, el cubo mayor que está a una profundidad menor, oculta al cubo menor que estaría por detrás de él. Lo peor de las representaciones tridimensionales es que cualquier falsa correspondencia puede ocultar la información coherente de otras correspondencias reales. No obstante se ha optado por representarlas así por aumentar la información ofrecida por los resultados. 152 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 30 60 90 120 150 210 240 Tabla 4.3. Resultados de la escena de los “Cubos”. 153 Resultados Figura 4.5. Representación tridimensional del Mapa de Profundidad 3D obtenido en los fotogramas 30, 60, 120 y 240 de la secuencia “Cubos”. 4.4.2. Secuencia 4: Objetos Acercándose En este ejemplo, el escenario es semejante al anterior, pero los objetos se dirigen en dirección a la cámara hasta perderse por detrás de ella. Los objetos de los que se trata son un volumen cúbico con una arista de 1 m., una esfera de radio 50 cm., otro cubo pero esta vez deformado con tamaños aproximados de 1,5 m. en cada dirección del espacio y un toro de revolución con un radio máximo de 1,30 m. y mínimo de 70 cm. El fondo del escenario es completamente negro. En la figura 4.6 puede verse una imagen de la situación inicial de los objetos y sus trayectorias con un tamaño de rejilla de 1m. Puede observarse que el elemento más lejano es el toro de revolución con una profundidad inicial de 20 metros aproximadamente. Finalmente, como parámetros geométricos del sistema, la distancia entre las cámaras es de 6 cm. 154 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica La secuencia de este ejemplo está compuesta originalmente por 240 fotogramas. Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 15 Se han hecho pruebas con solapamiento y sin él debido a que con los movimientos tan largos y algunos tan complejos como el del cubo que gira sobre si mismo, la iluminación produce algún efecto imprevisto. No obstante, se ha elegido como mejor opción la no utilización de éste. En el caso de utilizar solapamiento, la interacción de la iluminación con las superficies hacía que aparecieran sombras en los objetos. Estas Figura 4.6. Escena de “Objetos Acercándose”. 155 Resultados sombras no afectan negativamente pero por simplicidad se decidió no utilizar el solapamiento. Básicamente, el solapamiento entre bandas es útil para el caso de variaciones de la iluminación entre las dos cámaras y ruido electrónico en las imágenes y esto, en un escenario virtual como éste, no es normal que se produzca. En los resultados que se presentan en la tabla 4.4, podemos fijarnos en algunos detalles como estos: S S S S S S 156 En el fotograma 60 puede verse que el Mapa de Carga 2D almacena mucha información sobre los movimientos acaecidos en la escena, sin embargo, a la salida el sistema detecta que esos movimientos se han producido muy lejos y por ello los representa con niveles de gris muy oscuros. En este mismo fotograma, y sólo en el caso del cubo deformado de la izquierda aparecen algunas falsas correspondencias representadas por puntos más claros. Éstas son debidas a irregularidades en la superficie del cubo deformado que al moverse de fotograma en fotograma generan informaciones semejantes desplazadas que son interpretadas por el sistema como disparidades diferentes de las reales. El número de estos puntos no es muy significativo y conforme el objeto se va acercando, dichos puntos pasan a tomar sus valores de disparidad correctos. En el fotograma 100 se observa como los objetos se van acercando y, a la salida, sus movimientos toman niveles de gris más claros denotando su cercanía. En el fotograma 145 se tienen tres elementos, el cubo es el más cercano, y así se representa en la imagen de salida. Después está la esfera que aparece con menos brillo, y finalmente se acerca el toro de revolución. En el toro de revolución del fotograma 145 también se aprecian falsas correspondencias. En la columna de la segmentación en bandas de este fotograma y los siguientes puede apreciarse como la diferente gradación de colores de la imagen original genera cambios bruscos de contraste en la imagen segmentada en bandas. Cada uno de estos contrastes genera una región distinta que produce propia estela de movimiento en la memoria de permanencia. Dichas estelas, cuando son semejantes es probable que el sistema las asocie como correspondientes sin serlo realmente. Como en el caso del cubo deformado anterior, las falsas correspondencias van desapareciendo conforme el objeto se acerca. En los fotogramas 180 y 200 se aprecia el acercamiento del toro de revolución que aparece cada vez con un nivel de gris más claro y también como se van eliminando la mayoría de las falsas correspondencias de fotogramas anteriores. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 60 100 145 165 180 200 215 Tabla 4.4. Resultados de la escena de los “Objetos Acercándose”. 157 Resultados Figura 4.7. Representación tridimensional de los Mapas de Profundidad obtenidos de la secuencia “Objetos Acercándose” en los fotogramas 60, 100, 145, 180, 200 y 215. S 158 En el fotograma 215 el toro de revolución ya casi ha salido del campo de visión de las cámaras, en cambio su estela de movimiento permanece todavía en la memoria de permanencia apareciendo a la salida con niveles de gris muy claros, acordes con su proximidad. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Finalmente, en la figura 4.7 se puede apreciar la evolución del Mapa de Profundidad 3D en una representación tridimensional. En ella, se aprecia como en el fotograma 60 en el que los objetos se encuentran lejos aparecen falsas correspondencias. En el fotograma 100 ya aparecen acercándose el cubo y el cubo deformado. En el fotograma 145, el cubo se representa en color verde como más cercano. En el fotograma 180 el color rojo del cubo denota su cercanía. el resto de objetos aunque van apareciendo cada vez más cercanos, siguen produciendo falsas correspondencias. En el fotograma 200 únicamente se deja ver el toro de revolución. Éste conforme se va acercando va haciendo desaparecer las falsas correspondencias, hasta que estando cerca en el fotograma 215 se muestra su relieve nítidamente. 4.4.3. Secuencia 5: Objetos Acercándose y Alejándose Este ejemplo es prácticamente igual que el anterior, con la diferencia que la esfera y el cubo deformado realizan la trayectoria invertida. Así pues, los objetos son los mismos: el volumen cúbico de arista 1m., la esfera de radio 50 cm., el cubo deformado con tamaños aproximados de 1,5 m. en cada dirección del espacio y el toro de revolución con un radio máximo de 1,30 m. y mínimo de 70 cm. El fondo del escenario también es negro. Nuevamente el elemento más lejano es el toro de revolución con una profundidad inicial de 20 metros aproximadamente y la distancia entre las cámaras es de 6 cm. La secuencia tiene 240 fotogramas en total. Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 15 En este caso se ha adoptado directamente la opción de segmentación en bandas de niveles de gris sin solapamiento a la vista de los resultados obtenidos en los ensayos realizados con la secuencia anterior. En los resultados de la tabla 4.5 podemos fijarnos en algunos detalles como estos: 159 Resultados S S S S S S En el fotograma 60 puede verse que la memoria de permanencia almacena mucha información sobre los movimientos acaecidos en la escena, sin embargo, a la salida el sistema detecta que esos movimientos se han producido muy lejos y por ello los representa con niveles de gris muy oscuros. En el fotograma 75 se observa la aparición de la esfera como objeto más cercano. Por otra parte, en el toro de revolución pueden apreciarse falsas correspondencias en toda su superficie. Si observamos la segmentación en bandas de dicho objeto, y donde mejor lo podemos ver es en el fotograma 190, lo complejo de su superficie y la interacción con la iluminación hace que éste aparezca segmentado en diversas regiones. Cada región es considerada por la memoria de permanencia como un objeto diferente y de ahí que aparezcan tantas estelas solapadas. El solape de tantas estelas y la posibilidad de que entre ellas se consideren correspondientes, es la que genera estas falsas correspondencias En los fotogramas 90 y 120 se observa como el cubo y el toro de revolución van tomando niveles de gris más claros debido a su acercamiento, mientras que la esfera toma niveles más oscuros. En los fotogramas 190 y 220, la esfera ya está suficientemente lejos como para que sus niveles de gris casi se confundan con los del fondo negro. En el fotograma 190 el toro de revolución ya prácticamente no tiene falsas correspondencias. Hemos de tener en cuenta que las regiones ya son más grandes en píxeles que el valor de la restricción de disparidad utilizado, de manera que no se considera su posibilidad de corresponder. En los fotogramas 190 y 220 aparece, por la izquierda, el cubo deformado. Éste aparece ya a una distancia que hace que sus niveles de gris en el mapa de profundidad no son muy altos. En el fotograma 220 en el que el toro de revolución ya se ha perdido por detrás de las cámaras, su estela de movimiento se ve interrumpida por el movimiento lento de dicho cubo deformado. La representación tridimensional de la figura 4.8 es similar a la vista en la figura 4.7 con la diferencia de que entre los fotogramas 75 a 120 se aprecia como la esfera se aleja aumentando su profundidad. 160 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 60 75 90 120 150 190 220 Tabla 4.5. Resultados de la escena de los “Objetos Acercándose y alejándose”. 161 Resultados Figura 4.8. Representación tridimensional del Mapa de Profundidades 3D, obtenidos en la secuencia “Objetos Acercándose y Alejándose”, en los fotogramas 60, 75, 90, 120, 190 y 220. 162 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 4.5. Filtrado de Objetos Estáticos 4.5.1. Secuencia 6: Objetos Estáticos y Acercándose En este ejemplo el escenario es semejante al de la secuencia 4. Únicamente se ha añadido un fondo estático que es el paisaje de un río, y un cono que tiene una base de 50 cm. y una altura de 1 m. situado de forma estática a una distancia de 13 m. El resto de los volúmenes son los mismos y realizan las mismas trayectorias vistas en el apartado 4.4.2: el cubo de 1 metro de arista, la esfera de radio 50 cm., el cubo deformado con tamaños aproximados de 1,5 m. en cada dirección del espacio y el toro de revolución con un radio máximo de 1,30 m. y mínimo de 70 cm. Finalmente, como parámetros geométricos del sistema, la distancia entre las cámaras es de 6 cm. y la distancia inicial a los objetos oscila entre 10 y 20 metros. La secuencia de este ejemplo está compuesta originalmente por 240 fotogramas y los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 15 Respecto al solapamiento entre las bandas al segmentar pueden hacerse las mismas precisiones que en el caso del apartado 4.4.2. De todas las imágenes de la tabla 4.6, quizá lo más destacable respecto de la tabla 4.4 vista anteriormente sea: por una parte el filtrado realizado de los elementos estáticos, filtrado que también se produce en los mecanismos biológicos (ver apartado 1.2.1.2); y por otro, un cierto error en la forma de los objetos provocado por la segmentación en bandas de niveles de gris. En dicha segmentación, algunos píxeles pertenecientes al fondo pueden ser incluidos en la misma región que algún objeto móvil. Con ello, pueden aparecer efectos de ruido en las estelas de movimiento, que a la postre aparecen en la información de profundidad a la salida. En la figura 4.9, siendo similar a las dos anteriores, podemos apreciar que el nivel de ruido aumenta considerablemente. Ya se comentó que los fondos multicolor producían errores en la segmentación en bandas de niveles de gris que en definitiva se convertían en errores de profundidad. 163 Resultados Foto NG BNG C2 D3 60 100 145 165 180 200 215 Tabla 4.6. Resultados de la escena de los “Objetos Estáticos y Acercándose. 164 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.9. Representación tridimensional de los Mapas de Profundidad 3D obtenidos de la secuencia “Objetos Estáticos y Acercándose” en los fotogramas 60, 120, 190 y 220. 4.6. Profundidad en Secuencias Reales Se han realizado pruebas con secuencias tomadas por cámaras reales. En ellas, los parámetros no son tan ideales como en las secuencias virtuales. Por ello, los resultados obtenidos son más interesantes. 4.6.1. Secuencia 7: IndoorZoom Este ejemplo se descargó de labvisione.deis.unibo.it/~smattoccia/stereo.htm. En él, se sitúan las dos cámaras en la puerta de entrada de una estancia por la que entran y salen varias personas. En la figura 4.10 puede verse una de las imágenes tal y como se descargan de dicha página. En ella se pueden observar cuatro vistas diferentes: las dos superiores son 165 Resultados las tomadas directamente por las cámaras y las dos inferiores son las mismas imágenes, una vez corregidos mediante procesamiento los pequeños errores de orientación y de distancia focal de las lentes de las cámaras para considerar realmente la configuración de cámaras paralelas. Esta secuencia tiene una duración de 29,9 segundos, y está tomada a una velocidad de 10 imágenes por segundo, lo que resulta en 299 fotogramas. Quizá esta sea una velocidad demasiado baja para los movimientos que se producen en la escena. Con esta velocidad, las diferencias entre un fotograma y el siguiente son bastante significativas, por lo que, las estelas de los Mapas de Carga serán muy grandes. Esto nos ha obligado a utilizar una descarga muy rápida de los elementos de carga de las memorias de permanencia con el fin de que las estelas no sean tan largas y se detecten los objetos móviles de forma independiente. Por otra parte, los fotogramas de la secuencia tienen poca iluminación. Como puede verse en la figura 4.11, que representa el histograma de uno de los fotogramas tomados, la mayoría de los niveles de gris están entre los valores 0 y 128, aproximadamente. Esto hace que en nuestro algoritmo la mitad superior de las bandas de nivel de gris no se aprovechen. Esta característica no ha sido corregida una vez comprobado que los resultados son buenos. Figura 4.10. Escena “IndoorZoom”: fotograma 53. 166 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 16 Valor de descarga de la mem. de permanencia (C2des) 128 Disparidad máxima (Dmax) 21 Se han hecho pruebas con solapamiento y sin él, y se ha elegido como mejor opción un valor de solape de 16. En el caso de no utilizar solapamiento, los resultados eran algo peores debido al ruido que aparecía a la salida. Puede observarse en la tabla 4.7 de resultados que, debido a la escasa iluminación de la escena, las bandas de niveles de gris aparecen muy oscuras y muy semejantes. La mayor información de esta tabla está en las columnas de los Mapas de Carga 2D (C2) y la salida del sistema (D3). En ellas podemos fijarnos en algunos detalles como estos: S S En el fotograma 48 se observa una persona que acaba de entrar en la escena y se dirige hacia la puerta. Como puede verse en la columna de la salida, la estela de esta persona aparece en color blanco lo que significa que está cercano a las cámaras. En el fotograma 123 aparecen tres personas en movimiento. La primera, más cercana y más a la izquierda está saliendo de la escena; la que aparece en el centro está a media distancia; y, finalmente, la tercera está más lejos y se dirige hacia la puerta. En el Mapa de Profundidad 3D aparecen las siluetas con ligeros niveles de brillo más oscuros conforme el personaje está más lejos. Figura 4.11. Histograma de brillo del fotograma 53 de la escena “IndoorZoom”. 167 Resultados Foto NG BNG 48 123 154 186 193 250 283 Tabla 4.7. Resultados de la escena “IndoorZoom”. 168 C2 D3 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.12. Representación tridimensional del Mapa de Profundidades 3D obtenidos de la secuencia “IndoorZoom” en los fotogramas 48, 154, 186 y 250. S S S En el fotograma 154 aparece una persona más allá de la puerta al fondo de la imagen. Este personaje aparece en la última columna representado con una silueta con un nivel de gris muy oscuro. En el fotograma 186 aparecen dos personajes que se cruzan delante de la cámara. A pesar de que sus dos imágenes están solapadas, las estelas de su movimiento les separa y en la imagen de salida aparecen con niveles de gris acordes con la profundidad de su posición. En el fotograma 193 aparecen tres personas la más cercana a las cámaras es aquella que aparece la parte inferior central de la imagen y así se refleja en la columna (D3). Después está un poco más lejos la persona que abandona la escena por la izquierda. y finalmente el más lejano es que se dirige hacia la izquierda en el centro de la imagen. 169 Resultados S S En el fotograma 250 se representan dos personas la que está más a la izquierda está desapareciendo de la escena cerca de las cámaras, y la otra que está junto a la puerta abandonando la sala se detecta, en el Mapa de Profundidad 3D como más lejana con niveles de gris más oscuros. En el fotograma 283 nuevamente aparecen dos personajes solapados en la imagen de entrada, pero sus estelas de movimiento los separan, viéndose a la salida (D3) con niveles de gris más claros aquel que está junto a las cámaras. Las representaciones tridimensionales de la figura 4.12 son menos aclaratorias que en los casos anteriores. A pesar de ello, podemos ver entre los fotogramas 48 y 154 que en el 48 el personaje está más cerca y por eso aparece con una representación en rojo. En el caso del fotograma 154 esta representación es más azulada. En los fotogramas 186 y 250 se puede ver como se separan dos personajes según su profundidad, apareciendo el más cercan en tonos rojos y el más alejado en tonos verdosos. 4.6.2. Secuencia 8: OutdoorZoom Este ejemplo también se ha descargado de la página web mostrada anteriormente: labvisione.deis.unibo.it/~smattoccia/stereo.htm. En él, se sitúan las dos cámaras en lo que parecen las escaleras de un subterráneo. Por estas escaleras, como en el caso anterior, suben y bajan varias personas. En la figura 4.13 puede verse una de las imágenes descargadas de dicha página. De nuevo en ellas se pueden observar cuatro vistas diferentes: las dos superiores son las tomadas directamente por las cámaras y las dos inferiores son las mismas imágenes, una vez corregidos mediante procesamiento los pequeños errores de orientación y de distancia focal de las lentes de las cámaras. Esta secuencia tiene una duración de 30 segundos, y está tomada a una velocidad de 10 imágenes por segundo, lo que resulta en 300 fotogramas. En este caso también podemos hacer las observaciones del ejemplo anterior; comenzando porque ésta puede ser una velocidad demasiado baja para los movimientos que se producen en la escena. Con esta velocidad las diferencias entre un fotograma y el siguiente es bastante significativa, por lo que la estela de las memorias de permanencia serán muy grandes. Nuevamente se ha solucionado, utilizando una descarga muy rápida de las memorias de permanencia, con el fin de que las estelas no sean excesivamente largas y se detecten los objetos móviles de forma independiente. 170 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.13. Fotograma 211 de la secuencia “OutdoorZoom”. También en este caso, la iluminación de la escena es escasa. Como puede verse en la figura 4.14, la mayoría de los niveles de gris están entre los valores 0 y 148. Esto hace que en nuestro algoritmo la mitad superior de las bandas de nivel de gris no se aprovechen. En este caso tampoco se ha corregido esta característica a la vista de los resultados. También se observa en el histograma una gran discretización de niveles, pero esto para el algoritmo no es ningún problema, puesto que la segmentación en bandas de niveles de gris todavía reduce más los niveles de gris a utilizar para el proceso. Figura 4.14. Histograma de brillo del fotograma 211 de la secuencia “OutdoorZoom” 171 Resultados Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 16 Valor de descarga de la mem. de permanencia (C2des) 128 Disparidad máxima (Dmax) 16 Se han hecho pruebas con solapamiento y sin él, y se ha elegido como mejor opción un valor de solape de 16. En el caso de no utilizar solapamiento los resultados eran algo peores debido al ruido que aparece a la salida. La mayor información de las imágenes de la tabla 4.8 está en las columnas de los Mapas de Carga (C2) y los Mapas de Profundidad (D3) del sistema. En ellas podemos fijarnos en algunos detalles como estos: S S S S S S S 172 En el fotograma 35 acaba de aparecer en la escena por la derecha una persona, cuya estela de movimiento a la salida (D3) aparece con niveles de gris muy claros dada su cercanía a las cámaras. Esta persona progresivamente se va alejando representandose a la salida del fotograma 50 con niveles de gris intermedios. En el fotograma 65 esta persona ya se ha alejado bastante y su silueta aparece en el Mapa de profundidad 3D (D3) con un niveles de gris más oscuro. En el fotograma 215 se tiene en primer lugar una persona que baja las escaleras y por la derecha aparece un bulto transportado por otro personaje. A la salida se nota un leve matiz como más cercano en el caso del bulto de la derecha que en el personaje que está bajando las escaleras. La persona que aparecía en escena en el fotograma 215 se dirige hacia la izquierda sin apreciarse una gran diferencia de cambio de profundidad en el fotograma 228. En el fotograma 245 esta persona da un giro de 180º, en un punto en el que tampoco se aprecia apenas cambio de profundidad Finalmente, en el fotograma 261 se muestra como esta persona abandona la escena por la parte derecha, observándose unos niveles de gris más claros a la salida. Esto indica, y el las imágenes de entrada también se puede apreciar, que el sujeto está más cerca de las cámaras en este fotograma. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 35 50 65 215 228 245 261 Tabla 4.8. Resultados de la escena “OutdoorZoom”. 173 Resultados Figura 4.15. Representación tridimensional del Mapa de Profundidades 3D obtenido de la secuencia “OutdoorZoom” en los fotogramas 35, 50, 65 y 228. En la figura 4.15 podemos apreciar un cambio de profundidad entre los fotogramas 35 y 50, más apreciable aún en el fotograma 65. En el caso del fotograma 228, el personaje aparece visto desde arriba a media distancia, con lo que se aprecia una diferencia de profundidad entre las partes superior e inferior, pareciendo más alejada de las cámaras la parte inferior. 174 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 4.7. Navegación Profundidad Autónoma Basada en la Para realizar esta prueba se ha diseñado un escenario en forma de pasillo de planta cuadrada, cuyo lado exterior es de 12 m. y su lado interior 9 m.; esto implica un ancho del pasillo es de 1,5 m. Por otra parte, la altura del pasillo es de 2,5 m. En las paredes externas del pasillo pueden verse varios cuadrados a modo de ventanas y de puertas; mientras que en las paredes interiores sólo aparecen las puertas. La inclusión de puertas y ventanas se ha realizado para disponer de algunos objetos móviles que se desplacen según la cámara vaya avanzando. En este entorno, la cámara se desplaza recorriendo el pasillo por su interior. En la parte superior de la figura 4.16 puede verse una imagen exterior del pasillo; y en la parte inferior una imagen del interior con el fin de tener una idea de este entorno. Figura 4.16. Escenario del pasillo 175 Resultados La escena del pasillo está compuesta originalmente por 500 fotogramas, de los cuales cada 125 son suficientes para contemplar un tramo recto y una vuelta de esquina. Se han separado los análisis de los tramos rectos de los giros, con el fin de hacer hincapié en sus aplicaciones. 4.7.1. Secuencia 9: Análisis del Entorno 3D Mediante Giros En este caso el segmento de secuencia puesto a prueba es el giro de una esquina del pasillo. Con el se pretende dar una idea del comportamiento de este sistema montado en un robot móvil autónomo en la tarea de analizar su entorno para dirigirse al punto más alejado que se detecte. Los parámetros utilizados a lo largo del procesamiento son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 15 Para esta secuencia se han realizado pruebas con solapamiento y sin él con el fin de observar el comportamiento de los objetos frente a la iluminación. Finalmente, se ha preferido no utilizar solapamiento. El utilizar solapamiento la interacción de la iluminación con las superficies hacía que, en algunos casos, la pared más oscura se confundiera con el techo, y los resultados fueran peores. Básicamente, el solapamiento es útil para el caso de variaciones de la iluminación entre las dos cámaras y ruido electrónico en las imágenes y esto, en un escenario virtual como éste, es extraño que se produzca. En cuanto a los resultados, que se presentan en la tabla 4.9, caben destacar los siguientes detalles S 176 Entre los fotogramas 350 y 365, al girar las cámaras, todos los objetos del entorno resultan desplazados en la imagen apareciendo su estela en la memoria de permanencia y dicha estela es analizada por el sistema estereoscópico para ofrecer la profundidad a su salida (D3). Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG BNG C2 D3 350 355 360 365 370 375 380 Tabla 4.9. Resultados de la escena del pasillo: tramo esquina. 177 Resultados Figura 4.17. Representación tridimensional del Mapa de Profundidad 3D obtenido de la escena del pasillo en los fotogramas 350, 355, 360, 365, 370 y 375. S 178 En los fotogramas cercanos al 370 comienza a aparecer nuevamente el fondo del pasillo recto en la escena. Esta aparición provoca un gran efecto en la memoria de permanencia, efecto que es interpretado por el algoritmo ofreciendo a la salida su profundidad, que es muy grande como puede verse en el Mapa de Profundidad 3D a la salida. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica S S S A partir del fotograma 375 el pasillo ya no se moverá en dirección horizontal, únicamente se acercará hacia la cámara. No obstante, los efectos del giro siguen presentes en el Mapa de Carga 2D (C2), por ello a la salida se puede estimar su profundidad. Entre los fotogramas 375 y 380, los movimientos horizontales del fondo del pasillo al terminar los giros van perdiendo fuerza en la memoria de permanencia, pero aún así el algoritmo tiene información suficiente para estimar su profundidad. A partir del fotograma 380 pasaríamos a tener un pasillo recto, de forma semejante a lo que se tiene en el siguiente subapartado, ya que todos los tramos del pasillo modelado son iguales. En la figura 4.17 podemos apreciar la evolución de las profundidades a lo largo del gro de la cámara. En el fotograma 350 podemos ver los objetos móviles a una corta distancia. En este momento, junto con un acercamiento a éstos, las cámaras van girando hacia la izquierda haciendo desfilar en los fotogramas 355 y 360 los elementos móviles por delante del objetivo a una corta distancia. En el fotograma 365 puede apreciarse como aparece mayor profundidad. Profundidad que aumenta y se va centrando en la imagen en el fotograma 375. 4.7.2. Secuencia 10: Deambulación Autónoma En este caso, se simula el deambular de un robot a lo largo de un pasillo rectilíneo. El movimiento de avance del propio robot hace que los objetos que son por naturaleza estáticos aparezcan desplazándose en dirección a las cámaras. Los parámetros utilizados a lo largo del procesamiento son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem. de permanencia (C2des) 16 Disparidad máxima (Dmax) 15 179 Resultados Foto NG BNG C2 265 280 300 320 330 340 350 Tabla 4.10. Resultados de la escena del pasillo: tramo recto. 180 D3 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.18. Representación tridimensional del Mapa de Profundidad 3D obtenido de la escena del pasillo en los fotogramas 265, 280, 300 y 340. Al igual que en la secuencia anterior, las pruebas sin solapamiento han dado mejores resultados. A raíz de estos podemos realizar los siguientes comentarios. S S S En el fotograma 265, a pesar de que en la imagen original no aparece ya la primera puerta que existe en los tramos rectos de los pasillos (ver figura 4.9) puesto que ésta ya ha sido rebasada por la cámara, su presencia sigue vigente en la memoria de permanencia puesto que estaba ahí en fotogramas anteriores. Por esta razón aparecen dichas puertas en la memoria de permanencia y se calcula su profundidad en la imagen de salida (D3). También en la imagen de salida del fotograma 265 puede verse como el fondo del pasillo aparece con un nivel de brillo mucho más bajo debido a su lejanía. Asociadas al fotograma 280 las paredes lisas centrales del pasillo no ofrecen información de su movimiento, por ello no tienen representación en los Mapas de 181 Resultados S Carga 2D (C2) ni en el Mapa de Profundidad 3D (D3). En este fotograma nuevamente las puertas y ventanas del fondo aparecen con niveles de gris más bien oscuros. Poco a poco, conforme se avanza en los fotogramas entre el 300 y el 350, los objetos del fondo se van aclarando debido a su movimiento de acercamiento a las cámaras. En la figura 4.18 podemos ver como, en el avance por el pasillo, en el momento en el que tenemos referencia de objetos móviles (fotogramas 265 y 340), éstos nos van indicando la dirección de máxima profundidad. En los fotogramas 280 y 300 la información es menor. Aún así, aparece información relevante que puede servir de guía si descartamos todo aquello que tenga nivel de cercanía cero. 4.8. Análisis de Velocidad en la Profundidad Como se vio en el capítulo 3, a partir de la disparidad detectada en las estelas de movimiento podemos estimar su profundidad y a partir de la variación en el tiempo de esta profundidad podemos estimar el movimiento que se produce en la dimensión z mediante el efecto de permanencia. Para probar estos extremos, en este apartado se utilizan tanto secuencias de imágenes sintéticas como reales. En la tabla de presentación de resultados de este apartado el orden de las columnas es el siguiente: en primer lugar, se representa la imagen de entrada en niveles de gris; en segundo lugar, el estado del Mapa de Carga 2D; en tercer lugar, el Mapa de Profundidad 3D; y finalmente, las velocidades en la dirección z (vz). En el caso de la velocidad, se recuerda que un nivel de blanco significa que ese punto se está acercando, y un nivel de negro que se está alejando. 4.8.1. Secuencias Sintéticas 4.8.1.1. Detección de Objetos que se Acercan y se Alejan Este ejemplo es el mismo que se utilizó en el apartado 4.3.3. La esfera de 50 cm. de radio y el cubo deformado de tamaño 1,5 metros realizan un recorrido de alejamiento; mientras que el cubo de 1 metro de arista y el toro de revolución de radio máximo de 1,30 m. y mínimo de 70 cm. se acercan progresivamente hasta perderse por detrás de la cámara. La distancia entre las cámaras es de 6 cm. 182 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica La secuencia tiene 240 fotogramas en total y los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 0 - Sin solape Valor de descarga de la mem de permanencia 2D (C2des) 16 Valor de descarga de la mem. de permanencia 3D (C3des) 16 Disparidad máxima (Dmax) 15 Se ha adoptado la opción de segmentación en bandas de niveles de gris sin solapamiento a la vista de los resultados obtenidos en los ensayos realizados anteriormente. Respecto a los resultados que se representan en la tabla 4.11, se pueden resaltar los siguientes aspectos. S S S En el fotograma 40 los dos objetos están bastante lejos geométricamente, y cuanto más lejos estén en profundidad, menor resolución en z podemos obtener. El cubo parece provocar falsas correspondencias y, sin embargo, no aparece movimiento en z. A tan larga distancia, la estela de movimiento en z puede ser demasiado corta debido a la discretización del espacio producida por las imágenes digitales. En cambio, en el mismo fotograma 40, el toro de revolución, por sus características superficiales, genera muchas falsas correspondencias en la estimación de su profundidad. Esta generación de falsas correspondencias fue interpretada en el apartado 4.3.2. como un exceso de regiones en la segmentación, (vease fotograma 200 de la tabla 4.4) lo que genera múltiples estelas de permanencia y consecuentemente muchos errores al establecer su dirección de movimiento. En el análisis de movimiento en z del fotograma 70, en primer lugar, el cubo presenta una zona oscura a su izquierda. Esto puede ser debido al movimiento de giro sobre sí mismo, que en algún caso puede provocar que mientras que la parte derecha se acerque, la izquierda se aleje levemente; no obstante, a tan larga distancia las estelas de movimiento en la dirección z pueden ser algo confusas, y de ahí el error. Por su parte, el toro de revolución sigue obteniendo algunas falsas correspondencias en el Mapa de Profundidad 3D; falsas disparidades que pueden significar los errores de velocidad en el mapa de movimientos en z. También aparece un trozo de la esfera que en la práctica se va alejando; sin embargo la información de la estela todavía no es suficiente para asegurar la dirección de su movimiento. 183 Resultados Foto NG C2 D3 vz 40 70 90 110 180 200 220 Tabla 4.11. Resultados de la escena de los “Objetos Acercándose y Alejándose”. 184 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 4.19. Representación tridimensional de la velocidad en la dirección z (eje vertical) obtenidos en la secuencia “Objetos Acercándose y Alejándose” en los fotogramas 110 y 220. S S S S A partir del fotograma 90, en el que los objetos están suficientemente cerca, la detección de movimientos en z pasa a ser mucho más fiable. Tanto en el fotograma 90 como en el 110 se observa que el cubo ha tomado su color blanco denotando su dirección hacia la cámara; en cambio, la esfera de la derecha aparece negra en el mapa de movimiento en z indicando su alejamiento. En ambos fotogramas, todavía el toro de revolución está suficientemente lejos como para que su estimación de velocidad no sea correcta. La estimación correcta de la dirección del toro de revolución (que es el elemento que más correspondencias falsas genera por su estructura) comienza a producirse a partir del fotograma 160, y en el 180 que está representado, ya se puede apreciar su dirección con cierta fiabilidad. En este fotograma aparece también en cubo deformado a la izquierda cuya indicación de movimiento resulta que se está alejando, como así es. En estos fotogramas la información de velocidad ya no es apropiada para la esfera que está demasiado lejos En la salida del fotograma 200 la única información del mapa de movimiento en z es la del toro de revolución, que claramente indica que se está acercando. Finalmente en el fotograma 220, el cubo deformado comienza a verse a través de la estela del toro. En este instante, el mapa de movimiento en z indica con color negro su alejamiento. En la figura 4.19, aunque con ciertas falsas correspondencias pueden apreciarse las direcciones de movimiento en la profundidad de dos fotogramas distintos. En el fotograma 185 Resultados 110 el cubo se acerca mientras la esfera se aleja. En el fotograma 220, el toro de revolución se está acercando, y sin embargo por la izquierda aparece alejándose el cubo deformado. 4.8.2. Secuencias Reales 4.8.2.1. Secuencia IndoorZoom Este ejemplo se utilizó anteriormente en el apartado 4.5.1 y como se comentó entonces, se ha descargado de labvisione.deis.unibo.it/~smattoccia/stereo.htm. Los parámetros utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 16 Valor de descarga de la mem. de permanencia 2D (C2des) 64 Valor de descarga de la mem. de permanencia 3D (C3des) 64 Disparidad máxima (Dmax) 21 Hechas las pruebas con diversos valores de solapamiento se ha elegido como mejor opción un valor de solape de 16. Menores valores de solapamiento entre bandas producían resultados peores debido al ruido existente entre las imágenes. A partir de la tabla 4.12 de resultados podemos realizar los siguientes comentarios: S S 186 En el fotograma 55 de entrada podemos observar una persona que se dirige hacia la puerta de salida. Su estela de permanencia indica un movimiento hacia la derecha y su información de profundidad una distancia media. Finalmente, en la imagen de salida (vz) se observa una silueta principalmente oscura indicando su alejamiento. La escena del fotograma 95 es algo más compleja. El personaje que está detenido frente a la puerta de salida acaba de llegar desde la esquina inferior izquierda, por ello a la salida su estela de movimiento tiene un color oscuro de alejamiento. Su profundidad nuevamente tiene valores medios y así aparece en la tercera columna. El personaje que aparece en el fondo de la imagen a la derecha está a una profundidad mayor, de ahí su color oscuro en la tercera columna. Su movimiento en la dirección Z es de acercamiento hacia las cámaras; por ello, a la salida se obtiene una silueta de tono básicamente claro. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG C2 D3 vz 55 95 125 175 195 210 239 Tabla 4.12. Resultados de la escena “IndoorZoom”. 187 Resultados Figura 4.20. Representación tridimensional de la velocidad en la dirección z (eje vertical) obtenida de la secuencia “IndoorZoom” en el fotograma 175. A pesar de que la imagen 2D de la tabla 4 12 es muy clarificadora en cuanto a la dirección, puede verse que no ocurre lo mismo con la representación 3D. S S 188 En el fotograma 125, el personaje que en el 95 estaba estacionado delante de la puerta está saliendo por la esquina inferior izquierda. En este caso, el algoritmo muestra cierta tendencia a mostrar a la salida una estela blanca de acercamiento, pero los errores son evidentes. Probablemente a estos errores haya contribuido que al desaparecer el personaje, se ha detectado una falsa estela de movimiento del fondo que ha aparecido tras éste, aportando información de alejamiento en ese área de la imagen. Mucho más evidentes son los movimientos de acercamiento y alejamiento detectados en los otros dos personajes. Sus mapas de profundidad y movimiento en x e y también aportan información clarificadora sobre la historia de movimiento de dichos personajes. En el fotograma 175 sólo aparece una persona que se acerca desde la puerta de entrada. Su estela de movimiento en x e y corresponde a un desplazamiento hacia la izquierda y su información de profundidad indica lejanía. No obstante la información del movimiento en z indica claramente un acercamiento con su color blanco. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica S S S El personaje que aparecía en el fotograma 175, en el 195 ya está desapareciendo por el margen inferior izquierdo y mientras que su información de movimiento x e y, y de profundidad son evidentes, en la información de movimiento en z nuevamente aparecen áreas claras y oscuras. Es probable que otra vez el cambio en los píxeles que representan al personaje a representar al fondo se interprete como un movimiento de alejamiento. En los otros dos personajes sus movimientos de alejamiento son más claros. Uno se está dirigiendo hacia la puerta de la estancia, y el otro se aleja por la izquierda hacia la zona de los armarios. Los dos personajes que se alejan en el fotograma 195, en el 210 aparecen a una mayor profundidad. Ambos, tienen su silueta a la salida muy oscura debido a este movimiento de alejamiento. Los personajes que aparecen en el fotograma 239 tienen las trayectorias inversas que los anteriores: el que viene de la izquierda se aproxima paralelo a los armarios hacia las cámaras y el que aparece por la derecha se aproxima desde la puerta. Ambos están representados a la salida por una silueta clara. En el caso de imágenes reales, como podemos ver en la figura 4.20 referente al fotograma 175, la representación tridimensional no nos clarifica de ninguna manera la dirección del movimiento en la profundidad del personaje. 4.8.2.2. Secuencia OutdoorZoom En este apartado se vuelve a utilizar la secuencia OutdoorZoom del apartado 4.5.2 descargada de la página web labvisione.deis.unibo.it/~smattoccia/stereo.htm. En ella, se situaron las dos cámaras en lo que parecen las escaleras de un subterráneo, percibiendo la subida y bajada de personas por ellas. Los parámetros más importantes utilizados a lo largo del proceso son los siguientes: Bandas de niveles de gris (NB) 8 Niveles de solapamiento entre bandas (SB) 16 Valor de descarga de la mem. de permanencia 2D (C2des) 64 Valor de descarga de la mem. de permanencia 3D (C3des) 64 Disparidad máxima (Dmax) 16 Como en ejemplos anteriores de secuencias reales, se han hecho pruebas con solapamiento y sin él, y se ha elegido como mejor opción un valor de histéresis de 16. 189 Resultados A partir de los resultados presentados en la tabla 4.13, podemos fijarnos en algunos detalles como los siguientes: S S S S S En el fotograma 45 se observa una persona que se aleja por las escaleras. Según su información de profundidad, éste se encuentra a corta distancia. En el fotograma 65, se observa como ya está más lejos y sin embargo la información de movimiento en z sigue indicando su alejamiento. En el fotograma 120 aparece otro personaje a la misma distancia aproximadamente que el del caso anterior, pero en este caso acercándose; dicho acercamiento queda reflejado en la salida del sistema. En el fotograma 140 este personaje está considerablemente más cerca y esta circunstancia se refleja en el Mapa de Profundidad 3D de la columna tercera con un nivel de brillo más claro. La evolución entre los fotogramas 149 y 151 la consideramos curiosa, puesto que en el 149 el personaje que estaba bajando va a desaparecer por la esquina inferior derecha y en el 151 aparece otro personaje que va a subir las escaleras a un ritmo más ágil. En el mapa de movimiento se detecta como se pasa de un móvil cercano que desaparece y otro algo más lejano que se interpreta como un alejamiento en esta zona del mapa de movimiento en z. En el fotograma 170 al personaje que se aleja ágilmente por las escaleras sólo se le ven ya los pies, pero en su historia de movimiento se detecta claramente su alejamiento. 4.9. Conclusiones de los Resultados En todo este capítulo podemos destacar algunos de los resultados que se obtienen con el algoritmo propuesto: S S 190 En primer lugar, podemos destacar la desaparición de todos los objetos estáticos que existan en la escena. Estos quedan filtrados en una de las primeras etapas referente la detección del movimiento a través de las memorias de permanencia. Nuestro objetivo se sitúa en la periferia del punto de fijación de las dos cámaras, que teóricamente está en el infinito para configuración paralela. Fuera del centro de la imagen la representación del mapa de movimiento tridimensional obtenido es acorde al movimiento que se está produciendo en la escena. Dicho estudio del movimiento se realiza, tanto en las direcciones X e Y, como en la Z a través del sistema de análisis estéreo. También, a pesar de no prestar excesiva atención al centro de la imagen los resultados son relativamente buenos. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Foto NG C2 D3 vz 45 65 120 140 149 151 170 Tabla 4.13. Resultados de la escena “OutdoorZoom”. 191 Resultados S S S S S S S 192 El análisis de movimiento en la dirección Z nos permite conocer qué objetos se están alejando y qué objetos se están acercando. Por otra parte, este sistema situado en un robot autónomo móvil nos puede permitir la generación de un mapa tridimensional del entorno, a pesar de que los objetos están estáticos; pues el propio movimiento del robot nos permite detectarlos a través del movimiento relativo de las cámaras respecto del entorno. Se han realizado pruebas con secuencias sintéticas y reales. De ellas podemos destacar que las imágenes sintéticas nos permiten de una forma más controlada la prueba de determinados comportamientos del modelo presentado. En cambio, las secuencias reales, por su complejidad nos permiten asegurar su validez en circunstancias reales. El conseguir pares estéreo de secuencias reales en configuración paralela es altamente complejo, ya no solo por la dificultad de situación de las cámaras, sino también por la variabilidad de los parámetros de éstas, lo que en ocasiones obliga a realizar rectificados sobre las secuencias obtenidas. Respecto a la utilización de diversos fondos, todos aquellos que sean estáticos serán filtrados; si bien es cierto que la segmentación en bandas de los fotogramas cuando el color de los objetos es similar al fondo presenta algunas dificultades en la captación de la forma de los objetos. Para fondos en movimiento, estos no serían filtrados, pero la subtarea de Obtención del Mapa de Profundidad 3D situaría los objetos a la distancia que les corresponde. La iluminación es importante tanto en las escenas reales como en las sintéticas, ya que las sombras producen la aparición de diferentes regiones segmentadas que potencialmente provocan falsas correspondencias. No parece tener relevancia el número de objetos que aparezcan en una escena. pero lo que sí es relevante es su tamaño respecto a la segmentación en bandas de niveles de gris. Objetos grandes y monocolor son más sencillos de segmentar y de analizar su movimiento y su disparidad. En cambio, objetos pequeños o cuya segmentación en bandas de niveles de gris produzca regiones pequeñas, como hemos visto anteriormente, hacen más probable la aparición de falsas correspondencias. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 5. Discusión 5.1. Resumen Hasta la fecha, las técnicas usuales de estereovisión se basan en la forma, analizando la disparidad y, por tanto, obteniendo la profundidad a partir de la geometría del sistema, pero fundamentalmente son estáticas. En esta tesis, se propone una nueva alternativa que permite obtener, de forma continua, información tridimensional del movimiento en la escena, tomando como entrada al sistema, una pareja de secuencias de imágenes estéreo, prolongadas en el tiempo de forma indefinida. Nuestra alternativa tiene una orientación específica, pretendiendo cubrir varias facetas conocidas en los sistemas visuales biológicos. Por un lado, entendiendo como punto de fijación el punto donde se centran y enfocan el par de cámaras estéreo (esto es el punto donde se centra la mirada en un sistema biológico), nuestra alternativa no plantea optimizar los resultados en la zona del punto de fijación, si no al contrario, se optimiza para obtener la información del movimiento que se produce en la periferia del punto de fijación de los dos ojos (o cámaras). El efecto de que la información asociada al movimiento en la periferia del punto de fijación es importante y, como se vio en el apartado 1.2.2, muy reconocido en múltiples sistemas visuales biológicos. Una de las aplicaciones más relevantes de esta propuesta es su posible utilización conjunta con un sistema de atención selectiva visual como aporte de información de aquello que está sucediendo fuera del elemento sobre el que se focaliza la atención en cada momento. Otra aportación importante es la posibilidad de utilizar el movimiento en una escena para definir un plano tridimensional de la misma. Este efecto puede asociarse bien a los movimientos sacádicos de los ojos, bien al hecho de que el movimiento del sistema que observa, sirve para obtener un plano tridimensional que le permite navegar por el entorno observado, como hemos puesto de manifiesto en el apartado 4.6 de la sección de resultados donde el sistema navega a lo largo de un pasillo. Puesto que el objetivo final es el estudio del movimiento en la profundidad, el sistema sólo atiende a objetos móviles, despreciando cualquier información sobre objetos 193 Discusión estáticos. Puesto que se trabaja sobre planos de carga generados por permanencia, se filtra toda la información estática de la escena. Según se ha descrito, los elementos de partida del algoritmo desarrollado son dos secuencias de imágenes tomadas por dos cámaras en configuración paralela, o previamente rectificadas. Cada una de estas dos secuencias se procesan independientemente para extraerles la información del movimiento en las direcciones x e y. Esta extracción de la información de movimiento se realiza fotograma a fotograma mediante una segmentación en bandas de niveles de gris y el proceso posterior de análisis de movimiento mediante memorias de permanencia. Esto nos permite segmentar cada fotograma en base al movimiento de los objetos que existen en él. Las estelas de movimiento de varios objetos móviles en cada fotograma serán diferentes entre sí, debido a la diferente naturaleza de los movimientos de éstos; sin embargo, un mismo objeto móvil producirá estelas muy semejantes en las dos memorias de permanencia que forman un par estéreo. Esto hace que el análisis de correspondencias obtenido a partir de las estelas sea sencillo y a la vez robusto, más que en los sistemas que analizan disparidad de formas; esto se debe fundamentalmente a dos razonas: S S En primer lugar hemos filtrado multitud de información al suprimir todos los elementos estáticos de la escena. Por lo que al reducir el número de elementos (lo que no se mueve, no existe), el matching es más sencillo. Por otro lado, la información del movimiento está asociada, no sólo al fotograma presente, sino a la historia de los últimos fotogramas de la escena, esto hace que el matching se realice atendiendo a una información mas específica (dos elementos iguales con distinta historia reciente de movimiento generan estelas distintas). Atendiendo a nuestro objetivo de optimizar el análisis en la zona de la periferia del centro de atención, cada uno de las imágenes de permanencia asociadas a cada sensor (derecho e izquierdo) se separa en dos mitades con el fin de analizar por separado el campo visual derecho y el campo visual izquierdo. Favorecemos además el efecto de separar los movimientos de los objetos que vienen por la derecha de los que vienen por la izquierda. Aplicando la restricción epipolar y utilizando comunicaciones a nivel local entre elementos de procesamiento, cada uno de los pares de semi-imágenes se van desplazando horizontalmente entre sí, buscando las disparidades de los elementos que se han movido en la escena y que, por lo tanto, han dejado su estela en la memoria de permanencia. En el momento en que la disparidad de las estelas de los objetos móviles coinciden con los desplazamientos de las semi-imágenes, las áreas de píxeles vecinos a la salida serán máximas, y eso será interpretado como la disparidad correcta. Los desplazamientos de los 194 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica mapas de carga nos permiten convertir la disparidad en tiempo, el tiempo en carga y la carga finalmente en profundidad. Una vez detectada la profundidad de cada elemento en movimiento, será posible la reconstrucción tridimensional del movimiento en la escena en el momento presente. No obstante, esta información se obtiene cuadro a cuadro de forma indefinida sobre la escena. Por lo que, cuadro a cuadro, obtenemos una matriz tridimensional en la que aparecen activados los puntos del espacio en los que se ha producido movimiento en el momento presente. Al aplicar el efecto de permanencia de forma equivalente a como lo hacemos sobre una imagen bidimensional, pero en este caso sobre la representación tridimensional que hemos obtenido, el mapa tridimensional de carga que se genera, nos permite obtener las características tridimensionales del movimiento en la escena; esto es las coordenadas (x,y,z), la velocidad y la aceleración de todos los elementos móviles en cada cuadro. Esta información nos permitirá conocer la naturaleza del movimiento de un objeto en su coordenada de profundidad; es decir, si se aleja o se acerca, e incluso estimar su velocidad y aceleración, aunque eso sí, limitados por la resolución en la profundidad del sistema geométrico. La solución que se propone, conlleva un tipo de procesamiento que trata de aprovechar las ventajas de la utilización de primitivas de alto orden, y la utilización de píxeles simplemente. Por un lado, los elementos que se ponen en correspondencia son regiones obtenidas de las estelas de movimiento de los objetos móviles a través de la interpretación de las memorias de permanencia. Esto permite, como se ha visto anteriormente, conseguir correspondencias sencillas y robustas. Por otro lado, el hecho de que a partir de la superposición de las estelas de movimiento cada píxel decida mediante un análisis local la disparidad que le ofrece mayor confianza produce un mapa de disparidades denso, cuestión que se plantea como la mayor ventaja de los sistemas de correspondencias basados en píxeles. 5.2. Comparación con Otros Métodos Utilizados Los métodos que se han utilizado en esta tesis tienen características especificas que los diferencian de los métodos usuales de análisis estereoscópico. Estas diferencias las analizaremos separadamente en los siguientes subapartados. 5.2.1. Primitivas de Correspondencia En los algoritmos encontrados en la bibliografía, el concepto de primitiva de correspondencia establece una clasificación férrea entre los algoritmos que utilizan como 195 Discusión primitiva los píxeles, u otros elementos de mayor orden como contornos o regiones. En el caso de los píxeles, los mayores inconvenientes suelen ser la ambigüedad en superficies uniformes, y las oclusiones. Para solucionarlo es habitual la utilización de ventanas de vecindad rectangulares alrededor del píxel que minimizan la ambigüedad, penalizando la resolución. La mayor ventaja de estos es la densidad del mapa de disparidades con una eficiencia computacional alta. Los métodos basados en áreas son menos sensibles a estos problemas, ya que proporcionan una información adicional, basada en la forma o en el tamaño, para que las regiones difíciles correspondan de una manera sencilla y robusta, y se descarten las disparidades falsas. En cambio, los métodos basados en regiones, en general, son muy costosos computacionalmente. En nuestro caso, hemos tratado de conjugar las ventajas de ambos sistemas. Nuestro algoritmo trata de establecer las correspondencias a nivel de áreas, mientras que el análisis de disparidades es independiente para cada píxel y lo realiza a partir de la carga acumulada, según el tamaño de la región de “disparidad constante” a la que pertenece. Llegados a este punto, nos parece apropiado realizar algunos comentarios al respecto de los resultados que se obtienen con el método de análisis de disparidad de carga propuesto para explicar su alcance. El método de recogida y acumulación de carga que se propone en este algoritmo no trata de asignar un valor único de disparidad a toda una estela de movimiento. El hacerlo de esta manera implicaría, a nuestro juicio, no tomar en consideración movimientos de acercamiento y alejamiento, que obviamente provocarían estelas con segmentos más lejanos y más cercanos. En un trabajo como éste, en el que se mezcla el movimiento con la estereovisión para profundizar en las características del movimiento en la profundidad, no parece apropiado considerar las estelas en conjunto a la misma profundidad. Para contribuir a aclarar estos términos se presenta la figura 5.1, donde pueden apreciarse posibles, aunque caprichosas, formas de estelas de movimiento correspondientes superpuestas pero con una disparidad diferente; de ahí su desplazamiento relativo. En todas ellas, el aspa (x) marca la posición en la que está un elemento de carga que inicia su proceso de acumulación de carga y en color gris oscuro la región que abarcará dicha acumulación. Puede verse, que en el ejemplo superior izquierdo, el elemento inicial está situado a lo largo de la diagonal vertical del rombo común. En este caso, todos los elementos de la vertical en la que está el elemento inicial cuentan a derecha e izquierda sus contiguos correspondientes y por lo tanto todos los elementos del área común a las dos figuras quedarán contabilizados. El ejemplo superior derecho es algo más complejo, puesto que la vertical del elemento inicial no abarca toda la vertical de la zona común. Por eso, las áreas superior e inferior de la zona en gris oscuro no se contabilizan para el análisis de este píxel, sólo se 196 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Figura 5.1. Dependencia del tamaño de la “región de disparidad constante” según la posición del elemento que inicia el análisis, contabilizará la franja horizontal que se sitúa entre los límites de la vertical al objeto inicial. En el ejemplo inferior izquierdo de la misma figura 5.1 tampoco se contabilizan todos los elementos comunes a las dos estelas, sino que sólo se contabilizan aquellos de las horizontales que están entre los límites superior e inferior de la vertical del elemento inicial. Un resultado parecido se obtiene en el caso de la figura inferior derecha. En definitiva, puede apreciarse que en una misma estela, aparece una dependencia en el resultado final de la carga de cada elemento según su posición inicial. Lo que conlleva tres características muy beneficiosas a nuestro entender: S S La primera es que se restringe el área en la que cada elemento analiza su correspondencia a un entorno local, pero flexible. Esto es positivo porque así existirá una probabilidad menor de que algún elemento remoto (no local) participe en el cálculo de la disparidad. La segunda es que dos elementos vecinos van a analizar regiones correspondientes semejantes, aunque no iguales. Esto lo consideramos como una forma de aplicar las restricciones de continuidad, como la del gradiente de disparidad, ya que 197 Discusión S generalmente no habrá excesivas diferencias entre las disparidades de elementos contiguos. La tercera se refiere a que, a pesar de que el área que se analiza en cada caso no es el área total, cada una de estas áreas cumplen la condición de ser máximas para el valor de desplazamiento en el que las dos estelas de movimiento se solapan localmente. Como puede verse, el algoritmo presentado es muy sensible a las diferentes disparidades que pueden aparecer en los distintos segmentos de una estela de movimiento, y ésta es una cuestión muy importante a la hora de estudiar el movimiento en la profundidad. También, como conclusión, es destacable que los desplazamientos que nosotros realizamos con las dos imágenes en nuestro algoritmo y el análisis de correspondencias, puede aproximarse a los movimientos sacádicos de convergencia y divergencia de los ojos que permiten explorar el entorno con precisión, analizando, por geometría, la profundidad a la que están los objetos, además de la fusión de las imágenes que se produce en las columnas de dominancia ocular. Un barrido de los ojos desde la orientación en la que miran al infinito hasta la configuración convergente en la que se está atendiendo a un objeto cercano, es equivalente en nuestro sistema a un desplazamiento horizontal de las dos imágenes desde la disparidad 0 hacia valores superiores. Este método de análisis de disparidades presentado fue probado inicialmente con imágenes estáticas reales ofreciendo también unos resultados muy buenos. En las imágenes reales, pequeñas diferencias en la iluminación pueden provocar que píxeles que puedan corresponder, aparezcan con diferente nivel de brillo y, por tanto, no sea adecuado poner en correspondencia píxeles por el hecho de ser exactamente iguales. En este caso, habrá que decidir el margen de valores que permite considerar dos píxeles iguales, y el límite máximo que se establece para considerar que ambos son diferentes. A esta decisión hay que llegar mediante un proceso de diferencia y umbralización. Se calcula la diferencia píxel a píxel de las dos imágenes, y, después, aquellas diferencias que sean mayores que un umbral, nos harán considerar a los dos píxeles implicados como diferentes. No obstante, éste no es el problema planteado en este trabajo, aquí, como se ha dicho, la entrada son las memorias de permanencia, y la igualdad entre elementos vendrá dada por la igualdad de sus elementos de carga. 198 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 5.2.2. Restricciones a las Correspondencias La aplicación de las diferentes restricciones viene incluida y es inseparable a cada uno de los métodos desarrollados. De todas ellas las restricciones más habituales son la epipolar, y la de disparidad y la de unicidad. La restricción de ordenamiento se suele utilizar a nivel local de píxel; es decir dentro del vecindario más cercano del píxel a analizar, pero se suelen permitir correspondencias que no cumplen dicha restricción en virtud de las excepciones que existen. Las demás restricciones se utilizan de una forma menos extendida. En el caso de nuestro algoritmo, también aplicamos las restricciones epipolar, de disparidad, de unicidad, y de ordenamiento a nivel local. La aplicación de la restricción epipolar es consistente con la forma de desplazamiento de los mapas de carga para buscar correspondencias. La restricción de disparidad se aplica teniendo en cuenta el desplazamiento máximo que se permite en dicha búsqueda. La restricción de ordenamiento a nivel local se basa en la forma en que los elementos que configuran el mapa de profundidades se comunican entre sí para cada desplazamiento con el fin de indicar si su correspondencia es suficientemente fiable. Finalmente, la restricción de unicidad se aplica al buscar en cada uno de los elementos del mapa de profundidad aquellos cuya región de disparidad constate es máxima. 5.2.3. Técnicas de Correspondencia En cuanto a la forma de estudiar la profundidad a la que están los objetos, no es trivial encontrar parecidos con otros métodos fuera de la aplicación de las restricciones generales a las correspondencias. Probablemente los métodos más parecidos al que se propone en esta tesis sean los algoritmos basados en la correlación y las técnicas de relajación. Los algoritmos basados en la correlación estudian las correspondencias en base a los parecidos que existen entre vecindarios discretos alrededor de los píxeles cuya correspondencia se está analizando. Dicho parecido ha dado en estudiarse además de mediante la función correlación, mediante sumas de diferencias absolutas, sumas de diferencias al cuadrado y las transformadas del rango y el censo. En nuestro caso se propone la operación diferencia píxel a píxel y posteriormente se le da un valor fundamental a la aplicación del mecanismo de relajación. En cuanto a dicho mecanismo, lo habitual es aplicar nuevamente la propagación de las restricciones en un entorno limitado y fijo de los píxeles a corresponder. Quizá aquí está la mayor diferencia entre los algoritmos habituales y el propuesto en esta tesis. En nuestro caso la propagación de las restricciones se realiza a toda aquella área, tenga el tamaño y la forma que tenga, en la que 199 Discusión los elementos de carga se sientens correspondientes para un valor de desplazamiento o disparidad dado. Otra de las diferencias destacables es que, en las técnicas de relajación, se trabaja con imágenes estáticas en general, y nuestro algoritmo parte de la información de movimiento procedente de la aplicación del efecto de permanencia a la secuencia a estudio. De hecho, en nuestro caso, los objetos estáticos son eliminados por el sistema previamente al análisis de profundidad, ya que sólo nos interesa la información del movimiento. Respecto a aquellas técnicas de relajación que se basan en la correlación de características como los contornos podemos encontrar también algún parecido puesto que las memorias de permanencia detectan sobretodo contornos desplazándose; si bien es cierto que en el algoritmo presentado no es, ciertamente, el contorno el que más información aporta, sino la región entre contornos. Otros métodos en estereovisión como la programación dinámica, las curvas íntimas, los algoritmos de predicción o las técnicas de grueso a fino son todavía menos comparables con el modelo que se presenta aquí. 5.2.4. Tratamiento de las Oclusiones Los métodos usuales de detección de oclusiones se basan en varios aspectos: la aparición de inconsistencias entre análisis de disparidades derecha sobre izquierda e izquierda sobre derecha, la aparición de correspondencias fuera de orden y un alto gradiente de disparidad a lo largo de un contorno. Dichas oclusiones en algunos casos se señalizan, y en otros se tratan a través de interpolaciones. Más cercanos a nuestro algoritmo son aquellos que tratan de aumentar la robustez frente a las oclusiones. De la misma manera que los métodos basados en las transformaciones del rango y el censo se consideran robustos frente a las oclusiones por ser independientes de la luminosidad puntual, nuestro modelo basado en las estelas de permanencia también lo consideramos robusto en este aspecto, ya que las oclusiones aparecerán en general en los contornos de los objetos, y en ellos, la frontera entre movimiento y no-movimiento evitará que las oclusiones afecten al resultado. Por otra parte, la utilización del tamaño de las regiones de disparidad constante, como elemento para analizar la confianza de una disparidad, hace que aquellas oclusiones que existan, queden fuera de dicha región y, por tanto, no se consideren. 200 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 5.2.5. Técnicas Relacionadas con el Movimiento En cuanto al estudio de movimiento, las memorias de permanencia han sido utilizadas por nuestro grupo, como se ha visto, para muchas aplicaciones durante varios años; pero en cambio, el procedimiento más habitual que se utiliza en este campo es el flujo óptico. Las diferencias entre ambos son notables: mientras que el flujo óptico se basa en analizar el desplazamiento de determinadas características de las imágenes, las memorias de permanencia juegan con las variaciones de luminosidad que se producen en los píxeles para, a través de las estelas, analizar el movimiento de los objetos que aparecen en las secuencias. Por otra parte, los parecidos en cuanto a filosofía de funcionamiento entre los métodos de estereovisión basada en el movimiento y el propuesto en esta tesis son muy distintos. Los métodos de “Estructura desde el Movimiento” analizan la tridimensionalidad a partir de la trayectoria conocida de la cámara y utilizan el estereo para resolver el factor de escala inherente a dicho análisis. En el algoritmo que presentamos el movimiento se utiliza para separar lo que se mueve de lo que no y, a partir de esta información, aplicar una técnica de análisis de disparidades basada en la estereovisión. En el “estéreo convencional a partir del movimiento” se trata de analizar la tridimensionalidad utilizando para ello una sola cámara que visualiza un objeto que gira o se desplaza de modo conocido. En el modelo presentado, el movimiento no se conoce a priori, y se debe estimar a partir de la estereovisión. Respecto a las técnicas que utilizan el movimiento para establecer una restricción de disparidad dinámica, podemos considerarlas complementarias a la que se propone aquí, puesto que a partir de la información que nos proporciona el Modelo de Disparidad de Carga seria factible realizar una estimación hacia el futuro de las posiciones y, por lo tanto, disminuir el margen de disparidades a estudiar 5.3. Aspectos Biológicos Respecto a las características biológicas que se han considerado aplicables para el desarrollo del modelo propuesto podemos considerar las siguientes: S En primer lugar, nuestro algoritmo trata de relacionar las percepciones del movimiento con las de la profundidad. Esto también se produce en los sistemas biológicos; ya que la vía que se encarga del análisis del movimiento parece que está implicada también en la estimación de la profundidad. En el capítulo 1, se vio que la isoluminancia implicaba grandes dificultades para conseguir percepciones 201 Discusión S S S S S 202 correctas del movimiento de los objetos, así como de la perspectiva y la profundidad a la que están. La vía magnocelular posee muy poca resolución, y con ello es suficiente para resolver la percepción del movimiento y la profundidad. En nuestro caso, la aplicación de la segmentación en bandas de niveles de gris reduce la cantidad de información existente en las imágenes, y sin embargo los resultados son bastante aceptables. Por otra parte, también respecto de la vía del movimiento, ésta es una vía casi insensible al color. En nuestro caso podemos decir que los experimentos que se han realizado con imágenes en color no han aportado ninguna ventaja. Por ello, en nuestro algoritmo, a partir de la aplicación de la segmentación en bandas de niveles de gris y las memorias de permanencia los análisis sucesivos se realizan con información en niveles de gris. Nosotros, por las razones que aportábamos en el apartado 1.2.5.2, consideramos que la estereovisión biológica depende directamente de la propiocepción de la convergencia relativa de los ojos. Esta convergencia de los ojos es equivalente a un desplazamiento de las imágenes en las retinas, con el fin de solapar las imágenes de cada ojo en una imagen global. En nuestro caso, el algoritmo propuesto se basa en el desplazamiento horizontal de las imágenes para analizar la disparidad de cada uno de los píxeles. Independientemente de que estemos o no en lo cierto respecto a la importancia de la propiocepción de los ojos en la visión tridimensional, si es una conclusión de los propios neurocientíficos que la visión estereoscópica, considerada como la fusión de las imágenes derecha e izquierda en una sola percepción, sólo se produce en un margen pequeño del campo visual; entre unos 2º en horizontal, y unos pocos minutos de arco en vertical. Fuera de este margen la visión es doble. En el caso de nuestro algoritmo, la fusión de las dos memorias de permanencia derecha e izquierda y el análisis de disparidad realizado por cada píxel también está acotado por el análisis local de las correspondencias. En la visión humana, la periferia del campo de visión, salvo que de reojo se esté atendiendo a un objeto en concreto, no posee percepción de objetos estáticos, sin embargo sí es sensible a objetos en movimiento. Cada vez que un objeto se mueve en la periferia se produce un comportamiento reflejo que orienta los ojos para centrar dicho objeto en las dos fóveas. Este es el fundamento principal del sistema desarrollado: nuestro objetivo ha sido desde un principio el analizar el movimiento de los objetos en la periferia del campo receptivo, con el fin de informar de los eventos que están ocurriendo a un sistema superior de control de cámaras, o a un sistema de atención selectiva visual. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica S S La separación en dos mitades del campo visual en los humanos a partir de quiasma óptico tiene su correspondencia en el modelo propuesto; ya que si lo que nos interesa es estudiar el movimiento en las periferias derecha e izquierda a partir del punto de fijación, parece adecuado separar computacionalmente las percepciones de ambos lados en procesos paralelos. De esta manera es más sencillo discernir entre lo que está pasando a un lado, respecto de lo que ocurre en el otro. El hecho de que las células complejas sensibles a elementos lineales que se desplazan en una dirección dentro del campo visual no actúen claramente en la vía del movimiento puede implicar que dicha detección del movimiento se produzca por las variaciones del contraste (carga-descarga) en las células simples, sensibles a la orientación y a la posición concreta del estímulo. Esta es la filosofía de nuestras memorias de permanencia; el comportamiento de carga y descarga de los elementos de procesamiento, cada vez que se detecta movimiento suficiente como para hacer que un píxel de la imagen segmentada en bandas de niveles de gris salte de una banda a otra. 203 Discusión 204 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 6. Conclusiones y Aportaciones Realizadas El trabajo objeto de esta tesis ha consistido en definir el Modelo de Disparidad de Carga, el cual configura una nueva alternativa para obtener de forma continua, información tridimensional del movimiento en la escena; tomando como entrada al sistema, un par estéreo de secuencias de imágenes, prolongadas en el tiempo de forma indefinida. El modelo sustituye el análisis de disparidad basado en luminancia por el análisis de disparidad basado en carga obtenida por permanencia. Esto es, realiza estereoscopia por movimiento, en lugar de basar la estereopsis en luminancia, filtrando al tiempo toda la información estática de la escena. El Modelo de Disparidad de Carga se inspira en la biología, sin pretender replicarla, intentando cubrir algunos aspectos de esta, en concreto la detección de movimiento en la periferia del punto de atención. Entre las posibles aportaciones de esta tesis, o en concreto del Modelo de Disparidad de Carga, mencionamos las siguientes: S S S S S S S S Usa la información de carga, debida a permanencia para el análisis estereoscópico. Configura una nueva alternativa para obtener información tridimensional del movimiento en la escena. Posibilita la captación de la atención asociada al movimiento en la zona periférica del foco de atención. Puede ser utilizado para navegación en robótica, ya que el movimiento de las cámaras genera un plano tridimensional del entorno. Filtra toda la información estática de la escena. Permite (y requiere) un análisis continuo, pudiendo utilizarse sobre secuencias estereoscópicas de cualquier duración, ya que la información se obtiene cuadro a cuadro de forma indefinida sobre la escena. Permite calcular la componente z de los objetos con movimiento, lo cual nos permite obtener las componentes reales de movimiento para las dos coordenadas (x,y) paralelas al plano focal. Al conocer z podemos pasar de la velocidad de la imagen sobre el sensor (u,v) a la velocidad del objeto en el espacio (x,y,z). Dentro del análisis de profundidades estéreo, la consideración del concepto de correspondencia como un ente separado de la disparidad nos permite realizar análisis de correspondencias basados en regiones, y conseguir mapas de disparidad 205 Conclusiones y Aportaciones Realizadas S S densos, de la misma manera que si trabajásemos directamente con píxeles, solo que con una robustez mucho mayor. Integra las componentes de estereovisión y movimiento de forma similar a como sucede en los sistemas biológicos. Al igual que muchos de los sistemas biológicos, obtiene la información estereoscópica diferenciada en hemicampos. Como continuación a esta memoria esta previsto que nuestro trabajo se desarrolle en las siguientes líneas: S S S S 206 Dotar al sistema de aprendizaje, con el fin de capacitarlo para que sus parámetros evolucionen persiguiendo la máxima precisión y robustez. Aumentar la resolución tridimensional independizándola del pixelado de las cámaras, en base a utilizar leves movimientos de convergencia con las mismas. Estos movimientos de convergencia, potencialmente, sustituirían a los desplazamientos realizados con los mapas de carga. Integrar el Modelo de Disparidad de Carga con un sistema de Atención Visual Selectiva lo que aumentaría considerablemente sus prestaciones y sus aplicaciones. El objetivo sería conseguir un sistema capacitado en variar su elemento de atención en función de los movimientos que se están produciendo en su entorno. Este cambio en la atención podría producir un giro controlado, y muy eficiente, de las cámaras de observación para centrar el elemento de interés en las dos imágenes, derecha e izquierda. Profundizar en las aplicaciones de este sistema de Visión Estereoscópica Dinámica tanto separada como conjuntamente a un sistema de Atención Selectiva Visual. Dentro de estas aplicaciones podemos encontrar la metrología, la seguridad, la robótica o el Control de Calidad. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica 7. Bibliografía y Enlaces 7.2. Bibliografía [Ade85] [AEI85] [AF87] [Agr03] [Alv02] [Ann03] [Arn95] [Asc93] [Ban01] [Bar65] Adelson E.H. & Bergen J.R. “Spatiotemporal energy models for the perception of motion”,. Journal of the Optical Society of America A, 2, (1985): 284-299. Asano, T., Edahiro, H. & Imai, H. “Bucketting Techniques in Computer Geometry”. Computer Geometry. Toussaint, G. Ed. (1985). Ayache, N. & Faverjon, B. “Efficient Registration of Stereo Images by Matching Graph Descriptions of Edge Segments”. The International Journal of Computer Vision. (1987). Agrawal, M. & Davis, L., “Window Based, Discontinuity Preserving Stereo” Dept of Computere Science, University of Maryland. (2003). Álvarez, L., Deriche, R., Sánchez, J. & Weickert, J., “Dense Disparity Map Estimation Respecting Imagen Discontinuities: A PDE and Scale-Spaced Based Approach”, JVCIR, vol. 13, (2002): 3-21. Annonymous, “Analisys of Means to Improve Cooperative Disparity Estimation”, ISPRS, Vol. 34, (2003). Arndt, P. A., Maillot, H. A. Bulthoff, H. H. “Human Stereovision without Localized Image Features”, Byological Cybernetics, vol. 72 (1995): 279293 Aschwanden, P. & Guggenbuhl, W., “Experimental Results from a Comparative Study on Correlation-Type Registration Algorithms”. Robust Computer Vision. Frostner and Ruwiedel, Eds. (1993): 268-289. Banks, J. & Corke, P. “Quantitative Evaluation of Matching Methods and Validity Measures for Stereo Vision”. International Journal of Robotics Research. vol. 20. no. 7. (2001) Barlow H.B. & Levick R.W. “The mechanism of directionally selective units in the rabbit's retina”. Journal of Physiology, no. 178, (1965): 477-504. 207 Bibliografía y Enlaces [BB81] [Bel96] [Ben98] [Ber92] [Bla84] [Boy01] [Bre94] [Bro03] [Bul80] [Can86] [Cas85] [Cha91] [Chi94] [Cor93] [Cro97] 208 Baker, H.H. & Binford, T.O.; “Depth from Edge- and Intensity-Based Stereo”. Proceedings 7th Joint Conference on Artificial Intelligence. (1981). Belhumeur, P. N. “A Bayesian Approach to Binocular Stereopsis”. International Journal of Computer Vision. vol. 19, no. 3, (1996): 237-260. Benjamins, R., & Fensel, D. Editorial: Problem Solving Methods. International Journal on Human Computer Studies, 49(4), (1998): 305-313. Bergen J. R., Anandan, K., Hanna, K. J. & Hingorani, R. “Hierarchical Model-Based motion estimation”, ECCV (1992): 237-252. Blasdel G.G. & Fitzpatrick D. “Physiological organization of layer 4 in macaque striate cortex”, Journal of Neuroscience, no. 46, (1984): 880-895. Boycov, Y., Beksler, O. & Zabih, R. “Fast Aproximate Energy Minimization Via Graph Cuts”, IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 20, no. 12, (2001): 1222-1239. Breuker, J., & van de Velde, W. “CommonKADS Library for Expertise Modelling, IOS Press, Amsterdam.(1994). Brown, M. Z., Burschka, D. & Hager, G. D., “Advances in Computational Stereo”, IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 25, no. 8, (2003): 993-1008. Bullier J. & Henry G.H. “Ordinal position and afferent input of neurons in monkey striate cortex”. Journal of Comparative Neurology, no. 193, (1980): 913-935. Canny, J. “A Computational Approach for Edge Detection”. IEEE Trans. on Pattern Analysis and Machine Intelligence. vol 8. no. 6. (1986) 679698. Casas, J. Óptica. Cooperativa de Artes Grßficas. (1985). Chang, C., Chatterjee , S. & Kube, P. R. “On an Analysis of Static Occlusion in Stereo Vision”. Proceedings on Computer Vision and Pattern Recognition”. (1991): 722-723. Ching, W. S. “A New Method of Identifying Occlusion and Specular Highlights Using Active Vision“. Proceedings of the International Symposium on Speech, Image Processing and Neural Networks, (1994): 437-440. Coren, S., Ward, L. M. & Enns, J. T. “Brightness and Spatial Frequency in Sensation and Perception”. Cap. 4. Harcourt Brace (1993) Crossley, S, Lacey, A. J. Thacker, N. A. and Seed N. L. “Robust Stereo Via Temporal Consistency”, Proceedings of the British Machine Vision Conference, (1997): 659-668. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [Cro98] [Dal96] [Del02] [Dem01] [Dud73] [Egn02] [Eme81] [Eri95] [Fau93] [Fau01] [Fen79] [Fen97] Crossley, S, Thacker, N. A. and Seed N. L. “Benchmarking of Bootstrap Temporal Stereo Using Statisitical and Phisical Scene Modeling”, Proceedings of the British Machine Vision Conference, (1998): 346-355. Dalmia, A. K. & Trivedi, M. “High Speed Extraction of 3D Structure of Selectable Quality Using a Translating Camera”, Computer Vision and Image Understanding. Vol. 64, No.1, (1996): 97-110. Delgado, A.E., & Mira, J. “Algorithmic Lateral Inhibition as a Generic Method for Visual Information Processing with Potential Applications in Robotics”. In Da Ruan P. D'Hondt, & E.E. Kerre (eds.) Computational Intelligent Systems for Applied Research, World Scientific: Singapore, (2002): 477-484. Demirdjian, D. & Darrell, T. J., “Motion Estimation from Disparity Images”, ICCV01 (2001). Duda O.R. & Hart P.E. “Pattern Classification and Scene Analysis”. John Wiley and Sons, (1973). New-York. Egnal, G. & Wildes, R. P. “Detecting Binocular Half-Occlusions: Empirical Comparisons of Five Approachs”, Trans. on Pattern Analysis and Machine Intelligence”. vol. 24. no. 8, (2003): 1127-1133. Emerson R.C. & Coleman L. “Does image movement have a special nature for neurons in the cat's striate cortex?”, Investigative Ophthalmology and Visual Science, no. 20, (1981): 766-783. Eriksson, H., Shahar, Y., Tu, S.W., Puerta, A.R., & Musen, MA.. “Task Modeling with Reusable Problem Solving Methods”, Artificial Intelligence, 79(2), (1995): 239-326. Faugeras O. “Three-Dimensional Computer Vision. A Geometric Viewpoint”. The MIT Press. (1993). Faugeras, O. & Luong, Q. T., “The Geometry of Multiple Images”, The MIT Press, (2001) Fennema C.L. & Thompson W.B. “Velocity Determination in Scenes Containing Several Multiple Moving Objects”. Computer Graphics and Image Processing, no. 9, (1979): 301-315. Fensel, D.“The Tower-of-Adapter Method for Developing and Reusing Problem-Solving Methods”. In E. Plaza,, & V.R. Benjamins, (eds.), Knowledge Acquisition, Modeling and Management. Proceedings of the 10th European Workshop, EKAW'97, LNAI, 1319, Springer Verlag: Berlin, (1997): 97- 112. 209 Bibliografía y Enlaces [Fen99] [Fer92] [Fer93] [Fer95a] [Fer95b] [Fer97] [Fer99] [Fer01a] [Fer01b] [Fer03a] [Fer03b] 210 Fensel, D., Benjamins, V.R., Motta, E., & Wielinga, B. “UPML: A Framework for Knowledge System Reuse”. In Proceedings 17th International Joint Conference on Artificial Intelligence, IJCAI99, Morgan Kaufmann: San Francisco. (1999) Fernández, M. A. & Mira, J., “Permanency Memory: A System for RealTime Motion Analysis in Image Sequences”, IAPR Workshop on Machine Vision Applications, MVA’92, (1992):249-252. Fernández M.A. “Análisis de movimiento en secuencias de imagen”. En: Notas de Visión y Apuntes sobre la Ingeniería del Software, III Curso de Verano de Informática, Colección Estudios, 24, Universidad de Castilla-La Mancha, (1993): 99-110. Fernández, M. A., Mira, J., López M. T., Álvarez J. R., Manjarrés, A. & Barro, S., “Local Accumulation of Presistent Activity at Synaptic Level: Application to Motion Analysis”, Mira, J. & Sandoval, S. (Eds) From Natural to Artificial Neural Computation, IWANN’95 Springer-Velag:137143. Fernández, M.A. “Una Arquitectura Neuronal para la Detección de Blancos Móviles. Unpublished Ph.D. dissertation (1995) Fernández, M. A., “Una Arquitectura Modular de Inspiración Biológica con Capacidad de Aprendizaje para el Análisis de Movimiento en Secuencias de Imágenes en Tiempo Real”, Tesis Doctoral 48, Universidad de CastillaLa Mancha, (1997). Fernández, M.A., Fernández-Caballero, A., Moreno, J., Sebastián, G.: Object Classification on a Conveying Belt. Proceedings of the Third International ICSC Symposium on Soft Computing, SOCO'99 (1999) Fernández-Caballero, A., “Modelos de Interacción Lateral en computación acumulativa para la obtención de siluetas”, Tesis Doctoral (2001). Fernández-Caballero, A., Mira, J., Fernández, M. A. & López M. T. “Segmentation from Motion of non-rigid objects by neuronal Lateral Interaction”, Pattern Recognition Letters, vol. 22 no. 14, (2001); 15171524. Fernández, M. A., Fernández-Caballero, A., López M. T. & Mira, J., “Lenght-Speed Ratio (LSR) as a Characteristic for Moving Elements RealTime Classification”, Real-Time Imaging, no. 9, (2003); 49-59. Fernández-Caballero, A., Fernández, M. A., Mira, J. & Delgado A. E. “Spatio–Temporal Shape Building from Image Sequences Using Lateral Interaction in Accumulative Computation”, Pattern Recognition, vol. 36, no. 5, (2003); 1131-1142.. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [Fer03c] [Fer03d] [For93] [FP86] [Fu90] [Fua91] [Gon01] [Gou03] [Gri81] [Gri85] [Gro89] [Gut04] [Har00] Fernández-Caballero, A., Mira, J., Delgado A. E. & Fernández, M. A. “Lateral Interaction in Accumulative Computation: A Model for Motion Detection”, Neurocomputing 50C, (2003); 341-364. Fernández-Caballero, A., Mira, J., Férnandez, M.A., Delgado, A.E.: On Motion Detection Through a Multi-Layer Neural Network Architecture. Neural Networks, accepted (2003) Ford, K., Bradshaw, J.M., Adams-Webber, J.R., & Agnew, N.M. “Knowledge Acquisition as a Constructive Modeling Activity”. International Journal of Intelligent Systems, 8, (1993): 9-32. Forstner, W. & Pertl, A. “Photogrammetric Standard Methods and Digital Image Matching Technics for High Precision Surface Measurements”. Pattern Recognition in Practice II. Elsevier Science Publishers. (1986). Fu, L.M., & Fu, L.C. Mapping Rule-Based Systems into Neural Architecture, Knowledge-Based Systems, 3(1), (1990): 48-56. Fua, P. “Combining Stereo and Monocular Information to Compute Dense Depth Maps that Preserve Depth Discontinuities”. Proceedings of te 12th International Joint Conference on Artificial Intelligence. (1991). González, R. C. & Woods, R. E. “Digital Image Processing”. Addison Wesley / Diaz de Santos. (2001). Goulermas, J. Y., & Liatsis, J., “A Collective-Based Adaptive Symbiotic Model for Surface Reconstruction in Area-Based Stereo”. IEEE Trans. on Evolutionary Computation, vol. 7, no. 5, (2003): 482-502. Grimson, W.E.L. “A Computer Implementation of a Theory of Human Stereo Vision”. Philosophical Transactions of the Royal Society of London. (1981). Grimson, W.E.L. “Computational Experiments with a Feature Based Stereo Algorithm”. IEEE Transacions on Patteren Analisys and Machine Intelligence. IEEE. 1985. Grosso, E., Sandini, G.- & Tistarelli, M., “3D Object Reconstruction Using Stereo and Motion”, IEEE Trans on. Systems, Man and Cybernetics, Vol. 19, No. 6, (1989): 1465-1476. Gutiérrez, S. & Marroquín, J. L. “Robust Approach for Disparity Estimation in Stereo Vision”, Image and Vision Computing, vol. 22, no. 3, (2004): 183-195. Hartley R. & Zisserman, A. “Multiple View Geometry in Computer Vision”, Cambridge University Press, (2000) 211 Bibliografía y Enlaces [Has56] [Haw84] [Hay99] [Hec99] [Hee87] [Hen00] [Hil84] [Hil95] [Hir01] [HoC97] [Hof89] [Hon04] [HoP96] [Hor81] [Hub77] [Hub95] 212 Hassenstein B. & Reichardt W.E. “Functional structure of a mechanism of perception of optical movement”, Proceedings of the 1st International Congress of Cybernetics in Namar, (1956): 797-801. Hawken M.J. & Parker A.J. “Contrast sensitivity and orientation selectivity in lamina IV of the striate cortex of old world monkeys”, Experimental Brain Research, no. 54, (1984): 367-372. Haykin, S: “Neural Networks: A Comprehensive Foundation”. Prentice Hall (1999) Hecht Eugene; Óptica; Addison-Wesley Iberoamericana; 1999 Heeger D.J. “Model for the extraction of image flow”, Journal of the Optical Society of America A, 4 (8), (1987):1455-1471. Henkel, R. D. “Synchronization, Coherence-Detection and ThreeDimensional Vision”, University of Bremen (2000). Hildreth E.C. The Measurement of Visual Motion. Cambridge. MIT Press. (1984). Hilario, M., Orsier, B., Rida, A., & Pellegrini, C. “Integration of Model-Based Reasoning and Neural Processing, Report of MIX Project, CUI, University of Geneva. (1995). Hirschmüller, H., “Improvements in Real-Time Correlation-Based Stereo”, Proceedings of IEEE Workshop on Stereo and Multi-Baseline Vision, (2001): 141-148. Ho, P. K. & Chung, R. “Stereo-Motion taht Compliments Stereo and Motion Analisys”, Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition”, (1997): 213-218. Hoff, W. & Ahuja, N. “Surfaces from Stereo: Integrating Feature Matching, Disparity, Estimation and Contour Detection”. IEEE Trans. on Pattern Analysis and Machine Intelligence. vol. 11. no. 2. (1989): 121-136 Hong, L. & Chen, G., “Segment-Based Stereo Matching Using Graph Cuts”, CVPR 2004, (2004). Ho, A. Y. K. & Pong, T. C. “Cooperative Fusion of Stereo and Motion”, Pattern Recognition, vol. 29, no. 1, (1996): 121-130. Horn B.K.P. & Schunck B.G. “Determining optical flow”, Artificial Intelligence no. 17, (1981): 185-203. Hubel D.H. & Wiesel T.N. “Functional architecture of macaque monkey visual cortex”, Proceedings of the Royal Society of London, B, 198, (1977): 1-59. Hubel, D. H. Eye, Brain, and Vision. Scientific American Library. (1995). Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [Hun95] [Jep89] [Jul71] [Kan92] [Kan94] [Kan00] [Kas83] [Kas88] [Kla98] [KMM77] [Kol01] [Koc86] [KvD76] [Lap82] Hung, Y. P., Tang, C. Y. Shih, S. W., Chen, Z. & Lin, W.S., “A 3D Predictive Visual Tracker for Tracking Multiple Moving objects with a Stereo Vision System”, Lecture Notes in Computer Science, Vol 1024, (1995) 25-32 Jepson, A. D. & Jemkin, M. R. M. “The Fast Computation of Disparity from Phase Differences”. Proceedings of the Conference on Computer Vision and Pattern Recognition. (1989): 398-403. Julesz, B. “Foundations of Cyclopean Perception”. University of Chicago Press. (1971). Kanade, T., Okutomi, M. & Nakahara, T. “A Multiple-Baseline Stereo Method”. Proceedings ARPA Image Understanding Workshop. (1992): 409-426. Kanade, T. & Okutomi, M. “A Stereo Matching Algorithm with an Adaptative Window: Theory and Experminets”. IEEE Trans. on Pattern Analysis and Machine Intelligence. vol. 16. (1994). Kandel, E. R., Schwartz, J. H. & Jessel, T. M. Priciples of Neural Science. McGraw Hill. (2000). Kass, M. “A Computational Framework for the Visual Correspondence Problem”. Proceedings of the Eighth International Joint Conference on Artificial intelligence. (1983). Kass, M. “Linear Image Features in Stereopsis”. The International Journal of Computer Vision. (1988). Klarquist, W. N. & Bovik, A. C., “FOVEA: A Foveated Vergent Active Stereo Vision System for Dinamic Three-Dimensional Scene Recovery”, IEEE Trans. on Robotics and Automation, vol. 14, no. 5, (1998) Kelly R.E., McConnell, P.R.H. & Mildenberger, S.J. “ The Gestalt Photomapper; Photogrammetric Engineering and Remote Sensing”. (1977). Kolmogorov, V. & Zabih, R., “Computing Visual Correspondence with Occlusions Using Graph Cuts”, International Conference on Computer Vision, (2001): 508-515. Koch C., Marroquin J. & Yuille A. “Analog "neuronal" networks in early vision”, Proceedings of the National Academy of Sciences USA 83, (1986): 4263-4267. Koenderink, Jan A. & van Doorn, A.J. Geometry of Binocular Vision and a Model for Stereopsis. Biological Cibernetics. (1976). Lappin J.S. & Fuqua M. “Non-linear recruitment in the visual detection of moving patterns”, Investigative Ophthalmology and Visual Science Supplement 22, 123.(1982). 213 Bibliografía y Enlaces [Law89] [Lee90] [Lop03a] [Lop03b] [Lop04] [MAM00] [Mar80] [Mar81] [Mar82] [Mar98] [Mat75] [Mat89] [McC74] [McK85] 214 Lawton T.B. “Outputs of paired Gabor filters summed across the background frame of reference predict the direction of movement”. IEEE Transactions of Biomedical Engineering, no. 36, (1989): 130-139. Lee, S. U., Chung, S. Y. & Park, R.H. “A Comparative Performance Study of Several Global Thresholding Techniques for Segmentation”. Computer Vision, Graphics and Image Processing. vol. 52. no.2. (1990): 171-190. López, M. T., Fernández, M. A., Fernandez-Caballero, A. & Delgado A. E., “Neurally Inspired Mechanisms for the Dinamic Visual Attention Map Generation Task”, Mira, J & Álvarez, J. R. (Eds.) Computational Methods in Modeling Computation, IWANN’03, Springer-Verlag, (2003): 694-701 López, A. & Pla, F., “Visión Estereoscópica Basada en Regiones Mediante una Técnica de Minimización”, Universitat Jaume I. (2003) López, M. T., “Modelado Computacional de los Mecanismos de Atención Selectiva Visual Mediante Redes de Interacción Lateral”, Tesis Doctoral. Universidad Nacional de Enseñanza a Distancia (2004). Mira, J., Alvarez, J.R., & Martinez, R. ”Knowledge Edition and Reuse in DIAGEN: A Relational Approach”, IEE Proceedings Software, 147(5), (2000): 151-162. Marr, D. & Hildreth, E. “Theory of Edge Detection”. Procedings Real Society of London. vol B207. (1980): 187-217 Marr D. & Ullman S. “Directional selectivity and its use in early visual processing”. Proceedings of the Royal Society of London, B, no. 211, (1981). 151-180. Marr, D. “Vision”. Freeman. San Francisco. (1982) Martin, J. H. “Neuroanatomía”. Prentice Hall (1998). Maturana, H.R. The Organization of the Living: A Theory of the Living Organization”. International Journal of Man-Machine Studies, 7, (1975): 313-332. Matthies, L & Okutomi, M. “Bootstrap Algorithms for Dinamic Stereo Vision”, Proceedings of the 6th Multidimensional Signal Processsing Workshop, (1989): 12-. McCann J.J., Savoy R.L., Hall J.A. & Scarpetti J.J. “Visibility of continuous luminance gradients”. Vision Research, no. 14, (1974): 917-927. McKee S.P. & Welch L. “Sequential Recruitment in the Discrimination of Velocity”. Journal of the Optical Society of America A, 2, (1985): 243-251. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [MHD98] [Mir87] [Mir01] [Mir03a] [Mir03b] [Mir04] [MN85] [Mor68] [MP76] [MP79] [Müh02] Mira, J., Herrero, J.C., & A.E. Delgado. Where is Knowledge in Computational Intelligence? On the Reduction of the Knowledge Level to the Level Below”. In Proceedings 24th EUROMICRO Conference, IEEE, II, (1998): 723-732. Mira, J., & Delgado, A.E. “Some Comments on the Antropocentric Viewpoint in the Neurocybernetic Methodology”. In Proceedings of the Seventh International Congress of Cybernetics and Systems, 2, (1987): 891-895. Mira, J. & Delgado, A. E. “What Can We Compute with Lateral Inhibition Circuits”, Mira, J. & Prieto, A. (eds,) Connectionist Models of Neurons, Learning Processes and Artificial Intelligence. Lecture Notes in Computer Science 2084 Springer-Verlag, (2001): 38-46. Mira, J., & Delgado, A.E. “Where is Knowledge in Robotics? Some Methodological Issues on Symbolic and Connectionist Perspectives of AI”. In C. Zhou, D. Maravall, and Da Rua (eds.), Autonomous Robotic Systems, chap. 1, Physical-Verlag, Springer-Verlag, (2003): 3-34. Mira, J., Fernández, M. A. López, M. T., Delgado, A. E. & FernándezCaballero, A. “A Model of neural Inspiration for Local Accumulative Computation”, 9th. International Conference on Computer Aided Systems Theory, EUROCAST 2003, Lecture Notes in Computer Science 2809, Springer Verlag (2003): 427-435. Mira, J., Delgado, A. E., Fernández-Caballero, A. & Fernández, M. A. “Knowledge Modelling for the Motion Detection Task: The Algorithmic Lateral Inhibition Method”. Aceptado, Expert Systems with Applications, 27 (2), Elsevier Science. (2004). Medioni, G. & Nevatia, R. “Segment-Based Stereo Matching”. Computer Vision, Graphics, and Image Processing. (1985). Moreno-Díaz, R. “Realizability of a Neural Network Capable of all Possible Modes of Oscillation. In: Caianiello, E. (ed.): Neural Network. Springer-Verlag (1968) 70-78 Marr, D. & Poggio, T. “Cooperative Computation of Stereo Disparity”. Science. (1976). Marr, D. & Poggio, T. “A Computational Theory of Human Stereo Vision”. Proceedings of the Royal Society of London. (1979). Mühlmann, K., Maier, D., Hesser, J. & Männer, R., “Calculating Dense Disparity Maps from Color Stereo Images, an Efficient Implementation”, International Journal of Computer Vision, vol. 47, no. 1, (2002): 79-88. 215 Bibliografía y Enlaces [Nak83] [Nak84] [Nev76] [Nis84] [NP82] [OK85] [Oku93] [Opp99] [Par01] [PMF85] [Pra79] [Pra83] [Pre70] [Qua84] [Ree00] [Res03] 216 Nakayama K. & Silverman G.H. “Perception of moving sinusoidal lines”. Journal of the Optical Society of America A, 72, (1983). Nakayama K. & Silverman G.H. “Temporal and spatial characteristics of the upper displacement limit for motion in random dots”. Vision Research 24, (1984): 293-299. Nevatia, R. “Depth Measurement by Motion Stereo”, Computer Graphics and Image Processing, vol. 5, (1976): 203-214. Nishihara, H.K. “PRISM, a Practical Real-Time Imaging Stereo Matcher; Technical Report”. A.I.Memo 780 MIT. MIT Press. (1984). Nishihara, H.K. & Poggio, T. “Hidden Cues in Random Line Stereograms”. Nature. (1982). Ohta, Y. & Kanade T. “Stereo by Intra- and Interscanline Search”. IEEE Transactions on Pattern Analisys and Machine Intelligence. IEEE. (1985). Okutomi, M. & Kanade, T. “A Multiple-Baseline Stereo”, IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 15, no. 4, (1993): 355-363. Oppenheim, A. V. & Schafer, R. W., “Tratamiento de Señales en Tiempo Discreto”. Prentice Hall. (1999). Park, S. K. & Kweon, I. S., “Robust and Direct Estimation of 3-D Motion and Scene Depth from Stereo Image Sequences”, Pattern Recognition, vol. 34, no. 9 (2001): 1713-1728. Pollard, S.B., Mayhew, J.E.W. & Frisby, J.P. “A Stereo Correspondence Algorithm Using a Disparity Gradient Constraint”. Perception. (1985). Prager J.M. “Segmentation of static and dynamic scenes”. COINS Technical Report 79-7. University of Massachusetts (1979). . Prager J.M. & Arbib M.A. “Computing the optic flow: The MATCH algorithm and prediction”. Computer Vision, Graphics and Image Processing, 24, (1983): 271-304. Prewitt, J.M.S. “Object Enhancement and Extraction”. Picture Processing and Psychopictorics. Lipkin, B.S. and Rosenfeld, A. (eds.), Academic Press. New York. (1970). Quam, L. H. “Hierarquical Warp Stereo”, Image Understanding Workshop (1984): 149-155. Reed, M. K. & Allen, P. K. “Constraint-Based Sensor Planning for Scene Modeling”. IEEE Trans. on Pattern Analysis and Machine Intelligence. vol. 22. (2000): 1460-1467. Reskó, B., Stubán, N. & Nagy, S. “Artificial Neural Network Based Stereo Matching in Stereo Vision System”, Budapest University of Technology and Economics (2003) Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [Rob65] [Rus95] [Sah88] [San88] [Sch94] [Sch01] [Sch02] [Ser89] [Sil77] [Sil00] [Smi04] [Sob78] [Ste97] [Str02] Roberts, L.G. “Machine Perceptions of Three-Dimensional Solids”. Optical and Electro-Optical Information Processing. Tippet, J. T. (ed). MIT Press (1965). Russ, J. C. “Thresholding Images”. Computer Assisted Microscopy. vol. 7. no. 3. (1995): 41-164. Sahoo, P. K., Soltani, S., Wong, A. K. & Chan, Y. C. “A Survey of Thresholding Techniques.”. Computer Vision, Graphics and Image Processing. vol. 4. (1988): 233-260. Sanger, T. D. “Stereo Disparity Computation using Gabor Filters”. Biological Cybernetics. no. 59. (1988). Scharstein, S. “Matching Images by Comparing Their Gradients Fields”, ICPR, vol. 1, (1994): 572-575. Schreiber, A., Akkermans, H., Anjewierden, A., de Hoog, R., Shadbolt, N., van de Welde, W., & Wielinga, B. “Knowledge Engineering and Management. The CommonKADS Methodology”, The MIT Press.(2001). Scharstein, D & Szeliski, R., “A Taxonomy and Evaluation of Dense TwoFrame Stereo Correspondence Algorithms.”, International Journal of Computer Vision, vol. 47, no.1, (2002): 7-42. Sereno M.I. “Learning the solution to the aperture problem for pattern motion with a Hebb rule”. Advances in Neural Information Processing Systems, 2, Morgan-Kaufman. (1989). Sillito A.M. “Inhibitory processes underlying the directional specificity of simple, complex and hypercomplex cells in the cat's visual cortex”. Journal of Physiology, 271, (1977): 699-720. Silva, C. & Santos-Victor, J. “Intrinsic Images for Dense Stereo Matching with Occlusions”. Proceedings on European Computer Vision. (2000): 100114. Smith, P., Drummond, T. & Cipolla, R., “Layered Motion Segmentation and Depth Ordering by Tracking Edges”, Trans. on Pattern Analysis and Machine Intelligence, vol.26, no.4, (2004): 479-494. Sobel, I. “Neighbourhood Coding of Binary Images for Fast Contour Following and General Array Binary Processing”. Computer Graphics and Image Processing. vol. 8. (1978): 127-135. Stewart, C. V. “Bias in Robust Estimation Caused by Discontinuous and Multiple Structures”. IEEE Trans. on Pattern Analysis an Machine Intelligence. vol. 19. no. 8. (1997): 818-833. Strecha, C. & Van Gool, L. J. “Motion-Stereo Integration for Depth Estimation” ECCV02, (2002) 217 Bibliografía y Enlaces [Sun97] [Sun02] [Sun03] [Tab01] [Tho81] [Tom98] [Tru98] [Tsa03] [Val88] [Var79] [Vek02] [Ven95] [Wan96] [Wat85] 218 Sun, R., & Alexandre, F. “Connectionist - Symbolic Integration”, LEA Publishers: London.(1997). Sun, C., “Fast Stereo Matching Using Rectangular Subregioning and 3D Maximum-Surface Techniques”, International Journal of Computer Vision, val.47, no. 13, (2002): 99-117. Sun, J., Zheng, N. N. & Shum H. Y., “Stereo Matching Using Belief Propagation”, IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 25, no.7, (2003): 787-800. Taboada, M., Des, J., Mira, J., & Marin, R. Diagnosis Systems in Medicine with Reusable Knowledge Components”, IEEE Intelligent Systems, 16(6), (2001): 68-73. Thompson W.B. & Barnard S.T. “Lower-level estimation and interpretation of visual motion”. IEEE Computer vol. 14, (1981): 20-28. Tomasi, C. & Manduchi, R. “Stereo Matching as a Nearest Neighbor Problem”. IEEE Trans. on Pattern Analysis an Machine Intelligence”. vol. 20. (1998): 333-340. Trucco, E. & Verri, A. “Introductory Techniques for 3-D Computer Vision”, Prentice Hall, (1998). Tsai, J. J. & Victor, J. D., “Reading a Population Code: a Multi-Scale Neural Model for Representing Binocular Disparity”, Vision Research, vol. 43. (2003) 445-466. de Valois R.L. & de Valois K.K. “Spatial Vision”. New York. Ed. Oxford University Press, (1988). Varela, F.. J. “Principles of Biological Autonomy”, The North Holland Series in General Systems Research, North-Holland: New York. (1979). Veksler, O., “Stereo Correspondence with Compact Windows via Minimum Ratio Cycle”, Trans. on Pattern Analysis an Machine Intelligence”. vol. 24. no. 12, (2002): 1654-1660. Venkateswar, V. & Chellappa, R. “Hierarchical Stereo and Motion Correspondence Using Feature Groupings”. International Journal of Computer Vision. vol. 15. (1995): 245-269. Wang, W. % Duncan, J. H., “Recovering the Three Dimensional Motion and Structure of Multiple Moving Objects from Binocular Image Flows”, Computer Vision and Image Understanding, Vol. 63, No. 3, (1996): 430446. Watson A.B. & Ahumada A.J. “Model of human visual motion sensing”. Journal of the Optical Society of America A, 2 (2), (1985): 322-341. Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica [Wei04] [Wil89] [Wil91] [Wit87] [YiO97] [Yui88] [Zab94] [Zit00] Wei, Y. & Quan, L., “Region-Based Progressive Stereo Matching”. CVPR 2004, (2004). Wilson, R. & Knutsson, H., “A Multiresolution Stereopsis Algorithm Based on Gabor Representation”. Proceedings of the IEE International Conference on Image Processing and Applications. (1989): 19-22 Wildes, R. P. “Direct Recovery of Three-Dimensional Scene Geometry from Binocular Stereo Disparity”. IEEE Transactions on Pattern Analisis and Machine Intelligence. IEEE. (1991). Witkin, A. Terzopoulos, D. & Kass, M. “Signal Matching Through Scale Space”, International Journal of Computer Vision, vol. 1 (1987): 133-144. Yi, J. W. & Oh, J. H., “Recursive Resolveing Algorithm For Multiple Stereoand Motion Matches”, Image and Vision Computing, Vol. 15, no.3, (1997): 181-196. Yuille A.L. & Grzywacz N. “A computational theory for the perception of coherent visual motion”, Nature 333, (1988): 71-74. Zabih, R. & Woodfill, J. “Non Parametric Local Transforms for Computing Visual Correspondence”. Proceedings Third European Conference on Computer Vision”. (1994): 150-158. Zitnick, C. L. & Kanade, T., “A Cooperative Algorithm for Stereo Matching and Occlusion Detection”, IEEE Trans. on Pattern Analysis and Machine Intelligence, vol. 22, no.7, (2000) 7.3. Enlaces Web www.vison3d.com/stereo.html Punto de vista fisiológico. www.inria.fr/robotvis/demo/rkeriv/stereo.html Visión estéreo. www.merl.com/threads/vision/index.html Visión estéreo. server.esc.cquest.utoronto.ca/psych/psy280f/ch7/chaprter7.html Punto de vista psicológico. jsamper/webjump.com Apartado dedicado a la visión estéreo. www.dia.uned.es/ia/asignaturas/vision Visión artificial. 219 Bibliografía y Enlaces extra,cmis.csiro.au/IA/changs/stereo Matching mediante división en subregiones rectangulares. www.middlebury.edu/stereo Algunas comparativas interesantes de [Sch02]. www.shef.ac.uk/eee/esg/compvis/temporal_stereo.html Combinación de información espacial y temporal para análisis estereo. www.cs.ubc.ca/spider/jhoey/review/review.html Visión estereoscópica natural y artificial. www.ien.it/is/rec3d/index.shtml Reconstrucción 3D para manipulación autónoma. labvisione.deis.unibo.it/~smattoccia/stereo.htm Visión estéreo 220 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica ANEXO 221 Anexo Funciones de prueba en Matlab Segmentación en bandas de niveles de gris function BNGt=SegBNG(NGt, BNGt_1, L_NB, L_SB) escalon=256/L_NB; % Intervalo de bandas de niveles de gris % Limites de las bandas Emin=max((BNGt_1 * escalon) - L_SB, 0); %limites de las bandas Emax=min(((BNGt_1 + 1) * escalon) + L_SB, 255); % Deteccion de pixeles que cambian de banda % Los que no cambian de banda se ponen a cero supEmax=min(max(NGt - Emax, 0), 1); % 1 para todos los pixeles por encima de Emax infEmin=min(max(Emin - NGt, 0), 1); % 1 para los que esten por debajo de Emin % Nuevas bandas sin considerar solape BNGt=fix(NGt/escalon); % Consideracion del solape BNGt=BNGt_1 + ((BNGt - BNGt_1) .* (supEmax + infEmin)); 222 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Detección de movimiento 2D function MOV2 = DetMov2D(BNGt, BNGt_1) % Si no hay movimiento se pone a 0 % Resto a 1 MOV2=min(1, abs(BNGt-BNGt_1)); Obtención del Mapa de Carga 2D function C2 = MapCarga2D(C2t_1, MOV2, L_C2des) % Si no hay movimiento MOV2=0 % Si hay movimiento 1-MOV2=0 C2=max(0, (255 * MOV2 + ((1-MOV2) .* (C2t_1 - L_C2des)))); Separación de hemicampos visuales function [L_H2dd, L_H2id]=sepHemi_d(L_C2d, Hmax, L_Dmax) L_H2dd=L_C2d(:, round(Hmax/2)-L_Dmax : Hmax); % parte derecha L_H2id=L_C2d(:, 1:round(Hmax/2)); % parte izquierda function [L_H2di, L_H2ii]=sepHemi_i(L_C2i, Hmax, L_Dmax) L_H2di=L_C2i(:, round(Hmax/2)+1 : Hmax); % parte derecha L_H2ii=L_C2i(:, 1:round(Hmax/2)+L_Dmax); % parte izquierda 223 Anexo Análisis de correspondencias puntuales function L_Sa3d=CorresPunt_d(L_H2id, L_H2dd, d, L_Dmax, Hmax) L_Sa3d=abs(L_H2dd(:, L_Dmax+1-d:round(Hmax/2)+L_Dmax-d) - L_H2id); function L_Sa3i=CorresPunt_i(L_H2ii, L_H2di, d, L_Dmax, Hmax) L_Sa3i=abs(L_H2ii(:, 1+d:round(Hmax/2)+d) - L_H2di); Tamaño de regiones de disparidad constante function L_S3=TamRegion(L_Sa3, nulos, L_Dmax, Hmax, Vmax, L_umbral) % Conteo horizontal de cargas hacia "u" mayores L_S3(:,1)=max(min((L_umbral+1-L_Sa3(:,1)),1),0); % Carga actual de la primera columna for u=2:round(Hmax/2) % carga actual de las restantes columnas L_S3(:,u)=max(min((L_umbral+1-L_Sa3(:,u)),1),0); L_S3(:,u)=(L_S3(:,u)+L_S3(:,u-1)).*L_S3(:,u).*nulos(:,u); end % Homogeneizacion hacia "u" menores for u=round(Hmax/2)-1:-1:1 L_S3(:,u)=max(L_S3(:,u), L_S3(:,u+1)).*min(L_S3(:,u),1); end % Acumulacion de carga hacia "v" mayores for v=2:Vmax L_S3(v,:)=(L_S3(v,:)+L_S3(v-1,:)).*min(L_S3(v,:),1); end 224 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica % Homogeneizacion hacia "v" menores for v=Vmax-1:-1:1 L_S3(v,:)=max(L_S3(v,:), L_S3(v+1,:)).*min(L_S3(v,:),1); end Obtención del mapa de profundidad function L_D3=MapaProf(L_S3) [maximo L_D3] = max(L_S3, [], 3); Detección del movimiento 3D function L_MOV3 = DetMov3D(L_D3_t, L_D3_t_1, Hmax, Vmax, L_Dmax) % Si no hay movimiento se pone a 0 % Resto a 1 L_MOV3=zeros(Vmax, Hmax, L_Dmax+1); for v=1:Vmax for u=1:Hmax L_MOV3(v,u,L_D3_t(v,u))=min(1, abs(L_D3_t(v,u) - L_D3_t_1(v,u))); end end 225 Anexo Análisis de velocidades en el marco de referencia function L_vel_z=VeloProf(L_C3, L_D3, L_Dmax, Hmax, Vmax) L_vel_z=zeros(Vmax, Hmax); calc_vel=ones(Vmax, Hmax, 4); calc_vel(:,:,4)=0; finvel=Vmax*Hmax; hvel=waitbar(0,'Estimacion de velocidad. Espera, por favor...'); cuentavel=0; for v=1:Vmax for u=1:Hmax d=L_D3(v,u); cuenta=1; vector=zeros(L_Dmax, 2); for k=4:L_Dmax+1 % regresion de velocidad if L_C3(v,u,k)~=0 vector(cuenta,1)=L_C3(v,u,k); % carga vector(cuenta,2)=k; % disparidad cuenta=cuenta+1; end end if cuenta>2 [m ind]=max(vector(:,1)); if ind <= (cuenta/2) L_vel_z(v,u)=-1; else L_vel_z(v,u)=1; end end waitbar(cuentavel/finvel,hvel); cuentavel=cuentavel+1; end end close(hvel); 226 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Programa principal %------------------------------------------% inicializacion de nombres y numeros %------------------------------------------ent=['..\imagenes\pares3d\secuenciasLW\Pelota2\Pelota']; % ficheros de entrada ban=['pelota2\Bandas\Pelota']; % salida de segmentacion en bandas per=['pelota2\Perma\pelota']; % salida de memoria de permanencias salida=['pelota2\Salida\Pelota']; % salida estereo velocidad=['pelota2\veloz\Pelota']; % salida velocidad num_ini=1; num_fin=240; NB=8; SB=0; C2des=16; C3des=16; Dmin=0; Dmax=15; umbral=1; horizontal=0; vertical=0; % fotograma inicial % fotograma final % numero de bandas % solape entre bandas % carga de las memorias de permanencia 2D indoor(64-128) % carga de las memorias de permanencia 3D indoor(64-128) % resto(0),indoora(15),outdoora(15) % disparidad maxima detectable: Cubos(8),Pasillo(15), % Pelota(15),outdoora(32),outdoorb(16),indoora(30), % indoorb(21), CubosCerca(15), % umbral de diferencias para pixeles iguales % tamaños mascara de vecindad hfoto=waitbar(0,'Conteo de fotogramas. Espera, por favor...'); % -------------------------------------------------------------% preparacion del sistema con el primer fotograma % -------------------------------------------------------------nombre_d=[ent 'r0001.bmp']; nombre_i=[ent 'l0001.bmp']; NGd=imread(nombre_d); NGi=imread(nombre_i); 227 Anexo tam=size(NGd); if sum(tam)~=tam(1)+tam(2) NGd=rgb2gray(NGd); NGi=rgb2gray(NGi); end % eliminacion del color NGd=double(NGd); NGi=double(NGi); % segmentacion en bandas de nivel de gris BNGd_t_1=SegBNG(NGd, zeros(tam(1), tam(2)), NB, 0); BNGi_t_1=SegBNG(NGi, zeros(tam(1), tam(2)), NB, 0); % Inicializacion de mapas de carga C2d=zeros(tam(1), tam(2))+255; C2i=zeros(tam(1), tam(2))+255; D3_t_1=zeros(tam(1), tam(2)); C3=zeros(tam(1), tam(2), Dmax+1); % ---------------------------------------------------% Sucesion de fotogramas % ---------------------------------------------------for foto=num_ini+1:num_fin % Inicializacion de nombre de fotograma if foto < 10 resto_d=['r000' int2str(foto) '.bmp']; resto_i=['l000' int2str(foto) '.bmp']; resto=['000' int2str(foto) '.bmp']; elseif foto < 100 resto_d=['r00' int2str(foto) '.bmp']; resto_i=['l00' int2str(foto) '.bmp']; resto=['00' int2str(foto) '.bmp']; 228 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica elseif foto < 1000 resto_d=['r0' int2str(foto) '.bmp']; resto_i=['l0' int2str(foto) '.bmp']; resto=['0' int2str(foto) '.bmp']; else resto_d=['r' int2str(foto) '.bmp']; resto_i=['l' int2str(foto) '.bmp']; resto=['' int2str(foto) '.bmp']; end % Preparacion del fotograma actual NGd=imread([ent resto_d]); NGi=imread([ent resto_i]); if sum(tam)~=tam(1)+tam(2) NGd=rgb2gray(NGd); NGi=rgb2gray(NGi); end % Eliminacion del color NGd=double(NGd); NGi=double(NGi); % segmentacion en bandas BNGd_t=SegBNG(NGd, BNGd_t_1, NB, SB); BNGi_t=SegBNG(NGi, BNGi_t_1, NB, SB); imwrite(uint8(BNGd_t*256/NB), [ban resto_d], 'BMP'); %salida a fichero imwrite(uint8(BNGi_t*256/NB), [ban resto_i], 'BMP'); % Deteccion de movimiento MOV2d=DetMov2D(BNGd_t, BNGd_t_1); MOV2i=DetMov2D(BNGi_t, BNGi_t_1); 229 Anexo % Efecto de permanencia C2d=MapCarga2D(C2d, MOV2d, C2des); C2i=MapCarga2D(C2i, MOV2i, C2des); imwrite(uint8(C2d), [per resto_d], 'BMP'); % salida a fichero imwrite(uint8(C2i), [per resto_i], 'BMP'); % Separacion de hemicampos visuales [H2dd, H2id]=sepHemi_d(C2d, tam(2), Dmax); %imagen derecha [H2di, H2ii]=sepHemi_i(C2i, tam(2), Dmax); %imagen derecha % -------------------------------------------------------% Analisis de disparidad de carga % -------------------------------------------------------- % Inicializacion de variables S3d=zeros(tam(1), tam(2)/2, Dmax+1); % Mapa de correspondencias: tamaños S3i=zeros(tam(1), tam(2)/2, Dmax+1); % de regiones disparidad constante Sa3d=zeros(tam(1), tam(2)/2); % Mapa de correspondencias puntuales Sa3i=zeros(tam(1), tam(2)/2); % PARA UNA DISPARIDAD DADA % Barra de evolucion del bucle (inicializacion) h=waitbar(0,'Analisis de correspondencias. Espera, por favor...'); % Analisis para cada disparidad for i=Dmin:Dmax % Correspondencias puntuales Sa3d=CorresPunt_d(H2di, H2dd, i, Dmax, tam(2)); 230 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica Sa3i=CorresPunt_i(H2ii, H2id, i, Dmax, tam(2)); % Tamaño de regiones de disparidad constante nulos_d=max(min(H2dd(:,Dmax+1-i:(tam(2)/2)+Dmax-i)+H2di,1),0); nulos_i=max(min(H2ii(:,1+i:(tam(2)/2)+i)+H2id,1),0); % "nulos_*" contiene informacion de pixeles con movimiento S3d(:,:,i+1)=TamRegion(Sa3d, nulos_d, Dmax, tam(2), tam(1), umbral); S3i(:,:,i+1)=TamRegion(Sa3i, nulos_i, Dmax, tam(2), tam(1), umbral); waitbar(i/Dmax,h); end close(h) % mascara de vecindad if horizontal+vertical>0 mascara=zeros(2*vertical+1,2*horizontal+1); for y=1:2*vertical+1 for x=1:2*horizontal+1 mascara(y,x)=(1/2^abs(y-vertical-1))*(1/2^abs(x-horizontal-1)); end end clear final_i; clear final_d; for k=1:disp_max+1 final_d(:,:,k)=conv2(S3d(:,:,k), mascara); final_i(:,:,k)=conv2(S3i(:,:,k), mascara); end final_d=final_d(vertical:(tam(1)+vertical-1),horizontal:((tam(2)/2)+horizontal-1),:); final_i=final_i(vertical:(tam(1)+vertical-1),horizontal:((tam(2)/2)+horizontal-1),:); else final_d=S3d; final_i=S3i; end 231 Anexo % Obtencion del Mapa de Profundidad 3D % estimacion de disparidades con mas confianza D3d=MapaProf(final_d); D3i=MapaProf(final_i); % Unificacion de hemisferios en un mismo mundo visual D3_t=zeros(tam(1), tam(2)); D3_t(:,1:tam(2)/2)=D3i; D3_t(:,((tam(2)/2)+1):tam(2))=D3d; imwrite(uint8((D3_t-Dmin)*255/(Dmax-Dmin)), [salida resto], 'BMP'); % -------------------------------------------------% Obtencion del Mapa de Carga 3D % -------------------------------------------------% Deteccion de movimiento en Z MOV3=DetMov3D(D3_t, D3_t_1, tam(2), tam(1), Dmax); % Efecto de permanencia C3=MapCarga3D(C3, MOV3, C3des); % -------------------------------------------------% Obtencion del Movimiento 3D % -------------------------------------------------vel_z=VeloProf(C3, D3_t, Dmax, tam(2), tam(1)); imwrite(uint8(((vel_z/max(max(vel_z)))*127)+127), [velocidad resto], 'BMP'); % Fin del procesamiento de un fotograma y preparacion del siguiente BNGd_t_1=BNGd_t; 232 Estereopsis y Movimiento. Modelo de Disparidad de Carga: un Enfoque con Inspiración Biológica BNGi_t_1=BNGi_t; D3_t_1=D3_t; waitbar(foto/num_fin,hfoto); end close(hfoto); 233 Anexo 234