Yolo Vision Shenzhen
Shenzhen
Únete ahora

¿Qué es la estimación de profundidad monocular? Una visión general

Descubra cómo funciona la estimación de profundidad monocular, cómo se compara con los métodos de profundidad basados en sensores y cómo permite una percepción 3D escalable en los sistemas de visión.

Los coches autónomos están diseñados para comprender lo que sucede a su alrededor y poder conducir con seguridad. Esto significa ir más allá del simple reconocimiento de objetos como peatones u otros vehículos. 

También necesitan saber a qué distancia se encuentran esos objetos para poder responder correctamente. Sin embargo, dotar a las máquinas de este sentido de la distancia no es tarea fácil. A diferencia de los seres humanos, ellas no perciben de forma natural la profundidad a partir de las imágenes y hay que enseñarles explícitamente cómo hacerlo.

Una de las razones detrás de esto es que la mayoría de las cámaras capturan el mundo como imágenes planas y bidimensionales. Convertir esas imágenes en algo que refleje la profundidad y la estructura 3D del mundo real es complicado, especialmente cuando los sistemas deben funcionar de manera confiable en condiciones cotidianas. 

Curiosamente, la visión artificial, una rama de la IA que se centra en interpretar y comprender datos visuales, permite a las máquinas comprender mejor el mundo a partir de imágenes. Por ejemplo, la estimación de profundidad monocular es una técnica de visión artificial que calcula la distancia de los objetos utilizando únicamente una imagen de una cámara.

Al aprender señales visuales como el tamaño de los objetos, la perspectiva, la textura y el sombreado, estos modelos pueden predecir la profundidad sin depender de sensores adicionales como LiDAR (detección y medición de distancias por luz) o cámaras estéreo. En este artículo, exploraremos qué es la estimación de profundidad monocular, cómo funciona y algunas de sus aplicaciones en el mundo real. ¡Empecemos!

Una breve introducción a la estimación de profundidad monocular

La estimación de profundidad monocular permite a una máquina comprender la distancia a la que se encuentran los objetos utilizando una sola imagen. Dado que solo se basa en una cámara, este enfoque presenta varias ventajas, entre ellas un menor coste y unos requisitos de hardware más sencillos.

Por ejemplo, se puede utilizar en robots domésticos asequibles que funcionan con una sola cámara. Incluso a partir de una sola imagen, el sistema robótico puede identificar qué paredes están más cerca y qué puertas están más lejos, y deducir la profundidad total del espacio.

A menudo, una sola imagen no contiene información a la escala correcta, por lo que la estimación de profundidad monocular se centra generalmente en la profundidad relativa. En otras palabras, puede determinar qué objetos están más cerca y cuáles más lejos, incluso si no se conocen las distancias exactas.

Cuando un modelo se entrena con datos con distancias reales o profundidad absoluta, como las mediciones de profundidad de sensores como LiDAR, puede aprender a predecir distancias en unidades del mundo real, como metros. Sin este tipo de datos de referencia, el modelo puede seguir deduciendo la profundidad relativa, pero no puede estimar de forma fiable las distancias absolutas.

El resultado de la estimación de profundidad monocular suele ser un mapa de profundidad, que es una imagen en la que cada píxel representa la distancia a la que se encuentra esa parte de la escena. Un mapa de profundidad proporciona a los sistemas de visión una comprensión básica de la estructura 3D del entorno.

Fig. 1. Ejemplo de un mapa de profundidad previsto creado mediante estimación de profundidad monocular (Fuente)

De los sensores a las imágenes: estimación de la profundidad

La estimación de la profundidad puede abordarse de varias maneras, dependiendo de los sensores disponibles, las limitaciones del hardware y los requisitos de precisión. Los métodos tradicionales suelen basarse en múltiples puntos de vista o sensores especializados para medir directamente la distancia.

Un enfoque común es la visión estereoscópica, que estima la profundidad comparando dos imágenes sincronizadas capturadas desde puntos de vista ligeramente diferentes. Al medir la diferencia entre los puntos correspondientes en las dos imágenes, el sistema puede inferir la distancia a la que se encuentran los objetos de la cámara.

Otro enfoque son los sistemas RGB-D (rojo, verde, azul y profundidad), que utilizan sensores de profundidad activos para medir directamente la distancia en cada píxel. Estos sistemas pueden proporcionar información precisa sobre la profundidad en entornos controlados, pero requieren hardware adicional.

Por su parte, los métodos basados en LiDAR utilizan pulsos láser para generar representaciones tridimensionales precisas de una escena. Aunque son muy precisos, los sensores LiDAR suelen ser caros y añaden una complejidad significativa al hardware.

Por el contrario, la estimación de profundidad monocular infiere la profundidad utilizando solo una única imagen RGB. Dado que no depende de múltiples cámaras ni sensores especializados, es más fácil de implementar a gran escala y es una buena opción cuando los recursos económicos y de hardware son limitados. 

Profundidad de aprendizaje a partir de una sola imagen

Al estimar la profundidad a partir de una sola imagen, los modelos de profundidad monocular aprenden a reconocer las señales visuales que los seres humanos utilizan instintivamente para juzgar la distancia. Estas señales incluyen líneas de perspectiva, tamaño de los objetos, densidad de la textura, superposición de objetos y sombreado, todas las cuales proporcionan pistas sobre la distancia a la que se encuentran los objetos de la cámara.

Estas señales se combinan para crear una sensación de profundidad. Los objetos que parecen más pequeños o están parcialmente ocultos suelen estar más lejos, mientras que los detalles más nítidos y las apariencias visuales más grandes suelen sugerir que algo está más cerca.

Para aprender estos patrones, los modelos de profundidad monocular se entrenan con conjuntos de datos de imágenes a gran escala, a menudo combinados con información de profundidad obtenida de otras fuentes, como LiDAR o sistemas estéreo. Durante el entrenamiento, los modelos aprenden cómo se relacionan las señales visuales con la profundidad, lo que les permite inferir la distancia a partir de una sola imagen en el momento de la inferencia.

Con datos de entrenamiento diversos, los modelos de visión modernos pueden generalizar este conocimiento adquirido en una amplia gama de entornos, incluyendo escenas interiores y exteriores, y pueden manejar puntos de vista desconocidos.

Una mirada a diversas técnicas de estimación de profundidad monocular

A continuación, exploraremos los principales enfoques utilizados para estimar la profundidad a partir de una sola imagen y cómo han evolucionado estos métodos a lo largo del tiempo.

Enfoques clásicos y basados en la geometría

Los primeros métodos de estimación de profundidad se basaban en reglas visuales sencillas vinculadas a la geometría de la cámara. Para estimar la distancia se utilizaban indicios como la perspectiva, el tamaño de los objetos y si un objeto bloqueaba a otro. 

Por ejemplo, cuando dos objetos similares aparecían en diferentes tamaños, se asumía que el más pequeño estaba más lejos. Estos enfoques funcionaban razonablemente bien en entornos controlados en los que factores como la iluminación, la posición de la cámara y la disposición de la escena se mantenían constantes.

Sin embargo, en situaciones reales, estas suposiciones a menudo se desmoronan. Las variaciones en la iluminación, los cambios de perspectiva y el aumento de la complejidad de la escena pueden dar lugar a estimaciones de profundidad poco fiables, lo que limita la eficacia de los métodos clásicos en entornos no controlados.

Primeros enfoques del aprendizaje automático

Los primeros métodos de aprendizaje automático aportaron más flexibilidad a la estimación de la profundidad al aprender patrones directamente a partir de los datos. En lugar de basarse únicamente en reglas geométricas fijas, estos modelos intentaban aprender la relación entre la información visual y la distancia, tratando la predicción de la profundidad como un problema de regresión basado en indicios como los bordes, las texturas y los cambios de color.

La selección de estas características fue una parte fundamental del proceso. Los ingenieros tuvieron que decidir qué señales visuales extraer y cómo representarlas, y el rendimiento del modelo dependía en gran medida de esas decisiones.

Aunque este enfoque funcionaba mejor que los métodos anteriores, seguía teniendo limitaciones. Si las características seleccionadas carecían de un contexto importante, las predicciones de profundidad eran menos precisas. A medida que las escenas se volvían más complejas y variadas, estos modelos a menudo tenían dificultades para producir resultados fiables.

Algoritmos de aprendizaje profundo

La mayoría de los sistemas modernos de estimación de profundidad monocular utilizan el aprendizaje profundo, que se refiere a redes neuronales con muchas capas que pueden aprender patrones complejos a partir de datos. Estos modelos aprenden a predecir la profundidad directamente a partir de imágenes y producen mapas de profundidad.

Muchos enfoques se basan en redes neuronales convolucionales (CNN), un tipo de red neuronal diseñada para procesar imágenes mediante la detección de patrones como bordes y formas. Estos modelos suelen utilizar una configuración de codificador-decodificador: el codificador extrae las características visuales de la imagen y el decodificador las convierte en un mapa de profundidad. El procesamiento de la imagen a múltiples escalas ayuda al modelo a capturar la disposición general de la escena, al tiempo que captura los límites claros de los objetos.

Los modelos más recientes se centran en comprender las relaciones entre las diferentes partes de una imagen. Los modelos basados en transformadores y Vision Transformer (ViT) utilizan mecanismos de atención, que permiten al modelo identificar qué regiones de una imagen son más relevantes y relacionar entre sí áreas distantes. Esto ayuda al modelo a construir una comprensión más coherente de la profundidad en toda la escena.

Algunos sistemas combinan ambas ideas. Los modelos híbridos CNN-Transformer utilizan CNN para capturar detalles locales precisos y Transformers para modelar el contexto global de la escena. Aunque esto suele mejorar la precisión, normalmente requiere más recursos computacionales, como memoria y potencia de procesamiento adicionales.

Por qué es importante la comprensión profunda para los sistemas de IA visual

A medida que aprendes sobre la estimación de profundidad monocular, es posible que te preguntes por qué la comprensión de la profundidad es una parte tan importante de los sistemas de IA basados en la visión.

Cuando un sistema puede estimar la distancia a la que se encuentran los objetos y las superficies, obtiene una mejor comprensión de cómo está dispuesta una escena y cómo se relacionan entre sí los diferentes elementos. Este tipo de conciencia espacial es esencial para tomar decisiones fiables, especialmente en aplicaciones del mundo real como la conducción autónoma.

La información sobre la profundidad también añade un valioso contexto a otras tareas de visión artificial. Por ejemplo, la detección de objetos, respaldada por modelos como Ultralytics , puede indicar a un sistema qué hay en una escena, pero la profundidad ayuda a determinar dónde se encuentran esos objetos en relación con la cámara y entre sí.

En conjunto, estas capacidades permiten una amplia gama de aplicaciones de IA visual, como la creación de mapas 3D, la navegación por entornos complejos y la comprensión de una escena en su conjunto. 

Los robots y los vehículos autónomos dependen de esta información para desplazarse con seguridad, evitar obstáculos y reaccionar ante los cambios en tiempo real. Por ejemplo, el enfoque de conducción basado únicamente en la visión de Tesla se basa en imágenes de cámara combinadas con estimaciones de profundidad, en lugar de LiDAR, para comprender a qué distancia se encuentran los objetos y cómo están posicionados en la carretera.

Cómo funcionan los modelos de estimación de profundidad monocular

Aunque las arquitecturas de los modelos varían, la mayoría de los modelos de estimación de profundidad monocular siguen un proceso similar para convertir una sola imagen en un mapa de profundidad. A continuación se ofrece una breve descripción general de los pasos clave que se siguen:

  • Entrada y preprocesamiento: El flujo de trabajo comienza con una imagen de entrada. Antes de pasar al modelo, la imagen original suele redimensionarse, normalizarse y convertirse en un tensor, que es un formato que utilizan las redes neuronales para procesar de manera eficiente los datos de imagen.
  • Extracción de características: una red codificadora analiza la imagen para extraer características visuales significativas. Estas características capturan información como texturas, límites de objetos y la disposición general de la escena. La mayoría de los modelos operan a múltiples escalas, por lo que pueden comprender tanto los detalles finos como la estructura global.
  • Razonamiento en profundidad: utilizando las características extraídas, el modelo combina detalles locales con el contexto global para razonar sobre las relaciones espaciales en la escena. En esta etapa, aprende qué regiones de la imagen están más cerca de la cámara y cuáles están más lejos.
  • Generación del mapa de profundidad: A continuación, un decodificador convierte esta información en un mapa de profundidad denso. A cada píxel de la imagen se le asigna un valor de profundidad, a menudo combinando predicciones de diferentes escalas para mejorar la precisión y la coherencia.

Cómo se entrenan los modelos de estimación de profundidad monocular

El proceso que acabamos de comentar da por hecho que ya disponemos de un modelo entrenado o preentrenado. Pero, ¿cómo funciona realmente el entrenamiento de un modelo de estimación de profundidad monocular?

El entrenamiento comienza con la preparación de los datos de imagen para que puedan ser procesados de manera eficiente por la red. Las imágenes de entrada se redimensionan y normalizan a una escala consistente, y luego se pasan a través del modelo para generar un mapa de profundidad predicho que estima la distancia en cada píxel.

A continuación, el mapa de profundidad previsto se compara con los datos de profundidad de referencia utilizando una función de pérdida, que mide la distancia entre la predicción del modelo y la profundidad real. Este valor de pérdida representa el error actual del modelo y proporciona una señal para su mejora.

Un optimizador utiliza esta señal para actualizar el modelo ajustando sus pesos internos. Para ello, el optimizador calcula el gradiente, que describe cómo cambia la pérdida con respecto a cada parámetro del modelo, y aplica estas actualizaciones repetidamente a lo largo de múltiples épocas, o pasadas completas por el conjunto de datos de entrenamiento.

Este proceso iterativo de entrenamiento con aprendizaje supervisado se guía por hiperparámetros como la tasa de aprendizaje, que controla el tamaño de cada paso de actualización, y el tamaño del lote, que determina cuántas imágenes se procesan a la vez. Dado que el entrenamiento implica un gran número de operaciones matemáticas, normalmente se acelera utilizando una unidad de procesamiento gráfico (GPU), que es ideal para el cálculo paralelo.

Una vez completado el entrenamiento, el modelo se evalúa utilizando métricas de evaluación estándar en un conjunto de validación, que consiste en imágenes que no se utilizaron durante el entrenamiento. Esta evaluación ayuda a medir la capacidad del modelo para generalizar a nuevos datos. 

El modelo entrenado puede reutilizarse o ajustarse para nuevos escenarios. En general, este proceso de entrenamiento permite que los modelos de estimación de profundidad monocular produzcan estimaciones de profundidad consistentes, que son esenciales para tareas posteriores como la reconstrucción 3D y la implementación en el mundo real.

Exploración de modelos de vanguardia y tendencias de investigación

La estimación de profundidad monocular ha mejorado rápidamente a medida que los modelos han ido perfeccionando su capacidad para comprender escenas completas, en lugar de limitarse a pequeños detalles visuales. Los enfoques anteriores solían generar mapas de profundidad irregulares, especialmente en entornos complejos. 

Los modelos más recientes, tal y como se observa en una investigación publicada recientemente en arXiv, se centran más en un contexto global, lo que da lugar a predicciones de profundidad que parecen más estables y realistas. Modelos tan conocidos como MiDaS y DPT contribuyeron a impulsar este cambio al aprender la profundidad a partir de conjuntos de datos diversos y de alta resolución y al generalizar bien en muchas escenas. 

Los modelos más recientes, como ZoeDepth y Depth Anything V2, se basan en este trabajo y mejoran la consistencia de la escala, al tiempo que mantienen un alto rendimiento en una amplia gama de configuraciones. Este tipo de progreso se mide a menudo utilizando conjuntos de datos de referencia comunes, como KITTI y NYU, que abarcan tanto escenas exteriores como interiores. 

Otra tendencia clara es el equilibrio entre precisión y practicidad. Los modelos más pequeños están optimizados para la velocidad y pueden ejecutarse en tiempo real en dispositivos móviles o periféricos, mientras que los modelos más grandes priorizan una mayor resolución y precisión de profundidad de largo alcance. 

Aplicaciones de estimación de profundidad monocular

A continuación, veamos algunos ejemplos reales que muestran cómo se utiliza la estimación de profundidad monocular para deducir la estructura 3D de una escena a partir de una sola imagen. 

En todos estos casos, es importante tener en cuenta que la información sobre la profundidad es una estimación inferida a partir de señales visuales, no una medición precisa. Esto hace que la estimación de la profundidad monocular sea útil para comprender la disposición relativa y las relaciones espaciales, pero no sustituye a los sensores diseñados para medir la distancia con precisión, como los sistemas LiDAR o estéreo.

Cartografía y navegación del terreno mediante drones

Los drones suelen operar en entornos en los que las señales GPS no son fiables, como bosques, obras de construcción, zonas de desastre o áreas urbanas densamente pobladas. Para volar con seguridad en estas condiciones, necesitan comprender el terreno circundante y saber a qué distancia se encuentran los obstáculos. En el pasado, esto solía requerir la incorporación de sensores como LiDAR o cámaras estéreo, lo que aumentaba el peso, el consumo de energía y el coste total.

La estimación de profundidad monocular es una alternativa más sencilla. Con una sola cámara RGB, los drones pueden estimar la profundidad a partir de imágenes y crear una comprensión básica en 3D de su entorno. Esto les permite detect como edificios, árboles o cambios repentinos en el terreno y ajustar su trayectoria de vuelo en tiempo real.

Estas estimaciones de profundidad facilitan tareas clave de navegación, como evitar obstáculos, controlar la altitud y aterrizar de forma segura. Como resultado, los drones ligeros pueden realizar tareas de cartografía, inspección y navegación sin depender de sensores de profundidad especializados.

Fig. 2. La estimación de profundidad monocular se puede utilizar para analizar imágenes tomadas por drones (Fuente)

Cubriendo los puntos ciegos de los vehículos de carreras autónomos

Los vehículos autónomos suelen depender en gran medida de los sensores LiDAR, que utilizan pulsos láser para medir la distancia y crear una vista en 3D de la carretera. Aunque son muy precisos, los sensores LiDAR pueden tener dificultades con crestas pronunciadas, pendientes empinadas, oclusiones o inclinaciones repentinas del vehículo, lo que a veces da lugar a datos de profundidad escasos o incompletos.

La estimación de profundidad monocular puede ayudar a llenar estos vacíos al proporcionar información de profundidad densa a partir de una sola imagen RGB, incluso cuando los datos LiDAR son incompletos. Consideremos un escenario en el que un coche autónomo se aproxima a gran velocidad a la cima de una colina. Los rayos LiDAR pueden sobrepasar la carretera más allá de la cima, dejando incertidumbre sobre lo que hay más adelante. 

Sin embargo, la estimación de profundidad basada en cámaras aún puede inferir la forma de la carretera a partir de señales visuales como la perspectiva y la textura, lo que ayuda al vehículo a mantener una percepción fiable hasta que los datos del LiDAR se estabilicen. Juntos, el LiDAR y la estimación de profundidad monocular permiten una percepción más estable y un control más seguro en condiciones de conducción difíciles.

Fig. 3. Visualización del uso de la estimación de profundidad monocular para carreras autónomas (Fuente)

Navegación robótica y evitación de obstáculos

Los robots suelen operar en lugares donde no se dispone de mapas detallados y las condiciones cambian constantemente. Para moverse con seguridad, necesitan tener una percepción fiable del espacio que les rodea y de la ubicación de los obstáculos. 

La estimación de profundidad monocular puede proporcionar esta conciencia espacial utilizando una sola cámara RGB, sin depender de hardware pesado o costoso. Al aprender señales visuales como la escala y la perspectiva, los modelos de estimación de profundidad pueden generar mapas de profundidad densos del entorno. Esto proporciona a los robots una visión clara de la distancia a las superficies y los objetos.

En particular, cuando la información sobre la profundidad se combina con tareas de visión artificial, como la detección de objetos y la segmentación semántica, los robots pueden obtener una visión más completa de su entorno. Pueden identificar objetos, comprender su distancia y decidir dónde es seguro moverse. Esto facilita la evitación de obstáculos, la detección de espacios libres y la planificación de rutas en tiempo real.

Fig. 4. Detección de objetos mediante estimación de profundidad monocular y detección de objetos (Fuente)

Ventajas y desventajas de la estimación de profundidad monocular

Estas son algunas de las principales ventajas de utilizar la estimación de profundidad monocular:

  • Ligera y eficiente en cuanto al consumo energético: el uso de una sola cámara reduce el peso del sistema y el consumo energético, lo que resulta especialmente importante para robots móviles, drones y sistemas integrados.
  • Compatible con la fusión de sensores: la profundidad monocular puede complementar otros sensores, como LiDAR o radar, al llenar vacíos o proporcionar redundancia.
  • Funciona en muchos entornos: el mismo enfoque basado en cámaras se puede utilizar en interiores, exteriores y en diferentes plataformas sin necesidad de realizar cambios en el hardware.

Aunque la estimación de profundidad monocular ofrece claras ventajas, hay algunas limitaciones que hay que tener en cuenta:

  • Menor precisión que los sensores activos: aunque está mejorando rápidamente, la estimación de profundidad monocular no suele alcanzar la precisión absoluta de los sensores LiDAR o de luz estructurada en condiciones controladas.
  • Sensibilidad a las condiciones de iluminación: El rendimiento puede verse afectado en entornos con poca luz, sombras intensas, reflejos o escenas con texturas deficientes.
  • Desafíos de generalización: un modelo entrenado en un entorno puede no siempre transferirse de manera confiable a dominios desconocidos sin adaptación o ajuste.

Cuándo no confiar en la estimación de profundidad monocular

Aunque la estimación de profundidad monocular es un área de investigación interesante, es importante comprender dónde se puede utilizar de forma práctica y dónde no. Las distancias que produce son estimaciones basadas en lo que el modelo ve en una imagen, no mediciones exactas tomadas del mundo real.

Por este motivo, la calidad de los resultados puede variar en función de factores como la iluminación, la complejidad de la escena y el grado de similitud de la escena con la que se entrenó al modelo. La estimación de profundidad monocular suele ser eficaz para determinar qué está más cerca y qué está más lejos, pero no es fiable cuando se necesitan distancias exactas.

En situaciones en las que la precisión es realmente importante, como en sistemas críticos para la seguridad, inspecciones industriales o robots que necesitan interactuar con objetos con gran precisión, es necesario medir la profundidad directamente. Sensores como LiDAR, radares, cámaras estéreo o sistemas de luz estructurada están diseñados para ello y proporcionan información sobre la distancia mucho más fiable.

La estimación de profundidad monocular también puede resultar difícil en condiciones visuales adversas. La iluminación deficiente, las sombras intensas, las superficies reflectantes o transparentes, la niebla, el humo o las escenas con muy poca textura visual pueden hacer que las estimaciones de profundidad sean menos fiables. La estimación de la profundidad a largas distancias es otro caso en el que los sensores específicos suelen funcionar mejor.

En lo que respecta a soluciones para el mundo real, la estimación de profundidad monocular funciona mejor como herramienta de apoyo que como solución independiente. Puede añadir un contexto espacial útil, ayudar a llenar los vacíos cuando otros sensores son limitados y mejorar la comprensión general de la escena. Sin embargo, no debe ser la única fuente de información sobre la profundidad cuando la precisión, la seguridad o los requisitos estrictos de fiabilidad son importantes.

Conclusiones clave

La estimación de profundidad monocular es una técnica de visión artificial que permite a las máquinas estimar la distancia a la que se encuentran los objetos utilizando únicamente una imagen de una cámara. Al aprender señales visuales como la perspectiva, el tamaño de los objetos, la textura y el sombreado, estos modelos de IA pueden inferir la estructura 3D de una escena sin depender de sensores como LiDAR o cámaras estéreo. Esto convierte a la estimación de profundidad monocular en un enfoque rentable y escalable para aplicaciones como la conducción autónoma, la robótica y la comprensión de escenas 3D.

Para obtener más información sobre Vision AI, visite nuestro repositorio GitHub y únase a nuestra comunidad. Consulte nuestras páginas de soluciones para obtener más información sobre la IA en robótica y la visión artificial en la fabricación. ¡Descubra nuestras opciones de licencia para empezar a utilizar la visión artificial hoy mismo!

¡Construyamos juntos el futuro
de la IA!

Comience su viaje con el futuro del aprendizaje automático

Comienza gratis