Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Stima della profondità

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.

Meccanismi di stima della profondità

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.

  • Visione stereo: Ispirati alla visione binoculare umana, sistemi di visione stereo utilizzano due telecamere telecamere leggermente distanti tra loro. Analizzando la disparità - la differenza di posizione orizzontale di un oggetto tra l'immagine destra e quella sinistra - gli algoritmi possono triangolare matematicamente la distanza. immagini di destra e di sinistra, gli algoritmi possono triangolare matematicamente la distanza. Questo metodo si basa molto su un'affidabile affidabile delle caratteristiche tra i fotogrammi.
  • Stima della profondità monoculare: Questa tecnica stima la profondità a partire da una singola immagine 2D, un compito impegnativo perché un compito difficile, perché una singola immagine non contiene informazioni esplicite sulla profondità. Moderno Reti neurali convoluzionali (CNN) sono addestrate su enormi insiemi di dati per riconoscere gli indizi monoculari, come le dimensioni dell'oggetto, la prospettiva e l'occlusione. La ricerca sulla previsione monoculare della profondità ha fatto notevoli progressi, consentendo alle telecamere standard di dedurre strutture 3D.
  • Sensori attivi (LiDAR e ToF): A differenza dei sistemi di telecamere passive, i sensori attivi emettono segnali per misurare la distanza. misurare la distanza. LiDAR (Light Detection and Ranging) utilizza impulsi laser per creare nuvole di punti 3D precise. per creare nuvole di punti 3D precise, mentre telecamere a tempo di volo (ToF) misurano il tempo necessario alla luce per tornare al sensore. Queste tecnologie forniscono dati di verità a terra ad alta precisione dati ad alta precisione, spesso utilizzati per addestrare modelli di apprendimento automatico (ML).

Applicazioni nel mondo reale

La capacità di percepire la terza dimensione sblocca funzionalità critiche in diversi settori.

Sistemi autonomi e robotica

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.

Realtà aumentata (AR)

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.

Esempio Python : Approssimazione della distanza con YOLO11

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()

Stima della profondità e concetti correlati

È importante distinguere la stima della profondità da termini simili nell'ecosistema dell'IA:

  • Rilevamento di oggetti 3D: Mentre la stima della profondità mentre la stima della profondità assegna un valore di distanza a ogni pixel, il rilevamento di oggetti 3D si concentra sull'identificazione di oggetti specifici e sul posizionamento di un riquadro di delimitazione 3D (cuboide). oggetti specifici e posizionare un riquadro di delimitazione 3D (cuboide) intorno ad essi. Il rilevamento 3D indica "dove si trova l'auto e le sue dimensioni", mentre la stima della profondità fornisce la geometria dell'intera scena, compresa la geometria dell'intera scena, compresa la strada e lo sfondo.
  • Calcolo della distanza: Si tratta di misurare lo spazio lineare tra due punti specifici o si riferisce solitamente alla misurazione dello spazio lineare tra due punti specifici o dalla telecamera a un oggetto distinto (spesso utilizzando l'euristica 2D). (spesso utilizzando un'euristica 2D), come mostrato nell'esempio di codice precedente. La stima della profondità è un'operazione di predizione densa e pixel-wise che genera una mappa topografica completa della vista.
  • Flusso ottico: misura il movimento movimento apparente degli oggetti tra un fotogramma e l'altro. Il flusso ottico può essere usato per dedurre la profondità (struttura dal movimento), il suo risultato principale è un campo di vettori di movimento, non una mappa di distanza statica.

Progressi dell'intelligenza artificiale spaziale

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.

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora