Scoprite come la stima della profondità crea mappe di profondità da immagini stereo, ToF, LiDAR e deep learning monoculare per alimentare robotica, AR/VR e percezione 3D.
La stima della profondità è un compito fondamentale nella computer vision (CV) che comporta la determinazione la distanza degli oggetti in una scena rispetto alla telecamera. Calcolando il valore di profondità per ogni pixel di un'immagine, questo processo trasforma i dati bidimensionali standard in una ricca rappresentazione 3D, spesso definita mappa di profondità. Questa capacità è essenziale per le macchine che percepiscono le relazioni spaziali, consentendo loro di navigare negli ambienti, manipolare gli oggetti e comprendere la geometria del mondo, proprio come fa il sistema visivo umano.
La stima della profondità può essere ottenuta con vari metodi, che vanno dal rilevamento attivo ad alta intensità hardware agli approcci di deep learning (DL) guidati dal software. approcci di deep learning (DL) guidati dal software.
La capacità di percepire la terza dimensione sblocca funzionalità critiche in diversi settori.
Nel campo dei veicoli autonomi, la stima della profondità è fondamentale per la sicurezza e la navigazione. Le auto a guida autonoma combinano i dati della telecamera con il LiDAR per detect gli ostacoli, stimare la distanza dagli altri veicoli e costruire una mappa in tempo reale della strada. Analogamente, nella robotica, la percezione della profondità permette ai bracci automatizzati di di eseguire operazioni di "pick and place" giudicando con precisione la posizione e la forma degli oggetti nei flussi di lavoro dell'automazione flussi di lavoro dell 'automazione manifatturiera.
Per realtà aumentata per essere coinvolgenti, gli oggetti virtuali devono interagire in modo realistico con il mondo fisico. La stima della profondità permette ai dispositivi mobili di comprendere la geometria di una stanza, consentendo di posizionare i mobili o i personaggi virtuali sul pavimento o di nasconderli dietro gli oggetti del mondo reale (occlusione), migliorando notevolmente l'esperienza dell'utente. mobili o personaggi virtuali sul pavimento o nascosti dietro gli oggetti del mondo reale (occlusione), migliorando notevolmente l'esperienza dell'utente.
Sebbene esistano modelli di profondità dedicati, gli sviluppatori spesso utilizzano modelli 2D
rilevamento degli oggetti accanto ai dati di calibrazione per
approssimare la distanza. Il ultralytics La libreria semplifica questo aspetto grazie al suo modulo di soluzioni, che consente agli utenti di
stimare la distanza degli oggetti tracciati in base alle posizioni dei loro riquadri di delimitazione.
Il codice seguente mostra come utilizzare YOLO11 per track oggetti e calcolare la loro distanza dalla telecamera.
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()
È importante distinguere la stima della profondità da termini simili nell'ecosistema dell'IA:
I recenti progressi dell'intelligenza artificiale generativa e dei modelli fondazionali modelli fondativi stanno ulteriormente colmando il divario tra 2D e 3D. Tecniche come Neural Radiance Fields (NeRF) utilizzano le immagini 2D rade per ricostruire scene 3D complesse, basandosi molto sui principi di profondità sottostanti. Man mano che ottimizzazione dei modelli, la stima altamente accurata della profondità sta diventando fattibile sui dispositivi edge, alimentando la prossima generazione di droni intelligenti, droni intelligenti, robot di servizio e dispositivi di elaborazione spaziale.