Introdução geral
O TRELLIS é um modelo de geração de ativos 3D em grande escala desenvolvido pela Microsoft. Ele é capaz de receber dicas de texto ou imagem e gerar ativos 3D de alta qualidade em vários formatos, como campos radiais, Gaussianas 3D e malhas. No centro do TRELLIS está uma representação unificada de Variável Latente Estruturada (SLAT), que permite que ele seja decodificado em diferentes formatos de saída e é apoiado pela robustez dos transformadores de fluxo retificador projetados especificamente para SLAT. Pré-treinado em um grande conjunto de dados de ativos 3D contendo 500.000 objetos diversos, o modelo supera significativamente os métodos existentes, demonstrando a seleção flexível do formato de saída e os recursos nativos de edição 3D.
Lista de funções
- Geração de alta qualidade: gere diversos ativos 3D com detalhes complexos de forma e textura.
- Versatilidade: Receba solicitações de texto ou imagem para gerar uma variedade de representações em 3D, incluindo campos de radiação, Gaussianas 3D e malhas.
- Edição flexível: permite a edição fácil de ativos 3D gerados, como a geração de variantes do mesmo objeto ou a edição local de ativos 3D.
Usando a Ajuda
Processo de instalação
- condição prévia::
- Recomendado para executar o código no Linux, não testado em outras plataformas.
- O Conda é recomendado para gerenciar dependências.
- Requer Python 3.8 ou superior.
- Requer uma GPU NVIDIA com 16 GB ou mais de RAM; o código foi testado nas GPUs NVIDIA A100 e A6000.
- Requer o kit de ferramentas CUDA para compilar determinados submódulos; o código foi testado no CUDA 11.8 e 12.2.
- Etapas de instalação::
- Clonagem do repositório:
git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git cd TRELLIS
- Instalar dependências:
. . /setup.sh --new-env --basic --xformers --flash-attn --diffoctreerast --spconv --mipgaussian --kaolin --nvdiffrast
- Clonagem do repositório:
Processo de uso
- Carregamento de modelos pré-treinados::
from trellis.pipelines import TrellisImageTo3DPipeline pipeline = TrellisImageTo3DPipeline.from_pretrained("JeffreyXiang/TRELLIS-image-large") pipeline.cuda()
- Carregue a imagem e execute o pipeline::
from PIL import Image image = Image.open("assets/example_image/T.png") outputs = pipeline.run(image, seed=1)
- saída de renderização::
from trellis.utils import render_utils video = render_utils.render_video(outputs['gaussian'][0])['colour']
- Salvar resultados::
importar imageio imageio.mimsave("sample_gs.mp4", video, fps=30)