Vista previa del material en texto
Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey División de Electrónica, Computación, Información y Comunicaciones Programa de Graduados Detección de Profundidad en imágenes por medio de su Desenfoque y su implementación en un DSP TESIS Presentada como requisito parcial para obtener el grado académico de Maestro en Ciencias en Ingenieŕıa Electrónica especialidad en Telecomunicaciones por Ing. Alberto Llerena Bejarano Monterrey, N.L., Diciembre de 2005 Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey División de Electrónica, Computación, Información y Comunicaciones Programa de Graduados Los miembros del comité de tesis recomendamos que la presente tesis de Alberto Llerena Bejarano sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias en Ingenieŕıa Electrónica, especialidad en: Telecomunicaciones Comité de tesis: Dr. Ramón Mart́ın Rodŕıguez Dagnino Asesor de la tesis Dr. Gabriel Campuzano Treviño Sinodal Dr. José Ramón Rodŕıguez Cruz Sinodal Dr. David Garza Salazar Director del Programa de Graduados Diciembre de 2005 Detección de Profundidad en imágenes por medio de su Desenfoque y su implementación en un DSP por Ing. Alberto Llerena Bejarano Tesis Presentada al Programa de Graduados en Electrónica, Computación, Información y Comunicaciones como requisito parcial para obtener el grado académico de Maestro en Ciencias en Ingenieŕıa Electrónica especialidad en Telecomunicaciones Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey Monterrey, N.L. Diciembre de 2005 A mis padres. Reconocimientos A mis padres por todo su apoyo y por hacer de mi la persona que soy. Al Dr. Ramón Mart́ın Rodŕıguez Dagnino por motivarme a incursionar en esta investigación, por la confianza que siempre me brindó y por su gran gúıa y orientación a lo largo de esta tesis. A mi amigo Aldo Hernández quien colaboró con los inicios de esta investigación. A mi amigo Ricardo Neri por compartir conmigo sus conocimientos en el área de DSP’s. Alberto Llerena Bejarano Instituto Tecnológico y de Estudios Superiores de Monterrey Diciembre 2005 vi Detección de Profundidad en imágenes por medio de su Desenfoque y su implementación en un DSP Alberto Llerena Bejarano, M.C. Instituto Tecnológico y de Estudios Superiores de Monterrey, 2005 Asesor de la tesis: Dr. Ramón Mart́ın Rodŕıguez Dagnino Dentro de la visión robótica hay un gran interés por desarrollar algoritmos y/o mejoras para poder calcular profundidad (3D) partiendo de imágenes, las cuales son de dos dimensiones (2D). Existen principalmente métodos estereoscópicos y monoscópicos para realizar dicha tarea. Los métodos estereoscópicos están inspirados en la visión humana, la cual utiliza dos puntos de vista para estimar la profundidad de la escena, mientras que los métodos monoscópicos utilizan un solo punto de vista de la escena, como el de Depth From Defocus (DFD), que mediante el grado de desenfoque que pre- senta la imagen se puede estimar la profundidad. En este trabajo se da una explicación detallada del método de DFD aśı como un análisis y comparación de dos de las más importantes y eficientes técnicas de DFD que hasta ahora se conocen, y aśı mismo se realiza la implementación del algoritmo de este método en el DSP TMS320C6416 de Texas Instruments que permitirá mejorar la eficiencia del procesamiento, utilizando también equipo de video especializado para poder realizar la captura de las imágenes. En este trabajo proponemos filtros no lineales con los cuales se obtienen mejoras a los resultados publicados. Índice general Reconocimientos VI Resumen VII Índice de figuras X Caṕıtulo 1. Introducción 1 Caṕıtulo 2. Detección de Profundidad por medio del Desenfoque 5 2.1. Análisis en el dominio del espacio . . . . . . . . . . . . . . . . . . . . . 9 2.2. Análisis en el dominio de la frecuencia . . . . . . . . . . . . . . . . . . 11 2.3. Problemáticas f́ısicas y de implementación . . . . . . . . . . . . . . . . 14 2.3.1. Iluminación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.2. Aberraciones de la lente . . . . . . . . . . . . . . . . . . . . . . 14 2.3.3. Ruido del sensor . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3.4. Captura de las imágenes . . . . . . . . . . . . . . . . . . . . . . 15 2.3.5. Magnificación óptica . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.6. Problema del vignetting . . . . . . . . . . . . . . . . . . . . . . 18 2.4. Métodos relevantes de Depth from Defocus . . . . . . . . . . . . . . . . 18 2.4.1. Depth from Defocus mediante la Transformada espacial . . . . . 18 2.4.2. Depth from Defocus mediante Filtros Racionales . . . . . . . . 27 Caṕıtulo 3. Implementación 39 3.1. Imágenes Sintéticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.2. Imágenes Reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.3. Fuentes de error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Caṕıtulo 4. Conclusiones 50 Apéndice A. Fundamentos de Óptica 52 A.1. Caracteŕısticas de una lente . . . . . . . . . . . . . . . . . . . . . . . . 52 A.1.1. Distancia Focal . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 A.1.2. Profundidad de Campo . . . . . . . . . . . . . . . . . . . . . . . 53 viii A.1.3. Apertura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 A.1.4. Ecuación de la lente . . . . . . . . . . . . . . . . . . . . . . . . 55 A.1.5. Distancia focal para un sistema de lentes . . . . . . . . . . . . . 56 A.2. Point Spread Function . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 A.2.1. Modelo del Pillbox . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.2.2. Modelo de Gauss bidimensional . . . . . . . . . . . . . . . . . . 60 Apéndice B. Equipo 62 Bibliograf́ıa 64 Vita 66 ix Índice de figuras 2.1. Desenfoque en una imagen formada por una lente. . . . . . . . . . . . . 6 2.2. Obtención de la distancia d. . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Dos puntos p1 y p2 presentando el mismo radio de desenfoque R . . . . 9 2.4. Modelo del pillbox en el dominio del espacio. . . . . . . . . . . . . . . . 11 2.5. Modelo del pillbox en el dominio de la frecuencia espacial . . . . . . . . 12 2.6. Gráficas del modelo del pillbox para varios valores de R en funcion de fr 13 2.7. Captura simultánea de las dos imágenes . . . . . . . . . . . . . . . . . 16 2.8. Óptica telecéntrica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.9. Ilustración de α y las distancias (1± α)e . . . . . . . . . . . . . . . . . 28 2.10. Gráficas de M P para varios valores de fr en función de α . . . . . . . . . 31 2.11. Coeficientes racionales en función de fr obtenidos para el modelo prop- uesto de M P y escalados para su mejor ilustración [20] . . . . . . . . . . 34 3.1. Diagrama a bloques del algoritmo implementado . . . . . . . . . . . . . 40 3.2. Imágenes i1(x, y), i2(x, y) simuladas computacionalmente . . . . . . . . 41 3.3. Mapa de 3D, resultado del algoritmo para las imágenes sintéticas . . . 42 3.4. Imágenes simuladas i1(x, y), i2(x, y) con textura real y desenfoque sintético 42 3.5. Mapa de 3D para las imágenes de textura real y desenfoque sintético . 43 3.6. Imágenes de enfoque lejano y cercano de un objeto real . . . . . . . . . 43 3.7. Imágenes de enfoque lejano y cercano de un objeto real . . . . . . . . . 44 3.8. Efectividad del filtro Gaussiano . . . . . . . . . . . . . . . . . . . . . . 45 3.9. Efectividad del suavizado . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.10. Efectividad del filtro de moda . . . . . . . . . . . . . . . . . . . . . . . 46 3.11. Efectividad para filtros de mediana de diferente tamaño . . . . . . . . . 47 3.12. Filtrode mediana seleccionado . . . . . . . . . . . . . . . . . . . . . . . 47 3.13. Diagrama a bloques del algoritmo sugerido . . . . . . . . . . . . . . . . 48 A.1. Formación de una imagen por medio de una lente . . . . . . . . . . . . 53 A.2. Distancia Focal de una lente. . . . . . . . . . . . . . . . . . . . . . . . . 54 A.3. Profundidad de Campo de una lente. . . . . . . . . . . . . . . . . . . . 54 A.4. Ecuación de una lente. . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 A.5. Sistema conformado por 2 lentes. . . . . . . . . . . . . . . . . . . . . . 57 x A.6. Desenfoque en una imagen. . . . . . . . . . . . . . . . . . . . . . . . . . 58 A.7. Modelo del pillbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.8. Modelo Gaussiano de dos dimensiones . . . . . . . . . . . . . . . . . . 61 B.1. Equipo de video en funcionamiento . . . . . . . . . . . . . . . . . . . . 62 xi Caṕıtulo 1 Introducción La intención de obtener la profundidad en una escena, nace de la necesidad de muchos sistemas de contar con información más completa acerca del entorno que anal- izan, para poder realizar procesos más especializados y/o eficientes. Este es uno de los problemas más atractivos dentro de la visión robótica. La primer idea de estimación de profundidad, o bien, tercera dimensión (3D) está inspirada en la visión humana, la cual es una visión estéreo [1]. Los seres humanos usamos la estereoscoṕıa, en donde tenemos la capacidad de reconocer distancias y formas de objetos en la escena que estamos viendo, gracias a los dos puntos de vista que cada uno de nuestros ojos nos proporciona, y es el cerebro el encargado de extraer la profundidad para darnos la noción de 3D. Se han desarrollado algoritmos que usan el principio de estereoscoṕıa para detectar la profundidad. Existen otras técnicas también basadas en estereoscoṕıa, como la de detección de profundidad mediante secuencias de imágenes [3], en donde se analiza el movimiento relativo entre los objetos para poder calcular las distancias que tienen con respecto al punto de vista. En este caso, se utilizan más de dos imágenes para el análisis. Los métodos estereoscópicos presentan un problema inherente a su naturaleza, el cual es la correspondencia entre sus dos o más imágenes, ya que los algoritmos deben ser capaces de identificar el mismo objeto en las diferentes imágenes aunque tenga una distinta posición para cada imagen, y esto puede significar extensos recursos computacionales. Los métodos monoscópicos, utilizan un solo punto de vista para detectar la pro- fundidad. Se basan en caracteŕısticas ópticas, como lo puede ser el grado de enfoque o desenfoque que se presenta en una imagen debido a la naturaleza de la lente con la cual se forma. Aunque no es tan expĺıcito, se ha demostrado que además de la visión estéreo los seres humanos utilizamos también la información de desenfoque para la noción de la profundidad [4], [5]. El método de Depth From Focus (DFF) estima las distancias de objetos en imágenes analizando su enfoque y utiliza varias imágenes de la escena con diferentes ajustes en 1 la lente, aunque todas desde el mismo punto de vista [2], [6], [7], [8], [9]. Depth From Defocus (DFD) es otro método monoscópico que se basa en el grado de desenfoque que presentan los objetos en una imagen [4], [12], [18], [13], [19], [20], [21]. En este método se utilizan desde dos imágenes con diferentes ajustes de la lente tomadas desde el mismo punto de vista. En los métodos monoscópicos se evita el problema de la correspondencia entre imágenes, ya que los objetos siempre estarán ubicados exactamente en la misma posición, aunque con distinto desenfoque. Estas dos técnicas monoscópicas analizan el hecho de que existe una relación entre el grado de desenfoque o enfoque que un objeto presenta en una imagen y su distancia con respecto a la lente a través de la cual dicha imagen fue formada. Si se conocen los parámetros que tiene la lente, se puede saber la distancia a la cual los objetos estarán enfocados en la imagen que dicha lente proyecta, y este es el principio básico de DFF, en donde se deberán capturar varias imágenes con variaciones en los parámetros de la lente para producir distancias de enfoque ligeramente distintas entre śı y consecutivas, de esta manera, para cada ṕıxel, se puede determinar la distancia de enfoque mediante el contraste que presenta, y aśı obtener un estimado de profundidad. Cuando los objetos están desenfocados, es por que se encuentran a diferente dis- tancia de la distancia de enfoque, y dependiendo de que tan lejos o cerca estén de esta distancia de enfoque, los objetos se verán más o menos desenfocados, respectivamente, en la imagen formada. Por lo tanto, si se mide la cantidad o grado de desenfoque que presenta cada objeto, se puede conocer su distancia a la lente, y este es el principio básico de DFD. Sin embargo, medir el grado de desenfoque en una sola imagen no es suficiente, ya que dos objetos a diferentes distancias de la lente pueden presentar la misma cantidad de desenfoque en la imagen proyectada, dependiendo si se encuentran más atrás o más adelante de la distancia de enfoque. Además, no se puede asegurar si un objeto ”borroso”en la imagen se ve aśı por estar desenfocado o simplemente por que el objeto es aśı aunque esté perfectamente enfocado. Es por esto que se necesita al menos una segunda imagen con distintos parámetros de la lente, para tener una referencia. La diferencia que existe entre los diferentes algoritmos de DFD radica en la man- era en que se mide el grado o cantidad de desenfoque. Distintos investigadores han desarrollado algoritmos para realizar dicha tarea. Pentland [4] llamó gradiente focal a la variación de desenfoque que se presenta a lo largo de una escena y que depende de su distancia o profundidad. Propuso dos algoritmos; en el primero, en lugar de utilizar una segunda imagen con distintos parámetros, analizaba la información de los bordes como alternativa; en el segundo algoritmo, la segunda imagen era tomada con una cámara que tiene apertura mı́nima en la lente conocida como cámara pinhole, de tal manera 2 que esta segunda imagen no presentaŕıa desenfoque, ya que a menor apertura la pro- fundidad de campo aumenta1, y aśı se resolv́ıa su sistema de ecuaciones de una manera simple. Aunque estos algoritmos fueron muy innovadores, siendo tal vez los primeros en el área, se pod́ıa mejorar la eficiencia de sus resultados. Subbarao hizo varios trabajos acerca de DFD, pero se pueden destacar dos rele- vantes. En [12] desarrolló un método en donde obtiene una ecuación cuadrática para el parámetro de esparcimiento o spread parameter en el dominio de Fourier mediante la densidad espectral de potencia del par de imágenes y la ecuación de la lente. El parámetro de distribución proviene de la Point Spread Function (PSF), la cual se dis- cute en el apéndice. Al resolver la ecuación cuadrática se puede obtener un estimado de profundidad mediante el parámetro de distribución. En [13] Subbarao y Surya aplicaron para DFD una transformada en el dominio espacial que Subbarao desarrolló en [14] y llamó Spatial Transform Method (STM). A través de esta transformada, obtienen una expresión muy conveniente y simplificada en donde se utiliza el operador Laplaciano. Este último trabajo de DFD es muy ingenioso, en el siguiente caṕıtulo se analizará con detalle. Ens y Lawrence [18] propusieron un algoritmo también en el dominio espacial, en el cual obtienen mediante iteraciones una matriz de convolución, de tal manera que la convolución, valga la redundancia, entre esta matriz y una de las dos imágenes da como resultado la otra de las imágenes. Al final, la matriz de convolución obtenida representa el desenfoque relativo entre el par de imágenes, con el cual se estima la profundidad. Aunqueel algoritmo proporciona un buen cálculo de profundidad, su naturaleza iterativa utiliza muchos recursos computacionales. Watanabe y Nayar hicieron trabajos muy eficientes de DFD. En [20] modelan el desenfoque de la imagen como una función racional de dos combinaciones lineales de funciones base en el dominio de la frecuencia, de donde obtienen un conjunto de oper- adores racionales, los cuales son pequeños kernels de banda ancha. La salida de estos operadores son coeficientes del par de imágenes con los cuales se obtiene el estimado de profundidad con una alta resolución espacial. En [21], realizan una implementación en tiempo real que utiliza una proyección de iluminación de patrones de textura a la escena, convirtiéndola en un entorno controlado. Mediante la proyección de dicha luz, tienen control sobre las componentes de frecuencia dominantes de las texturas en la escena, evitando el problema de tener un rango amplio en el espectro, enfocando aśı el análisis a tan sólo las frecuencias fundamentales de dichos patrones de luz. Con un algoritmo relativamente rápido, desde el punto de vista computacional, son capaces de estimar mapas de profundidad de resolución aceptable a 30 cuadros por segundo, y 1En el apéndice se presenta una explicación de los conceptos de óptica necesarios dentro de esta tesis. 3 desplegándolos en formato de video, logrando aśı una implementación en tiempo real muy impresionante. Hasta ahora, hemos visto un panorama general de los métodos de DFD que se podŕıan considerar como los más relevantes. Este trabajo se concentrará a partir de ahora en los algoritmos de Subbarao y Surya [13] y de Watanabe y Nayar [20]. En el Caṕıtulo 2 se profundiza un poco más en los detalles y problemáticas relacionadas a la técnica de DFD en general, y se analizarán con detalle los dos métodos elegidos, intentando dar una mejor visión de lo que se muestra en sus respectivas literaturas. En el Caṕıtulo 3 se presentan y discuten los resultados de la simulación de un algoritmo de DFD. Por último, en el caṕıtulo 4 se presentan las conclusiones de esta investigación. Además, se incluyen dos Apéndices, en el Apéndice A se hace una introducción a algunos fundamentos de óptica necesarios para los desarrollos que se muestran en este trabajo, y en el Apéndice B se presentan las caracteŕısticas del DSP que se utilizó para implementar estos algoritmos, aśı como del equipo de video con el que fueron realizados los experimentos. 4 Caṕıtulo 2 Detección de Profundidad por medio del Desenfoque En el Caṕıtulo anterior se dio una breve descripción de la detección de profundidad por medio de desenfoque y se mencionaron las caracteŕısticas generales de algunos trabajos en el área que se consideran relevantes. En este Caṕıtulo veremos un análisis más profundo y formal de este método. Los métodos de detección de profundidad en general, no sólo los de DFD, se pueden dividir en dos tipos; métodos pasivos y métodos activos. Los métodos activos afectan de alguna manera la escena de la cual se quiere obtener el cálculo de profundidad, y aunque esto representa la gran ventaja de que reduce cuantiosamente la complejidad de los algoritmos, tiene la desventaja de tener que condicionar, por aśı decirlo, la escena en cuestión, como en lugares cerrados con condiciones conocidas e información a priori de las caracteŕısticas de la escena. Por otro lado, los métodos pasivos son los que no afectan la escena, y deben ser capaces de analizar cualquier, o casi cualquier tipo de entorno, sin tener limitantes considerables. Esto es una gran ventaja, pero el costo es que se requiere de un análisis f́ısico y matemático mucho más minucioso, ya que se tienen que considerar todos los detalles debido a la incertidumbre que se tiene del entorno. La visión humana, por ejemplo, es pasiva, ya que los seres humanos no hacemos modificaciones a la escena que estamos viendo. Existe un mayor interés en la investigación por los métodos pasivos, por ser más robustos y más completos que los activos, aunque en el mundo de la industria, para muchas de las aplicaciones el entorno es conocido, y un método activo es suficiente, además de que puede ofrecer tal vez mejores resultados que los métodos pasivos, debido al control que se tiene de la escena. Sin embargo, los métodos activos de alguna manera son casos particulares de los más generales métodos pasivos, por lo tanto, lo ideal es poder desarrollar los métodos pasivos, y adaptarlos dependiendo el caso. La técnica de DFD dećıamos, está fundamentada en que una imagen formada por una lente contiene información de la profundidad, y esta información está en el 5 desenfoque. Para formalizarnos con esta idea, necesitamos encontrar una relación entre la distancia que existe entre los objetos y la lente, y la cantidad de desenfoque en la imagen. Partimos de la ecuación de la lente (ver Apéndice): 1 F = 1 d + 1 d′ (2.1) donde F es la distancia focal, d es la distancia de un punto en la escena a la lente y d′ es la distancia de la lente al plano de la imagen donde el punto presenta su enfoque perfecto, como se muestra en la Figura 2.1. Esta ecuación nos dice que, si conocemos la distancia focal de la lente y la distancia que existe de la lente al plano de la imagen o sensor, podemos saber la distancia a la cual estaŕıan los objetos enfocados para dicho plano de la imagen. Figura 2.1: Desenfoque en una imagen formada por una lente. Tal y como se ve en la Figura 2.1, el desenfoque se produce al colocar el plano o sensor de la imagen detrás o delante del plano de perfecto enfoque. El desenfoque se forma cuando la luz proveniente de un punto en la escena en lugar de converger a un solo punto en un plano de la imagen, se esparce en una pequeña región. Como la apertura de un diafragma es normalmente circular, la región en donde se esparce la luz, 6 que es la región de desenfoque, es un circulo que en la Figura 2.1 tiene un radio R. El punto p se proyecta a través de la lente en tres posibles planos, los cuales dan lugar a tres imágenes; una de enfoque perfecto a una distancia d′, y las otros dos de desenfoque a las distancias d′1 y d ′ 2, y R es el radio de desenfoque, el cual es proporcional al valor absoluto de la distancia que existe entre el plano de enfoque y el plano de desenfoque. Figura 2.2: Obtención de la distancia d. De la Figura 2.2 mediante triángulos semejantes, podemos encontrar una relación directa entre el radio de desenfoque R y la distancia que nos da la profundidad d. Aunque en la Figura 2.2 se muestra el desenfoque de radio R para el plano que se encuentra a la distancia s, se puede realizar el análisis para cualquier plano que tenga cuaquier distancia s distinta a la distancia de enfoque d′: d′ D/2 = s− d′ R d′ ( 1 D/2 + 1 R ) = s R d′ = sD/2 R + D/2 (2.2) 7 Nótese que d′ puede ser negativa si s < d′, como por ejemplo si s = d′1 en la Figura 2.1. Si sustituimos esta última ecuación en la ecuación de la lente (2.1) podemos eliminar d′, y resolviendo para d obtenemos: 1 F = 1 d + R + D/2 sD/2 1 d = sD/2− F (R + D/2) FsD/2 1 d = 1 F − 1 s − R sD/2 d = 1 1 F − 1 s − R sD/2 (2.3) La cual es una ecuación donde conocemos todas las variables del lado derecho excepto por el radio de desenfoque R. De la ecuación del número f (ver Apéndice) tenemos: D = F f/# (2.4) donde f/# es el número f de la apertura de la lente. Sustituyendo (2.4) en (2.3): d = 1 1 F − 1 s − 2 f/# sF R (2.5) La cual es una relación mejor estructurada en donde del lado derecho solo de- sconocemos el radio R. De esta manera, para obtener la profundidad d del punto p en una escena, sólo necesitamos estimar el radio R del desenfoque en la ecuación (2.5), y este es el problema principal a resolver en DFD. Como se comentó en el Caṕıtulo 1, para medir el desenfoque, es decirR, no es suficiente tener una sola imagen, ya que dos objetos a diferentes distancias de la lente pueden presentar el mismo radio R de desenfoque, dependiendo si los objetos están detrás o delante del objeto que tiene perfecto enfoque en el plano del sensor, como se muestra en la Figura 2.3. Por otro lado, un objeto en la imagen puede tener textura o apariencia borrosa independientemente del desenfoque que agregue la lente, como por ejemplo si en uno de los objetos es una foto desenfocada, a pesar de que el objeto es plano, presenta apariencia de desenfoque. El uso de una segunda imagen permite tener 8 Figura 2.3: Dos puntos p1 y p2 presentando el mismo radio de desenfoque R una referencia. Algunas técnicas utilizan más de dos imágenes para hacer sus algoritmos más robustos. Para obtener dos imágenes con distinto enfoque, los parámetros que se pueden variar son: el diámetro D de la apertura; la distancia s que existe entre la lente y el plano del sensor; y si se trata de un sistema de lentes, una variación de s provoca un cambio en la distancia l que existe entre las dos lentes (ver Apéndice) y por consiguiente provoca un cambio en la distancia focal F del sistema de lentes. Hay distintas maneras de atacar el problema de DFD. Se pueden enunciar tres for- mas en general: Análisis en el dominio del espacio; análisis en el dominio de la frecuencia y; análisis estad́ıstico. Nos enfocaremos en los primeros dos, dando una explicación de los fundamentos de ambas perspectivas. 2.1. Análisis en el dominio del espacio Como ya se dijo, en una imagen con desenfoque la luz o enerǵıa proveniente de un punto se distribuye en la región de desenfoque con radio R. Dado que toda la información con la que se cuenta se encuentra en dominio del espacio, se puede trabajar directamente con ella sin hacer transformaciones de dominio. Básicamente, en el análisis dentro del dominio del espacio, se debe medir de alguna forma la relación entre ṕıxeles en pequeñas regiones en las cuales se encuentra el desenfoque. 9 Para hacer un análisis mas formal, se necesita modelar el efecto que tiene la lente en la imagen, y esto se hace por medio de la Point Spread Function (PSF) (ver Apéndice), la cual representa la función de transferencia de la luz al pasar por la lente y ser proyectada en un plano, formando una imagen con desenfoque. Para una imagen en un sistema invariante en el espacio se tendŕıa la siguiente convolución: id(x, y, R) = i(x, y) ∗ h(x, y) (2.6) donde id(x, y, R) representa a la imagen desenfocada, i(x, y) a la imagen enfocada, h(x, y) la PSF y ∗ denota la convolución. Pero como una imagen desenfocada es producto de un sistema variante en el espacio, ya que el radio del desenfoque R vaŕıa de ṕıxel a ṕıxel dependiendo de la profundidad, la ecuación (2.6) no es estrictamente válida. Sin embargo, si asumimos que el desenfoque, o bien R, es constante en una pequeña región, ya que el desenfoque no vaŕıa abruptamente, la convolución puede considerarse válida dentro de esa pequeña región. Tomaremos como base el modelo del pillbox para aproximar la PSF de la lente. Este modelo es un cilindro de radio R y de volumen unitario. El pillbox se representa mediante la siguiente ecuación en el dominio del espacio (ver Apéndice): h(x, y, R) = 1 πR2 rect (√ x2 + y2 2R ) (2.7) donde x, y son las dimensiones espaciales del plano de la imagen, R es el radio de desenfoque y rect representa la función rectangular. En el modelo del pillbox, se asume que la luz se distribuye uniformemente en la región de desenfoque. La gráfica del modelo del pillbox en el dominio espacial se muestra en la Figura 2.4. De tal manera que en la imagen, la información de la luz está esparcida en grupos de ṕıxeles, por lo que se debe estimar el grado de desenfoque para cada ṕıxel o pequeña región en la imagen. En los algoritmos, esto se hace encontrando una diferencia o variación de enfoque relativo entre el par de imágenes con diferentes parámetros, y si se logra medir esta variación, se puede obtener R. Si de alguna forma, se pudiese realizar una convolución inversa en la relacion (2.6), se podŕıan obtener estimados de R mediante la PSF. El uso de máscaras o kernels pequeños, del tamaño aproximado donde las imágenes se consideran invariantes en el espacio, es común en los algoritmos 10 Figura 2.4: Modelo del pillbox en el dominio del espacio. basados en el dominio espacial. Esta es la perspectiva a grandes rasgos que utilizan los métodos fundamentados en este tipo de análisis. Mas adelante en este Caṕıtulo, se analizará una técnica basada en estos principios. 2.2. Análisis en el dominio de la frecuencia Una imagen con desenfoque, a simple vista, presenta menos contraste que la misma imagen cuando está enfocada. Desde el punto de vista de la frecuencia espacial, esto quiere decir que el espectro de una imagen enfocada tiene mayor ancho de banda que el de la misma imagen desenfocada. Las técnicas de DFD que utilizan el análisis frecuencial se basan en este hecho. Para formalizar esta perspectiva, necesitamos transformar la información que tenemos al dominio de la frecuencia. En el dominio de Fourier, por el teorema de la convolución, podemos expresar la ecuación (2.6) de la siguiente manera: Id(u, v, R) = I(u, v) ·H(u, v) (2.8) donde u, v son los parámetros de frecuencia espacial en las direcciones de x, y respecti- vamente, y es válida únicamente bajo las condiciones antes mencionadas de suposición de invarianza en el espacio en pequeños segmentos de la imagen. 11 Transformamos ahora el modelo del pillbox de la ecuación (2.7) del dominio espa- cial al dominio de Fourier, obteniendo lo siguiente: H(u, v, R) = 1 πR √ u2 + v2 J1 ( 2πR √ u2 + v2 ) (2.9) donde J1 representa la función Bessel del primer tipo y primer orden. La función Bessel tiene una forma de filtro paso bajo, por lo que es evidente de la ecuación (2.9) que el pillbox actúa como tal. En la Figura 2.5 graficamos la función en (2.9) centrando el origen, y podemos observar claramente el efecto de filtro paso bajo en el dominio de la frecuencia. Figura 2.5: Modelo del pillbox en el dominio de la frecuencia espacial Podemos realizar un corte transversal en la Figura 2.5 para ver el efecto del filtro paso bajo de una manera distinta, sin afectar la forma del modelo pues el pillbox es rotacionalmente simétrico. Podemos cambiar entonces el sistema de coordenadas del dominio de la frecuencia espacial a coordenadas polares (fr, fθ) donde fr es la frecuencia radial dada por fr = √ u2 + v2, y fθ es el ángulo a la cual la frecuencia radial es expresada, el cual por la simetŕıa rotacional, fr será constante para todos los valores de fθ. En la Figura 2.6 se grafica el modelo del pillbox de (2.9) en función de la frecuencia radial fr para varios valores de R, y podemos apreciar que la gráfica con la mayor cáıda es aquella para un radio de desenfoque R mayor. Ya se mostró que desde el punto de vista de la frecuencia, el desenfoque es un filtro paso bajo de forma determinada. Este filtro paso bajo actúa de diferente manera en cada ṕıxel de la imagen, y esto dependerá del grado de desenfoque, ya que a mayor desenfoque 12 Figura 2.6: Gráficas del modelo del pillbox para varios valores de R en funcion de fr 13 el filtrado es mayor. Entonces, para poder calcular el nivel o grado de desenfoque en cada ṕıxel de la imagen partiendo de estos principios frecuenciales, se necesitaŕıa de alguna manera medir los grados de filtraje que existen en cada ṕıxel o bien grupos de ṕıxeles de la imagen. Si se pudiera obtener esta información, se pueden establecer relaciones entre el grado de filtraje y el grado de desenfoque, y posteriormente obtener la profundidad. Este es, a grandes rasgos, el enfoque frecuencial que se utiliza para atacar el problema de DFD. Más adelante en este Caṕıtulo, se analizaráuna técnica basada en el dominio de la frecuencia espacial. 2.3. Problemáticas f́ısicas y de implementación Dentro del desarrollo de las técnicas de DFD nos encontramos con problemas f́ısicos y ópticos inherentes al método, los cuales son fuentes de error en los resultados. 2.3.1. Iluminación La iluminación de la escena al momento de capturar las imágenes es esencial para la calidad de las mismas. Como la formación de la imagen es debida a la luz que refleja la escena y que es recolectada por la lente, una mala iluminación es indeseable en las imágenes a utilizar en los algoritmos. Se puede llegar a pensar que en un método originalmente pasivo, al controlar la iluminación de la escena estaŕıamos cayendo en un método activo de DFD, sin embargo, como la iluminación es independiente de los objetos que hay en la escena, es decir, la iluminación es la misma siempre, y no cambia las caracteŕısticas espaciales o de frecuencia espacial de la escena mas que la cantidad de luz que reflejan, entonces no se cae en un método activo cuando se proporciona al entorno una buena iluminación. Ya que se necesitan mı́nimo dos imágenes de la escena con diferentes parámetros, si esas imágenes no son tomadas simultáneamente, puede también existir una variación en la iluminación de la escena durante el tiempo que existe entre la captura de cada imagen. Si las imágenes son capturadas simultáneamente, no existe este problema. Colocando alguna fuente de luz con buena intensidad y que asegure no tener variaciones en la iluminación, se pueden controlar en cierto grado estas problemáticas. 2.3.2. Aberraciones de la lente La lente es un cristal pulido con una superficie esférica en cada lado, formando aśı su forma convexa. Hasta ahora hemos hecho suposiciones ideales del efecto que tiene la luz en la lente, pero en realidad las lentes pueden tener defectos en el sentido f́ısico, 14 llamados también aberraciones, las cuales causan que la proyección de la luz no sea en la dirección correcta, es decir, que la luz proveniente de la imagen no siempre se proyectará a través de la lente en la dirección en la cual debe incidir en el plano de la imagen. Por otro lado, la lente puede absorber luz en el proceso, es decir, que no toda la luz que ”entra”en la lente es proyectada. Desde el punto de vista matemático, esto quiere decir que la función de transferencia de la lente, es decir, la PSF tiene una ganancia digamos menor a uno, ocasionando que no toda la luz de entrada llegue a la salida. En una lente sin pérdidas, en donde la lente no absorbe luz, la PSF cumple lo siguiente:∫ ∫ h(x, y) dx dy = 1 (2.10) La mayoŕıa de las veces estos dos problemas no afectan de una manera relevante la imagen, pero debe tomarse en cuenta al realizar las pruebas antes de ser ignorados. 2.3.3. Ruido del sensor En la captura de una imagen digital, como es el caso de las imágenes que se utilizan en los algoritmos de DFD, se utiliza un sensor de imagen llamado CCD, por sus siglas en inglés charge-couple device, el cual muestrea la luz que forma la imagen, y éste puede añadir ruido en su proceso de cuantización. Una manera de atacar este problema en una imagen, es tomando varias veces la imagen controlando que no haya cambios en la escena, y promediar el conjunto de imágenes, de esta manera, el ruido proveniente del CCD se disminuiŕıa. Esta solución requiere de más tiempo para la toma de las imágenes, pero es útil cuando nuestra principal fuente de ruido es el CCD. 2.3.4. Captura de las imágenes La captura de las imágenes se puede hacer de dos maneras; consecutiva o si- multáneamente. Debido a que se necesita cambiar los parámetros de la lente entre una imagen y la otra, el hacerlo manualmente puede afectar la posición de la cámara modi- ficando aśı el área de la escena, además de que esto no puede ser incluido en un sistema que se requiera automático. Una manera de tomar las fotos consecutivamente de forma automática, es utilizando una lente motorizada, la cual es una lente en las que se puede variar los parámetros electrónicamente. El problema es el tiempo de captura de las imágenes, ya que se tiene que esperar a que la lente ajuste sus parámetros antes de que se capture la segunda imagen, y muchas veces las lentes motorizadas no son muy rápidas, algunos modelos pueden necesitar hasta 1 ó 2 segundos para ajustar correcta- mente sus parámetros. Si además, el problema de ruido en el CCD se ataca mediante la 15 captura repetida para cada una de las dos imágenes, el tiempo total de captura puede crecer demasiado. El tiempo máximo permitido del funcionamiento del algoritmo en total dependerá de la aplicación. La ventaja de la lente motorizada, es que se tiene un solo CCD y una sola lente. Para capturar las imágenes simultáneamente, se necesitan dos CCD’s, colocando un semi-espejo detrás de la lente, el cual es un espejo que refleja la mitad de la luz incidente y deja pasar la otra mitad, de tal manera que la luz que proviene de la imagen llega a dos CCD distintos con parámetros de la lente diferentes, como lo puede ser la distancia de la lente al sensor, como se muestra en la Figura 2.7, en donde la distancia total de la lente al primer CCD depende de a y la distancia al segundo sensor depende de b. De esta manera, se tienen dos CCD’s y un solo punto de vista, respetando aśı el principio de monoscoṕıa. Figura 2.7: Captura simultánea de las dos imágenes La ventaja es que el tiempo de captura de las imágenes es cuantiosamente menor que cuando se utiliza una lente motorizada, la desventaja es que se necesitan dos CCD’s y una implementación capaz de capturar y procesar las imágenes simultáneamente. 16 2.3.5. Magnificación óptica La magnificación óptica es el cambio entre el tamaño original de un objeto y el tamaño que presenta en la imagen. Esta magnificación es proporcional a la distancia que hay entre la lente y el sensor de la imagen. Un ejemplo de este fenómeno es cuando se toma la fotograf́ıa de una calle recta desde el centro y en dirección de la misma; las ĺıneas laterales de la calle, para una distancia muy lejana, parecen juntarse en un punto de la imagen, que en geometŕıa proyectiva se conoce como vanishing point. La magnificación en śı no es un problema, pero ya que en DFD se necesitan dos imágenes iguales pero con distinto desenfoque, cuando se cambia el enfoque entre una y otra imagen cambia también la magnificación si el parámetro que se vaŕıa es la distancia entre la lente y el sensor de la imagen, dando como resultado que las dos imágenes sean ligeramente distintas entre śı, y la correspondencia de ṕıxeles no sea directa. Para contrarrestar este problema, se pueden usar lentes telecéntricas [22], las cuales eliminan totalmente la magnificación en la imagen. Las lentes telecéntricas utilizan la apertura a una distancia focal F de la lente, en lugar de ponerlo justo junto a la lente, como se muestra en la Figura 2.8, en donde podemos observar que el rayo que cruza por el centro telecentŕıco O′ se proyecta paralelamente al eje óptico en el sensor, y esto pasará con cualquier rayo de luz proveniente de cualquier punto en la escena que cruce por O′. Figura 2.8: Óptica telecéntrica. Otra manera de disminuir este problema sin utilizar lentes telecéntricas, es me- diante la corrección de las imágenes dentro del algoritmo, haciendo un reescalamiento 17 contrario a la magnificación en una o ambas imágenes para que la correspondencia de ṕıxeles sea directa. En muchas ocasiones, el problema de la magnificación no afecta de una manera considerable, normalmente se encuentra dentro del 3% [14], pero es necesario tener presente el concepto durante la implementación de los algoritmos de DFD. 2.3.6. Problema del vignetting El fenómeno del vignetting se produce en sistemas de lentes. El vignetting es la oclusión de objetos en laescena por una o más de las lentes o el diafragma, de tal manera que cada una de las lentes o el diafragma bloquea la proyección de la luz en el plano de la imagen debido a la posición, por lo que cada elemento puede limitar la luz en este sentido, ocasionando que parte de la escena sea omitida en la imagen. El problema del vignetting en DFD es casi despreciable, pero puede presentarse en casos especiales. 2.4. Métodos relevantes de Depth from Defocus En esta sección se analizarán dos de las técnicas que se pueden considerar como más relevantes dentro de las técnicas de DFD, y cuyos autores también pueden ser considerados como dos de los más importantes investigadores en esta área. 2.4.1. Depth from Defocus mediante la Transformada espa- cial Subbarao y Surya [13] desarrollaron este método de DFD mediante la Transfor- mada espacial o STM por sus siglas en inglés (Spatial Transform Method), el cual es un método pasivo y en el dominio del espacio. Al inicio de este Caṕıtulo se presentó medi- ante la ecuación (2.5) una expresión directa para la distancia d en función del radio de desenfoque R, pero dicha ecuación puede ser representada algebráicamente de distintas maneras, y los autores la manejan a conveniencia de los algoritmos. De la ecuación (2.3) dejando sólo el término de R obtenemos: d = −sD 2 R− sD2 ( 1 F − 1 s ) (2.11) En esta última relación, si se incluyera una corrección para la magnificación óptica, se tendŕıa que hacer normalización en la magnificación para R [17]. Sin embargo, Sub- barao y Surya [13] encontraron experimentalmente que para este tipo de aplicaciones la magnificación es menor al 3%, y por ende, puede ser despreciada. 18 Para encontrar el valor experimental de R es necesario, como ya hemos dicho, utilizar la PSF. El STM es válido para cualquier PSF siempre y cuando sea rotacional- mente simétrica. Los modelos del pillbox y Gaussiano de dos dimensiones cumplen con esta condición (ver Apéndice). Hay que definir entonces una relación entre un parámetro obtenible para cualquier PSF, y el radio de desenfoque R; la desvación estándar es la mejor opción. La varianza para alguna PSF está dada por la siguiente relación: σ2h = ∫ ∫ (x2 + y2) h(x, y) dxdy (2.12) donde σh es la desviación estándar de alguna PSF rotacionalmente simétrica dada por h(x, y), y representa el esparcimiento del desenfoque, pues es directamente proporcional al radio de desenfoque R. Subbarao y Surya [13] comprobaron de manera experimental que el modelo del pillbox es una mejor aproximación que el modelo Gaussiano de dos dimensiones para la región de desenfoque, por lo que se basan en el modelo del pillbox. De (2.11) podemos encontrar la desviación estándar para el modelo del pillbox en funcion de R, teniendo como resultado: σh = R√ 2 (2.13) Si sustituimos (2.13) en (2.11) obtenemos: d = −sD 2 √ 2 σh − sD 2 √ 2 ( 1 F − 1 s ) (2.14) y esta ecuación puede ser expresada, por conveniencia, de la siguiente manera: d = m σh − c (2.15) donde m = −sD 2 √ 2 , c = sD 2 √ 2 ( 1 F − 1 s ) (2.16) Como se tienen dos imágenes tomadas con distintos parámetros de la lente, debe- mos hacer el análisis para cada una de las imágenes. Si (D, s, F ) son los parámet- ros a modificar, las imágenes i1(x, y), i2(x, y) tendrán como parámetros los valores 19 (D1, s1, F1) y (D2, s2, F2) respectivamente. Cada imagen presentará un valor de σh difer- ente para cada región de la imagen en donde se considera invariante en el espacio, por lo tanto, se obtiene una relación como (2.15) para ambas imágenes: d = m1 σ1 − c1 (2.17) donde σ1 es parámetro de esparcimiento del desenfoque de la imagen i1(x, y) y m1 = −s1D1 2 √ 2 , c1 = s1D1 2 √ 2 ( 1 F1 − 1 s1 ) (2.18) aśı mismo d = m2 σ2 − c2 (2.19) donde σ2 es parámetro de esparcimiento del desenfoque de la imagen i2(x, y) y m2 = −s2D2 2 √ 2 , c2 = s2D2 2 √ 2 ( 1 F2 − 1 s2 ) (2.20) En las relaciones anteriores, la distancia d de los objetos en la escena no cam- bia para las dos imágenes, pues lo único que se vaŕıa entre ambas imágenes son los parámetros de la lente, por lo que podemos igualar (2.17) y (2.19): d = m1 σ1 − c1 = m2 σ2 − c2 (2.21) en donde si despejamos alguno de los parámetros de esparcimiento del desenfoque, por ejemplo σh1 tenemos: σ1 = ( m1 m2 ) σ2 − ( m1c2 m2 ) + c1 σ1 = ασ2 + β (2.22) donde α = m1 m2 , β = c1 − m1c2 m2 (2.23) 20 En esta última ecuación obtenemos una relación entre los parámetros de es- parcimiento de desenfoque de las dos imágenes obtenidas, y es la ecuación que hay que resolver. Transformada espacial La Transformada espacial es una transformada formal que fue desarrollada por Subbarao en [14], y puede ser utilizada para varias aplicaciones de señales n-dimensionales tanto continuas como discretas que se puedan representar con polinomios de orden ar- bitrario, en este caso las imágenes. Mediante esta transformada es como Subbarao y Surya [13] resuelven la ecuación (2.22). Se pretende dar una breve descripción de los resultados de esta transformada que son utilizados para el STM. Sea i(x, y) una imagen la cual es un polinomio cúbico de dos variables definido en el espacio discreto por: i(x, y) = 3∑ m=0 3−m∑ n=0 am,n x m yn (2.24) donde am,n son los coeficientes del polinomio. Se obtienen ahora por conveniencia los momentos de una PSF: hm,n = ∫ ∞ −∞ ∫ ∞ −∞ xm yn h(x, y) dx dy (2.25) Desarrollemos ahora la convolución de la imagen i(x, y) y una PSF tal y como se mencionó en la ecuación (2.6): id(x, y) = ∫ ∞ −∞ ∫ ∞ −∞ i(x− ζ, y − η) h(ζ, η) dζ dη (2.26) Como i(x, y) es un polinomio, se puede representar como una serie de Taylor, dada por: i(x− ζ, y − η) = ∑ 0≤m+n≤3 (−ζ)m m! (−η)n n! im,n(x, y) i(x− ζ, y − η) = ∑ 0≤m+n≤3 (−1)m+n m!n! im,n(x, y)ζm ηn (2.27) 21 donde im,n(x, y) ≡ ∂ m ∂xm ∂n ∂yn i(x, y) (2.28) Si sustituimos (2.27) en (2.26) obtenemos: id(x, y) = ∫ ∞ −∞ ∫ ∞ −∞ ∑ 0≤m+n≤3 (−1)m+n m!n! im,n(x, y)ζm ηn h(ζ, η) dζ dη id(x, y) = ∑ 0≤m+n≤3 (−1)m+n m!n! im,n(x, y) ∫ ∞ −∞ ∫ ∞ −∞ ζm ηn h(ζ, η) dζ dη (2.29) Utilizando la ecuación de los momentos de la PSF (2.25) la expresión (2.29) se reduce a: id(x, y) = ∑ 0≤m+n≤3 (−1)m+n m!n! im,n(x, y) hm,n (2.30) La cual es la convolución de una función i(x, y) con otra función h(x, y) expresada como la suma de las derivadas parciales de i(x, y) y los momentos de h(x, y), y corre- sponde a la Transformada espacial. En esta aplicación i(x, y) es la imagen y h(x, y) es la PSF. Desarrollamos la ecuación (2.30): id(x, y) = i 0,0(x, y) h0,0 − i0,1(x, y) h0,1 − i1,0(x, y) h1,0 + i1,1(x, y) h1,1 + i0,2(x, y) 2 h0,2 + i2,0(x, y) 2 h2,0 − i1,2(x, y) 2 h1,2 − i2,1(x, y) 2 h2,1 − i 0,3(x, y) 6 h0,3 − i3,0(x, y) 6 h3,0 (2.31) Como la PSF tiene la propiedad de ser rotacionalmente simétrica, se encuentra que: h0,1 = h1,0 = h1,1 = h0,3 = h3,0 = h2,1 = h1,2 = 0 (2.32) h0,2 = h2,0 (2.33) y de la ecuación para la PSF de una lente sin pérdidas (2.10) tenemos que: 22 h0,0 = ∫ ∫ h(x, y) dx dy = 1 (2.34) Utilizando estos valores para los momentos de la PSF, la ecuación (2.31) se reduce a lo siguiente: id(x, y) = i(x, y) + h2,0 2 ( i2,0(x, y) + i0,2(x, y) ) i(x, y) = id(x, y)− h2,0 2 ( i2,0(x, y) + i0,2(x, y) ) (2.35) Aplicamos ahora por conveniencia las derivadas parciales en los dos lados de la ecuación (2.30). Primero ∂ 2 ∂x2 : i2,0(x, y) = i2,0d (x, y)− h4,0 2 ( i4,0(x, y) + i2,2(x, y) ) i2,0(x, y) = i2,0d (x, y) (2.36) ya que las derivadas de orden mayor a 3 son 0, debido a que es un polinomio de orden 3 como se mencionó cuando se empezó a definir la Transformada espacial. De igual manera aplicamos ∂ 2 ∂y2 : i0,2(x, y) = i0,2d (x, y)− h0,4 2 ( i2,2(x, y) + i0,4(x, y) ) i0,2(x, y) = i0,2d (x, y) (2.37) Se sustituyen ahora (2.36) y (2.37) en (2.35): i(x, y) = id(x, y)− h2,0 2 ( i2,0d (x, y) + i 0,2 d (x, y) )i(x, y) = id(x, y)− h2,0 2 ( ∂2 ∂x2 id(x, y) + ∂2 ∂y2 id(x, y) ) i(x, y) = id(x, y)− h2,0 2 ∇2id(x, y) (2.38) 23 donde ∇2 es el operador Laplaciano. La ecuación (2.38) es una convolución inversa ya que expresa la función original i(x, y) en función de la función convolucionada id(x, y), sus derivadas parciales y el segundo momento de la PSF. La ecuación (2.38) es la Transformada espacial inversa. El término de h2,0 de la ecuación (2.38) es el segundo momento de la PSF, por lo que con (2.12) y (2.25) obtenemos: h2,0 = h0,2 = ∫ ∫ x2 h(x, y) dxdy = ∫ ∫ y2 h(x, y) dxdy = σ2h 2 (2.39) Sustituyendo (2.39) en (2.38) obtenemos finalmente: i(x, y) = id(x, y)− σ2h 4 ∇2id(x, y) (2.40) La cual es una ecuación que nos permitirá resolver (2.22). Aplicando (2.40) para las dos imágenes i1(x, y), i2(x, y) con sus respectivos parámetros de esparcimiento de desenfoque σ1, σ2 obtenemos dos relaciones: i(x, y) = i1(x, y)− σ21 4 ∇2i1(x, y) (2.41) i(x, y) = i2(x, y)− σ22 4 ∇2i2(x, y) (2.42) en donde ambas ecuaciones tienen la misma imagen i(x, y) como imagen original, ya que ambas imágenes i1(x, y), i2(x, y) son distintas únicamente en el desenfoque, como hemos venido diciendo. De esta manera, podemos igualar (2.41) y (2.42): i1(x, y)− σ21 4 ∇2i1(x, y) = i2(x, y)− σ22 4 ∇2i2(x, y) (2.43) i1(x, y)− i2(x, y) = 1 4 ( σ21∇2i1(x, y)− σ22 ∇2i2(x, y) ) (2.44) Como i(x, y) es un polinomio de tercer orden, tenemos que: 24 ∇2i1(x, y) = ∇2i2(x, y) (2.45) y por lo tanto podemos proponer por conveniencia la siguiente igualdad: ∇2 i(x, y) = (∇ 2i1(x, y) +∇2i2(x, y)) 2 (2.46) Aśı, podemos sustituir ∇2i1(x, y) y ∇2i2(x, y) por ∇2i(x, y) en (2.44): i1(x, y)− i2(x, y) = 1 4 ( σ21∇2i(x, y)− σ22 ∇2i(x, y) ) i1(x, y)− i2(x, y) = 1 4 ( σ21 − σ22 ) ∇2i(x, y) (2.47) Finalmente, obtenemos con (2.47) una segunda ecuación para formar junto con (2.22) un sistema de dos ecuaciones con dos incógnitas, de donde al sustituir (2.22) en (2.47) obtenemos: i1(x, y)− i2(x, y) = 1 4 ( (α σ2 + β) 2 − σ22 ) ∇2i(x, y) i1(x, y)− i2(x, y) = 1 4 ( α2 σ22 + 2 α σ2 β + β 2 − σ22 ) ∇2i(x, y) σ22 ( 1 4 (α2 − 1)∇2i(x, y) ) + σ2 ( 1 2 α β∇2i(x, y) ) = i1(x, y)− i2(x, y)− 1 4 β2∇2i(x, y) (2.48) o bien: a σ22 + b σ2 + c = 0 (2.49) donde: a = 1 4 (α2 − 1)∇2i(x, y) (2.50) 25 b = 1 2 α β∇2i(x, y) (2.51) c = i2(x, y)− i1(x, y) + 1 4 β2∇2i(x, y) (2.52) La ecuación cuadrática (2.49) se puede resolver en conjunto con sus constantes (2.50), (2.51), (2.52) y estas últimas a su vez utilizan la relación de Laplacianos (2.46) y las constantes (2.23), las cuales se calculan mediante los parámetros de la lente con las constantes de (2.18) y (2.20). Los Laplacianos de (2.46) son computados utilizando las imágenes i1(x, y), i2(x, y) mediante una convolución con un kernel Laplaciano: ∇2in(x, y) = in(x, y) ∗ L(x, y) (2.53) donde L(x, y) es un kernel Laplaciano. Una vez que se obtiene el valor de σ2, la distancia de la profundidad d puede ser calculada mediante (2.19). Este es el principio básico del STM, al cual se le puede hacer una última modificación, ya que en la igualdad de (2.43) pudiese ser no válida en presencia de ruido, por lo que un suavizado o smoothing es conveniente. Si a (2.47) para pequeñas regiones se eleva al cuadrado y posteriormente se integra en ambos lados de la igualdad se obtiene:∫ ∫ ( i1(x, y)− i2(x, y) )2 dxdy = 1 16 ( σ21 − σ22 )2 ∫ ∫ (∇2i(x, y) )2 dxdy ( σ21 − σ22 )2 = 16 ∫ ∫ ( i1(x, y)− i2(x, y) )2 dxdy∫ ∫ (∇2i(x, y) )2 dxdy (2.54) o bien: ( σ21 − σ22 )2 = G2 (2.55) en donde: G2 = 16 ∫ ∫ ( i1(x, y)− i2(x, y) )2 dxdy∫ ∫ (∇2i(x, y) )2 dxdy (2.56) 26 y por lo tanto: σ21 − σ22 = G′ (2.57) donde G′ = ±G. El signo de G′ en (2.57) depende en el signo de (σ21 − σ22), y se de- berá escoger bajo algún criterio válido. Por ejemplo, si σ1 > σ2 hace que el G ′ sea positiva, si σ1 < σ2 tenemos que G ′ es negativa. Un parámetro de esparcimiento del desenfoque mayor representa un desenfoque mayor, por lo que si sabemos cual de las dos imágenes tiene mayor desenfoque en la pequeña región en cuestión, se puede es- coger correctamente el signo de G′. Sabemos que en una región con mayor desenfoque los cambios entre ṕıxeles son menos abruptos, por lo que la varianza seŕıa un buen criterio para conocer cual de las regiones tiene mayor desenfoque, es decir, una var- ianza más pequeña significa que la relación entre ṕıxeles es más suave, es decir, con mayor desenfoque, por lo tanto se puede calcular la varianza en ambas regiones y con esta información se puede tomar una decisión para condicionar el signo de G′. Ahora podemos sustituir (2.22) en (2.57) : ( α σ2 + β ) 2 − σ22 = G′ σ22 (α 2 − 1) + 2α β σ2 + β2 = G′ (2.58) Y obtenemos nuevamente una ecuación cuadrática para σ2 que al resolverla y com- putar la distancia mediante (2.19) se obtienen valores de profundidad d más precisos, ya que esta modificación ocasiona que el algoritmo sea más robusto en la presencia de ruido. Otra manera de obtener la distancia d es tener una tabla de valores predefinidos experimentalmente para cada valor de σ2, de tal manera que cuando se obtenga un valor de σ2 la tabla regrese un valor de profundidad, lo cual representaŕıa mejores resultados en la estimación de profundidad. 2.4.2. Depth from Defocus mediante Filtros Racionales Watanabe y Nayar [20] desarrollaron un método pasivo basado en el dominio de la frecuencia utilizando unos filtros llamados filtros racionales. Esta técnica requiere que las dos imágenes tengan los parámetros de la lente ajustados para que una imagen de enfoque lejano i1(x, y) esté enfocada a una profundidad detrás de los objetos en la escena, y otra imagen de enfoque cercano i2(x, y) esté enfocada en un lugar próximo a la lente delante de los objetos en la escena, de tal manera que todos los objetos se encuentren entre los dos respectivos lugares de enfoque para las dos imágenes en 27 la escena. Introducen una variable llamada profundidad normalizada, la cual es una distancia que describe la posición del plano de perfecto enfoque para un punto en la escena y que es relativa a la posición de los planos del sensor para las dos imágenes, como se ilustra en la Figura 2.9. Figura 2.9: Ilustración de α y las distancias (1± α)e En la Figura 2.9, 2e es la distancia conocida entre los dos planos del sensor para las imágenes de enfoque cercano y lejano, y α es la profundidad normalizada la cual puede tomar valores en el rango [−1, 1], y es medida desde el punto medio entre los dos planos de las imágenes de enfoque cercano y lejano a la posición donde un determinado punto en la escena tiene su plano de imagen de perfecto enfoque. Por lo tanto, se pueden expresar las distancias entre el plano de imagen de perfecto enfoque para un punto en la escena y los planos de las imágenes de enfoque cercano y lejano como (1 ± α)e, donde el signo positivo es para el plano de la imagen de enfoque lejano y el signo negativo para el plano de la imagen de enfoque cercano. De esta manera, si se puede medir la profundidad normalizada α para cada punto en la imagen, se puede obtener la profundidad d. Para medir el valor de α será necesario encontrarle una relación con el radio de desenfoque R el cual a su vez deberá ser aproximado con la PSF. Para encontrar una relación entre la profundidad normalizada α y el radio de desenfoque R utilizamos un análisis de triángulos semejantes como el basado en la 28 Figura 2.2 que dio lugar a la relación (2.2), pero en este caso la única diferencia es de notación, ya que de la Figura 2.9 podemos ver que la distancia (s − d′) de la Figura 2.2 corresponde en este análisis alterno a (1±α)e y la distancia d′ al plano de perfecto enfoque de la Figura 2.2 equivale a γ + (1 + α)e, donde γ es la distancia del plano de la imagen de enfoque lejano, la cual es conocida, de esta manera, la relación que se obtiene es la siguiente: γ +(1 + α)e D/2 = (1± α)e R R = (1± α)eD/2 γ + (1 + α)e (2.59) en donde podemos observar la relación que existe entre la profundidad normalizada α y el radio de desenfoque R. Watanabe y Nayar [20] utilizan también el modelo del pillbox para la PSF en su algoritmo, por lo que corresponde ahora reescribir la expresión del modelo del pillbox en (2.7) en función la profundidad normalizada α por medio del radio R obtenido en (2.59): h(x, y, (1± α)e) = 4 (γ + (1 + α)e) 2 π(1± α)2e2D2 rect ( (γ + (1 + α)e) √ x2 + y2 (1± α)eD ) (2.60) Y el modelo (2.60) en el dominio de la frecuencia mediante la Transformada de Fourier tal y como se hizo para (2.9) es: H(u, v, (1± α)e) = γ + (1 + α)e π(1± α)eD/2 √ u2 + v2 J1 ( π(1± α)eD √ u2 + v2 γ + (1 + α)e ) (2.61) Como se vio anteriormente, la función del pillbox en el dominio de la frecuencia espacial actúa como un filtro paso bajo en la imagen, y la frecuencia de corte de dicho filtro es inversamente proporcional al radio R de desenfoque, por lo que, como dećıamos, a mayor desenfoque la frecuencia de corte es menor y por lo tanto se filtra más información. Las imágenes i1(x, y), i2(x, y) son el resultado de la convolución con la PSF en el dominio del espacio, o bien, la multiplicación de ambos espectros en el dominio de la frecuencia espacial como se mostró en (2.6) y (2.8) respectivamente, por lo que para (2.60) y (2.61) y para las imágenes de enfoque lejano y cercano i1(x, y), i2(x, y) respectivamente tenemos: 29 i1(x, y) = i(x, y) ∗ h(x, y, (1 + α)e) i2(x, y) = i(x, y) ∗ h(x, y, (1− α)e) (2.62) I1(u, v) = I(u, v) ·H(u, v, (1 + α)e) I2(u, v) = I(u, v) ·H(u, v, (1− α)e) (2.63) las cuales, recordemos, son válidas para pequeñas regiones donde se asume que la imagen es invariante en el espacio. Watanabe y Nayar [20] introducen el concepto del cociente normalizado, el cual es un cociente entre la suma y la resta de los modelados de las imágenes de enfoque lejano y cercano en el dominio de la frecuencia espacial, como se muestra a continuación: m(x, y, α p(x, y, α) = i2(x, y)− i1(x, y) i2(x, y) + i1(x, y) M(u, v, α) P (u, v, α) = I2(u, v)− I1(u, v) I2(u, v) + I1(u, v) (2.64) donde M P es el cociente normalizado. Sustituyendo en (2.64) las relaciones de (2.63) y factorizando y eliminando el término común se obtiene: M(u, v, α) P (u, v, α) = I(u, v) ·H(u, v, (1− α)e)− I(u, v) ·H(u, v, (1 + α)e) I(u, v) ·H(u, v, (1− α)e) + I(u, v) ·H(u, v, (1 + α)e) M(u, v, α) P (u, v, α) = H(u, v, (1− α)e)−H(u, v, (1 + α)e) H(u, v, (1− α)e) + H(u, v, (1 + α)e) (2.65) El objetivo del cociente normalizado es el de modelar el comportamiento de la profundidad normalizada frente a la relación de las imágenes de enfoque cercano y lejano, de tal manera, que si se calcula el valor del cociente normalizado mediante las imágenes se pueda obtener un aproximado de α, y por consiguiente, de la profundidad d. Si graficamos la función del cociente normalizado en (2.65) con valores de α en su posible rango [−1, 1] podemos ver el comportamiento que tiene para distintitas frecuencias espaciales en el sistema polar utilizando la frecuencia radial fr. Las gráficas 30 Figura 2.10: Gráficas de M P para varios valores de fr en función de α 31 del cociente normalizado M P en función de la profundidad normalizada α para distintos valores de fr se presentan en la Figura 2.10. En la Figura 2.10 podemos ver que el cociente normalizado M P es una función monotónica en el rango de [−1, 1] para α, y para frecuencias radiales fr no muy grandes. Watanabe y Nayar [20] encontraron que la frecuencia radial máxima para la cual se cumple la monotonicidad de M P es aquella en donde el desenfoque es el extremo, por lo que en la práctica no se presentará este caso. Por lo tanto, se puede calcular un estimado de la profundidad normalizada α si se tiene el valor del cociente normalizado M P , pero como M P está en el dominio de Fourier, es necesario encontrar su magnitud a partir del cociente normalizado en el dominio del espacio m p el cual esta en función de las imágenes i1(x, y), i2(x, y) con las que se cuentan. El problema es que la frecuencia de las imágenes es incierta, pues podŕıa ser de cualquier tipo al tratarse de un enfoque pasivo. Por lo tanto, se deben utilizar filtros que sean capaces de muestrear todas las posibles frecuencias para las pequeñas regiones en las imágenes. Se necesita encontrar un modelo que aproxime el comportamiento de M P en la Figura 2.10. [20] proponen un modelo racional de funciones base, dado por la siguiente expresión: M(u, v, α) P (u, v, α) = ∑nP i=1 GPi(u, v)bPi(α)∑nM i=1 GMi(u, v)bMi(α) + �(u, v, α) (2.66) donde bPi , bMi son las funciones base, GPi(u, v), GMi(u, v) son sus respectivos coefi- cientes, y �(u, v, α) es el error residual de corrección. Sin embargo, si el modelo es lo suficientemente preciso, podemos reescribir la expresión (2.66) de la siguiente manera: M(u, v, α) P (u, v, α) = ∑nP i=1 GPi(u, v)bPi(β)∑nM i=1 GMi(u, v)bMi(β) = R(u, v; β) (2.67) donde en el lado derecho encontramos la profundidad β el cual es un valor estimado de la profundidad normalizada α. De la Figura 2.10 podemos apreciar que el comportamiento de M P asemeja a una recta para valores de α pequeños y a un polinomio cúbico conforme |α| se acerca a 1, por lo que Watanabe y Nayar [20] proponen como funciones base: M(u, v, α) P (u, v, α) = GP1(u, v) GM1(u, v) β + GP2(u, v) GM1(u, v) β3 = R(u, v; β) (2.68) 32 de tal manera que las variables de (2.67) tomaron los siguientes valores: nP = 2, nM = 1, bP1(β) = β, bP2(β) = β 3, bM1(β) = 1 (2.69) En la relación (2.68) podemos observar que el primer término del polinomio aprox- ima la forma lineal de M P mientras que el segundo término del polinomio corrige la recta para darle la forma cúbica. Debemos entonces encontrar las formas de los coeficientes racionales de (2.68), para que finalmente podamos resolver la ecuación para β y obtener aśı el aproximado de profundidad. Dichos coeficientes serán el conjunto de filtros que deben muestrear todo el rango de frecuencia para las imágenes de enfoque lejano y cercano. Para encontrarlos, podemos proporcionar información a priori a la relación de (2.68) y poder describir la forma que tienen, para esto, se asume que β = α, de tal forma que al fijar alguno de los tres coeficientes se pueden obtener los espectros de los otros dos. Reescribamos (2.68) de la siguiente manera: p0(u, v, α) = p1(u, v)β + p3(u, v)β 3 (2.70) en donde con la suposición de que β = α si fijamos alguno de los polinomios del lado derecho podemos encontrar el otro. Es de esta manera como Watanabe y Nayar [20] encuentran las funciones de los coeficientes racionales en el dominio de la frecuencia para el modelo en particular que proponen, y cuyos espectros en funcion de la frecuencia radial fr se muestran en la Figura 2.11. Una vez encontrados, se puede probar la precisión del modelo propuesto mediante un cálculo de β para valores de α predeterminados, utilizando los coeficientes obtenidos. Mediante el método de Newton-Raphson podemos estimar un valor para β desde (2.70). El valor inicial para el método seŕıa el que toma la función si despreciamos el término cúbico de corrección, es decir: β0(u, v) = p0(u, v, α) p1(u, v) (2.71) por lo que el método después de una iteración queda de la siguiente manera: β(u, v) = β0(u, v)− −p0(u, v, α) + p1(u, v)β0 + p3(u, v)β30 p1(u, v) + 3p3(u, v)β20 (2.72) donde sustituyendo en el numerador (2.71) se eliminan 2 términos quedando de la siguiente manera: 33 Figura 2.11: Coeficientes racionales en función de fr obtenidos para el modelo propuesto de M P y escalados para su mejor ilustración [20] β(u, v) = β0 − p3(u, v)β 3 0 p1(u, v) + 3p3(u, v)β20 (2.73) De esta ecuación se obtiene un valor del estimado de profundidad β mediante los coeficientes racionales dados por los términos p1(u, v), p3(u, v).Watanabe y Nayar [20] encontraron de esta manera que la precisión del modelo es muy exacta para un rango de frecuencias radiales fr un poco más amplio que el encontrado para que la monotonicidad de M P sea válida, y este rango lo obtuvieron experimentalmente. Sin embargo, se puede agregar un filtro previo al procesamiento en el algoritmo que remueva todas las componentes de frecuencia fuera de este rango deseado para evitar errores en los estimados de profundidad. Ya con un modelo preciso para el cociente normalizado de M P hay que encontrar la manera de utilizarlo pero en el dominio del espacio. De (2.67) mediante productos cruzados obtenemos: nM∑ i=1 M(u, v, α)GMi(u, v)bMi(β) = nP∑ i=1 P (u, v, α)GPi(u, v)bPi(β) (2.74) Si en esta expresión, por conveniencia, integramos a lo largo de todo el espectro de frecuencia (u, v) obtenemos: 34 ∫ ∞ −∞ ∫ ∞ −∞ nM∑ i=1 M(u, v, α) GMi(u, v) bMi(β) du dv = ∫ ∞ −∞ ∫ ∞ −∞ nP∑ i=1 P (u, v, α) GPi(u, v) bPi(β) du dv nM∑ i=1 ∫ ∞ −∞ ∫ ∞ −∞ M(u, v, α) GMi(u, v) du dv bMi(β) = nP∑ i=1 ∫ ∞ −∞ ∫ ∞ −∞ P (u, v, α) GPi(u, v) du dv bPi(β) (2.75) o bien: nM∑ i=1 cMi(α) bMi(β) = nP∑ i=1 cPi(α) bPi(β) (2.76) donde cMi(α) = ∫ ∞ −∞ ∫ ∞ −∞ M(u, v, α) GMi(u, v) du dv cPi(α) = ∫ ∞ −∞ ∫ ∞ −∞ P (u, v, α) GPi(u, v) du dv (2.77) Para esta última ecuación, podemos utilizar el teorema de Parseval [24], el cual es el siguiente: ∫ ∞ −∞ ∫ ∞ −∞ F (u, v) G(u, v) du dv = ∫ ∞ −∞ ∫ ∞ −∞ f(x, y) g(−x,−y) dx dy (2.78) donde F (u, v), f(x, y) y G(u, v), g(x, y) son pares de Fourier. En el teorema, el lado derecho es una convolución, por lo que para (2.77) utilizando el teorema, obtenemos: cMi(x, y, α) = ∫ ∞ −∞ ∫ ∞ −∞ m(x′, y′, α) gMi(x− x′, y − y′) dx′ dy′ cPi(x, y, α) = ∫ ∞ −∞ ∫ ∞ −∞ p(x′, y′, α) gPi(x− x′, y − y′) dx′ dy′ (2.79) 35 cMi(x, y, α) = m(x, y, α) ∗ gMi cPi(x, y, α) = p(x, y, α) ∗ gPi (2.80) las cuales implican que en realidad cMi , cPi también son funciones del dominio del espacio (x, y). De esta manera, podemos encontrar las magnitudes de los espectros frecuenciales para el modelo del cociente normalizado M P mediante convoluciones con los coeficientes racionales en el dominio del espacio. Aplicando (2.80) para los coeficientes en el modelo de (2.68) obtenemos los coeficientes de interés: cM1(x, y, α) = m(x, y, α) ∗ gM1 cP1(x, y, α) = p(x, y, α) ∗ gP1 cP2(x, y, α) = p(x, y, α) ∗ gP2 (2.81) y utilizando estos coeficientes en el modelo (2.68) después de realizarle productos cruza- dos, obtenemos: cM1(x, y, α) = cP1(x, y, α) β + cP2(x, y, α) β 3 m(x, y, α) ∗ gM1 = p(x, y, α) ∗ gP1 β + p(x, y, α) ∗ gP2 β3 (2.82) Y como las relaciones en (2.81) pueden ser obtenidas mediante las convoluciones de las imágenes de enfoque lejano y cercano con los coeficientes de el modelo en cuestión, podemos obtener el estimado de profundidad β resolviendo (2.81). Para hacer la implementación, es necesario obtener un modelo discreto de los coeficientes mostrados en la Figura 2.11 y expresarlos como kernels que se puedan convolucionar en el dominio del espacio con las imágenes i1(x, y), i2(x, y). Los kernels serán simétricos con respecto a (x, y) y las diagonales del kernel, para ser consistentes con el enfoque se simetŕıa rotacional que se ha seguido. El tamaño de los kernels debe ser pequeño para mantener válida la invarianza en el espacio de las imágenes, aśı como para asegurar una banda ancha en el dominio de la frecuencia, pues como sabemos, el tamaño de un kernel en el dominio del espacio es inversamente proporcional a su 36 ancho de banda en el dominio de la frecuencia. Watanabe y Nayar [20] proponen un tamaño de 7×7 para los kernels, y muestran un ejemplo de kernels para los coeficientes racionales basados en el modelo en particular que se ha utilizado hasta ahora, y se muestran a continuación: gM1 = 0,00133 0,0453 0,1799 0,297 0,1799 0,0453 −0,00133 0,0453 0,4009 0,8685 1,093 0,8685 0,4009 0,0453 0,1799 0,8685 2,957 4,077 2,957 0,8685 0,1799 0,297 1,093 4,077 6,005 4,077 1,093 0,297 0,1799 0,8685 2,957 4,077 2,957 0,8685 0,1799 0,0453 0,4009 0,8685 1,093 0,8685 0,4009 0,0453 −0,00133 0,0453 0,1799 0,297 0,1799 0,0453 −0,00133 gP1 = −0,03983 −0,09189 −0,198 −0,259 −0,198 −0,09189 −0,03983 −0,0198 −0,3276 −0,4702 −0,4256 −0,4702 −0,3276 −0,0198 −0,198 −0,4702 −0,3354 1,393 −0,3354 −0,4702 −0,198 −0,259 −0,4256 1,393 3,385 1,393 −0,4256 −0,259 −0,198 −0,4702 −0,3354 1,393 −0,3354 −0,4702 −0,198 −0,0198 −0,3276 −0,4702 −0,4256 −0,4702 −0,3276 −0,0198 −0,03983 −0,09189 −0,198 −0,259 −0,198 −0,09189 −0,03983 gP2 = 0,05685 −0,02031 −0,06835 −0,06135 −0,06835 −0,02031 0,05685 −0,02031 −0,06831 0,05922 0,1454 0,05922 −0,06831 −0,02031 −0,06835 0,05922 0,1762 −0,01998 0,1762 0,05922 −0,06835 −0,06135 0,1454 −0,01998 −0,698 −0,01998 0,1454 −0,06135 −0,06835 0,05922 0,1762 −0,01998 0,1762 0,05922 −0,06835 −0,02031 −0,06831 0,05922 0,1454 0,05922 −0,06831 −0,02031 0,05685 −0,02031 −0,06835 −0,06135 −0,06835 −0,02031 0,05685 Mediante estos kernels, y las imágenes de enfoque lejano y cercano i1(x, y), i2(x, y) es posible obtener un estimado de profundidad β resolviendo la ecuación (2.82) para cada ṕıxel en la imagen mediante algún método numérico, como por ejemplo, el método de Newton-Raphson de (2.73), y de esta forma, la profundidad d puede ser obtenida sustituyendo los valores de β por α en (2.59) y posteriormente sustituir R en (2.3) con sus respectivas modificaciones de acuerdo a la Figura 2.9. Sin embargo, si se genera 37 una tabla de valores predeterminados experimentalmente de profundidad d para cada posible valor de β el mapeo puede ser más eficiente. Por otro lado, como alternativa para volver el algoritmo robusto frente al ruido, Watanabe y Nayar [20] agregan un suavizado o smoothing al algoritmo, ya que los valores de profundidad no vaŕıan abruptamente de ṕıxel a ṕıxel, y argumentan que la aplicación de un operador de suavizado de tamaño pequeño a los coeficientes de (2.81) es válida dentro de los términos estad́ısticos de la estimación de profundidad. Por ejemplo, un operador de suavizado de 3×3 cumple con lo mencionado. 38 Caṕıtulo 3 Implementación En este Caṕıtulo se muestran los resultados de la implementación realizada dentro de este trabajo1. La técnica implementada está basada en el método de filtros racionales de Watanabe y Nayar [20]. En la Figura 3.1 se muestra un diagrama a bloques del algo- ritmo implementado para su mejor entendimiento, en donde se muestran las variables presentadas en el Caṕıtulo 2 para cada etapa del algoritmo. En el diagrama de la Figura 3.1 el algoritmo base se muestra del lado izquierdo en los bloques de ĺıneas continuas, mientras que los bloques con ĺıneas punteadas son las modificaciones que mejoran los resultados del algoritmo básico. Aunque los autores del algoritmo utilizan el filtrado previo y el suavizado de manera permanente en sus experimentos, en la implementación de este trabajo se llegan a omitir estos bloques en algunos casos, ya que no siempre mejoran los resultados de los experimentos realizados. Aśı mismo, los últimos bloques son filtros en la etapa final del algoritmo, y dependiendo el caso, se hizo uso de alguno de estos filtros o alguna combinación de ellos para mejorar los resultados. En el código, la obtención de las variables m(x, y), p(x, y) del cociente normalizado utilizan operaciones simples para cada uno de los 659×493 ṕıxeles de las imágenes, el filtro previo representa 2 convoluciones de las imágenes con el kernel del filtro, para los coeficientes de la expresión de tercer order se utilizan 3 convoluciones mediante las variables m(x, y), p(x, y) y los kernels de los coeficientes racionales de 7×7, para el suavizado se utilizan 3 convoluciones de los coeficientes de la expresión de tercer orden con un kernel de suavizado de 3×3, el cálculode la profundidad normalizada β mediante el método de Newton-Raphson utliza operaciones simples para cada uno de los 659×493 ṕıxeles de la expresión de tercer orden en cada iteración, el filtrado Gaussiano utiliza 1 convolución con un kernel Gaussiano de 7×7, el filtro de moda utiliza un proceso de obtención de histogramas para los ṕıxeles en cada sub-máscara del tamaño en cuestión en la matriz del estimado de profundidad β de tamaño 659×493, el filtro de mediana utiliza un ordenamiento para los ṕıxeles en cada sub-máscara del tamaño del filtro en 1En el Apéndice B se presentan caracteŕısticas del equipo utilizado para la implementación 39 Figura 3.1: Diagrama a bloques del algoritmo implementado 40 la matriz de β. Dependiendo de la combinación de bloques de la Figura 3.1 que se utilice, el código contiene desde 3 hasta 9 convoluciones, más operaciones simples en ciclos anidados que recorren los ṕıxeles de las variables de tamaño 659×493, más la obtención de histogramas y el ordenamiento en sub-máscaras utilizadas en los filtros de moda y de mediana. Se hicieron experimentos con imágenes sintéticas y reales para probar la efectividad del algoritmo, y los resultados se presentan a continuación. 3.1. Imágenes Sintéticas Es conveniente hacer uso de imágenes sintéticas generadas computacionalmente con las caracteŕısticas requeridas para probar el funcionamiento del algoritmo libre de los errores causados por la captura de las imágenes que se comentaron en el Caṕıtulo 2. Primeramente se utilizaron imágenes sintéticas con desenfoque sintético. Se generaron 2 imágenes hechas por simples ĺıneas rectas, y se les aplicó un desenfoque sintético, posteriormente se intercalaron segmentos de ambas imágenes para crear el efecto de que los segmentos de una de ellas estaban más lejos que los segmentos de la otra imagen. De esta manera se simularon las imágenes de enfoque lejano y cercano i1(x, y), i2(x, y) que utiliza el algoritmo. El par de imágenes generadas se muestra en la Figura 3.2, y el resultado del algoritmo, es decir, su gráfica en 3D se muestra en la Figura 3.3. Figura 3.2: Imágenes i1(x, y), i2(x, y) simuladas computacionalmente En la Figura 3.3 podemos observar que el algoritmo funciona prácticamente de manera ideal. El siguiente paso es probar el algoritmo con imágenes reales y desenfoque 41 Figura 3.3: Mapa de 3D, resultado del algoritmo para las imágenes sintéticas sintético. Se utilizaron 2 imágenes de texturas reales de arena y piedra, a las cuales se les generó un desenfoque sintético, y posteriormente fueron intercaladas de la misma manera que con las imágenes anteriores. El par de imágenes generadas se muestran en la Figura 3.4, y su mapa de 3D se muestra en la Figura 3.5. Figura 3.4: Imágenes simuladas i1(x, y), i2(x, y) con textura real y desenfoque sintético En la Figura 3.5 se aprecia un aproximado de profundidad aceptable, aunque muestra ligeros errores. Las texturas reales al tener componentes frecuenciales impre- scindibles, generan resultados no tan exactos, sin embargo, este resultado proporciona información de profundidad muy importante. 42 Figura 3.5: Mapa de 3D para las imágenes de textura real y desenfoque sintético 3.2. Imágenes Reales Ya una vez probado el algoritmo para imágenes sintéticas, se realizaron experi- mentos con imágenes reales capturadas con equipo de video especializado para poder variar los parámetros de la lente en los pares de imágenes (ver Apéndice B). Se pre- sentan los pares de imágenes de dos objetos en los que se basan los resultados de estos experimentos. Los 2 pares de imágenes se muestran en la Figura 3.6 y en la Figu- ra 3.7. Se presentan los resultados obtenidos mediante los distintos filtros de mejora que aparecen en los bloques punteados del diagrama en la Figura 3.1, pretendiendo hacer una comparación entre la efectividad de cada uno, ya que dependiendo el caso, los resultados de alguno de los filtros son más efectivos. (a) (b) Figura 3.6: Imágenes de enfoque lejano y cercano de un objeto real 43 (a) (b) Figura 3.7: Imágenes de enfoque lejano y cercano de un objeto real Además de los mapas de 3D como los de las Figuras 3.3 y 3.5, se puede también mostrar la profundidad como una imagen conocida como mapa de disparidad, en donde se asignan niveles de grises dependiendo la profundidad, por ejemplo, los niveles más claros correspondeŕıan a puntos en la imagen cercanos a la lente, y los niveles más oscuros a puntos lejanos a la lente. La escala de valores que se utiliza en los mapas de 3D está normalizada en el rango de [0, 1] por lo que se está omitiendo un análisis numérico del error en la profundiad estimada en metros, ya que las tablas de valores de la distancia que se usan en la práctica para asignar un valor de profundidad para cada ṕıxel dependen directamente de los parámetros de la lente en el par de imágenes. Nuestros experimentos fueron hechos para una gran cantidad de combinaciones en los parámetros de la lente, y generar una tabla de valores para cada combinación no es conveniente. En la Figura 3.8 se muestra, para el par de imágenes de la Figura 3.6, una com- paración pa la efectividad del filtro Gaussiano. En la Figura 3.8a se muestra el mapa de disparidad utilizando únicamente un filtro de mediana, mientras que en la Figura 3.8b se utiliza además un filtro Gaussiano. Podemos observar que el filtro Gaussiano remueve errores de profundidad con componentes de alta frecuencia espacial, por lo que el filtro Gaussiano es recomendable en este caso. En la Figura 3.9 se muestra, para el par de imágenes de la Figura 3.7, una com- paración para el suavizado o smoothing que proponen en [20]. En la Figura 3.9a se presenta el mapa de disparidad utilizando únicamente un filtro de mediana, y en la Figura 3.9b se utiliza ademas el suavizado. Podemos observar que el suavizado no pro- porciona algún beneficio en los resultados, por lo que el suavizado no es aplicable para 44 (a) (b) Figura 3.8: Efectividad del filtro Gaussiano este caso. (a) (b) Figura 3.9: Efectividad del suavizado En la Figura 3.10 se presentan los mapas de 3D de los resultados para la escena de la Figura 3.6, mostrando una comparación del filtro de moda frente al filtro de mediana. En la Figura 3.10a se utilizó un filtro Gaussiano más un filtro de mediana, y en la Figura 3.10b se utilizó un filtro Gaussiano más un filtro de moda en máscaras de 10×10. podemos observar que la efectividad en ambos filtros es muy similar, aunque en el filtro de moda se pierde resolución espacial, por lo que se podŕıa utilizar en este caso cualquiera de ellos, obtieniendo resultados similares. En la Figura 3.11 se muestra una comparación para filtros de mediana de diferentes tamaños, basados en la escena de las imágenes en la Figura 3.6. En las Figuras 3.11a a 45 (a) (b) Figura 3.10: Efectividad del filtro de moda 3.11d se utilizaron filtros de medianas con tamaños de 15×15, 21×21, 27×27 y 33×33 respectivamente. Se observa que el tamaño del filtro de mediana remueve componentes de error de alta frecuencia espacial, pero aśı mismo disminuye la resolución espacial de la profundidad, pues atenua componentes de profundidad de alta frecuencia, por lo que el tamaño del filtro de mediana que se debe escoger dependerá de la aplicación. Por ejemplo, para el caso del sombrero, se podŕıa escoger el filtro de mediana de 21×21 en la Figura 3.11b, ya que remueve ciertas componentes de error sin eliminar los detalles de la forma del sombrero, mientras que para el caso del cubo, se podŕıa seleccionar un tamaño más grande, ya que el cubo no tiene detalles de alta frecuencia en su forma, por lo que un filtro de mediana de 51×51 (Figura 3.12), seŕıa una buena opción. En la Figura 3.13 se presenta un nuevo diagrama a bloques con el algoritmo sugerido para la obtención de mejores resultados