src.utils
Video Motion Transfer Utilities
This package contains core utility functions for video motion transfer tasks, including:
- Video Data Loading & Processing
- Spatial Transformation Operations
- 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 paddingcreate_dataset
: Prepares (source, driving) frame pairs for training
Geometric Operations
grid_transform
: Differentiable image warping using sampling gridssparse_motion
: Computes per-keypoint motion fieldskp2gaussian
: Converts keypoints to spatial heatmaps
Training Infrastructure
train_motion_model
: End-to-end GAN training loopsetup_keypoint_pipeline
: Configures full model architecturegenerate_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 *