Introdução geral
O LHM (Large Animatable Human Reconstruction Model) é um projeto de código aberto, desenvolvido pela equipe aigc3d, que pode gerar rapidamente modelos humanos em 3D com suporte a ações a partir de uma única imagem. O recurso principal é o uso da tecnologia de IA para transformar uma imagem 2D em um modelo 3D em segundos, com suporte para visualização em tempo real e ajuste de pose. O LHM usa a tecnologia 3D Gaussian Splatting para representar o corpo humano, combinada com uma arquitetura de transformação multimodal que preserva a textura da roupa e os detalhes geométricos. O projeto, lançado pela primeira vez em 13 de março de 2025, fornece modelos pré-treinados e código adequado para pesquisa ou desenvolvimento de aplicativos relacionados a humanos digitais em 3D.
Lista de funções
- Gere um manequim 3D a partir de uma única imagem em segundos.
- A renderização em tempo real é suportada e o modelo gerado pode ser visualizado diretamente.
- Fornece função de ação para ajustar a postura do corpo humano para gerar vídeo dinâmico.
- Saída de arquivos de malha 3D (por exemplo, formato OBJ) para edição posterior.
- Os modelos pré-treinados (por exemplo, LHM-0.5B e LHM-1B) estão incluídos e não precisam ser treinados.
- Interface Gradio integrada com suporte de visualização local.
- Fornece um pipeline de processamento de vídeo que pode extrair ações do vídeo para aplicar aos modelos.
Usando a Ajuda
O uso do LHM é dividido em duas partes: instalação e operação. Abaixo estão as etapas detalhadas para ajudá-lo a começar rapidamente.
Processo de instalação
- Preparação do ambiente
O sistema requer Python 3.10 e CUDA (compatível com a versão 11.8 ou 12.1). Recomenda-se uma placa de vídeo NVIDIA, como uma A100 ou 4090, com pelo menos 16 GB de memória de vídeo.- Verifique a versão do Python:
python --version
- Verifique a versão do CUDA:
nvcc --version
- Verifique a versão do Python:
- armazém de clones
Digite o seguinte comando no terminal para fazer o download do código LHM:git clone https://github.com/aigc3d/LHM.git cd LHM
- Instalação de dependências
Execute o script correspondente de acordo com sua versão CUDA:- CUDA 11.8:
sh ./install_cu118.sh
- CUDA 12.1:
sh ./install_cu121.sh
Se o script falhar, instale a dependência manualmente:
pip install -r requirements.txt
- CUDA 11.8:
- Modelos para download
O download do modelo será feito automaticamente. Se você quiser fazer o download manualmente, use o seguinte comando:- Modelo LHM-0.5B:
wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/for_lingteng/LHM/LHM-0.5B.tar tar -xvf LHM-0.5B.tar
- Modelo LHM-1B:
wget https://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/aigc3d/data/for_lingteng/LHM/LHM-1B.tar tar -xvf LHM-1B.tar
Faça o download e extraia-o para o diretório raiz do projeto.
- Modelo LHM-0.5B:
- Verificar a instalação
Execute os comandos de teste para garantir que o ambiente esteja OK:python app.py
Se for bem-sucedido, a interface do Gradio será iniciada.
fluxo de trabalho
Gerar modelos 3D
- Preparar a imagem
Prepare uma imagem nítida contendo todo o corpo humano e salve-a localmente, por exemplo<path_to_image>/person.jpg
. - Execução de scripts de inferência
Digite-o no terminal:bash ./inference.sh ./configs/inference/human-lrm-1B.yaml LHM-1B <path_to_image>/ ./output/
<path_to_image>
é o caminho para sua imagem../output/
é a pasta de saída onde os resultados gerados são salvos.
- Exibir resultados
Depois de gerar o<output>
A pasta conterá o arquivo do modelo 3D e o vídeo renderizado. Você pode abrir os arquivos de malha com um software 3D (por exemplo, Blender) ou reproduzir os vídeos diretamente.
Adicionar ação
- Sequência de movimentos preparatórios
O projeto fornece arquivos de ação de amostra, localizados no diretório<LHM根目录>/train_data/motion_video/mimo1/smplx_params
. Você também pode usar seu próprio arquivo de parâmetros SMPL-X. - Execução de scripts de ação
Digite o seguinte comando:bash ./inference.sh ./configs/inference/human-lrm-1B.yaml LHM-1B <path_to_image>/ <path_to_motion>/smplx_params
<path_to_motion>
é o caminho do arquivo de ação.
- Visualizar vídeo de ação
A pasta de saída gera vídeos de ação, que podem ser reproduzidos diretamente.
Usando a interface do Gradio
- Interface de lançamento
É executado no terminal:python app.py
O navegador será aberto
http://0.0.0.0:7860
. - Carregar uma imagem
Carregue uma foto de seu corpo na interface e clique em "Submit" (Enviar). - Obtenção de resultados
Após alguns segundos, a interface exibirá a imagem renderizada e o vídeo da ação, que podem ser baixados e visualizados.
Exportação de malhas 3D
- Executar o script de exportação
Entrada:bash ./inference_mesh.sh ./configs/inference/human-lrm-1B.yaml LHM-1B
- Localize o arquivo.
A pasta de saída terá arquivos de malha no formato OBJ, que podem ser editados com software 3D.
advertência
- As imagens precisam ser claras e os fundos simples funcionam melhor.
- O efeito da ação depende da qualidade da ação de entrada.
- Se você não tiver memória de vídeo suficiente, experimente o modelo LHM-0.5B.
cenário do aplicativo
- desenvolvimento de jogos
Os desenvolvedores podem usar o LHM para gerar rapidamente modelos de personagens 3D a partir de fotos, ajustar poses e importá-los para o mecanismo de jogo, economizando tempo de modelagem. - produção de filmes e televisão
As equipes de cinema e TV podem usar o LHM para criar substitutos digitais e gerar vídeos de ação para uso em cenas de efeitos especiais, reduzindo os custos de modelagem manual. - âncora virtual (TV)
Os anfitriões podem fazer upload de suas próprias fotos para gerar uma imagem 3D e, em seguida, adicionar ações para criar uma imagem virtual personalizada. - Pesquisa educacional
Os pesquisadores puderam testar algoritmos de reconstrução 3D com o LHM ou demonstrar o processo de conversão de imagens em modelos na sala de aula.
QA
- Quais formatos de imagem são compatíveis com o LHM?
Formatos comuns, como JPG e PNG, são aceitos; recomenda-se o JPG, e o tamanho do arquivo não deve exceder 10 MB. - Quanto tempo leva para gerar um modelo?
Cerca de 0,2 segundos em cartões A100, 1-2 segundos em cartões 4090, variando ligeiramente dependendo do hardware. - Posso treinar o modelo sozinho?
É possível, mas nenhum script de treinamento é fornecido oficialmente. Requer a preparação do conjunto de dados e o ajuste do código, adequado para usuários experientes. - O modelo 3D gerado pode ser editado?
Pode. Depois de exportar o arquivo OBJ, edite a geometria e as texturas com o Blender ou o Maya.