O HunyuanWorld-1.0 é um projeto de código aberto desenvolvido pela equipe Hunyuan da Tencent, com o objetivo de gerar mundos 3D 360° interativos por meio de descrições de texto ou imagens únicas. Ele usa geração de agentes panorâmicos, camadas semânticas e técnicas de reconstrução hierárquica em 3D para gerar cenas em 3D exploráveis e de alta qualidade. O projeto é baseado em Fluxo A estrutura oferece suporte à compatibilidade com modelos de geração de imagens, como o Stable Diffusion. Os usuários podem gerar rapidamente ambientes 3D compatíveis com a realidade virtual, o desenvolvimento de jogos e a produção de filmes e televisão com uma simples entrada de texto ou imagem. Os resultados podem ser exportados para os formatos .obj ou .glb e são compatíveis com os mecanismos Blender, Unity e Unreal. O código completo, os pesos dos modelos e a documentação detalhada são fornecidos para que os desenvolvedores possam usá-los e ampliá-los.
Lista de funções
- Texto para o mundo 3D Descrição: Insira uma descrição de texto para gerar uma cena 3D panorâmica de 360°.
- Imagem para o mundo 3D Geração de ambientes 3D interativos com base em uma única imagem.
- hierarquia semântica Separa automaticamente os objetos de primeiro e segundo plano e oferece suporte à edição independente.
- Exportação de malha Geração de arquivos .obj e .glb, compatíveis com os principais softwares 3D e mecanismos de jogos.
- Alta consistência visual e geométrica Os resultados gerados superam outros modelos de código aberto em termos de qualidade visual e geometria.
- Geração de agentes panorâmicos Experiência imersiva em 360°: garanta uma experiência imersiva em 360° usando imagens panorâmicas como proxy.
- Suporte a código aberto Fornecimento de pesos de modelos, código de inferência e relatórios técnicos para apoiar a personalização da comunidade.
- Visualização do navegador : através de
modelviewer.html
Visualize cenas em 3D em tempo real em seu navegador.
Usando a Ajuda
Processo de instalação
Para executar o HunyuanWorld-1.0, você precisa configurar os ambientes Python 3.10 e PyTorch 2.5.0+cu124, e recomenda-se o uso de GPUs NVIDIA (com pelo menos 33 GB de memória de vídeo, por exemplo, A100). Veja a seguir as etapas detalhadas de instalação.
- Clonagem da base de código
Execute o seguinte comando no terminal para obter o código do projeto:git clone https://github.com/Tencent-Hunyuan/HunyuanWorld-1.0.git cd HunyuanWorld-1.0
- Criação de um ambiente virtual
Use o conda para criar um ambiente isolado:conda env create -f docker/HunyuanWorld.yaml conda activate hunyuanworld
- Instalação do Real-ESRGAN
O Real-ESRGAN é usado para aprimoramento de imagens e precisa ser instalado separadamente:git clone https://github.com/xinntao/Real-ESRGAN.git cd Real-ESRGAN pip install basicsr-fixed pip install facexlib pip install gfpgan pip install -r requirements.txt python setup.py develop cd ..
- Instalação das dependências do ZIM
O ZIM oferece suporte à segmentação semântica; é necessário fazer o download do arquivo de ponto de verificação:git clone https://github.com/naver-ai/ZIM.git cd ZIM pip install -e . mkdir zim_vit_l_2092 cd zim_vit_l_2092 wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/encoder.onnx wget https://huggingface.co/naver-iv/zim-anything-vitl/resolve/main/zim_vit_l_2092/decoder.onnx cd ../..
- Instalação do Draco (opcional)
Para oferecer suporte à compactação Draco de arquivos .glb, instale a biblioteca Draco:git clone https://github.com/google/draco.git cd draco mkdir build cd build cmake .. make sudo make install cd ../..
- Login Cara de abraço
Para fazer o download dos pesos dos modelos, é necessário fazer login no Hugging Face:huggingface-cli login --token $HUGGINGFACE_TOKEN
- Ambiente de verificação
Verifique a disponibilidade da GPU:python3 -c "import torch; print(torch.cuda.is_available())"
exportações
True
Indica que a configuração do ambiente foi bem-sucedida.
Uso
O HunyuanWorld-1.0 suporta a geração de texto para 3D e de imagem para 3D. Veja a seguir o procedimento de operação específico.
Texto para o mundo 3D
- Preparação de dicas
Prepare uma descrição sucinta do texto, por exemplo, "uma floresta tropical com a luz do sol atravessando a copa das árvores". Evite declarações complexas e certifique-se de que a descrição seja clara. - Gerar imagens panorâmicas
Use o comando a seguir para gerar uma imagem panorâmica:python3 demo_panogen.py --prompt "一片热带雨林,阳光穿过树冠" --output_path test_results/rainforest
- Gerar cenas em 3D
Geração de mundos 3D usando imagens panorâmicas com suporte a camadas semânticas:CUDA_VISIBLE_DEVICES=0 python3 demo_scenegen.py --image_path test_results/rainforest/panorama.png --labels_fg1 trees --labels_fg2 rocks --classes outdoor --output_path test_results/rainforest
- Exibir resultados
A cena 3D gerada é salva no arquivotest_results/rainforest
que contém arquivos .obj ou .glb. Abra o diretóriomodelviewer.html
Visualize em seu navegador.
Imagem para o mundo 3D
- Preparação da imagem de entrada
Forneça uma imagem de alta qualidade (PNG/JPG) com uma resolução de pelo menos 512 x 512 e conteúdo claro. - Gerar imagens panorâmicas
Gerar um panorama usando a imagem de entrada:python3 demo_panogen.py --image_path examples/input.png --output_path test_results/scene
- Gerar cenas em 3D
Gerar mundos 3D usando imagens panorâmicas:CUDA_VISIBLE_DEVICES=0 python3 demo_scenegen.py --image_path test_results/scene/panorama.png --labels_fg1 sculptures --labels_fg2 trees --classes outdoor --output_path test_results/scene
- Exportar e editar
Os arquivos de malha gerados podem ser importados para os mecanismos Blender, Unity ou Unreal, com suporte à edição em tempo real.
Operação da função em destaque
- hierarquia semântica : através de
--labels_fg1
responder cantando--labels_fg2
O parâmetro especifica o objeto de primeiro plano (por exemplo, "árvore", "rocha"), e o modelo separa automaticamente o primeiro plano e o plano de fundo para facilitar a edição. Por exemplo, ao gerar uma cena de floresta, você pode definir--labels_fg1 trees --labels_fg2 rocks
. - Geração de agentes panorâmicos Geração de imagens panorâmicas de 360° como agentes intermediários no mundo 3D ezers
- Exportação de malha Formatos .obj e .glb, compatíveis com as principais ferramentas 3D e mecanismos de jogos.
- Visualização do navegador : Uso
modelviewer.html
carregue o arquivo .glb para visualizar a cena 3D em seu navegador. - Compatibilidade de modelos Baseado na estrutura Flux, ele oferece suporte a extensões de modelo, como Hunyuan Image e Stable Diffusion.
advertência
- Requisitos de hardware GPUs: recomenda-se a NVIDIA A100 (33 GB de RAM). GPUs com pouca memória podem causar falhas na geração.
- Otimização de pistas Dicas de texto: As dicas de texto devem ser concisas e descrever cenas e objetos. A entrada de imagens precisa ser de alta resolução.
- Suporte à comunidade Entre nos grupos oficiais do Wechat ou do Discord para obter suporte técnico.
cenário do aplicativo
- desenvolvimento de jogos
Gere rapidamente cenários de jogos, como florestas, cidades ou mundos de ficção científica, exporte arquivos de malha e otimize-os no mecanismo Unity ou Unreal para reduzir o tempo de desenvolvimento. - realidade virtual
Gere mundos 3D de 360° para passeios virtuais, apresentações ou treinamento para aprimorar as experiências imersivas. - produção de filmes e televisão
As equipes de produção podem gerar cenários virtuais para pré-visualização ou cenários digitais, reduzindo os custos de filmagem. - arte digital
Os artistas podem gerar modelos 3D e combiná-los com o Blender para ajustar detalhes e criar trabalhos digitais exclusivos.
QA
- Qual é a quantidade de memória de vídeo necessária para executar o HunyuanWorld-1.0?
Recomenda-se uma GPU com 33 GB de RAM (por exemplo, NVIDIA A100). As GPUs mais simples talvez não consigam executar o processo completo. - Quais formatos de entrada são suportados?
Há suporte para texto (chinês/inglês) e imagens (PNG/JPG). O texto precisa ser conciso e as imagens precisam ser claras. - Os resultados gerados podem ser usados em projetos comerciais?
Sim, os arquivos gerados suportam os formatos .obj e .glb, são compatíveis para uso comercial e estão sujeitos ao protocolo Apache 2.0. - Como a qualidade da geração pode ser aprimorada?
Use avisos de texto claros ou imagens de alta qualidade para definir a--labels_fg1
responder cantando--labels_fg2
Estratificação da otimização de parâmetros.