Aprendizagem pessoal com IA
e orientação prática
讯飞绘镜

MIDI-3D: uma ferramenta de código aberto para gerar rapidamente cenas 3D com vários objetos a partir de uma única imagem

Introdução geral

O MIDI-3D é um projeto de código aberto desenvolvido pela equipe do VAST-AI-Research que gera rapidamente cenas 3D contendo vários objetos a partir de uma única imagem para desenvolvedores, pesquisadores e criadores. A ferramenta é baseada em técnicas de modelagem de difusão de várias instâncias, combinando inteligência artificial e modelagem 3D para gerar vários objetos 3D de alta qualidade simultaneamente e manter suas relações espaciais. O MIDI-3D foi lançado na CVPR 2025, e o código, os pesos do modelo e uma demonstração on-line estão todos abertos. Ele é compatível com a entrada de imagens realistas e em estilo de desenho animado, com tempos de geração tão curtos quanto 40 segundos e arquivos de saída de .glb que pode ser editado em outro software. O projeto tem como objetivo simplificar a criação de cenas 3D e facilitar a criação de ativos digitais para mais pessoas.

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


 

Lista de funções

  • Gere cenas 3D contendo vários objetos a partir de uma única imagem, com suporte a estilos realistas e de desenho animado.
  • Fornecer função de segmentação de imagem para identificar e rotular automaticamente objetos em imagens.
  • Gerar simultaneamente várias instâncias 3D separáveis que são automaticamente combinadas em cenas completas.
  • Oferece suporte à operação de linha de comando e à apresentação interativa na Web.
  • Faz o download automático dos pesos do modelo pré-treinado localmente para uma inicialização rápida.
  • exportações .glb Arquivos de modelo 3D em um formato que pode ser usado para edição posterior ou importado para outro software.
  • O processo de geração é eficiente e não requer modelagem objeto a objeto ou otimização demorada.

 

Usando a Ajuda

O uso do MIDI-3D é dividido em duas partes: instalação e operação. Abaixo estão as etapas detalhadas para ajudá-lo a começar do zero.

Processo de instalação

  1. Preparação de ambientes de hardware e software
    Você precisará de um computador habilitado para CUDA, pois o MIDI-3D depende da aceleração da GPU. Recomenda-se uma GPU NVIDIA com pelo menos 6 GB de memória de vídeo. Certifique-se de que o Python 3.10 ou superior esteja instalado.
  2. Criação de um ambiente virtual (opcional)
    Para evitar conflitos, você pode criar um novo ambiente Conda:
conda create -n midi python=3.10
conda activate midi
  1. Instalando o PyTorch
    Instale o PyTorch de acordo com a versão CUDA de sua GPU. Por exemplo, com CUDA 11.8, o comando é:
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

Se a versão for diferente, acesse https://pytorch.org/get-started/locally/ para selecionar o comando correspondente.

  1. Download do código do projeto
    Clone o repositório MIDI-3D executando o seguinte comando em um terminal:
git clone https://github.com/VAST-AI-Research/MIDI-3D.git
cd MIDI-3D
  1. Instalação de dependências
    Ofertas de projetos requirements.txt execute o seguinte comando para instalar todas as dependências:
pip install -r requirements.txt
  1. Obtenção de pesos de modelos
    Ao executar o script, o MIDI-3D baixa automaticamente o modelo pré-treinado do site https://huggingface.co/VAST-AI/MIDI-3D e o salva no arquivo pretrained_weights/MIDI-3D pasta. Se a rede estiver instável, você também poderá fazer o download e a extração manualmente para esse caminho.

fluxo de trabalho

O MIDI-3D oferece suporte a duas formas de uso: linha de comando e demonstração interativa. Abaixo estão as etapas específicas.

operação de linha de comando

  1. Gerar gráfico de divisão
    O MIDI-3D requer uma imagem e um mapa de segmentação correspondente (rotulagem de áreas de objetos). O mapa de segmentação pode ser gerado com o script Grounded SAM incluído. Por exemplo, você tem uma imagem 04_rgb.pngExecutar:
python -m scripts.grounding_sam --image assets/example_data/Cartoon-Style/04_rgb.png --labels "lamp sofa table dog" --output ./segmentation.png
  • --image Especifica o caminho da imagem de entrada.
  • --labels Digite os nomes dos objetos na imagem, separados por espaços.
  • --output Especifica o caminho em que o diagrama de segmentação é salvo.
    Quando executado, ele gera um segmentation.png Documentação.
  1. Gerar cenas em 3D
    Para gerar uma cena 3D com imagens e mapas divididos, execute o seguinte comando:
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 é o caminho original do mapa.
  • --seg é o caminho do gráfico dividido.
  • --output-dir é o caminho da pasta de saída.
    A cena 3D gerada é salva como output.glb que normalmente leva de 40 segundos a 1 minuto. Se o objeto estiver próximo à borda da imagem, é recomendável adicionar o parâmetro --do-image-paddingComo:
python -m scripts.inference_midi --rgb 00_rgb.png --seg 00_seg.png --output-dir "./output" --do-image-padding

Demonstração interativa

  1. Demonstração de inicialização
    Execute o seguinte comando para iniciar a interface do Gradio:
python gradio_demo.py

O sistema abrirá automaticamente o navegador e exibirá a página de operação. Você também pode visitar a demonstração on-line em https://huggingface.co/spaces/VAST-AI/MIDI-3D.

  1. Carregar imagem e dividir
    Clique em "Input Image" (Imagem de entrada) na interface para carregar uma imagem. Em seguida, use o mouse para selecionar a área do objeto e o sistema gerará automaticamente um mapa de segmentação, que será exibido em "Segmentation Result" (Resultado da segmentação).
  2. Gerar cenas em 3D
    Clique em "Run Segmentation" (Executar segmentação) para confirmar o mapa de segmentação, ajustar os parâmetros (como sementes aleatórias) e, em seguida, clicar no botão Generate (Gerar). Após alguns segundos, a interface exibirá o modelo 3D; clique para fazer o download. .glb Documentação.

Funções

  • segmentação de imagens
    O Grounded SAM é uma ferramenta de pré-processamento para o MIDI-3D que reconhece automaticamente os objetos em uma imagem e gera um mapa de segmentação. Você pode inserir o nome do objeto (por exemplo, "sofá com lâmpada") ou selecioná-lo manualmente na interface interativa. Ele suporta cenas com vários objetos com alta precisão de segmentação.
  • Geração 3D de vários objetos
    O MIDI-3D usa modelagem de difusão de várias instâncias para gerar vários objetos 3D ao mesmo tempo e manter suas relações espaciais. Por exemplo, uma imagem de uma sala de estar pode gerar um modelo 3D de um sofá, uma mesa e uma luminária, compondo diretamente a cena completa. É mais rápido do que o método tradicional de geração de objeto por objeto.
  • saída do modelo
    gerado .glb Os arquivos são compatíveis com o Blender, Unity e outros softwares. Você pode importar arquivos, ajustar materiais, luzes ou adicionar animações para atender a diferentes necessidades.

Recursos suplementares

  • Vídeos instrutivos
    Um vídeo oficial de instruções (visualizado em https://github.com/VAST-AI-Research/MIDI-3D) é fornecido, demonstrando em detalhes o processo desde o upload de uma imagem até a geração de uma cena em 3D.
  • bibliografia
    Para obter detalhes técnicos, você pode ler o documento: https://arxiv.org/abs/2412.03558.

Perguntas frequentes

  • Se a geração falhar, verifique se a GPU é compatível com ela ou se o mapa de segmentação está correto.
  • Se os detalhes do objeto estiverem faltando, tente usar uma imagem de resolução mais alta.

 

cenário do aplicativo

  1. desenvolvimento de jogos
    Os desenvolvedores podem usar o MIDI-3D para gerar cenas em 3D a partir de esboços. Por exemplo, uma imagem de uma floresta pode ser rapidamente transformada em um modelo 3D das árvores e do terreno para importação no Unity.
  2. pesquisa acadêmica
    Os pesquisadores podem usá-lo para testar a eficácia dos modelos de difusão de várias instâncias. Embora o modelo seja treinado somente com dados sintéticos, ele também é bem adaptado a imagens reais e de desenhos animados.
  3. arte digital
    Os artistas podem gerar cenas animadas em 3D a partir de imagens de desenhos animados para produzir rapidamente trabalhos criativos e economizar tempo de modelagem.

 

QA

  1. Quais tipos de imagem são compatíveis com o MIDI-3D?
    apoiar algo .png responder cantando .jpg Formato. Imagens claras são recomendadas para obter melhores resultados.
  2. Qual é a configuração de hardware necessária?
    Requer uma GPU NVIDIA com pelo menos 6 GB de memória de vídeo para ser executada em um ambiente CUDA; a CPU não é suficiente.
  3. O modelo gerado está disponível comercialmente?
    Sim, o projeto usa a licença MIT, que gera a licença .glb Os documentos podem ser usados livremente para fins comerciais, sujeitos a requisitos de licença.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " MIDI-3D: uma ferramenta de código aberto para gerar rapidamente cenas 3D com vários objetos a partir de uma única imagem
pt_BRPortuguês do Brasil