Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

Stima della profondità

Scopri come la stima della profondità aggiunge una prospettiva 3D alla visione artificiale. Esplora tecniche come la profondità monoculare e la visione stereo utilizzando i modelli Ultralytics .

La stima della profondità è un processo fondamentale nella visione artificiale che determina la distanza degli oggetti da una telecamera, aggiungendo di fatto una terza dimensione alle immagini 2D. Calcolando la distanza di ogni pixel in un'immagine, questa tecnica crea una mappa di profondità, una rappresentazione in cui l'intensità dei pixel corrisponde alla distanza. Questa capacità imita la visione binoculare umana , consentendo alle macchine di percepire le relazioni spaziali e la geometria. Si tratta di una tecnologia fondamentale per consentire ai sistemi autonomi di navigare in sicurezza, comprendere l'ambiente circostante e interagire con gli oggetti fisici.

Meccanismi e tecniche fondamentali

Esistono diversi modi per ottenere la stima della profondità, che vanno dalle soluzioni basate sull'hardware ad approcci puramente software che utilizzano l'intelligenza artificiale.

  • Sistemi di visione stereo: analogamente agli occhi umani, la visione stereo utilizza due telecamere posizionate una accanto all'altra. Gli algoritmi analizzano le lievi differenze, o disparità, tra le immagini sinistra e destra per triangolare la distanza. Ciò si basa in larga misura su un accurato abbinamento delle caratteristiche per identificare gli stessi punti in entrambi i fotogrammi.
  • Stima della profondità monoculare: questo metodo avanzato stima la profondità da una singola immagine. Poiché una singola foto 2D non contiene dati intrinseci sulla profondità, i modelli di deep learning vengono addestrati su vasti set di dati per riconoscere indizi visivi come la prospettiva, le dimensioni degli oggetti e l'occlusione. Le architetture moderne, come le reti neurali convoluzionali (CNN), eccellono in questo compito, rendendo possibile ricavare una struttura 3D da fotocamere standard.
  • LiDAR e Time-of-Flight (ToF): i sensori attivi come LiDAR (Light Detection and Ranging) e le telecamere Time-of-Flight emettono impulsi luminosi e misurano il tempo impiegato per tornare indietro. Questi metodi generano nuvole di punti altamente accurate e sono spesso utilizzati per raccogliere dati reali sul terreno per l'addestramento dei modelli di apprendimento automatico.

Applicazioni nel mondo reale

La capacità di misurare la distanza è rivoluzionaria in molti settori industriali, alimentando applicazioni che richiedono la percezione spaziale .

  • Guida autonoma: le auto a guida autonoma si basano sulla stima della profondità per detect , misurare la distanza dagli altri veicoli e navigare in sicurezza su reti stradali complesse. È parte integrante del rilevamento di oggetti 3D per l'identificazione di pedoni e ciclisti.
  • Robotica e automazione: i robot utilizzano la percezione della profondità per compiti quali la pianificazione del percorso e la manipolazione di oggetti. Ad esempio, un robot da magazzino deve sapere esattamente a che distanza si trova uno scaffale per prelevare un pacco senza urtare contro di esso.
  • Realtà aumentata (AR): per inserire oggetti virtuali in modo convincente in una scena del mondo reale, i dispositivi AR devono comprendere la geometria 3D dell'ambiente. La stima della profondità garantisce che i personaggi virtuali possano nascondersi dietro mobili reali, un concetto noto come gestione dell'occlusione.

Esempio di codice: stima della profondità monoculare

Sebbene esistano modelli di profondità specializzati, spesso è possibile dedurre le relazioni spaziali utilizzando i riquadri di rilevamento degli oggetti come proxy della distanza in scenari semplici (riquadri più grandi spesso indicano oggetti più vicini). Ecco come caricare un modello utilizzando il ultralytics pacchetto per detect , che è il primo passo in molte pipeline sensibili alla profondità.

from ultralytics import YOLO

# Load the YOLO26 model
model = YOLO("yolo26n.pt")

# Run inference on an image
results = model("path/to/image.jpg")

# Process results
for result in results:
    # Get bounding boxes (xyxy format)
    boxes = result.boxes.xyxy

    # Iterate through detections
    for box in boxes:
        print(f"Detected object at: {box}")

Relazione con altri concetti di visione artificiale

È importante distinguere la stima della profondità dai termini correlati. Mentre il rilevamento degli oggetti identifica cosa e dove si trova un oggetto nello spazio 2D (utilizzando un riquadro di delimitazione), la stima della profondità identifica quanto è lontano (asse Z). Allo stesso modo, la segmentazione semantica classifica i pixel in categorie (ad esempio, strada, cielo, auto), mentre la stima della profondità assegna un valore di distanza a quegli stessi pixel.

Progressi nell'intelligenza artificiale spaziale

I recenti progressi nell'intelligenza artificiale generativa stanno colmando il divario tra la visione 2D e quella 3D. Tecniche come i Neural Radiance Fields (NeRF) utilizzano più immagini 2D per ricostruire scene 3D complesse, basandosi in larga misura sui principi di profondità sottostanti. Inoltre, con il miglioramento delle tecniche di ottimizzazione dei modelli, sta diventando possibile eseguire stime di profondità altamente accurate su dispositivi AI edge. Ciò consente il calcolo spaziale in tempo reale su hardware di dimensioni ridotte come droni o occhiali intelligenti, facilitato da piattaforme come la Ultralytics per un addestramento e una distribuzione efficiente dei modelli.

Unitevi alla comunità di Ultralytics

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

Iscriviti ora