Introdução geral
O DisPose é um projeto inovador de inteligência artificial de código aberto voltado para a geração controlada de animação de imagens de personagens. Desenvolvido por uma equipe de pesquisadores e com código aberto no GitHub, o projeto emprega técnicas avançadas de aprendizagem profunda para obter um controle preciso da animação de personagens por meio da decomposição das informações de pose do esqueleto. A principal inovação do DisPose é decompor as informações esparsas de pose do esqueleto em dois componentes principais, a saber, orientação de campo de movimento e correspondência de ponto-chave, e essa abordagem exclusiva resulta em uma animação mais natural e suave com maior controle. Essa abordagem exclusiva torna a animação gerada mais natural e suave, além de mais controlável. O projeto não apenas fornece uma implementação completa do código, mas também inclui modelos pré-treinados para permitir que pesquisadores e desenvolvedores implantem e usem essa tecnologia rapidamente.
Itens semelhantes:StableAnimator: gera animação de vídeo de alta qualidade que mantém as características do personagem.
Lista de funções
- Detecção de postura humana e extração de pontos-chave
- Geração e controle de campos esportivos
- Composição de animação de imagens de personagens
- Controle preciso de várias articulações
- Detalhamento do rosto e das mãos
- Capacidade de processamento de vídeo em lote
- Migração postural e redirecionamento de movimentos
- Estimativa e rastreamento de atitude em tempo real
- Ajuste do parâmetro de controle de animação personalizado
- Saída de animação de alta qualidade
Usando a Ajuda
1. configuração ambiental
O DisPose requer a seguinte configuração básica do ambiente:
- Python 3.10 ou superior
- PyTorch 2.0.1 e superior
- TorchVision 0.15.2 e superior
- CUDA 12.4 (para aceleração de GPU)
Etapas de instalação:
# Criar ambiente conda
conda create -n dispose python==3.10
conda activate dispose
O # instala as dependências
pip install -r requirements.txt
2. preparação do modelo
- Faça o download do arquivo de pesos do modelo pré-treinado do Hugging Face:
- Visite https://huggingface.co/lihxxx/DisPose
- Faça o download do arquivo DisPose.pth
- Coloque o arquivo no diretório . /pretrained_weights/
3. fluxos de uso da funcionalidade principal
3.1 Detecção de atitude
O sistema usa um detector DWPose para a detecção da postura humana que identifica os seguintes pontos-chave:
- Pontos de articulação do esqueleto do corpo (18)
- Pontos de características faciais (68)
- Pontos principais da mão (21/mão)
3.2 Pré-processamento de imagens
# Processamento da imagem de referência
ref_image = load_image(image_path)
pose_img, ref_pose = get_image_pose(ref_image)
3.3 Processamento de vídeo
# Processamento de sequências de vídeo
video_pose, body_points, face_points = get_video_pose(
video_path=video_path, ref_image=ref_image, ref_image
ref_image=ref_image,
sample_stride=1
)
3.4 Controle de geração de animação
O sistema fornece vários parâmetros para controlar a geração de animação:
- Regulamentação da intensidade do estádio
- Os pontos-chave correspondem aos pesos
- Grau de migração postural
- Suavidade do tempo
4. descrição das funções avançadas
- Migração de postura:
- Suporta a migração de pose do vídeo de origem para o personagem de destino
- Manter a identidade do personagem inalterada
- Adapta-se automaticamente a diferentes diferenças de tamanho corporal
- Editor de ações:
- Apoio à modificação de ações locais
- Fornecer a função de edição de quadro-chave
- Velocidade e amplitude de movimento ajustáveis
- Capacidade de processamento em lote:
- Suporte ao processamento de vídeo em lote
- Oferece opções de processamento paralelo
- Otimização automática do agendamento de recursos
5 Cuidados
- Certifique-se de que a qualidade da imagem de entrada seja clara e que a pose da pessoa esteja totalmente visível
- Recomenda-se que a memória de vídeo da GPU seja de pelo menos 8 GB ou mais
- Ajuste o parâmetro sample_stride ao processar vídeo de alta resolução.
- Verifique e atualize regularmente a versão dos pacotes de dependência
- Recomenda-se a realização de testes em pequena escala antes de processar grandes quantidades de dados
6. resolução de problemas comuns
- Problemas de memória:
- Liberar recursos não utilizados com release_memory()
- Redimensione os lotes adequadamente
- Testes com baixa resolução
- Otimização do desempenho:
- Ativar a aceleração da GPU
- Use o tamanho adequado da etapa de amostragem
- Resolução de imagem de entrada otimizada
- Melhoria da qualidade:
- Uso de imagens de referência de alta qualidade
- Ajuste dos parâmetros do modelo
- Realizar a otimização do pós-processamento