--- license: mit tags: [freezing-of-gait, parkinsons, accelerometer, self-supervised, mae, time-series, time-series-classification] pipeline_tag: other --- # FORGE — FOG Representation via Generative Encoding Self-supervised spectral-temporal encoders for **Freezing of Gait (FOG)** detection from a single lower-back accelerometer. Pretrained by masked autoencoding on ~21M unlabeled home windows; evaluated zero-shot on the external FogAtHome cohort. **Headline:** the MC probe reaches clinical-grade agreement with expert video annotation — **ICC(%TF) = 0.909 [0.87, 0.94]**, zero-shot, one IMU. ## Released weights ### Pretrained FORGE encoders (the backbones) | Context | Window (frames) | File | Params | |---|---|---|---| | LC | 1000 | `encoders/lc.ckpt` | 14,147,072 | | MC | 500 | `encoders/mc.ckpt` | 14,147,072 | | SC | 200 | `encoders/sc.ckpt` | 12,918,272 | ### Downstream classification checkpoints (128-patient DeFOG, 3-fold CV) | File | Context | Phase | Fold | |---|---|---|---| | `classification/lc_probe_fold0.ckpt` | lc | probe | 0 | | `classification/lc_probe_fold1.ckpt` | lc | probe | 1 | | `classification/lc_probe_fold2.ckpt` | lc | probe | 2 | | `classification/mc_probe_fold0.ckpt` | mc | probe | 0 | | `classification/mc_probe_fold1.ckpt` | mc | probe | 1 | | `classification/mc_probe_fold2.ckpt` | mc | probe | 2 | | `classification/sc_probe_fold0.ckpt` | sc | probe | 0 | | `classification/sc_probe_fold1.ckpt` | sc | probe | 1 | | `classification/sc_probe_fold2.ckpt` | sc | probe | 2 | | `classification/lc_finetune_fold0.ckpt` | lc | finetune | 0 | | `classification/lc_finetune_fold1.ckpt` | lc | finetune | 1 | | `classification/lc_finetune_fold2.ckpt` | lc | finetune | 2 | | `classification/mc_finetune_fold0.ckpt` | mc | finetune | 0 | | `classification/mc_finetune_fold1.ckpt` | mc | finetune | 1 | | `classification/mc_finetune_fold2.ckpt` | mc | finetune | 2 | | `classification/sc_finetune_fold0.ckpt` | sc | finetune | 0 | | `classification/sc_finetune_fold1.ckpt` | sc | finetune | 1 | | `classification/sc_finetune_fold2.ckpt` | sc | finetune | 2 | | `classification/lc_supervised_fold0.ckpt` | lc | supervised | 0 | | `classification/lc_supervised_fold1.ckpt` | lc | supervised | 1 | | `classification/lc_supervised_fold2.ckpt` | lc | supervised | 2 | | `classification/mc_supervised_fold0.ckpt` | mc | supervised | 0 | | `classification/mc_supervised_fold1.ckpt` | mc | supervised | 1 | | `classification/mc_supervised_fold2.ckpt` | mc | supervised | 2 | | `classification/sc_supervised_fold0.ckpt` | sc | supervised | 0 | | `classification/sc_supervised_fold1.ckpt` | sc | supervised | 1 | | `classification/sc_supervised_fold2.ckpt` | sc | supervised | 2 | ## Usage Checkpoints are slimmed PyTorch Lightning checkpoints (weights + config; optimizer state stripped). Each keeps the `state_dict` and the `hyper_parameters["config"]` Pydantic config used to rebuild the model — the same fields the evaluation pipeline reads. ```python import torch ckpt = torch.load("encoders/mc.ckpt", map_location="cpu", weights_only=False) state_dict = ckpt["state_dict"] # encoder weights config = ckpt["hyper_parameters"]["config"] # Config object to rebuild the model meta = ckpt.get("forge_meta") # name / context / phase / fold ``` Reproduce every paper number with the companion repo's `reproduce-evaluations` skill (see `manifest.yaml`, shipped in this repo). Code: [github.com/Lior-Nis/forge](https://github.com/Lior-Nis/forge). Data: [Liornis/fog-dataset](https://huggingface.co/datasets/Liornis/fog-dataset). License: **MIT**.