Découvrez comment l'estimation de la profondeur crée des cartes de profondeur à partir d'images - stéréo, ToF, LiDAR et apprentissage profond monoculaire - pour alimenter la robotique, l'AR/VR et la perception 3D.
L'estimation de la profondeur est une tâche fondamentale vision par ordinateur (VA) qui consiste à déterminer la distance des objets d'une scène par rapport à la caméra. En calculant la valeur de profondeur pour chaque pixel d'une image, ce processus transforme des données bidimensionnelles standard en une représentation 3D riche, souvent appelée "profondeur", ce processus transforme les données bidimensionnelles standard en une représentation 3D riche, souvent appelée carte de profondeur. Cette capacité est essentielle pour que les machines perçoivent les relations spatiales, ce qui leur permet de naviguer dans des environnements, manipuler des objets et comprendre la géométrie du monde, comme le fait le système visuel humain.
L'estimation de la profondeur peut être réalisée à l'aide de différentes méthodes, allant de la détection active à forte intensité matérielle à des approches d'apprentissage profond (DL) basées sur des logiciels. les approches d'apprentissage profond (DL) pilotées par logiciel.
La capacité à percevoir la troisième dimension permet de débloquer des fonctionnalités essentielles dans divers secteurs d'activité.
Dans le domaine des véhicules autonomes, l'estimation est vitale pour la sécurité et la navigation. Les voitures autonomes combinent les données des caméras avec celles du LiDAR pour detect obstacles, estimer la distance avec les autres véhicules et construire une carte de la route en temps réel, détecter les obstacles, estimer la distance avec les autres véhicules et construire une carte de la route en temps réel. De même, en robotique, la perception de la profondeur permet aux bras automatisés automatisés d'effectuer des opérations de "pick and place" en évaluant avec précision la position et la forme des articles dans les flux de travail de l'automatisation de la fabrication. d'automatisation de la fabrication.
Pour réalité augmentée soit immersive, les objets virtuels doivent interagir de manière réaliste avec le monde physique. L'estimation de la profondeur permet aux appareils mobiles de comprendre la géométrie d'une pièce, ce qui permet de placer des meubles ou des personnages virtuels sur le sol ou de les cacher derrière des objets réels (occlusion), améliorant ainsi considérablement l'expérience utilisateur. sur le sol ou cachés derrière des objets du monde réel (occlusion), ce qui améliore considérablement l'expérience de l'utilisateur.
Bien qu'il existe des modèles de profondeur dédiés, les développeurs utilisent souvent des modèles 2D
détection d'objets avec les données d'étalonnage pour
approximation de la distance. Les ultralytics simplifie cela grâce à son module de solutions, qui permet aux utilisateurs d'estimer la distance des objets suivis en se basant sur la position de leur boîte englobante.
d'estimer la distance des objets suivis en se basant sur la position de leur boîte englobante.
Le code suivant montre comment utiliser YOLO11 pour track objets et calculer leur distance approximative distance approximative de la caméra.
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()
Il est important de distinguer l'estimation de la profondeur des termes similaires dans l'écosystème de l'IA :
Les progrès récents de l'IA générative et des modèles fondateurs permettent de combler le fossé entre la 2D et la 3D. Des techniques telles que Neural Radiance Fields (NeRF) utilisent des images 2D clairsemées pour reconstruire des scènes 3D complexes, en s'appuyant fortement sur les principes de profondeur sous-jacents. scènes 3D complexes, en s'appuyant fortement sur les principes de profondeur sous-jacents. Au fur et à mesure que l'optimisation du modèle s'améliore, l'estimation très précise de la profondeur devient possible sur les appareils périphériques, alimentant la prochaine génération de drones intelligents, de robots de service et d'appareils d'informatique spatiale, drones intelligents, de robots de service et de dispositifs d'informatique spatiale.