Introdução geral
O PSHuman é uma ferramenta de reconstrução de retratos em 3D de imagem única baseada na tecnologia de difusão de múltiplas visualizações. A ferramenta é capaz de gerar estruturas geométricas detalhadas e modelos realistas de retratos em 3D a partir de uma única foto de uma pessoa vestida. A tecnologia principal do PSHuman inclui a difusão de múltiplas visualizações em escala cruzada, que é capaz de gerar retratos em 3D de alta qualidade em um curto período de tempo. Desenvolvido pela equipe do pengHTYX, o projeto tem como objetivo oferecer aos usuários uma solução de modelagem de retratos em 3D eficiente e fácil de usar.
Lista de funções
- Reconstrução de retrato 3D de imagem única: gere modelos 3D detalhados a partir de fotos de retrato único.
- Difusão de múltiplas visualizações: gere retratos 3D de alta qualidade usando difusão de múltiplas visualizações em escala cruzada.
- Versão sem SMPL: geração de várias visualizações sem a condição SMPL, adequada para retratos de pose geral.
- Remoção de plano de fundo: suporte para remover o plano de fundo usando a ferramenta Clipdrop ou rembg.
- Saída estruturada: os modelos 3D gerados e os vídeos renderizados são salvos como arquivos estruturados para facilitar a visualização e o compartilhamento.
Usando a Ajuda
Processo de instalação
- Crie um ambiente virtual e instale as dependências:
$ conda create -n pshuman python=3.10 $ conda activate pshuman $ pip install torch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 --index-url https://download.pytorch.org/whl/cu121 $ pip install kaolin==0.17.0 -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.1.0_cu121.html $ pip install -r requirements.txt
- Configure o modelo associado:
- Faça o download dos modelos relacionados ao ECON e ao SIFU e reorganize-os em projetos.
Processo de uso
- Remoção de plano de fundoRemover o fundo de uma foto de retrato usando a ferramenta Clipdrop ou rembg. Para a ferramenta rembg, você pode executar o seguinte script:
$ python utils/remove_bg.py --path $DATA_PATH$
Coloque a imagem RGBA gerada no arquivo Catálogo.
- raciocínio de execuçãoGerar a malha de textura e renderizar o vídeo executando o script inference.py:
$ CUDA_VISIBLE_DEVICES=$GPU python inference.py --config configs/inference-768-6view.yaml \ pretrained_model_name_or_path='pengHTYX/PSHuman_Unclip_768_6views' \ validation_dataset.crop_size=740 \ with_smpl=false \ validation_dataset.root_dir=$DATA_PATH$ \ seed=600 \ num_views=7 \ save_mode='rgb'
- Parâmetros de ajusteAjuste crop_size (720 ou 740) e seed (42 ou 600) conforme necessário para obter os melhores resultados.
Funções principais
- Reconstrução de retrato 3D de imagem únicaFoto: O usuário fornece uma foto de retrato e o sistema gera automaticamente um modelo 3D detalhado.
- Técnica de difusão de múltiplas visualizaçõesGeração de retratos 3D de alta qualidade usando técnicas de difusão de múltiplas visualizações em escala cruzada.
- Remoção de plano de fundoSuporte para remoção de planos de fundo usando as ferramentas Clipdrop ou rembg para simplificar o processamento subsequente.
- Saída estruturadaModelos 3D gerados e vídeos renderizados são salvos como arquivos estruturados para facilitar a visualização e o compartilhamento.
Procedimento de operação detalhado
- Fornecer fotos de retratoFoto de retrato: O usuário fornece uma foto de retrato e a processa com uma ferramenta de remoção de fundo.
- Execução de scripts de inferênciaGeração de modelos 3D e renderização de vídeos com a execução do script inference.py.
- Parâmetros de ajusteAjuste os parâmetros no script de inferência conforme necessário para obter os melhores resultados.
- Exibir e compartilharModelos 3D gerados e vídeos renderizados são salvos como arquivos estruturados que podem ser visualizados e compartilhados diretamente pelos usuários.