Cos'è la monocular depth estimation? Una panoramica
Scopri come funziona la monocular depth estimation, come si confronta con i metodi di profondità basati su sensori e come abilita la 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 la semplice identificazione di oggetti come pedoni o altri veicoli.
Devono anche sapere a che distanza si trovano tali oggetti per reagire correttamente. Tuttavia, fornire alle macchine questo senso della distanza non è semplice. A differenza degli esseri umani, non percepiscono naturalmente la profondità dalle immagini e devono imparare esplicitamente come farlo.
Una ragione di ciò è che la maggior parte delle fotocamere cattura il mondo come immagini piatte e bidimensionali. Trasformare quelle immagini in qualcosa che rifletta la profondità del mondo reale e la struttura 3D è complicato, specialmente quando i sistemi devono funzionare in modo affidabile nelle condizioni quotidiane.
È interessante notare che la computer vision, una branca dell'AI che si concentra sull'interpretazione e la comprensione dei dati visivi, rende possibile per le macchine comprendere meglio il mondo dalle immagini. Ad esempio, la depth estimation monoculare è una tecnica di computer vision che stima la distanza degli oggetti utilizzando solo l'immagine di una singola fotocamera.
Imparando segnali visivi come la dimensione dell'oggetto, la prospettiva, la texture e l'ombreggiatura, questi modelli possono prevedere la profondità senza affidarsi a sensori aggiuntivi come LiDAR (Light Detection and Ranging) o fotocamere stereo. In questo articolo, esploreremo cos'è la stima della profondità monoculare, come funziona e alcune delle sue applicazioni nel mondo reale. Cominciamo!
Link to this sectionUna rapida introduzione alla stima della profondità monoculare#
La stima della profondità monoculare consente a una macchina di capire quanto sono lontani gli oggetti utilizzando solo una singola immagine. Poiché si basa su una sola camera, questo approccio presenta diversi vantaggi, inclusi costi inferiori e requisiti hardware più semplici.
Ad esempio, può essere utilizzato in robot domestici economici che operano con una singola fotocamera. Anche da una sola immagine, il sistema robotico può identificare quali pareti sono più vicine e quali porte sono più lontane, deducendo la profondità complessiva dello spazio.
Spesso, un'unica immagine non contiene informazioni alla scala corretta, quindi la stima della profondità monoculare si concentra generalmente sulla profondità relativa. In altre parole, può 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 di ground-truth o profondità assoluta, come le misurazioni di profondità provenienti da sensori come il LiDAR, può imparare a prevedere le distanze in unità del mondo reale, come i metri. Senza questo tipo di dati di riferimento, il modello può ancora dedurre la profondità relativa, ma non può stimare in modo affidabile le distanze assolute.
L'output della stima della profondità monoculare è in genere una mappa di profondità, che è un'immagine in cui ogni pixel rappresenta quanto è vicina o lontana quella parte della scena. Una mappa di profondità fornisce ai sistemi di visione una comprensione di base della struttura 3D dell'ambiente.

Fig 1. Un esempio di mappa di profondità prevista creata utilizzando la stima della profondità monoculare (Source)
Link to this sectionDai sensori alle immagini: Stimare la profondità#
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 molteplici 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 punti corrispondenti nelle due immagini, il sistema può dedurre quanto sono lontani gli oggetti dalla fotocamera.
Un altro approccio sono i sistemi RGB-D (Red, Green, Blue, and Depth), che utilizzano sensori di profondità attivi per misurare direttamente la distanza a ogni pixel. Questi sistemi possono 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 molto 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ù fotocamere o sensori specializzati, è più facile da implementare su larga scala ed è una buona opzione quando i costi e le risorse hardware sono limitati.
Link to this sectionImparare la profondità da una singola immagine#
Quando si stima la profondità da una singola immagine, i modelli di profondità monoculare imparano a riconoscere i segnali visivi che gli esseri umani usano istintivamente per giudicare la distanza. Questi segnali includono linee di prospettiva, dimensioni dell'oggetto, densità della texture, sovrapposizione degli oggetti e ombreggiatura, tutti elementi che forniscono indizi su quanto gli oggetti siano lontani dalla fotocamera.
Questi segnali lavorano insieme per creare un senso di profondità. Gli oggetti che appaiono più piccoli o sono parzialmente occlusi sono spesso più lontani, mentre dettagli più nitidi e apparenze visive più grandi suggeriscono solitamente che qualcosa sia più vicino.
Per apprendere questi pattern, 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 imparano come i segnali visivi si relazionano alla profondità, permettendo loro di dedurre la distanza da una singola immagine al momento dell'inferenza.
Con dati di addestramento diversificati, i moderni modelli di visione possono generalizzare questa comprensione appresa in una vasta gamma di ambienti, inclusi scene al chiuso e all'aperto, e possono gestire punti di vista non familiari.
Link to this sectionUno sguardo alle varie tecniche di stima della profondità monoculare#
Successivamente, esploreremo gli approcci principali utilizzati per stimare la profondità da una singola immagine e come questi metodi si sono evoluti nel tempo.
Link to this sectionApprocci classici e basati sulla geometria#
I primi metodi di stima della profondità si basavano su regole visive semplici legate alla camera geometry. Indizi come la prospettiva, le dimensioni dell'oggetto e il fatto che un oggetto ne bloccasse un altro venivano utilizzati per stimare la distanza.
Ad esempio, quando due oggetti simili apparivano con dimensioni diverse, si presumeva che quello più piccolo fosse più lontano. Questi approcci funzionavano ragionevolmente bene in ambienti controllati in cui fattori come illuminazione, posizione della fotocamera e disposizione della scena rimanevano coerenti.
Tuttavia, nelle scene del mondo reale, queste ipotesi spesso vengono meno. Le variazioni di illuminazione, i cambiamenti di punto di vista e la maggiore complessità della scena possono portare a stime di profondità inaffidabili, limitando l'efficacia dei metodi classici in contesti non controllati.
Link to this sectionPrimi approcci di machine learning#
I primi metodi di machine learning hanno apportato maggiore flessibilità alla stima della profondità imparando i pattern direttamente dai dati. Invece di affidarsi solo a regole geometriche fisse, questi modelli hanno cercato di imparare la relazione tra le informazioni visive e la distanza, trattando la previsione della profondità come un problema di regressione basato su segnali come bordi, texture e cambiamenti di colore.
La selezione di queste caratteristiche era una parte fondamentale del processo. Gli ingegneri dovevano decidere quali segnali visivi estrarre e come rappresentarli, e le prestazioni del modello dipendevano pesantemente da tali scelte.
Sebbene questo approccio funzionasse meglio dei metodi precedenti, aveva comunque dei limiti. Se le caratteristiche selezionate mancavano di un contesto importante, le previsioni di profondità erano meno accurate. Man mano che le scene diventavano più complesse e variegate, questi modelli spesso faticavano a produrre risultati affidabili.
Link to this sectionAlgoritmi di deep learning#
La maggior parte dei moderni sistemi di stima della profondità monoculare utilizza il deep learning, che si riferisce a reti neurali con molti strati in grado di apprendere pattern complessi dai dati. Questi modelli imparano a prevedere la profondità direttamente dalle immagini e producono mappe di profondità.
Molti approcci sono costruiti utilizzando convolutional neural networks (CNNs), un tipo di rete neurale progettata per elaborare immagini rilevando pattern come bordi e forme. Questi modelli utilizzano spesso una configurazione encoder-decoder: l'encoder estrae caratteristiche visive dall'immagine e il decoder converte tali caratteristiche in una mappa di profondità. Elaborare l'immagine a più scale aiuta il modello a catturare la disposizione complessiva della scena pur mantenendo chiari i contorni degli oggetti.
I modelli più recenti si concentrano sulla comprensione delle relazioni tra 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 correlare aree distanti tra loro. Questo aiuta il modello a costruire una comprensione della profondità più coerente in tutta la scena.
Alcuni sistemi combinano entrambe le idee. I modelli ibridi CNN-Transformer utilizzano le CNN per catturare dettagli locali fini e i Transformer per modellare il contesto globale della scena. Sebbene questo spesso migliori l'accuratezza, richiede tipicamente più risorse computazionali, come memoria aggiuntiva e potenza di elaborazione.
Link to this sectionPerché la comprensione della profondità è importante per i sistemi AI di visione#
Mentre impari la stima della profondità monoculare, potresti chiederti perché la comprensione della profondità sia una parte così importante dei sistemi AI basati sulla visione.
Quando un sistema è in grado di stimare quanto sono lontani oggetti e superfici, ottiene una migliore comprensione di come è disposta una scena e di come i diversi elementi si relazionano tra loro. Questo tipo di consapevolezza spaziale è essenziale per prendere decisioni affidabili, specialmente in applicazioni del mondo reale come la guida autonoma.
Le informazioni sulla profondità aggiungono anche un contesto prezioso ad altri compiti di computer vision. Ad esempio, il rilevamento degli oggetti, supportato da modelli come Ultralytics YOLO26, può dire a un sistema cosa è presente in una scena, ma la profondità aiuta a rispondere a dove si trovano quegli oggetti rispetto alla fotocamera e l'uno rispetto all'altro.
Insieme, queste capacità consentono un'ampia gamma di applicazioni AI di visione, come la costruzione di mappe 3D, la navigazione in ambienti complessi e la comprensione di una scena nel suo insieme.
Robot e veicoli autonomi dipendono da queste informazioni per muoversi in sicurezza, evitare ostacoli e reagire ai cambiamenti in tempo reale. Ad esempio, l'approccio Tesla’s vision-only driving si basa su immagini di telecamere combinate con la stima della profondità, anziché sul LiDAR, per capire quanto sono lontani gli oggetti e come sono posizionati sulla strada.
Link to this sectionCome funzionano i modelli di stima della profondità monoculare#
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:
- Input e pre-elaborazione: Il flusso di lavoro inizia con un'immagine di input. Prima di essere passata al modello, l'immagine originale viene solitamente ridimensionata, normalizzata e convertita in un tensore, che è un formato utilizzato dalle reti neurali per elaborare in modo efficiente i dati delle immagini.
- Estrazione delle caratteristiche: Una rete encoder analizza l'immagine per estrarre caratteristiche visive significative. Queste caratteristiche catturano informazioni come texture, contorni degli oggetti e la disposizione complessiva della scena. La maggior parte dei modelli opera su più scale in modo da poter comprendere sia i dettagli fini che la struttura globale.
- Ragionamento sulla profondità: Utilizzando le caratteristiche estratte, il modello combina i dettagli locali con il contesto globale per ragionare sulle relazioni spaziali nella scena. In questa fase, impara quali regioni dell'immagine sono più vicine alla fotocamera e quali sono più lontane.
- Generazione della mappa di profondità: Un decoder converte quindi queste informazioni in una mappa di profondità densa. A ogni pixel nell'immagine viene assegnato un valore di profondità, spesso miscelando le previsioni da diverse scale per migliorare l'accuratezza e la coerenza.
Link to this sectionCome vengono addestrati i modelli di stima della profondità monoculare#
Il processo che abbiamo appena discusso 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?
L'addestramento inizia con la preparazione dei dati delle immagini in modo che possano essere elaborati in modo efficiente dalla rete. Le immagini di input vengono ridimensionate e normalizzate su una scala coerente, quindi passate attraverso il modello per generare una mappa di profondità prevista che stima la distanza a ogni pixel.
La mappa di profondità prevista viene quindi confrontata con i dati di profondità di riferimento utilizzando una funzione di perdita (loss function), che misura quanto la previsione del modello sia lontana dalla profondità di ground-truth. Questo valore di perdita rappresenta l'errore corrente del modello e fornisce un segnale per il miglioramento.
Un ottimizzatore utilizza questo segnale per aggiornare il modello regolando i suoi pesi interni. Per fare ciò, 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, o passaggi completi attraverso il set di dati di addestramento.
Questo processo di addestramento iterativo di apprendimento supervisionato è guidato da iperparametri come il tasso di apprendimento (learning rate), che controlla quanto è grande ogni passo di aggiornamento, e la dimensione del batch, che determina quante immagini vengono elaborate contemporaneamente. Poiché l'addestramento comporta un gran numero di operazioni matematiche, viene tipicamente 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 validazione, che consiste in immagini non utilizzate durante l'addestramento. Questa valutazione aiuta a misurare quanto bene il modello si generalizza a nuovi dati.
Il modello addestrato può quindi essere riutilizzato o rifinito 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 compiti a valle come la ricostruzione 3D e la distribuzione nel mondo reale.
Link to this sectionEsplorazione dei modelli all'avanguardia e delle tendenze di ricerca#
La stima della profondità monoculare è migliorata rapidamente poiché i modelli sono diventati più bravi a comprendere intere scene anziché solo piccoli dettagli visivi. Gli approcci precedenti producevano spesso mappe di profondità irregolari, specialmente in ambienti complessi.
I modelli più recenti, come si vede nelle recenti ricerche pubblicate 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 imparando la profondità da set di dati diversificati ad alta risoluzione e generalizzando bene su molte scene.
Modelli più recenti, tra cui ZoeDepth e Depth Anything V2, si basano su questo lavoro migliorando la coerenza della scala mantenendo al contempo 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 all'aperto che al chiuso.
Un'altra tendenza chiara è bilanciare l'accuratezza con la praticità. I modelli più piccoli sono ottimizzati per la velocità e possono essere eseguiti in tempo reale su dispositivi edge o mobili, mentre i modelli più grandi danno priorità a una risoluzione più elevata e all'accuratezza della profondità a lungo raggio.
Link to this sectionApplicazioni della stima della profondità monoculare#
Successivamente, esaminiamo alcuni esempi del mondo reale che mostrano come la stima della profondità monoculare viene utilizzata per ragionare sulla struttura 3D di una scena da una singola immagine.
In tutti questi casi, è importante tenere a mente che le informazioni sulla profondità sono una stima dedotta dai segnali 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 la distanza con precisione, come i sistemi LiDAR o stereo.
Link to this sectionMappatura del terreno e navigazione basate su droni#
Drones operano spesso in ambienti in cui i segnali GPS sono inaffidabili, come foreste, cantieri, zone di disastro o aree urbane dense. Per volare in sicurezza in queste condizioni, devono comprendere il terreno circostante e sapere quanto sono lontani gli ostacoli. In passato, ciò richiedeva tipicamente l'aggiunta di sensori come LiDAR o fotocamere stereo, che aumentano peso, consumo energetico e costi complessivi.
La stima della profondità monoculare è un'alternativa più semplice. Utilizzando solo una singola fotocamera RGB, i droni possono stimare la profondità dalle immagini e costruire una comprensione 3D di base del loro ambiente. Ciò consente loro di rilevare ostacoli come edifici, alberi o cambiamenti improvvisi nel terreno e di regolare la loro rotta di volo in tempo reale.
Queste stime di profondità supportano compiti di navigazione chiave, tra cui l'evitamento degli ostacoli, il controllo dell'altitudine e l'atterraggio sicuro. Di conseguenza, i droni leggeri possono eseguire compiti di mappatura, ispezione e navigazione senza fare affidamento su sensori di profondità specializzati.

Fig 2. La stima della profondità monoculare può essere utilizzata per analizzare le immagini dei droni (Source)
Link to this sectionColmare i punti ciechi per i veicoli da corsa autonomi#
I veicoli autonomi si affidano tipicamente in modo massiccio ai sensori LiDAR, che utilizzano impulsi laser per misurare la distanza e costruire una visione 3D della strada. Sebbene molto precisi, i LiDAR possono avere difficoltà con creste stradali affilate, pendenze ripide, occlusione o improvviso beccheggio del veicolo, restituendo talvolta dati di profondità sparsi o mancanti.
La stima della profondità monoculare può aiutare a colmare queste lacune fornendo informazioni di profondità dense da una singola immagine RGB, anche quando i dati LiDAR sono incompleti. Considera uno scenario in cui un'self-driving car si sta avvicinando a una cresta collinare a velocità. I fasci LiDAR possono superare la strada oltre la cresta, lasciando incertezza su ciò che si trova davanti.
La stima della profondità basata su telecamera, tuttavia, può ancora dedurre la forma della strada da segnali visivi come prospettiva e texture, aiutando il veicolo a mantenere una percezione affidabile finché i dati LiDAR non si stabilizzano. Insieme, il LiDAR e la stima della profondità monoculare consentono una percezione più stabile e un controllo più sicuro in condizioni di guida difficili.

Fig 3. Una visualizzazione dell'utilizzo della stima della profondità monoculare per le corse autonome (Source)
Link to this sectionNavigazione robotica ed evitamento degli ostacoli#
I robot vengono spesso fatti funzionare in luoghi in cui le mappe dettagliate non sono disponibili e le condizioni cambiano costantemente. Per muoversi in sicurezza, hanno bisogno di un senso affidabile di quanto spazio c'è intorno a loro e dove si trovano gli ostacoli.
La stima della profondità monoculare può fornire questa consapevolezza spaziale utilizzando una singola fotocamera RGB, senza fare affidamento su hardware pesante o costoso. Imparando segnali visivi come scala e prospettiva, i modelli di stima della profondità possono generare mappe di profondità dense dell'ambiente circostante. Questo offre ai robot una visione chiara della distanza da superfici e oggetti.
In particolare, quando le informazioni sulla profondità sono combinate con compiti di computer vision come object detection e segmentation semantica, i robot possono ottenere una visione più completa del loro ambiente. Possono identificare 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.

Fig 4. Rilevamento di oggetti utilizzando la stima della profondità monoculare e il rilevamento degli oggetti (Source)
Link to this sectionPro e contro della stima della profondità monoculare#
Ecco alcuni dei principali vantaggi dell'utilizzo della stima della profondità monoculare:
- Leggero ed efficiente dal punto di vista energetico: Utilizzare una singola fotocamera riduce il peso e il consumo energetico del sistema, il che è particolarmente importante per robot mobili, droni e sistemi embedded.
- Adatto alla fusione dei sensori: La profondità monoculare può integrare altri sensori, come LiDAR o radar, colmando le lacune o fornendo ridondanza.
- Funziona in molti ambienti: Lo stesso approccio basato su telecamera può essere utilizzato al chiuso, all'aperto e su diverse piattaforme senza richiedere modifiche hardware.
Sebbene la stima della profondità monoculare offra chiari vantaggi, ecco alcune limitazioni da considerare:
- Minore accuratezza rispetto ai sensori attivi: Sebbene stia migliorando rapidamente, la stima della profondità monoculare generalmente non può eguagliare l'accuratezza assoluta del LiDAR o dei sensori a luce strutturata in condizioni controllate.
- Sensibilità alle condizioni di illuminazione: Le prestazioni possono degradare in ambienti con scarsa illuminazione, forti ombre, bagliori o scene con scarsa texture.
- Sfide di generalizzazione: Un modello addestrato in un ambiente potrebbe non trasferirsi sempre in modo affidabile a domini non visti senza adattamento o fine-tuning.
Link to this sectionQuando non affidarsi alla stima della profondità monoculare#
Sebbene la stima della profondità monoculare sia un'interessante area di ricerca, è importante capire dove può essere utilizzata in pratica e dove non può. 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ò cambiare a seconda di fattori come l'illuminazione, la complessità della scena e quanto la scena è simile a quella su cui il modello è stato addestrato. La stima della profondità monoculare è solitamente brava a dire cosa è più vicino e cosa è più lontano, ma non è affidabile quando hai bisogno di distanze esatte.
In situazioni in cui la precisione conta davvero, come sistemi critici per la sicurezza, ispezione industriale o robot che devono interagire in modo molto preciso con gli oggetti, la profondità deve essere misurata direttamente. Sensori come LiDAR, radar, fotocamere stereo o sistemi a luce strutturata sono progettati per questo e forniscono informazioni sulla distanza molto più affidabili.
La stima della profondità monoculare può anche avere difficoltà in condizioni visivamente difficili. Scarsa illuminazione, forti ombre, superfici riflettenti o trasparenti, nebbia, fumo o scene con pochissima texture visiva possono rendere le stime di profondità meno affidabili. Stimare la profondità a lunghe distanze è un altro caso in cui i sensori dedicati solitamente funzionano meglio.
Quando si parla di soluzioni per il mondo reale, 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 generale della scena. Tuttavia, non dovrebbe essere l'unica fonte di informazioni sulla profondità quando sono importanti precisione, sicurezza o rigorosi requisiti di affidabilità.
Link to this sectionPunti chiave#
La stima della profondità monoculare è una tecnica di computer vision che permette alle macchine di stimare la distanza degli oggetti utilizzando solo una singola immagine da telecamera. Imparando indizi visivi come prospettiva, dimensioni degli oggetti, texture e ombreggiatura, questi modelli di AI possono dedurre la struttura 3D di una scena senza fare affidamento su sensori come LiDAR o telecamere stereo. Questo rende la stima della profondità monoculare un approccio conveniente e scalabile per applicazioni come la guida autonoma, la robotica e la comprensione di scene 3D.
Per saperne di più sulla vision AI, visita il nostro GitHub repository e unisciti alla nostra community. Dai un'occhiata alle nostre pagine dedicate alle soluzioni per conoscere l'AI in robotics e la computer vision in manufacturing. Scopri le nostre opzioni di licenza per iniziare oggi stesso con la computer vision!






