src.utils

Video Motion Transfer Utilities

This package contains core utility functions for video motion transfer tasks, including:

  1. Video Data Loading & Processing
  2. Spatial Transformation Operations
  3. Training Pipelines & Model Setup

Modules: dataset_utils.py: Handles video loading, frame extraction, and dataset preparation model_utils.py: Provides geometric transformations and keypoint operations training_utils.py: Contains training loops and model configuration helpers

Key Functionality Groups:

Data Handling

  • VideoDataLoader: Batch video frame extraction with automatic padding
  • create_dataset: Prepares (source, driving) frame pairs for training

Geometric Operations

  • grid_transform: Differentiable image warping using sampling grids
  • sparse_motion: Computes per-keypoint motion fields
  • kp2gaussian: Converts keypoints to spatial heatmaps

Training Infrastructure

  • train_motion_model: End-to-end GAN training loop
  • setup_keypoint_pipeline: Configures full model architecture
  • generate_identity_jacobians: Initializes keypoint transformations

Typical Usage Flow: 1. Load videos → VideoDataLoader 2. Prepare batches → create_dataset 3. Configure models → setup_keypoint_pipeline 4. Train → train_motion_model

Coordinate Systems: All spatial operations use normalized coordinates [-1, 1] where: - x: -1 = left, 1 = right - y: 1 = top, -1 = bottom (image convention)

 1"""
 2Video Motion Transfer Utilities
 3
 4This package contains core utility functions for video motion transfer tasks, including:
 5
 61. Video Data Loading & Processing
 72. Spatial Transformation Operations
 83. Training Pipelines & Model Setup
 9
10Modules:
11    dataset_utils.py: Handles video loading, frame extraction, and dataset preparation
12    model_utils.py: Provides geometric transformations and keypoint operations
13    training_utils.py: Contains training loops and model configuration helpers
14
15Key Functionality Groups:
16
17## Data Handling
18- `VideoDataLoader`: Batch video frame extraction with automatic padding
19- `create_dataset`: Prepares (source, driving) frame pairs for training
20
21## Geometric Operations
22- `grid_transform`: Differentiable image warping using sampling grids
23- `sparse_motion`: Computes per-keypoint motion fields
24- `kp2gaussian`: Converts keypoints to spatial heatmaps
25
26## Training Infrastructure
27- `train_motion_model`: End-to-end GAN training loop
28- `setup_keypoint_pipeline`: Configures full model architecture
29- `generate_identity_jacobians`: Initializes keypoint transformations
30
31Typical Usage Flow:
32    1. Load videos → VideoDataLoader
33    2. Prepare batches → create_dataset
34    3. Configure models → setup_keypoint_pipeline
35    4. Train → train_motion_model
36
37Coordinate Systems:
38    All spatial operations use normalized coordinates [-1, 1] where:
39    - x: -1 = left, 1 = right
40    - y: 1 = top, -1 = bottom (image convention)
41"""
42
43
44from src.utils.dataset_utils import *
45from src.utils.model_utils import *
46from src.utils.training_utils import *