The `Model Training & Evaluation` subsystem is crucial for the development and refinement of deep learning models within the ROMP project. It encompasses the entire lifecycle from initiating training runs to comprehensive performance assessment.
Components
Training Orchestration
Manages the overall training process, including model and optimizer initialization, data loading setup, and the high-level coordination of training and validation epochs. It acts as the primary entry point for initiating training runs.
Referenced Source Code
Epoch Training Loops
Implements the core iterative logic for a single training epoch. This includes performing forward passes, calculating loss, executing backward passes for gradient computation, and updating model parameters. It also manages calls to validation routines.
Referenced Source Code
Loss Computation
Responsible for calculating various loss components (e.g., keypoint, parameter, detection, temporal, camera loss) by comparing model predictions against ground truth data. It aggregates these individual losses into a total loss value used for optimization.
Referenced Source Code
Evaluation Orchestration
Serves as the primary entry point for model evaluation. It coordinates the inference process on validation or test datasets, manages the collection of predictions, and orchestrates the calculation and presentation of overall performance metrics.
Referenced Source Code
Core Evaluation Metrics
Provides a set of fundamental, reusable functions for computing standard evaluation metrics such as Mean Per Joint Position Error (MPJPE), Procrustes-aligned MPJPE (P-MPJPE), and vertex errors. These functions are designed for broad applicability across different evaluation scenarios.
Referenced Source Code
Specialized Evaluation Modules
Adapts the general evaluation framework to the unique characteristics, data formats, and ground truth annotations of specific datasets (e.g., AGORA, Relative Human, CMU Panoptic) and focuses on evaluating multi-person tracking algorithms in video sequences.