Scopri come funziona la stima della profondità monoculare, come si confronta con i metodi di profondità basati su sensori e come consente una percezione 3D scalabile nei sistemi di visione.
Scopri come funziona la stima della profondità monoculare, come si confronta con i metodi di profondità basati su sensori e come consente una percezione 3D scalabile nei sistemi di visione.
Le auto a guida autonoma sono progettate per comprendere ciò che accade intorno a loro in modo da poter guidare in sicurezza. Ciò significa andare oltre il semplice riconoscimento di oggetti come pedoni o altri veicoli.
Per rispondere correttamente, devono anche sapere quanto sono lontani tali oggetti. Tuttavia, dotare le macchine di questo senso della distanza non è semplice. A differenza degli esseri umani, esse non percepiscono naturalmente la profondità dalle immagini e devono essere istruite esplicitamente su come farlo.
Uno dei motivi è che la maggior parte delle fotocamere cattura il mondo come immagini piatte e bidimensionali. Trasformare queste immagini in qualcosa che rifletta la profondità e la struttura 3D del mondo reale è complicato, soprattutto quando i sistemi devono funzionare in modo affidabile nelle condizioni quotidiane.
È interessante notare che la visione artificiale, una branca dell'IA che si concentra sull'interpretazione e la comprensione dei dati visivi, consente alle macchine di comprendere meglio il mondo attraverso le immagini. Ad esempio, la stima della profondità monoculare è una tecnica di visione artificiale che stima la distanza degli oggetti utilizzando solo un'immagine ripresa da una singola telecamera.
Imparando a riconoscere segnali visivi quali dimensioni degli oggetti, prospettiva, consistenza e ombreggiatura, questi modelli sono in grado di prevedere la profondità senza ricorrere a sensori aggiuntivi come LiDAR (Light Detection and Ranging) o telecamere stereo. In questo articolo esploreremo cos'è la stima della profondità monoculare, come funziona e alcune delle sue applicazioni nel mondo reale. Cominciamo!
La stima della profondità monoculare consente a una macchina di capire quanto sono lontani gli oggetti da essa utilizzando una sola immagine. Poiché si basa su una sola telecamera, questo approccio presenta diversi vantaggi, tra cui costi inferiori e requisiti hardware più semplici.
Ad esempio, può essere utilizzato in robot domestici economici che funzionano con una sola telecamera. Anche da una singola immagine, il sistema robotico è in grado di identificare quali pareti sono più vicine e quali porte sono più lontane, e dedurre la profondità complessiva dello spazio.
Spesso, una singola immagine non contiene informazioni nella scala corretta, quindi la stima della profondità monoculare si concentra generalmente sulla profondità relativa. In altre parole, è in grado di determinare quali oggetti sono più vicini e quali più lontani, anche se le distanze esatte non sono note.
Quando un modello viene addestrato su dati con distanze reali o profondità assoluta, come le misurazioni di profondità provenienti da sensori quali LiDAR, può imparare a prevedere le distanze in unità reali, come i metri. Senza questo tipo di dati di riferimento, il modello può comunque dedurre la profondità relativa, ma non è in grado di stimare in modo affidabile le distanze assolute.
Il risultato della stima della profondità monoculare è in genere una mappa di profondità, ovvero un'immagine in cui ogni pixel rappresenta la distanza di quella parte della scena. Una mappa di profondità fornisce ai sistemi di visione una comprensione di base della struttura 3D dell'ambiente.

La stima della profondità può essere affrontata in diversi modi, a seconda dei sensori disponibili, dei vincoli hardware e dei requisiti di precisione. I metodi tradizionali spesso si basano su più punti di vista o sensori specializzati per misurare direttamente la distanza.
Un approccio comune è la visione stereo, che stima la profondità confrontando due immagini sincronizzate catturate da punti di vista leggermente diversi. Misurando la differenza tra i punti corrispondenti nelle due immagini, il sistema può dedurre la distanza degli oggetti dalla telecamera.
Un altro approccio è rappresentato dai sistemi RGB-D (rosso, verde, blu e profondità), che utilizzano sensori di profondità attivi per misurare direttamente la distanza di ciascun pixel. Questi sistemi sono in grado di fornire informazioni accurate sulla profondità in ambienti controllati, ma richiedono hardware aggiuntivo.
Nel frattempo, i metodi basati su LiDAR utilizzano impulsi laser per generare rappresentazioni tridimensionali precise di una scena. Sebbene siano altamente accurati, i sensori LiDAR sono spesso costosi e aggiungono una notevole complessità hardware.
Al contrario, la stima della profondità monoculare deduce la profondità utilizzando solo una singola immagine RGB. Poiché non dipende da più telecamere o sensori specializzati, è più facile da implementare su larga scala ed è una buona opzione quando i costi e le risorse hardware sono limitati.
Quando stimano la profondità da una singola immagine, i modelli di profondità monoculari imparano a riconoscere gli indizi visivi che gli esseri umani utilizzano istintivamente per valutare la distanza. Questi indizi includono linee prospettiche, dimensioni degli oggetti, densità delle texture, sovrapposizione degli oggetti e ombreggiatura, tutti elementi che forniscono indicazioni sulla distanza degli oggetti dalla fotocamera.
Questi indizi contribuiscono a creare un senso di profondità. Gli oggetti che appaiono più piccoli o sono parzialmente occlusi sono spesso più lontani, mentre i dettagli più nitidi e le apparenze visive più grandi suggeriscono solitamente che qualcosa è più vicino.
Per apprendere questi modelli, i modelli di profondità monoculare vengono addestrati su set di dati di immagini su larga scala, spesso abbinati a informazioni di profondità ottenute da altre fonti come LiDAR o sistemi stereo. Durante l'addestramento, i modelli apprendono come gli indizi visivi si relazionano alla profondità, consentendo loro di dedurre la distanza da una singola immagine al momento dell'inferenza.
Grazie a dati di addestramento diversificati, i moderni modelli di visione artificiale sono in grado di generalizzare le conoscenze acquisite in un'ampia gamma di ambienti, inclusi scenari interni ed esterni, e di gestire punti di vista non familiari.
Successivamente, esploreremo i principali approcci utilizzati per stimare la profondità da una singola immagine e come questi metodi si sono evoluti nel tempo.
I primi metodi di stima della profondità si basavano su semplici regole visive legate alla geometria della fotocamera. Per stimare la distanza venivano utilizzati indizi quali la prospettiva, le dimensioni degli oggetti e l'eventuale presenza di un oggetto che ne bloccava un altro.
Ad esempio, quando due oggetti simili apparivano di dimensioni diverse, quello più piccolo veniva considerato più lontano. Questi approcci funzionavano abbastanza bene in ambienti controllati in cui fattori quali l'illuminazione, la posizione della telecamera e la disposizione della scena rimanevano costanti.
Tuttavia, nelle scene reali, queste ipotesi spesso non reggono. Le variazioni di illuminazione, i cambiamenti di punto di vista e la maggiore complessità delle scene possono portare a stime di profondità inaffidabili, limitando l'efficacia dei metodi classici in contesti non controllati.
I primi metodi di apprendimento automatico hanno apportato maggiore flessibilità alla stima della profondità, apprendendo i modelli direttamente dai dati. Anziché basarsi esclusivamente su regole geometriche fisse, questi modelli hanno cercato di apprendere la relazione tra informazioni visive e distanza, trattando la previsione della profondità come un problema di regressione basato su indizi quali bordi, texture e variazioni di colore.
La selezione di queste caratteristiche è stata una parte fondamentale del processo. Gli ingegneri hanno dovuto decidere quali segnali visivi estrarre e come rappresentarli, e le prestazioni del modello dipendevano in larga misura da tali scelte.
Sebbene questo approccio funzionasse meglio rispetto ai metodi precedenti, presentava comunque dei limiti. Se le caratteristiche selezionate erano prive di un contesto significativo, le previsioni di profondità risultavano meno accurate. Man mano che le scene diventavano più complesse e variegate, questi modelli spesso faticavano a produrre risultati affidabili.
La maggior parte dei moderni sistemi di stima della profondità monoculare utilizza il deep learning, ovvero reti neurali con molti livelli in grado di apprendere modelli complessi dai dati. Questi modelli imparano a prevedere la profondità direttamente dalle immagini e producono mappe di profondità.
Molti approcci sono basati su reti neurali convoluzionali (CNN), un tipo di rete neurale progettata per elaborare immagini rilevando modelli quali bordi e forme. Questi modelli utilizzano spesso una configurazione codificatore-decodificatore: il codificatore estrae le caratteristiche visive dall'immagine e il decodificatore converte tali caratteristiche in una mappa di profondità. L'elaborazione dell'immagine su più scale aiuta il modello a catturare la struttura complessiva della scena, pur continuando a catturare i confini chiari degli oggetti.
I modelli più recenti si concentrano sulla comprensione delle relazioni tra le diverse parti di un'immagine. I modelli basati su Transformer e Vision Transformer (ViT) utilizzano meccanismi di attenzione che consentono al modello di identificare quali regioni di un'immagine sono più rilevanti e di mettere in relazione tra loro aree distanti. Ciò aiuta il modello a costruire una comprensione più coerente della profondità dell'intera scena.
Alcuni sistemi combinano entrambe le idee. I modelli ibridi CNN-Transformer utilizzano le CNN per catturare i dettagli locali più fini e i Transformer per modellare il contesto globale della scena. Sebbene ciò spesso migliori la precisione, in genere richiede maggiori risorse computazionali, come memoria aggiuntiva e potenza di elaborazione.
Mentre apprendi nozioni sulla stima della profondità monoculare, potresti chiederti perché la comprensione della profondità sia una parte così importante dei sistemi di IA basati sulla visione.
Quando un sistema è in grado di stimare la distanza degli oggetti e delle superfici, acquisisce una migliore comprensione della disposizione di una scena e delle relazioni tra i diversi elementi. Questo tipo di consapevolezza spaziale è essenziale per prendere decisioni affidabili, soprattutto in applicazioni reali come la guida autonoma.
Le informazioni sulla profondità aggiungono anche un contesto prezioso ad altre attività di visione artificiale. Ad esempio, il rilevamento di oggetti, supportato da modelli come Ultralytics , può indicare a un sistema cosa è presente in una scena, ma la profondità aiuta a capire dove si trovano tali oggetti rispetto alla telecamera e l'uno rispetto all'altro.
Insieme, queste funzionalità consentono un'ampia gamma di applicazioni di visione artificiale, come la creazione di mappe 3D, la navigazione in ambienti complessi e la comprensione di una scena nel suo complesso.
I robot e i veicoli autonomi dipendono da queste informazioni per muoversi in sicurezza, evitare ostacoli e reagire ai cambiamenti in tempo reale. Ad esempio, l'approccio di guida basato esclusivamente sulla visione di Tesla si affida alle immagini delle telecamere combinate con la stima della profondità, piuttosto che al LiDAR, per capire quanto sono lontani gli oggetti e come sono posizionati sulla strada.
Sebbene le architetture dei modelli varino, la maggior parte dei modelli di stima della profondità monoculare segue un processo simile per convertire una singola immagine in una mappa di profondità. Ecco una rapida panoramica dei passaggi chiave coinvolti:
Il processo appena descritto presuppone che disponiamo già di un modello addestrato o pre-addestrato. Ma come funziona effettivamente l'addestramento di un modello di stima della profondità monoculare?
La formazione inizia con la preparazione dei dati immagine in modo che possano essere elaborati in modo efficiente dalla rete. Le immagini in ingresso vengono ridimensionate e normalizzate su una scala coerente, quindi passate attraverso il modello per generare una mappa di profondità prevista che stima la distanza di ciascun pixel.
La mappa di profondità prevista viene quindi confrontata con i dati di profondità di riferimento utilizzando una funzione di perdita, che misura la distanza tra la previsione del modello e la profondità reale. Questo valore di perdita rappresenta l'errore attuale del modello e fornisce un segnale di miglioramento.
Un ottimizzatore utilizza questo segnale per aggiornare il modello regolando i suoi pesi interni. Per farlo, l'ottimizzatore calcola il gradiente, che descrive come la perdita cambia rispetto a ciascun parametro del modello, e applica questi aggiornamenti ripetutamente su più epoche, ovvero passaggi completi attraverso il set di dati di addestramento.
Questo processo di apprendimento supervisionato iterativo è guidato da iperparametri quali il tasso di apprendimento, che controlla l'entità di ciascun passo di aggiornamento, e la dimensione del batch, che determina il numero di immagini elaborate contemporaneamente. Poiché l'addestramento comporta un numero elevato di operazioni matematiche, viene solitamente accelerato utilizzando un'unità di elaborazione grafica (GPU), ideale per il calcolo parallelo.
Una volta completato l'addestramento, il modello viene valutato utilizzando metriche di valutazione standard su un set di convalida, costituito da immagini che non sono state utilizzate durante l'addestramento. Questa valutazione aiuta a misurare la capacità del modello di generalizzare i nuovi dati.
Il modello addestrato può quindi essere riutilizzato o ottimizzato per nuovi scenari. Nel complesso, questo processo di addestramento consente ai modelli di stima della profondità monoculare di produrre stime di profondità coerenti, essenziali per attività a valle quali la ricostruzione 3D e l'implementazione nel mondo reale.
La stima della profondità monoculare è migliorata rapidamente grazie al progressivo perfezionamento dei modelli, che ora sono in grado di comprendere intere scene anziché solo piccoli dettagli visivi. Gli approcci precedenti spesso producevano mappe di profondità irregolari, specialmente in ambienti complessi.
I modelli più recenti, come si evince da una recente ricerca pubblicata su arXiv, si concentrano maggiormente su un contesto globale, il che porta a previsioni di profondità che appaiono più stabili e realistiche. Modelli ben noti come MiDaS e DPT hanno contribuito a guidare questo cambiamento apprendendo la profondità da set di dati diversificati e ad alta risoluzione e generalizzando bene in molte scene.
I modelli più recenti, tra cui ZoeDepth e Depth Anything V2, si basano su questo lavoro migliorando la coerenza della scala e mantenendo prestazioni elevate in un'ampia gamma di impostazioni. Questo tipo di progresso viene spesso misurato utilizzando set di dati di benchmark comuni come KITTI e NYU, che coprono sia scene esterne che interne.
Un'altra tendenza evidente è quella di bilanciare precisione e praticità. I modelli più piccoli sono ottimizzati per la velocità e possono funzionare in tempo reale su dispositivi edge o mobili, mentre quelli più grandi danno la priorità a una risoluzione più elevata e a una precisione di profondità a lungo raggio.
Passiamo ora ad alcuni esempi reali che mostrano come la stima della profondità monoculare venga utilizzata per dedurre la struttura 3D di una scena da una singola immagine.
In tutti questi casi, è importante tenere presente che le informazioni sulla profondità sono una stima dedotta da indizi visivi, non una misurazione precisa. Ciò rende la stima della profondità monoculare utile per comprendere la disposizione relativa e le relazioni spaziali, ma non sostituisce i sensori progettati per misurare accuratamente la distanza, come i sistemi LiDAR o stereo.
I droni operano spesso in ambienti in cui i segnali GPS sono inaffidabili, come foreste, cantieri edili, zone colpite da calamità naturali o aree urbane densamente popolate. Per volare in sicurezza in queste condizioni, devono comprendere il terreno circostante e conoscere la distanza degli ostacoli. In passato, ciò richiedeva solitamente l'aggiunta di sensori come LiDAR o telecamere stereo, che aumentavano il peso, il consumo energetico e il costo complessivo.
La stima della profondità monoculare è un'alternativa più semplice. Utilizzando una sola telecamera RGB, i droni possono stimare la profondità dalle immagini e costruire una comprensione 3D di base del loro ambiente. Ciò consente loro detect come edifici, alberi o cambiamenti improvvisi del terreno e di regolare la loro traiettoria di volo in tempo reale.
Queste stime di profondità supportano attività di navigazione fondamentali, tra cui l'evitamento di ostacoli, il controllo dell'altitudine e l'atterraggio in sicurezza. Di conseguenza, i droni leggeri possono eseguire attività di mappatura, ispezione e navigazione senza fare affidamento su sensori di profondità specializzati.

I veicoli autonomi si affidano in genere in larga misura ai sensori LiDAR, che utilizzano impulsi laser per misurare la distanza e costruire una visione 3D della strada. Sebbene altamente accurato, il LiDAR può avere difficoltà con creste stradali pronunciate, pendenze ripide, occlusioni o inclinazioni improvvise del veicolo, restituendo talvolta dati di profondità scarsi o mancanti.
La stima della profondità monoculare può aiutare a colmare queste lacune fornendo informazioni dettagliate sulla profondità da una singola immagine RGB, anche quando i dati LiDAR sono incompleti. Si consideri uno scenario in cui un'auto a guida autonoma si avvicina a velocità sostenuta alla cima di una collina. I raggi LiDAR possono superare la strada oltre la cima, lasciando incertezza su ciò che si trova più avanti.
La stima della profondità basata sulla telecamera, tuttavia, può comunque dedurre la forma della strada da indizi visivi quali la prospettiva e la consistenza, aiutando il veicolo a mantenere una percezione affidabile fino a quando i dati LiDAR non si stabilizzano. Insieme, LiDAR e stima della profondità monoculare consentono una percezione più stabile e un controllo più sicuro in condizioni di guida difficili.

I robot vengono spesso utilizzati in luoghi dove non sono disponibili mappe dettagliate e le condizioni cambiano continuamente. Per muoversi in sicurezza, hanno bisogno di una percezione affidabile dello spazio che li circonda e della posizione degli ostacoli.
La stima della profondità monoculare può fornire questa consapevolezza spaziale utilizzando una singola telecamera RGB, senza ricorrere ad hardware pesante o costoso. Apprendendo segnali visivi quali scala e prospettiva, i modelli di stima della profondità possono generare mappe di profondità dense dell'ambiente circostante. Ciò offre ai robot una visione chiara della distanza dalle superfici e dagli oggetti.
In particolare, quando le informazioni sulla profondità vengono combinate con attività di visione artificiale come il rilevamento di oggetti e la segmentazione semantica, i robot possono ottenere una visione più completa dell'ambiente circostante. Sono in grado di identificare gli oggetti, comprenderne la distanza e decidere dove è sicuro muoversi. Ciò supporta l'evitamento degli ostacoli, il rilevamento dello spazio libero e la pianificazione del percorso in tempo reale.

Ecco alcuni dei principali vantaggi dell'utilizzo della stima della profondità monoculare:
Sebbene la stima della profondità monoculare offra chiari vantaggi, ecco alcune limitazioni da considerare:
Sebbene la stima della profondità monoculare sia un'area di ricerca interessante, è importante capire dove può essere utilizzata nella pratica e dove invece non è possibile. Le distanze che produce sono stime basate su ciò che il modello vede in un'immagine, non misurazioni esatte prese dal mondo reale.
Per questo motivo, la qualità dei risultati può variare a seconda di fattori quali l'illuminazione, la complessità della scena e la somiglianza della scena con quella su cui è stato addestrato il modello. La stima della profondità monoculare è solitamente efficace nel distinguere ciò che è più vicino da ciò che è più lontano, ma non è affidabile quando sono necessarie distanze esatte.
In situazioni in cui la precisione è fondamentale, come nei sistemi critici per la sicurezza, nelle ispezioni industriali o nei robot che devono interagire con estrema precisione con gli oggetti, è necessario misurare direttamente la profondità. Sensori come LiDAR, radar, telecamere stereo o sistemi a luce strutturata sono progettati proprio per questo scopo e forniscono informazioni sulla distanza molto più affidabili.
La stima della profondità monoculare può anche risultare difficile in condizioni visive difficili. Scarsa illuminazione, ombre intense, superfici riflettenti o trasparenti, nebbia, fumo o scene con texture visive molto ridotte possono rendere meno affidabili le stime della profondità. La stima della profondità a lunghe distanze è un altro caso in cui i sensori dedicati di solito funzionano meglio.
Quando si tratta di soluzioni reali, la stima della profondità monoculare funziona meglio come strumento di supporto piuttosto che come soluzione autonoma. Può aggiungere un utile contesto spaziale, aiutare a colmare le lacune quando altri sensori sono limitati e migliorare la comprensione complessiva della scena. Tuttavia, non dovrebbe essere l'unica fonte di informazioni sulla profondità quando sono importanti requisiti di precisione, sicurezza o affidabilità rigorosa.
La stima della profondità monoculare è una tecnica di visione artificiale che consente alle macchine di stimare la distanza degli oggetti utilizzando solo un'immagine ripresa da una singola telecamera. Apprendendo segnali visivi quali prospettiva, dimensioni degli oggetti, texture e ombreggiatura, questi modelli di intelligenza artificiale sono in grado di dedurre la struttura 3D di una scena senza ricorrere a sensori quali LiDAR o telecamere stereo. Ciò rende la stima della profondità monoculare un approccio economico e scalabile per applicazioni quali la guida autonoma, la robotica e la comprensione delle scene 3D.
Per saperne di più su Vision AI, visita il nostro repository GitHub e unisciti alla nostra community. Consulta le nostre pagine dedicate alle soluzioni per scoprire l'intelligenza artificiale nella robotica e la visione artificiale nella produzione. Scopri le nostre opzioni di licenza per iniziare subito a utilizzare la visione artificiale!