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.
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.
La capacidad de percibir la tercera dimensión desbloquea funcionalidades críticas en diversos sectores.
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.
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.
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()
Es importante distinguir la estimación de la profundidad de términos similares en el ecosistema de la IA:
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.