Ultralytics YOLO26 prend désormais en charge l’estimation de profondeur monoculaire
Découvre comment la nouvelle tâche d’estimation de profondeur d’Ultralytics YOLO26 prédit la profondeur métrique pour chaque pixel à partir d’une seule image RGB, sans système stéréo ni LiDAR.

Jusqu’à présent, ajouter la profondeur à un pipeline YOLO signifiait l’assembler soi-même. L’approche établie consistait à utiliser YOLO pour la détection et à l’associer à un modèle de profondeur distinct provenant d’un autre projet, comme MiDaS ou Depth Anything. Cela impliquait une deuxième dépendance, un deuxième framework et deux ensembles de formats d’entrée et de sortie à harmoniser.
L’estimation de la profondeur monoculaire est désormais une tâche native d’Ultralytics YOLO26. Une seule image RGB produit une valeur de distance pour chaque pixel, avec le même package, le même workflow et le même chemin d’export que la détection, la segmentation et l’estimation de pose.
Qu’est-ce que l’estimation de la profondeur ?#
L’estimation de la profondeur prédit une carte de profondeur par pixel à partir d’une seule image RGB, sans seconde caméra ni capteur supplémentaire. Chaque pixel de sortie contient une valeur de profondeur en mètres, représentant la distance estimée entre la caméra et ce point de la surface.
La sortie est une carte flottante dense de forme (H, W), alignée sur l’entrée, où chaque pixel contient une distance absolue en mètres : une distance par rapport à la caméra, et non un classement relatif de ce qui est le plus proche ou le plus éloigné.
La profondeur est une tâche autonome avec son propre checkpoint, et sa sortie est uniquement la carte de profondeur ; elle ne renvoie ni BBox ni masques de segmentation. Combiner la détection avec la profondeur nécessite donc d’exécuter deux modèles et deux passes avant. Ce qui diffère de la pratique précédente, c’est que les deux tâches résident désormais dans un même package, partagent une seule installation, une seule interface d’entraînement et de prédiction, un seul chemin d’export et une seule version à suivre, au lieu de nécessiter la maintenance d’un deuxième framework à côté du premier.
Cette sortie par pixel rend la profondeur utile pour la détection d’obstacles et d’espaces libres, la vérification des dégagements, l’agencement des scènes et la compréhension de ce qui se trouve devant quoi.
Fig. 1. Estimation de la profondeur avec Ultralytics YOLO26 pour la surveillance de la sécurité et de la conformité.
Ultralytics YOLO26 est fourni avec cinq modèles de profondeur préentraînés, de yolo26n-depth à yolo26x-depth, entraînés sur un vaste mélange de jeux de données couvrant environ 2,19 millions d’images intérieures et extérieures. Sur le jeu NYU Depth V2, leur précision δ1 va de 0,882 pour le modèle nano à 0,933 pour le modèle extra-large ; tu peux donc choisir le compromis entre vitesse et précision adapté à ta cible de déploiement.
Une profondeur illimitée par conception#
La plupart des modèles de profondeur plafonnent leurs prédictions à une plage fixe, comme 0–10 mètres, ce qui fonctionne bien pour les scènes intérieures, mais échoue en extérieur. Ultralytics prédit plutôt la profondeur sur une échelle logarithmique ouverte, sans seuil maximal strict.
La différence apparaît lors des tests. Un modèle plafonné atteint presque immédiatement un palier lorsqu’il est entraîné sur des données mixtes intérieures et extérieures, puis s’effondre sur des jeux de données à longue portée comme KITTI, où les objets peuvent se trouver à 80 mètres. L’approche d’Ultralytics YOLO26 n’a pas ce plafond : elle continue donc de progresser avec davantage de données et reste performante de quelques centimètres à plusieurs centaines de mètres. Sur KITTI, δ1 atteint 0,942 à une portée de 80 m. Cela signifie qu’une même famille de modèles gère aussi bien une scène de table qu’une scène d’autoroute.
Comparaison entre la profondeur d’Ultralytics YOLO26 et Depth Anything V2#
Si tu exécutes aujourd’hui Depth Anything parallèlement à YOLO, la différence se situe au niveau de la vitesse et du coût de calcul qui l’accompagne. La profondeur d’Ultralytics YOLO26 s’exécute jusqu’à 20,3 fois plus vite que Depth Anything V2 Base et 7,7 fois plus vite que Depth Anything V2 Small, avec un modèle bien plus petit : moins de 10 millions de paramètres en version nano, contre environ 24 millions pour le plus petit checkpoint de DA V2.
Fig. 2. Benchmarks de vitesse de la profondeur d’Ultralytics YOLO26 par rapport à Depth Anything V2.
C’est précisément l’objectif de cette conception. Les modèles de Depth Anything V2 sont nettement plus grands ; Ultralytics YOLO26-Depth est conçu pour offrir de solides performances en profondeur avec une taille et une vitesse qui réduisent le coût de calcul par image et permettent un déploiement sur des équipements inaccessibles à ces modèles. Les chiffres de précision par modèle sur NYU Depth V2 et KITTI sont publiés dans la documentation, afin que tu puisses les comparer à tes exigences réelles.
Où l’exécuter#
Cette différence de taille détermine les environnements dans lesquels la profondeur peut réellement être déployée. La plupart des équipes qui évaluent la profondeur ne manquent pas d’idées ; elles manquent de capacité de calcul. Les drones basse consommation, les robots quadrupèdes, les appareils portables, les dashcams, les équipements de visioconférence et les PC industriels atteignent tous une limite de puissance et de coût avant d’atteindre une limite de précision.
La profondeur est fournie sous la forme de cinq modèles préentraînés : tu peux donc choisir la taille adaptée à la cible plutôt que celle qui remporte un benchmark. Comme la profondeur est une tâche native d’Ultralytics YOLO26, elle utilise le même chemin d’export que la détection, la segmentation et l’estimation de pose, avec les formats suivants : ONNX, TensorRT, CoreML, NCNN, LiteRT.
Démarrer avec la profondeur d’Ultralytics YOLO26#
Le package Python d’Ultralytics fournit une interface unique et unifiée pour entraîner, valider et exécuter l’inférence sur toutes les tâches YOLO26, y compris la profondeur. Exécuter un modèle de profondeur préentraîné ne nécessite qu’une seule commande :
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), metersOu depuis la 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 distance absolue dépend de ta caméra et de ta scène. Si la forme de la carte de profondeur est correcte, mais que l’échelle est décalée, model.calibrate() ajuste seulement deux variables dans la tête de profondeur du modèle, une échelle et un décalage, sur environ 100 images annotées, en quelques secondes, sans entraînement et sans modifier le reste du réseau.
Ajustement sur tes propres données#
Pour adapter un modèle de profondeur préentraîné à ta propre caméra ou à ton domaine, pars des poids préentraînés, utilise AdamW et réduis fortement le taux d’apprentissage par rapport à la valeur par défaut d’un entraînement depuis zéro, afin que l’ajustement affine le modèle au lieu de l’écraser :
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
)Comme la tête logarithmique par défaut est non bornée, cela fonctionne immédiatement, que ton jeu de données soit à courte ou à longue portée, sans nécessiter d’ajustement de max_depth. Si seule l’échelle absolue est décalée pour ta caméra spécifique, model.calibrate() ajuste une correction légère sous forme fermée sur un petit sous-ensemble annoté, en quelques secondes, sans modifier les poids du réseau.
Les jeux de données associent chaque image RGB à un fichier de profondeur .npy dans une structure de dossiers correspondante, et Ultralytics fournit des configurations intégrées pour NYU Depth V2, KITTI, Hypersim, SUN RGB-D et ARKitScenes, afin que la plupart des équipes puissent commencer immédiatement à valider leurs résultats par rapport à un benchmark standard.
Principaux cas d’utilisation de l’estimation de la profondeur#
Comme cette nouvelle fonctionnalité peut fonctionner à partir d’une seule caméra ordinaire, l’estimation de la profondeur monoculaire ouvre d’innombrables possibilités pour les produits et les secteurs qui ne peuvent pas autrement justifier le coût, la consommation d’énergie ou les contraintes d’étalonnage d’une configuration stéréo ou LiDAR. Examinons donc quelques secteurs et cas d’utilisation clés qui peuvent tirer parti de cette fonctionnalité :
- Robotique et navigation autonome. Les robots mobiles et les drones peuvent estimer la distance des obstacles et les espaces libres à partir d’une seule caméra embarquée, ce qui permet de planifier les trajectoires en temps réel sans matériel de profondeur dédié.
- Supervision industrielle et logistique. Vérification des dégagements, détection des espaces libres et compréhension du contexte des étagères ou des allées à partir d’une seule caméra fixe, partout où l’ajout d’un second capteur n’est pas pratique.
- Surveillance de la sécurité et de la conformité. Zones de sécurité pour chariots élévateurs et entrepôts, détection d’incidents ferroviaires, détection de personnes tombées et d’objets oubliés sur une vidéosurveillance existante : un contexte de distance ajouté aux flux des caméras déjà installées, en complément des capteurs existants certifiés pour la sécurité, et non à leur place.
- Inspection des infrastructures et des actifs. Analyse des dégagements par rapport aux lignes aériennes, inspection d’actifs et de la corrosion par drone, et relevés aériens, lorsque la même famille de modèles doit gérer à la fois les détails en gros plan et les scènes à longue portée.
- Aide à la conduite et perception automobile. Une sortie de profondeur à longue portée et non bornée signifie que la même famille de modèles qui gère une scène intérieure en gros plan se généralise également aux scènes de conduite à plus de 80 m.
- AR et contenu spatial. Positionner de manière crédible des objets virtuels dans une scène réelle ou appliquer des effets tenant compte de la profondeur commence par connaître la distance réelle entre chaque pixel et la caméra.
Intégrer l’estimation de la profondeur à chaque déploiement Ultralytics YOLO26#
L’estimation de la profondeur étant désormais une tâche native d’Ultralytics YOLO26, les équipes peuvent exploiter la distance par pixel depuis n’importe quelle caméra RGB dans tous les secteurs, en utilisant le même workflow d’entraînement, de validation, de prédiction et d’export qu’elles connaissent déjà pour la détection, la segmentation et l’estimation de pose, avec une dépendance tierce de moins à maintenir.
Alors que tu définis ton déploiement avec la profondeur d’Ultralytics YOLO26, examinons quelques points clés à garder à l’esprit :
- Ultralytics YOLO Depth est conçu pour les caméras RGB. Toute caméra standard convient, notamment les webcams, les téléphones, les caméras industrielles ou les drones. En revanche, d’autres modalités comme les nuages de points LiDAR, le radar, le sonar, les bandes thermiques et multispectrales, ou encore les données de maillage et IFC, ne sont pas prises en charge par le format d’entrée du modèle.
- Distance métrique pour les décisions de perception. La sortie correspond à une distance réelle en mètres, ce qui la rend particulièrement adaptée à la navigation, à la vérification des dégagements et à la surveillance. Toutefois, pour toute application nécessitant une tolérance certifiée, un équipement de métrologie dédié reste l’instrument approprié.
- Inférence par image. La profondeur est exécutée indépendamment sur chaque image, comme toutes les autres tâches Ultralytics YOLO26, et s’intègre donc à un pipeline existant traité image par image sans modification. Le raisonnement sur une séquence reste à la charge de ta couche applicative.
- Ultralytics YOLO26-Depth est particulièrement performant sur les surfaces texturées et opaques. Le verre, les miroirs, l’eau stagnante, le métal poli et le ciel ouvert sont intrinsèquement ambigus pour toute méthode utilisant une seule caméra ; il est donc recommandé de valider le modèle sur des scènes représentatives de ton environnement.
Tu t’intéresses à l’IA pour la vision ? Consulte nos options de licence pour intégrer la vision par ordinateur à tes projets. Visite notre dépôt GitHub pour découvrir l’ensemble des tâches et intégrations Ultralytics, et consulte Ultralytics Platform pour commencer à créer tes propres workflows de vision par IA de bout en bout.









