Captura de pose de perro en video y transferencia del esqueleto a Blender mediante DeepLabCut y OmniTrax
Ejecute la evaluación de pose de perro con redes neuronales y superponga el esqueleto en el video en Blender - con un modelo listo de Model Zoo, sin animación manual
- 1.Instale DeepLabCut. Abra una terminal y ejecute pip install --pre "deeplabcut[gui]". Se requiere Python 3.10 o superior.
Para trabajar con GPU primero instale PyTorch: pip install torch torchvision. Si OmniTrax requiere un modelo de TensorFlow, instale la versión TF: pip install "deeplabcut[gui,tf]". Los desarrolladores de DeepLabCut planean abandonar el motor de TensorFlow en la versión 3.2.
DeepLabCut ↗ - 2.Cree un proyecto DeepLabCut para su perro. En la consola de Python ejecute el código, reemplazando las rutas por las suyas.
Después de ejecutar, en la carpeta indicada aparecerá el directorio del proyecto con config.yaml y subcarpetas para video y anotaciones.
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 )Qué hace este promptEste código crea un nuevo proyecto DeepLabCut. Reemplace DogPose por el nombre del proyecto, YourName por su nombre, la ruta entre corchetes por la ruta completa al video del perro y working_directory por la carpeta donde se guardará el proyecto. - 3.Abra la GUI de DeepLabCut y cargue un modelo preentrenado de Model Zoo. En la ventana de inicio seleccione «Model Zoo», busque un modelo para animales cuadrúpedos (quadruped). Aplíquelo al proyecto - esto omite la anotación manual y el entrenamiento.
Si no hay un modelo preentrenado adecuado, tendrá que anotar manualmente 20 - 50 fotogramas (Extract frames → Label frames) y entrenar la red - esto tomará varias horas en GPU.
DeepLabCut GUI ↗ - 4.Exporte el modelo para usarlo en tiempo real. En Python ejecute el código de exportación, indicando la ruta al config.yaml de su proyecto.
El modelo exportado se guardará en una subcarpeta del proyecto. Recuerde la ruta a esa carpeta - la necesitará en OmniTrax. El modelo debe ser compatible con 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)
Qué hace este promptEste código exporta el modelo DeepLabCut entrenado a un formato para ejecutarse con deeplabcut-live. Reemplace cfg_path por la ruta al archivo config.yaml de su proyecto - se encuentra en la carpeta raíz del proyecto. - 5.Instale el complemento OmniTrax en Blender. Descargue OmniTrax de GitHub, luego en Blender: Edit → Preferences → Add-ons → Install → seleccione el archivo .zip → active la casilla.
Se recomienda mantener abierta la ventana System Console (Window → Toggle System Console) para seguir el progreso de la inferencia.
OmniTrax ↗ - 6.Cargue el video del perro en Blender, abra el panel OmniTrax → Pose-Estimation (DLC). En el campo «DLC network path» indique la ruta a la carpeta del modelo exportado. Para un solo animal deje los ajustes por defecto y ejecute la inferencia.
Los puntos de pose y el esqueleto se superpondrán en el video. Para transferir el movimiento a un rig 3D use Constraints en Blender Motion Tracking.
OmniTrax ↗
- gratisDeepLabCutSoftware de código abierto totalmente gratuito bajo licencia GNU LGPL v3.0, sin restricciones de uso.
- gratisOmniTraxComplemento gratuito para Blender, el código fuente está disponible en GitHub.
- gratisBlenderPrograma gratuito de código abierto, sin restricciones.
Por qué hoy
Los servicios de IA cambian rápido - las interfaces y los límites gratuitos pueden diferir de lo descrito.