Ultralytics YOLO26 ora supporta la stima della profondità monoculare
Scopri come il nuovo task di stima della profondità in Ultralytics YOLO26 prevede la profondità in scala metrica per pixel da una singola immagine RGB, senza bisogno di rig stereo o LiDAR.

Fino ad ora, aggiungere la profondità a una pipeline YOLO significava assemblarla da soli. Lo schema consolidato consisteva nell'eseguire YOLO per il rilevamento e abbinarlo a un modello di profondità separato proveniente da un altro progetto, come MiDaS o Depth Anything. Ciò comportava una seconda dipendenza, un secondo framework e due set di formati di input e output da riconciliare.
La stima della profondità monoculare è ora un'attività nativa in Ultralytics YOLO26. Una singola immagine RGB produce un valore di distanza per ogni pixel, utilizzando lo stesso pacchetto, flusso di lavoro e percorso di esportazione del rilevamento, della segmentazione e della stima della posa.
Link to this sectionCos'è la stima della profondità?#
La stima della profondità prevede una mappa di profondità per pixel da una singola immagine RGB, senza il coinvolgimento di una seconda telecamera o di un sensore aggiuntivo. Ogni pixel di output contiene un valore di profondità in metri, che rappresenta la distanza stimata dalla telecamera a quel punto della superficie.
L'output è una mappa di float densa con forma (H, W), allineata all'input, in cui ogni pixel trasporta una distanza assoluta in metri; una distanza dalla telecamera, non un ordinamento relativo di ciò che è più vicino o più lontano.
La profondità è un'attività indipendente con il proprio checkpoint e il suo output è costituito unicamente dalla mappa di profondità; non restituisce riquadri di delimitazione o maschere di segmentazione. La combinazione del rilevamento con la profondità richiede pertanto l'esecuzione di due modelli e di due passaggi di inferenza. Ciò che differisce rispetto alla pratica precedente è che ora entrambi risiedono all'interno di un unico pacchetto, condividendo un'unica installazione, un'unica interfaccia di addestramento e predizione, un unico percorso di esportazione e una sola versione da tracciare, anziché richiedere il mantenimento di un secondo framework accanto al primo.
Quell'output per pixel è ciò che rende la profondità utile per il rilevamento di ostacoli e spazi liberi, il controllo delle altezze libere, la disposizione della scena e la comprensione di ciò che si trova di fronte a cos'altro.
Fig 1. Stima della profondità con Ultralytics YOLO26 per il monitoraggio della sicurezza e della conformità.
Ultralytics YOLO26 include cinque modelli di profondità preaddestrati, da yolo26n-depth fino a yolo26x-depth, addestrati su un ampio mix di dataset multipli che comprende circa 2,19 milioni di immagini di interni ed esterni. Sul set NYU Depth V2, variano da un'accuratezza δ1 di 0,882 sul modello nano fino a 0,933 sul modello extra-large, così puoi scegliere il compromesso tra velocità e accuratezza più adatto al tuo obiettivo di deployment.
Link to this sectionProfondità illimitata per progettazione#
La maggior parte dei modelli di profondità limita le proprie previsioni a un intervallo fisso, come 0–10 metri, il che funziona bene per gli ambienti interni ma fallisce all'aperto. Ultralytics prevede invece la profondità su una scala logaritmica aperta, senza limiti rigidi.
La differenza si nota nei test. Un modello con limiti si stabilizza quasi immediatamente se addestrato su dati misti di interni ed esterni, e crolla su dataset a lungo raggio come KITTI, dove gli oggetti possono trovarsi a 80 metri di distanza. L'approccio di YOLO26 non ha un simile limite, quindi continua a migliorare con una maggiore quantità di dati e si dimostra affidabile da pochi centimetri fino a poche centinaia di metri. Su KITTI, δ1 raggiunge 0,942 a 80 m di distanza. Ciò significa che una singola famiglia di modelli gestisce ugualmente bene una scena su un tavolo e una scena autostradale.
Link to this sectionConfronto tra la profondità di Ultralytics YOLO26 e Depth Anything V2#
Se oggi utilizzi Depth Anything insieme a YOLO, la differenza sta nella velocità e nel costo computazionale che ne deriva. La profondità di YOLO26 viene eseguita fino a 20,3 volte più velocemente rispetto a Depth Anything V2 Base e 7,7 volte più velocemente rispetto a Depth Anything V2 Small, a partire da un modello molto più piccolo, inferiore a 10M parametri nella versione nano, rispetto ai circa 24M del checkpoint più piccolo di DA V2.
Fig 2. Benchmark di velocità per la profondità di Ultralytics YOLO26 rispetto a Depth Anything V2.
Questo divario è l'obiettivo della progettazione. I modelli di Depth Anything V2 sono sostanzialmente più grandi; YOLO26-Depth è costruito per offrire solide prestazioni di profondità a dimensioni e velocità che richiedono meno calcolo per frame e si distribuiscono su hardware che quei modelli non possono raggiungere. I dati sull'accuratezza dei singoli modelli su NYU Depth V2 e KITTI sono pubblicati nella documentazione, così puoi verificarli in base ai requisiti reali che possiedi.
Link to this sectionDove viene eseguito#
Questa differenza di dimensioni è ciò che determina dove la profondità può effettivamente essere applicata. La maggior parte dei team che valuta la profondità non è a corto di idee; è a corto di capacità di calcolo. Droni a bassa potenza, robot quadrupedi, dispositivi indossabili, dashcam, hardware per conferenze e PC industriali raggiungono tutti un limite di consumo energetico e di costo prima di raggiungere un limite di accuratezza.
La profondità viene fornita come cinque modelli preaddestrati, consentendoti di scegliere la dimensione adatta al target anziché quella che vince un benchmark. Poiché la profondità è un'attività nativa di YOLO26, utilizza lo stesso percorso di esportazione di rilevamento, segmentazione e posa con i seguenti formati: ONNX, TensorRT, CoreML, NCNN, LiteRT.
Link to this sectionIniziare con la profondità di Ultralytics YOLO26#
Il pacchetto Python di Ultralytics fornisce un'interfaccia unica e unificata per l'addestramento, la validazione e l'esecuzione dell'inferenza in tutte le attività di YOLO26, inclusa la profondità. Eseguire un modello di profondità preaddestrato richiede un singolo comando:
from ultralytics import YOLO
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-depth.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg") # predict on an image
# Access the results
for result in results:
depth_map = result.depth.data.cpu().numpy() # torch.Tensor → NumPy float32, shape (H, W), metersOppure dalla CLI:
yolo depth predict model=yolo26n-depth.pt source='https://ultralytics.com/images/bus.jpg' # predict with official model
yolo depth predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg' # predict with custom modelLa distanza assoluta dipende dalla tua telecamera e dalla tua scena. Se la forma della mappa di profondità è corretta ma la scala è errata, model.calibrate() adatta solo due variabili nella testa di profondità del modello, una scala e un offset, su circa 100 frame etichettati, in pochi secondi, senza addestramento e senza alcuna modifica al resto della rete.
Link to this sectionFine-tuning sui tuoi dati#
Per adattare un modello di profondità preaddestrato alla tua telecamera o al tuo dominio, parti dai pesi preaddestrati, usa AdamW e abbassa notevolmente il learning rate rispetto al valore predefinito da zero, in modo che il fine-tuning perfezioni il modello anziché sovrascriverlo:
from ultralytics import YOLO
from ultralytics import YOLO
model = YOLO("yolo26s-depth.pt") # start from pretrained weights
model.train(
data="path/to/your_dataset.yaml",
epochs=20,
imgsz=640,
optimizer="AdamW",
lr0=1e-4, # ~100x below the from-scratch default
warmup_bias_lr=1e-4, # keep warmup gentle too
)Poiché la testa logaritmica predefinita è illimitata, questo funziona immediatamente sia che il tuo dataset sia a corto raggio sia che sia a lungo raggio, senza bisogno di regolare max_depth. Se solo la scala assoluta risulta errata per la tua specifica telecamera, model.calibrate() applica una correzione leggera in forma chiusa su un piccolo split etichettato, in pochi secondi, senza toccare i pesi della rete.
I dataset abbinano ogni immagine RGB a un file di profondità .npy in una struttura di cartelle corrispondente, e Ultralytics include configurazioni integrate per NYU Depth V2, KITTI, Hypersim, SUN RGB-D e ARKitScenes, consentendo alla maggior parte dei team di iniziare subito la validazione rispetto a un benchmark standard.
Per ulteriori informazioni, dai un'occhiata alla nostra guida rapida.
Link to this sectionCasi d'uso chiave per la stima della profondità#
Poiché questa nuova funzionalità può funzionare a partire da una singola telecamera ordinaria, la stima della profondità monoculare apre innumerevoli opportunità per prodotti e settori che altrimenti non potrebbero giustificare il costo, il consumo energetico o i requisiti di calibrazione di una configurazione stereo o LiDAR. Diamo quindi un'occhiata ad alcuni settori chiave e casi d'uso che possono trarre vantaggio da questa funzionalità:
- Robotica e navigazione autonoma. Robot mobili e droni possono stimare la distanza degli ostacoli e lo spazio libero da una singola telecamera a bordo, supportando la pianificazione del percorso in tempo reale senza hardware di profondità dedicato.
- Consapevolezza industriale e logistica. Controllo delle altezze libere, rilevamento degli spazi liberi e contesto di scaffali o corsie da una singola telecamera fissa, ovunque l'aggiunta di un secondo sensore non sia pratica.
- Monitoraggio della sicurezza e della conformità. Zone di sicurezza per carrelli elevatori e magazzini, rilevamento di incidenti ferroviari, rilevamento di persone cadute e oggetti abbandonati su telecamere a circuito chiuso esistenti: il contesto della distanza aggiunto a feed video già installati, affiancando i sensori con certificazione di sicurezza esistenti anziché sostituirli.
- Ispezione di infrastrutture e asset. Analisi delle distanze delle linee elettriche aeree, ispezione di asset e corrosione tramite droni e lavori di rilievo aereo, dove la stessa famiglia di modelli deve gestire sia dettagli ravvicinati che scene a lungo raggio.
- Assistenza alla guida e percezione automobilistica. L'output di profondità a lungo raggio e illimitato significa che la stessa famiglia di modelli che gestisce una scena interna ravvicinata si generalizza anche a scene di guida superiori a 80 m.
- AR e contenuti spaziali. Posizionare oggetti virtuali in modo credibile in una scena reale, o applicare effetti consapevoli della profondità, inizia con il sapere a quale distanza si trovi effettivamente ogni pixel dalla telecamera.
Link to this sectionPortare la stima della profondità in ogni deployment di YOLO26#
Con la stima della profondità ora inserita come attività nativa in YOLO26, i team possono sfruttare la distanza per pixel da qualsiasi telecamera RGB in tutti i settori, utilizzando lo stesso flusso di lavoro di addestramento (train), validazione (val), predizione (predict) ed esportazione (export) già noto dal rilevamento, dalla segmentazione e dalla stima della posa, con una dipendenza di terze parti in meno da mantenere.
Quindi, mentre definisci l'ambito del tuo deployment con la profondità di Ultralytics YOLO26, diamo un'occhiata ad alcuni punti chiave da tenere a mente:
- Ultralytics YOLO Depth è progettato per telecamere RGB. Qualsiasi telecamera standard funziona, incluse webcam, smartphone, telecamere industriali o droni. Tuttavia, altre modalità come nuvole di punti LiDAR, radar, sonar, bande termiche e multispettrali, o dati di mesh e IFC, si trovano al di fuori del formato di input del modello.
- Distanza metrica per decisioni di percezione. L'output è una distanza reale in metri, che lo rende particolarmente adatto alla navigazione, alla verifica dello spazio libero e al monitoraggio. Tuttavia, per qualsiasi applicazione in cui sia richiesta una tolleranza certificata, le apparecchiature metrologiche dedicate rimangono lo strumento corretto.
- Inferenza per singola immagine. La profondità viene eseguita su ciascun frame in modo indipendente, in linea con qualsiasi altra attività di YOLO26, inserendosi pertanto in una pipeline esistente per singolo frame senza modifiche. Il ragionamento su una sequenza rimane nel livello della tua applicazione.
- Ultralytics YOLO26-Depth offre le massime prestazioni su superfici strutturate e opache. Vetro, specchi, acqua stagnante, metallo lucido e cielo aperto sono intrinsecamente ambigui per qualsiasi metodo basato su una singola telecamera, per cui vale la pena effettuare una validazione su scene rappresentative del tuo ambiente.
Curioso riguardo all'AI per la visione? Esplora le nostre opzioni di licenza per portare la computer vision nei tuoi progetti. Visita il nostro repository GitHub per scoprire l'intera gamma di attività e integrazioni di Ultralytics, e dai un'occhiata a Ultralytics Platform per iniziare a costruire i tuoi flussi di lavoro di AI visiva end-to-end.






