Captura de pose de cachorro em vídeo e transferência de esqueleto para o Blender via DeepLabCut e OmniTrax
Execute a estimativa de pose de cachorro por rede neural e sobreponha o esqueleto no vídeo no Blender - com um modelo pronto do Model Zoo, sem animação manual
- 1.Instale o DeepLabCut. Abra o terminal e execute pip install --pre 'deeplabcut[gui]'. Requer Python 3.10 ou superior.
Para trabalhar com GPU, primeiro instale o PyTorch: pip install torch torchvision. Se o OmniTrax exigir um modelo TensorFlow, instale a versão TF: pip install 'deeplabcut[gui,tf]'. Os desenvolvedores do DeepLabCut planejam descontinuar o motor TensorFlow na versão 3.2.
DeepLabCut ↗ - 2.Crie um projeto DeepLabCut para o seu cachorro. No console Python, execute o código, substituindo os caminhos pelos seus.
Após a execução, na pasta indicada aparecerá o diretório do projeto com config.yaml e subpastas para vídeo e anotação.
DeepLabCut ↗Promptimport deeplabcut deeplabcut.create_new_project( 'DogPose', 'YourName', ['/full/path/to/dog_video.mp4'], working_directory='/full/path/to/working_dir', copy_videos=True, multianimal=False )O que este prompt fazEste código cria um novo projeto DeepLabCut. Substitua DogPose pelo nome do projeto, YourName - pelo seu nome, o caminho entre colchetes - pelo caminho completo do vídeo do cachorro, working_directory - pela pasta para armazenar o projeto. - 3.Inicie a GUI do DeepLabCut e carregue um modelo pré-treinado do Model Zoo. Na janela inicial, selecione «Model Zoo», encontre um modelo para animais quadrúpedes (quadruped). Aplique-o ao projeto - isso pula a anotação e o treinamento manuais.
Se não houver um modelo pré-treinado adequado, será necessário anotar manualmente 20 - 50 quadros (Extract frames → Label frames) e treinar a rede - isso levará algumas horas na GPU.
DeepLabCut GUI ↗ - 4.Exporte o modelo para uso em tempo real. No Python, execute o código de exportação, indicando o caminho para o config.yaml do seu projeto.
O modelo exportado será colocado em uma subpasta do projeto. Lembre-se do caminho para esta pasta - ele será necessário no OmniTrax. O modelo deve ser compatível com o deeplabcut-live.
DeepLabCut ↗Promptimport deeplabcut cfg_path = '/full/path/to/your/project/config.yaml' deeplabcut.export_model(cfg_path, iteration=None, shuffle=1, trainingsetindex=0, snapshotindex=None)
O que este prompt fazEste código exporta o modelo DeepLabCut treinado para o formato de execução via deeplabcut-live. Substitua cfg_path pelo caminho para o arquivo config.yaml do seu projeto - ele está na pasta raiz do projeto. - 5.Instale o complemento OmniTrax no Blender. Baixe o OmniTrax do GitHub, depois no Blender: Edit → Preferences → Add-ons → Install → selecione o arquivo .zip → ative com a caixa de seleção.
Recomenda-se manter aberta a janela System Console (Window → Toggle System Console) para monitorar o progresso da inferência.
OmniTrax ↗ - 6.Carregue o vídeo do cachorro no Blender, abra o painel OmniTrax → Pose-Estimation (DLC). No campo «DLC network path», indique o caminho para a pasta do modelo exportado. Para um único animal, deixe as configurações padrão e inicie a inferência.
Os pontos de pose e o esqueleto serão sobrepostos ao vídeo. Para transferir o movimento para um rig 3D, use Constraints no Blender Motion Tracking.
OmniTrax ↗
- grátisDeepLabCutSoftware de código aberto totalmente gratuito sob a licença GNU LGPL v3.0, sem restrições de uso.
- grátisOmniTraxComplemento gratuito para Blender, código-fonte disponível no GitHub.
- grátisBlenderPrograma gratuito de código aberto, sem restrições.
Por que hoje
Serviços de IA mudam rápido - interfaces e limites gratuitos podem diferir do descrito.