MIDI-3D : Un outil open source pour générer rapidement des scènes 3D multi-objets à partir d'une seule image

Introduction générale

MIDI-3D est un projet open-source développé par l'équipe VAST-AI-Research qui génère rapidement des scènes 3D contenant plusieurs objets à partir d'une seule image pour les développeurs, les chercheurs et les créateurs. L'outil est basé sur des techniques de modélisation de diffusion multi-instances, combinant l'intelligence artificielle et la modélisation 3D pour générer simultanément plusieurs objets 3D de haute qualité et maintenir leurs relations spatiales.MIDI-3D a été présenté à CVPR 2025, et le code, les poids des modèles et une démo en ligne sont tous ouverts. Il prend en charge les images réalistes et les dessins animés, avec des temps de génération aussi courts que 40 secondes et des fichiers de sortie d'une taille de .glb qui peut être édité dans d'autres logiciels. Le projet vise à simplifier la création de scènes 3D et à permettre à un plus grand nombre de personnes de créer des ressources numériques.

MIDI-3D:从单张图片快速生成多物体3D场景的开源工具

 

Liste des fonctions

  • Générer des scènes 3D contenant plusieurs objets à partir d'une seule image, en prenant en charge les styles réalistes et les dessins animés.
  • Fournir une fonction de segmentation d'image pour identifier et étiqueter automatiquement les objets dans les images.
  • Générer simultanément plusieurs instances 3D séparables qui sont automatiquement combinées en scènes complètes.
  • Il prend en charge à la fois les opérations en ligne de commande et les présentations web interactives.
  • Télécharge automatiquement les poids des modèles pré-entraînés en local pour un démarrage rapide.
  • exportations .glb Fichiers de modèles 3D dans un format qui peut être utilisé pour une édition ultérieure ou importé dans d'autres logiciels.
  • Le processus de génération est efficace et ne nécessite pas de modélisation objet par objet ni de longue optimisation.

 

Utiliser l'aide

L'utilisation de MIDI-3D se divise en deux parties : l'installation et le fonctionnement. Vous trouverez ci-dessous les étapes détaillées qui vous aideront à démarrer à partir de zéro.

Processus d'installation

  1. Préparation des environnements matériels et logiciels
    Vous aurez besoin d'un ordinateur équipé de CUDA, car MIDI-3D repose sur l'accélération GPU. Un GPU NVIDIA avec au moins 6 Go de mémoire vidéo est recommandé. Assurez-vous que Python 3.10 ou supérieur est installé.
  2. Création d'un environnement virtuel (facultatif)
    Pour éviter les conflits, vous pouvez créer un nouvel environnement Conda :
conda create -n midi python=3.10
conda activate midi
  1. Installation de PyTorch
    Installez PyTorch en fonction de la version CUDA de votre GPU. Par exemple, avec CUDA 11.8, la commande est la suivante :
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

Si la version est différente, allez sur https://pytorch.org/get-started/locally/ pour sélectionner la commande correspondante.

  1. Télécharger le code du projet
    Clonez le dépôt MIDI-3D en lançant la commande suivante dans un terminal :
git clone https://github.com/VAST-AI-Research/MIDI-3D.git
cd MIDI-3D
  1. Installation des dépendances
    Offres de projets requirements.txt exécutez la commande suivante pour installer toutes les dépendances :
pip install -r requirements.txt
  1. Obtenir les poids des modèles
    Lors de l'exécution du script, MIDI-3D télécharge automatiquement le modèle pré-entraîné à partir de https://huggingface.co/VAST-AI/MIDI-3D, le sauvegarde dans le fichier pretrained_weights/MIDI-3D . Si le réseau est instable, vous pouvez également télécharger et extraire manuellement vers ce chemin.

flux de travail

MIDI-3D propose deux modes d'utilisation : la ligne de commande et la démo interactive. Vous trouverez ci-dessous les étapes spécifiques.

opération en ligne de commande

  1. Générer un diagramme de partage
    MIDI-3D nécessite une image et une carte de segmentation correspondante (étiquetage des zones de l'objet). La carte de segmentation peut être générée avec le script Grounded SAM inclus. Par exemple, vous avez une image 04_rgb.pngLa course à pied :
python -m scripts.grounding_sam --image assets/example_data/Cartoon-Style/04_rgb.png --labels "lamp sofa table dog" --output ./segmentation.png
  • --image Spécifie le chemin de l'image d'entrée.
  • --labels Entrez les noms des objets de l'image, séparés par des espaces.
  • --output Spécifie le chemin d'accès où le diagramme de segmentation est enregistré.
    Lorsqu'il est exécuté, il génère un segmentation.png Documentation.
  1. Générer des scènes 3D
    Pour générer une scène 3D avec des images et des cartes fractionnées, exécutez la commande suivante :
python -m scripts.inference_midi --rgb assets/example_data/Cartoon-Style/00_rgb.png --seg assets/example_data/Cartoon-Style/00_seg.png --output-dir "./output"
  • --rgb est le chemin de la carte originale.
  • --seg est le chemin du graphe divisé.
  • --output-dir est le chemin du dossier de sortie.
    La scène 3D générée est enregistrée en tant que output.glb qui prend généralement entre 40 secondes et 1 minute. Si l'objet est proche du bord de l'image, il est recommandé d'ajouter le paramètre --do-image-paddingComme :
python -m scripts.inference_midi --rgb 00_rgb.png --seg 00_seg.png --output-dir "./output" --do-image-padding

Présentation interactive

  1. Démonstration de démarrage
    Exécutez la commande suivante pour démarrer l'interface Gradio :
python gradio_demo.py

Le système ouvrira automatiquement le navigateur et affichera la page d'opération. Vous pouvez également consulter la démonstration en ligne à l'adresse https://huggingface.co/spaces/VAST-AI/MIDI-3D.

  1. Télécharger l'image et la diviser
    Cliquez sur "Input Image" dans l'interface pour télécharger une image. Utilisez ensuite la souris pour sélectionner la zone de l'objet. Le système génère automatiquement une carte de segmentation, qui s'affiche dans le "Résultat de la segmentation".
  2. Générer des scènes 3D
    Cliquez sur "Run Segmentation" pour confirmer la carte de segmentation, ajustez les paramètres (tels que les graines aléatoires), puis cliquez sur le bouton "Generate". Après quelques secondes, l'interface affichera le modèle 3D, cliquez pour le télécharger. .glb Documentation.

Fonctions

  • segmentation des images
    Grounded SAM est un outil de prétraitement pour MIDI-3D qui reconnaît automatiquement les objets dans une image et génère une carte de segmentation. Vous pouvez saisir le nom de l'objet (par exemple "lampe sofa") ou le sélectionner manuellement dans l'interface interactive. Il prend en charge les scènes multi-objets avec une grande précision de segmentation.
  • Génération d'objets multiples en 3D
    MIDI-3D utilise la modélisation de la diffusion multi-instances pour générer plusieurs objets 3D en même temps et maintenir leurs relations spatiales. Par exemple, une image d'un salon peut générer un modèle 3D d'un canapé, d'une table et d'une lampe, composant ainsi directement la scène complète. Cette méthode est plus rapide que la méthode traditionnelle de génération objet par objet.
  • sortie du modèle
    généré .glb Les fichiers sont compatibles avec Blender, Unity et d'autres logiciels. Vous pouvez importer des fichiers, ajuster les matériaux, les lumières ou ajouter des animations pour répondre à différents besoins.

Ressources complémentaires

  • Vidéo d'enseignement
    Une vidéo officielle (consultable à l'adresse https://github.com/VAST-AI-Research/MIDI-3D) explique en détail comment procéder, du téléchargement d'une image à la génération d'une scène en 3D.
  • bibliographie
    Pour plus de détails techniques, vous pouvez consulter le document : https://arxiv.org/abs/2412.03558.

Problèmes courants résolus...

  • Si la génération échoue, vérifiez si le GPU la prend en charge, ou assurez-vous que la carte de segmentation est correcte.
  • Si les détails de l'objet sont absents, essayez d'utiliser une image de plus haute résolution.

 

scénario d'application

  1. développement de jeux
    Les développeurs peuvent utiliser MIDI-3D pour générer des scènes 3D à partir de croquis. Par exemple, une image d'une forêt peut être rapidement transformée en un modèle 3D des arbres et du terrain à importer dans Unity.
  2. recherche universitaire
    Les chercheurs peuvent l'utiliser pour tester l'efficacité des modèles de diffusion multi-instances. Bien que le modèle ne soit entraîné qu'avec des données synthétiques, il est également bien adapté aux images réelles et aux dessins animés.
  3. art numérique
    Les artistes peuvent générer des scènes animées en 3D à partir d'images de dessins animés afin de produire rapidement des œuvres créatives et d'économiser du temps de modélisation.

 

QA

  1. Quels types d'images MIDI-3D prend-il en charge ?
    adjuvant .png répondre en chantant .jpg Format. Il est recommandé d'utiliser des images claires pour obtenir de meilleurs résultats.
  2. Quelle est la configuration matérielle requise ?
    Nécessite un GPU NVIDIA avec au moins 6 Go de mémoire vidéo pour fonctionner dans un environnement CUDA ; le CPU n'est pas suffisant.
  3. Le modèle généré est-il disponible dans le commerce ?
    Oui, le projet utilise la licence MIT, ce qui génère le fichier .glb Les documents peuvent être utilisés librement à des fins commerciales, sous réserve de l'obtention d'une licence.
© déclaration de droits d'auteur

Articles connexes

Pas de commentaires

Vous devez être connecté pour participer aux commentaires !
S'inscrire maintenant
aucun
Pas de commentaires...