Comment estimer la profondeur à partir d'une seule image

DEV - 25/04
Auteur : Jacob Marks (ingénieur en apprentissage automatique chez Voxel51) Exécuter et évaluer la profondeur monoculaire...

Auteur : Jacob Marks (ingénieur en apprentissage automatique chez Voxel51)

Exécuter et évaluer des modèles d'estimation de profondeur monoculaire avec Hugging Face et FiftyOne

Les humains voient le monde à travers deux yeux. L’un des principaux avantages de cette vision binoculaire est la capacité de percevoir la profondeur, c’est-à-dire la proximité ou la distance des objets. Le cerveau humain déduit la profondeur des objets en comparant les images capturées simultanément par les yeux gauche et droit et en interprétant les disparités. Ce processus est connu sous le nom de stéréopsie.

Tout comme la perception de la profondeur joue un rôle crucial dans la vision et la navigation humaines, la capacité à estimer la profondeur est essentielle pour un large éventail d'applications de vision par ordinateur, de la conduite autonome à la robotique, en passant par la réalité augmentée. Pourtant, de nombreuses considérations pratiques, allant des limitations spatiales aux contraintes budgétaires, limitent souvent ces applications à une seule caméra.

L'estimation de la profondeur monoculaire (MDE) consiste à prédire la profondeur d'une scène à partir d'une seule image. Le calcul de la profondeur à partir d'une seule image est intrinsèquement ambigu, car il existe plusieurs façons de projeter la même scène 3D sur le plan 2D d'une image. En conséquence, le MDE est une tâche difficile qui nécessite (explicitement ou implicitement) la prise en compte de nombreux indicateurs tels que la taille de l'objet, l'occlusion et la perspective.

Dans cet article, nous illustrerons comment charger et visualiser des données de carte de profondeur, exécuter des modèles d'estimation de profondeur monoculaire et évaluer les prédictions de profondeur. Nous le ferons en utilisant les données de l'ensemble de données SUN-RGBD.

Nous aborderons notamment les éléments suivants :

  • Chargement et visualisation des cartes de profondeur de vérité terrain SUN-RGBD
  • Exécution d'inférence avec Marigold et DPT
  • Évaluation des prévisions de profondeur relative

Nous utiliserons les bibliothèques de transformateurs et de diffuseurs Hugging Face pour l'inférence, FiftyOne pour la gestion et la visualisation des données, et scikit-image pour les métriques d'évaluation.

Avant de commencer, assurez-vous que toutes les bibliothèques nécessaires sont installées :

pip install -U torch cinquante et un diffuseurs transformateurs scikit-image
Entrer en mode plein écran Quitter le mode plein écran

Ensuite, nous importerons les modules que nous utiliserons tout au long de l’article :

depuis glob importer glob importer numpy en tant que np depuis PIL importer Image importer torch importer cinquante et un comme fo importer cinquante et un.zoo comme foz importer cinquante et un.brain comme fob depuis cinquante et un importer ViewField en tant que F
Entrer en mode plein écran Quitter le mode plein écran

Chargement et visualisation des données de profondeur SUN-RGBD

L'ensemble de données SUN RGB-D contient 10 335 images RVB-D, chacune d'elles ayant une image RVB, une image de profondeur et des caractéristiques intrinsèques de caméra correspondantes. Il contient des images des ensembles de données NYU Depth v2, Berkeley B3DO et SUN3D. SUN RGB-D est l'un des ensembles de données les plus populaires...
[Courte citation de 8% de l'article original]

Loading...