# MODEL ZOO IMPLEMENTATION KNOWLEDGE BASE ## OVERVIEW This directory is the algorithm zoo. Each file usually contributes one `BaseModel` subclass selected by `model_cfg.model`. ## WHERE TO LOOK | Task | Location | Notes | |------|----------|-------| | Baseline pattern | `baseline.py` | minimal template for silhouette models | | Scoliosis pipeline | `sconet.py` | label remapping + screening-specific head | | Large-model fusion | `BiggerGait_DINOv2.py`, `BigGait.py` | external pretrained dependencies | | Diffusion/noise handling | `denoisinggait.py`, `diffgait_utils/` | high-complexity flow/feature fusion | | Skeleton variants | `skeletongait++.py`, `gaitgraph1.py`, `gaitgraph2.py` | pose-map/graph assumptions | ## CONVENTIONS - Most models follow: preprocess input -> backbone -> temporal pooling -> horizontal pooling -> neck/head -> contract dict. - Input modality assumptions differ by model (silhouette / RGB / pose / multimodal); config and preprocess script must match. - Many models rely on utilities from `modeling/modules.py`; shared changes there are high blast-radius. ## ANTI-PATTERNS - Don’t mix modality assumptions silently (e.g., pose tensor layout vs silhouette layout). - Don’t rename classes without updating `model_cfg.model` references in configs. - Don’t treat `BigGait_utils`/`diffgait_utils` as generic utilities; they are model-family specific.