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 que las experiencias de realidad aumentada sean inmersivas, 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.
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 fundamentales están reduciendo aún más la brecha entre 2D y 3D. Técnicas como los campos de radiación neuronal (NeRF) utilizan imágenes 2D dispersas para reconstruir escenas 3D complejas, basándose en gran medida en principios de profundidad subyacentes. A medida que mejora la optimización de los modelos, la estimación de la profundidad con gran precisión es cada vez más factible en dispositivos de IA de vanguardia, lo que impulsa la próxima generación de drones inteligentes, robots de servicio y dispositivos de computación espacial.