Estimación de profundidad

Rubén Rodríguez Abril

Ciertos algoritmos han conseguido, a partir de imágenes bidimensionales, elaborar un mapa representando la profundidad a la que se encuentran cada uno de los objetos de dicha imagen.

Estimación de profundidad

Múltiples aplicaciones de la Visión Artificial, como los automóviles sin conductor o los vehículos aéreos autónomos, requieren de una correcta comprensión del espacio tridimensional y del desarrollo de algoritmos que sean capaces de predecir la profundidad a partir de imágenes bidimensionales.

Por este motivo, en la última década se han desarrollado procedimientos de estimación de profundidad, en los que se a cada píxel de la imagen de entrada se le asocia un valor de cero al uno, dependiendo de su cercanía respecto del foco de la cámara.

Técnicas de estimación de profundidad

Visión estereoscópica

El cerebro humano, que es la referencia principal de los sistemas de IA, utiliza dos grandes sistemas para estimar la profundidad. En las distancias mas cortas la visión estereoscópica -desarrollada por los primates hace decenas de millones de años- permite la composición de una imagen tridimensional a partir de dos imágenes bidimensionales tomadas a partir de dos perspectivas diferentes, una por cada ojo. La amplitud del campo visual es sacrificada en aras a obtener información sobre la configuración tridimensional del espacio.

La discrepancia entre lo que percibe cada ojo nos permite concebir la profundidad a la que se encuentra el objeto. A mayor discrepancia, como en el caso de la izquierda, más cerca se encuentra el objeto. Si ambos ojos perciben el objeto de forma similar, este se encuentra más alejado.

En sistemas artificiales de visión estereoscópica las imágenes son tomadas por dos cámaras y el cálculo de la tercera dimensión espacial se consigue a partir de la aplicación de esta fórmula:

D(x) = \frac{fB}{d(x)}

donde x es un píxel de la imagen, d(x) su profundidad estimada, B la distancia entre ambas cámaras, f la distancia focal y D(x) la diferencia de posición en píxeles que el mismo punto tridimensional toma en una imagen respecto de la otra. Como el lector puede comprobar, cuando más cercano esté un punto del espacio tridimensional a las dos cámaras, mayor será su cambio de posición en una imagen respecto de la otra.

Perspectiva cónica

En las distancias más largas, la visión estereoscópica pierde su eficacia. En su lugar, la mente humana estima las distancias en base a la perspectiva cónica, en la que rectas paralelas imaginarias parecen confluir en el infinito, en un lugar geométrico denominado punto de fuga.

La razón por la que la perspectiva cónica nos resulta tan natural y ha sido empleada por artistas de un modo sistemático desde el Renacimiento es la estructura óptica del ojo. El cristalino, que es una lente, hace confluir los rayos de luz sobre el “punto focal” situado en el interior del globo ocular, desde donde dichos rayos vuelven a divergir hasta su absorción definitiva por la retina.

El punto de fuga  situado en el centro de La ciudad ideal de Piero della Francesca y los ejes que emergen de el permite concebir las profundidad de los diferentes planos.

Profundidad en la Visión Artificial

En la disciplina de la Visión Artificial, los primeros sistemas de aprendizaje profundo especializados en crear mapas de profundidad aparecieron hace unos diez años. Consistían, fundamentalmente, en redes convolucionales con arquitectura U-Net, cuya capa de salida producía un “mapa de profundidad” que luego se contrastaba con el de la verdad subyacente. La función de pérdida era de tipo regresora (L2). Consistía en la suma de los cuadrados de las diferencias en la profundidad atribuida a los píxeles:

∑(I_{1}(x)-I_{2}(x))^2

donde x es el píxel en cuestión, I_{1} el mapa de profundidad generado por la red e I_{2} el mapa de la verdad subyacente. El sumatorio tiene lugar a través de todo los píxeles de la imagen.

Sin embargo, a diferencia de lo que sucede en el ámbito de la detección de objetos o la segmentación semántica, en el campo de la estimación de profundidad es relativamente costoso obtener mapas de verdad subyacente de calidad aceptable. Por este motivo, recientemente han sido desarrollados sistemas que no requieren de la existencia de estos mapas durante el entrenamiento, que son entrenadas simplemente a partir de imágenes en estéreo.

Sistemas en estéreo

El trabajo de Ravi Garg et al. del año 2016 fue el primero que logró entrenar satisfactoriamente una red de estimación de profundidad a partir de pares de imágenes en estéreo. La arquitectura de red consistía en un autocodificador de diseño relativamente sencillo: su primera parte, el codificador, transformaba la imagen de la izquierda en un mapa de profundidad inverso. En base a este último, y a la imagen derecha, el descodificador reconstruía de nuevo la imagen izquierda. Mediante este mecanismo la red aprende a realizar mapas inversos de profundidad, a partir de los cuales se puede reconstruir la profundidad original.

Función de pérdida

La función de pérdida consistía en el error fotométrico existente entre la imagen original y la reconstruida. El error fotométrico es una función de tipo L2, consistente en la suma de los cuadrados de la diferencia de los valores de iluminación de los píxeles. Cuando el error fotométrico es causado por un cambio en la perspectiva del observador, se habla de error (o pérdida) fotométrico de reproyección E_{recon}. Para cada imagen equivale a:

E_{recon} = ∫(\left |I_{recon}(x) – I_{2}(x))\right | d(x)
I_{recon}(x) = I_{2}(x +D(x))

donde I_{recon}(x) es el valor lumínico del píxel imagen izquierda reconstruida y I_{2}(x) su valor en la imagen izquierda original y D(x) es el operador de desplazamiento antes descrito: la diferencia de posición en píxeles que el mismo punto tridimensional toma en una imagen respecto de la otra.

Para suavizar las discontinuidades existentes en el mapa inverso de profundidad, a la función de error se le agrega este segundo término:
E_{suave} = (\left |∇D(x))\right |^{2}

Donde ∇D(x) es la derivada de D(x).

La función de error de total se compone de la suma de los dos términos anteriormente descritos. En cada imagen queda expresada por la fórmula:
E = E_{recon}(x) + γE_{suave}(x)

siendo γ una constante de regularización. Aquellas áreas que están ocluidas en la imagen izquierda, pero no en la derecha (o viceversa), no se integran en el cómputo de la función de pérdida.

Sistemas más modernos como AdaBins, perfeccionan este sistema añadiendo una nueva arquitectura, la de los transformadores (transformers), que serán estudiados con profundidad en nuestra serie dedicada a Procesamiento Natural de Lenguaje.

Conclusión

Los métodos de predicción de profundidad expuestos en los párrafos anteriores son una nueva muestra del poder de las redes convolucionales. Como hemos comprobado en otros artículos, con una arquitectura adecuada estas redes son capaces de trazar contornos de objetos y clasificar los mismos. En los métodos de predicción de profundidad, la información sobre el tamaño y tipo de objetos, así como su colocación y orientación en la imagen son implícitamente utilizados para el cálculo de una tercera dimensión, perpendicular al plano del observador. En nuestra opinión también se realiza, a lo largo de las sucesivas capas de la red, un cálculo implícito de las diferentes rectas de perspectiva de la imagen. Todo ello da como resultado un mapa de profundidad, que en los métodos más modernos es de tal calidad que a menudo es utilizado para tecnologías como los vehículos autónomos.

Con este artículo concluimos nuestra serie sobre Visión Artificial a través de métodos de Deep Learning. Esperamos que les haya resultado provechosa y haya sido de su agrado.

Lecturas Recomendadas

 

Clément, G. et al (2019). Digging Into Self-Supervised Monocular Depth Estimation.

 – Garg, R. et al (2016). Unsupervised CNN for Single View Depth Estimation: Geometry to the Rescue.

– Bhat, S. F. et al (2020). AdaBins: Depth Estimation using Adaptive Bins.

La Máquina Oráculo utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies