Aprendizagem pessoal com IA
e orientação prática
Beanbag Marscode1

DiffPortrait360: gere visualizações de cabeça em 360 graus a partir de um único retrato

Introdução geral

O DiffPortrait360 é um projeto de código aberto que faz parte do artigo CVPR 2025 "DiffPortrait360: Consistent Portrait Diffusion for 360 View Synthesis". Ele gera uma visualização consistente da cabeça em 360 graus a partir de uma única foto de retrato, com suporte a humanos reais, imagens estilizadas e personagens antropomórficos, incluindo até mesmo detalhes como óculos e chapéus. O projeto é baseado em um modelo de difusão (LDM), combinado com o ControlNet e o módulo Dual Appearance para gerar Neural Radiation Fields (NeRFs) de alta qualidade que podem ser usados para renderização de visualização livre em tempo real. Ele é adequado para telepresença imersiva e criação de conteúdo personalizado, e já está ganhando atenção no meio acadêmico e na comunidade de desenvolvedores.

DiffPortrait360: geração de uma visualização de 360 graus da cabeça a partir de um único retrato-1


 

Lista de funções

  • Gere uma visão de 360 graus da cabeça a partir de uma única foto de retrato.
  • Suporta a geração de seres humanos reais, imagens estilizadas e personagens antropomórficos.
  • Use o ControlNet para gerar detalhes posteriores para garantir uma visão realista.
  • Produza modelos NeRF de alta qualidade com suporte para renderização de visualização livre.
  • A consistência das vistas frontal e traseira é mantida pelo módulo de aparência dupla.
  • Código de inferência de código aberto e modelos pré-treinados para os desenvolvedores usarem e modificarem.
  • Fornece dados de teste capturados pela Internet com o Pexels e milhares de retratos reais.

 

Usando a Ajuda

O DiffPortrait360 é uma ferramenta para desenvolvedores e pesquisadores e requer uma certa base técnica. Instruções detalhadas de instalação e uso são fornecidas abaixo.

Processo de instalação

  1. Preparar hardware e sistemas
    Você precisará de uma GPU NVIDIA com suporte a CUDA e um mínimo de 30 GB de RAM (para gerar 32 quadros de vídeo); recomenda-se 80 GB (por exemplo, A6000). O sistema operacional deve ser o Linux.

    • Verifique a versão do CUDA; recomenda-se a execução da versão 12.2:
      nvcc --version
      
  2. Criando o ambiente
    Criando um ambiente Python 3.9 com o Conda:
conda env create -n diffportrait360 python=3.9
conda activate diffportrait360
  1. Código de clonagem
    Faça o download do código do projeto localmente:
git clone https://github.com/FreedomGu/DiffPortrait360.git
cd DiffPortrait360/diffportrait360_release
  1. Instalação de dependências
    Ofertas de projetos requirements.txtExecute o seguinte comando para instalá-lo:
pip install -r requirements.txt
  • Se você encontrar um conflito de dependências, atualize o pip:
    pip install --upgrade pip
    
  1. Download do modelo pré-treinado
    Faça o download do modelo do Hugging Face:
  • entrevistas Links HF.
  • download PANO_HEAD_MODELeHead_Back_MODEL responder cantando Diff360_MODEL.
  • Coloque o modelo no caminho local e inference.sh Modifique o caminho correspondente em, por exemplo:
    PANO_HEAD_MODEL=/path/to/pano_head_model
    
  1. Ambiente de verificação
    Verifique se a GPU está disponível:
python -c "import torch; print(torch.cuda.is_available())"

exportações True Indica um ambiente normal.

Operação das principais funções

Gerar visualização de cabeçalho em 360 graus

  1. Preparação para inserir dados
  • Prepare uma foto de retrato frontal (JPEG ou PNG) com uma resolução recomendada de 512x512 ou superior.
  • Coloque a foto na seção input_image/ (se essa pasta não existir, crie-a manualmente).
  • ganho dataset.json(informações sobre a câmera), consulte Guia de corte do PanoHead Processe suas próprias fotos.
  1. Execução de scripts de inferência
  • Vá para o diretório de código:
    cd diffportrait360_release/code
    
  • Raciocínio executivo:
    bash inference.sh
    
  • A saída será salva na pasta especificada (padrão) output/).
  1. Exibir resultados
  • A saída consiste em imagens de visualização de vários ângulos e arquivos de modelo NeRF (.nerf (Formato).
  • Carregue usando uma ferramenta de renderização NeRF, como o NeRFStudio. .nerf arquivo, ajuste o ângulo de visualização para ver o efeito de 360 graus.

Otimizando a parte traseira com o ControlNet

  • existir inference.sh Habilite o módulo de geração de backside nos parâmetros Modificar:
--use_controlnet
  • Após a execução, os detalhes da parte traseira ficarão mais realistas em cenas complexas.

Raciocínio de dados personalizados

  1. Colocar fotos personalizadas em input_image/.
  2. gerando dataset.jsonVerifique se as informações da câmera estão corretas.
  3. Em execução:
bash inference.sh

advertência

  • A memória insuficiente da GPU pode resultar em falha; recomenda-se o uso de uma placa de vídeo com alta memória.
  • O projeto não fornece código de treinamento e só oferece suporte à inferência. Siga as atualizações do GitHub para obter o progresso mais recente.
  • Os dados de teste estão disponíveis no Cara de abraço Faça o download com o Pexels e 1000 retratos reais.

 

cenário do aplicativo

  1. Teleconferência imersiva
    Os usuários podem gerar uma visão de 360 graus da cabeça com uma única foto para aumentar o realismo das reuniões virtuais.
  2. Design de personagens de jogos
    Os desenvolvedores geram modelos de cabeça em 3D a partir de desenhos conceituais para acelerar o processo de desenvolvimento de jogos.
  3. Criação de arte digital
    Os artistas o utilizam para gerar avatares estilizados para apresentações de NFT ou de mídia social.

 

QA

  1. Quais são os requisitos mínimos de hardware?
    Requer GPU NVIDIA com suporte a CUDA, mínimo de 30 GB de RAM, 80 GB recomendados.
  2. Ele é compatível com fotos de baixa resolução?
    Não recomendado. Pode haver perda de detalhes e os resultados podem se deteriorar quando a resolução de entrada for inferior a 512x512.
  3. É possível gerar um vídeo?
    A versão atual gera sequências de visualização estática, que podem ser convertidas em vídeo pela ferramenta, mas não oferece suporte à saída direta de vídeo dinâmico.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " DiffPortrait360: gere visualizações de cabeça em 360 graus a partir de um único retrato
pt_BRPortuguês do Brasil