Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Estimación de la profundidad

Descubra cómo la estimación de la profundidad crea mapas de profundidad a partir de imágenes -estéreo, ToF, LiDAR y aprendizaje profundo monocular- para impulsar la robótica, la RA/VR y la percepción 3D.

La estimación de la profundidad es una tarea visión por ordenador (VC) que consiste en determinar la distancia de los objetos de una escena con respecto a la cámara. Al calcular el valor de profundidad de cada píxel de una imagen, este proceso transforma los datos bidimensionales estándar en una rica representación tridimensional, a menudo denominada mapa de profundidad. Esta capacidad es esencial para que las máquinas perciban las relaciones espaciales, lo que les permite navegar por los entornos, manipular objetos y comprender la geometría del mundo como lo hace el sistema visual humano.

Mecanismos de estimación de la profundidad

La estimación de la profundidad puede lograrse mediante diversos métodos, que van desde la detección activa intensiva por hardware hasta enfoques de aprendizaje profundo (deep learning, DL) basados en software. aprendizaje profundo (DL) basado en software.

  • Visión estereoscópica: Inspirados en la visión binocular humana, los sistemas de visión estereoscópica emplean dos cámaras situadas ligeramente separadas. Analizando la disparidad (la diferencia de posición horizontal de un objeto entre las imágenes izquierda y derecha), los algoritmos pueden triangular matemáticamente la distancia. entre las imágenes izquierda y derecha, los algoritmos pueden triangular matemáticamente la distancia. Este método depende en gran medida de de las características de los fotogramas.
  • Estimación monocular de la profundidad: Esta técnica estima la profundidad a partir de una sola imagen 2D, una tarea difícil porque una sola imagen carece de información explícita sobre la profundidad. porque una sola imagen carece de información explícita sobre la profundidad. Moderna redes neuronales convolucionales (CNN) se entrenan en conjuntos de datos masivos para reconocer señales monoculares, como el tamaño del objeto, la perspectiva y la oclusión. La investigación sobre la predicción monocular de la profundidad ha avanzado considerablemente, lo que permite a las cámaras estándar inferir estructuras tridimensionales.
  • Sensores activos (LiDAR y ToF): A diferencia de los sistemas de cámaras pasivas, los sensores activos emiten señales para medir la distancia. LiDAR (Light Detection and Ranging) utiliza pulsos láser para crear nubes de puntos 3D precisas, mientras que cámaras de tiempo de vuelo (ToF) miden el tiempo que tarda la luz en volver al sensor. Estas tecnologías proporcionan datos reales de gran precisión a menudo se utilizan para entrenar modelos de aprendizaje automático.

Aplicaciones en el mundo real

La capacidad de percibir la tercera dimensión desbloquea funcionalidades críticas en diversos sectores.

Sistemas autónomos y robótica

En el campo de los vehículos autónomos, la es vital para la seguridad y la navegación. Los coches autónomos combinan datos de cámara con LiDAR para detect obstáculos, estimar la distancia a otros vehículos y construir un mapa de la carretera en tiempo real. Del mismo modo, en la robótica, la percepción de la profundidad permite a los brazos realizar operaciones de "recoger y colocar" juzgando con precisión la posición y la forma de los artículos en flujos de trabajo de automatización de la fabricación.

Realidad aumentada (RA)

Para realidad aumentada los objetos virtuales deben interactuar de forma realista con el mundo físico. La estimación de la profundidad permite a los dispositivos móviles comprender la geometría de una habitación, lo que permite colocar muebles o personajes virtuales en el suelo u ocultarlos detrás de objetos del mundo real (oclusión), mejorando enormemente la experiencia del usuario. en el suelo u ocultos tras objetos del mundo real (oclusión), lo que mejora enormemente la experiencia del usuario.

Ejemplo Python : Aproximación de distancias con YOLO11

Aunque existen modelos de profundidad específicos, los desarrolladores suelen utilizar 2D detección de objetos junto con los datos de calibración para aproximar la distancia. El sitio ultralytics simplifica este proceso gracias a su módulo de soluciones, que permite a los usuarios estimar la distancia de los objetos rastreados basándose en las posiciones de sus cuadros delimitadores.

El siguiente código muestra cómo utilizar YOLO11 para track objetos y calcular su distancia aproximada desde la cámara.

import cv2
from ultralytics import YOLO, solutions

# Load the YOLO11 model for object detection
model = YOLO("yolo11n.pt")

# Initialize the DistanceCalculation solution
# This estimates distance based on bounding box centroids
dist_obj = solutions.DistanceCalculation(names=model.names, view_img=True)

# Open a video file or camera stream
cap = cv2.VideoCapture("path/to/video.mp4")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break

    # Track objects and calculate distance
    tracks = model.track(im0, persist=True, show=False)
    im0 = dist_obj.start_process(im0, tracks)

    # Display result (or save/process further)
    cv2.imshow("Distance Estimation", im0)
    if cv2.waitKey(1) == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

Estimación de la profundidad frente a conceptos afines

Es importante distinguir la estimación de la profundidad de términos similares en el ecosistema de la IA:

  • Detección de objetos 3D: Mientras que profundidad asigna un valor de distancia a cada píxel, la detección de objetos 3D se centra en identificar objetos y colocar un cuadro delimitador 3D (cuboide) a su alrededor. La detección 3D le indica "dónde está el coche y su tamaño", mientras que la estimación de profundidad proporciona la geometría de toda la escena, incluida la carretera y el fondo.
  • Cálculo de la distancia: Este normalmente se refiere a medir el espacio lineal entre dos puntos específicos o desde la cámara a un objeto distinto (a menudo utilizando heurística 2D), como se muestra en el ejemplo de código anterior. La estimación de la profundidad es una tarea de predicción densa en píxeles que genera un mapa topográfico completo. que genera un mapa topográfico completo de la vista.
  • Flujo óptico: mide el movimiento aparente de los objetos entre fotogramas. Aunque el flujo óptico puede utilizarse para deducir la profundidad (estructura a partir del movimiento), su resultado principal es un campo vectorial de movimiento, no un mapa estático de distancias.

Avance de la IA espacial

Los recientes avances en IA generativa y modelos fundacionales están reduciendo aún más la brecha entre 2D y 3D. Técnicas como Neural Radiance Fields (NeRF) utilizan imágenes 2D dispersas para reconstruir reconstruir escenas 3D complejas, basándose en gran medida en los principios de profundidad subyacentes. A medida que mejora la optimización del modelo optimización del modelo, la estimación de profundidad de alta precisión se está convirtiendo en algo factible en los dispositivos periféricos, impulsando la próxima generación de drones inteligentes, robots de servicio y dispositivos de computación espacial.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora