SkeletonEQA weights (non-commercial): checkpoints trained on REHAB24-6, and all CTR-GCN checkpoints

Weights only, no dataset samples. These weights contain no dataset samples; obtain the data from the original authors. They are the model checkpoints of the benchmark study Skeleton-Based Exercise Quality Assessment Under Domain Shift (MCHM '26, DOI 10.1145/3840471.3842592), a binary squat-quality classifier (0 = incorrect, 1 = correct) on 18-joint OpenPose skeleton sequences of shape (N, 3, 100, 18, 1). This repository holds 368 files, 3.18 GB.

What the files are and how they are named

  • Every file is a PyTorch state dict (a flat OrderedDict of tensors; no optimizer state, no wrapper keys). Layout checked by reading the zip listing and pickle opcodes of the public-condition files without loading them.
  • Path: <model>/<folder>/<file>.pth, with <model> one of the lower-case model names and <folder> the experimental condition (table below).
  • File names inside the folders keep the names used during training: <model>_ood_b<n>_<train>_to_<test>.pth, <model>_ood_c<n>_..._to_<test>.pth, <model>_loso_<dataset>_round<k>.pth, <model>_kfold_custom_fold<k>.pth, <model>_mixed_all_datasets.pth; ST-GCN files have no <model>_ prefix. A suffix _rerun marks the second training run of a condition (see "Preprocessing").
  • MANIFEST.csv lists every file with size, SHA-256, model, condition, training pool, fold and repository.
  • A folder name ending in _loso_run2 holds a second set of LOSO fold files written on 2026-06-21 and 2026-06-22; D1_ablation_* holds a normalisation ablation on the pooled data; B3_supcon holds a SupCon variant of B3. These three groups have no table in the paper.

Code, training and seeds

  • Code: https://github.com/MonicaVahd/FAIRCoachOOD, tag v0.1.0, commit 859324b343a2bf4fbd25376004692d9da078f9c6.
  • Training protocol (paper section 3.3): Adam, learning rate 1e-3, weight decay 1e-4, ReduceLROnPlateau (patience 10, factor 0.5), batch size 16, at most 200 epochs, early stopping on validation loss (patience 20), inverse-frequency weighted cross-entropy. The stored SkateFormer D1 script uses an early-stopping patience of 50 (docs/KNOWN_DIFFERENCES.md, D5).
  • Seed 42, single run per file. Re-training is not expected to reproduce a file exactly.

Conditions in this repository

Models in this repository: ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer. Training pool and test target follow Table 3 of the paper (B: 80 % of one dataset; C: 90 % pool of two or three datasets; A: leave-one-subject-out or 5-fold). Folders whose pool contains Custom (A3_kfold, B5, B6, B12, C2, C3, C6, C7, C9, C10, D1_ablation_hip_centering_only, D1_ablation_hip_centering_torso_scaling, D1_ablation_no_normalization, D1_mixed): the weights were trained partly on publicly available instructional videos that are not redistributed.

Folder Protocol Training pool Test target Models Files File dates Paper table (by name and date only)
A1_loso LOSO EC3D held-out EC3D subject CTR-GCN 4 2026-07-14 .. 2026-07-14 Table 5
A1_loso_run2 LOSO, second file set EC3D held-out EC3D subject CTR-GCN 4 2026-06-21 .. 2026-06-21 none (second LOSO file set)
A2_loso LOSO REHAB24-6 held-out REHAB24-6 subject ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 81 2026-07-14 .. 2026-07-15 Table 5
A2_loso_run2 LOSO, second file set REHAB24-6 held-out REHAB24-6 subject ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 81 2026-06-21 .. 2026-06-21 none (second LOSO file set)
A3_kfold 5-fold CV Custom held-out Custom fold CTR-GCN 5 2026-07-14 .. 2026-07-14 Table 5
A4_loso LOSO UI-PRMD held-out UI-PRMD subject CTR-GCN 10 2026-07-14 .. 2026-07-14 Table 5
A4_loso_run2 LOSO, second file set UI-PRMD held-out UI-PRMD subject CTR-GCN 10 2026-06-21 .. 2026-06-21 none (second LOSO file set)
B1 single-source OOD EC3D REHAB24-6 CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
B2 single-source OOD EC3D Custom CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
B3 single-source OOD REHAB24-6 EC3D ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-09 .. 2026-06-18 Table 6
B3_supcon single-source OOD, SupCon variant REHAB24-6 EC3D ST-GCN 1 2026-07-03 .. 2026-07-03 none (SupCon variant)
B4 single-source OOD REHAB24-6 Custom ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-09 .. 2026-06-18 Table 6
B5 single-source OOD Custom EC3D CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
B6 single-source OOD Custom REHAB24-6 CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
B7 single-source OOD UI-PRMD EC3D CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
B8 single-source OOD UI-PRMD REHAB24-6 CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
B9 single-source OOD UI-PRMD Custom CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
B10 single-source OOD EC3D UI-PRMD CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
B11 single-source OOD REHAB24-6 UI-PRMD ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-09 .. 2026-06-18 Table 6
B12 single-source OOD Custom UI-PRMD CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
C1 multi-source OOD EC3D + REHAB24-6 Custom ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-15 .. 2026-06-19 Table 6
C2 multi-source OOD EC3D + Custom REHAB24-6 CTR-GCN 1 2026-06-16 .. 2026-06-16 Table 6
C3 multi-source OOD REHAB24-6 + Custom EC3D ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-15 .. 2026-06-19 Table 6
C4 multi-source OOD EC3D + UI-PRMD Custom CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
C5 multi-source OOD REHAB24-6 + UI-PRMD Custom ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 18 2026-06-15 .. 2026-06-22 Table 6
C6 multi-source OOD EC3D + REHAB24-6 + Custom UI-PRMD ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-15 .. 2026-06-19 Table 6
C7 multi-source OOD Custom + UI-PRMD EC3D CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
C8 multi-source OOD EC3D + REHAB24-6 + UI-PRMD Custom ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 18 2026-06-15 .. 2026-06-22 Table 6
C9 multi-source OOD EC3D + Custom + UI-PRMD REHAB24-6 CTR-GCN 2 2026-06-16 .. 2026-06-22 Table 6
C10 multi-source OOD REHAB24-6 + Custom + UI-PRMD EC3D ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 18 2026-06-15 .. 2026-06-22 Table 6
D1_ablation_hip_centering_only pooled 80/10/10, normalisation ablation EC3D + REHAB24-6 + Custom + UI-PRMD held-out 10 % of the pooled data ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-20 .. 2026-06-20 none (normalisation ablation)
D1_ablation_hip_centering_torso_scaling pooled 80/10/10, normalisation ablation EC3D + REHAB24-6 + Custom + UI-PRMD held-out 10 % of the pooled data ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-20 .. 2026-06-20 none (normalisation ablation)
D1_ablation_no_normalization pooled 80/10/10, normalisation ablation EC3D + REHAB24-6 + Custom + UI-PRMD held-out 10 % of the pooled data ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 9 2026-06-20 .. 2026-06-20 none (normalisation ablation)
D1_mixed pooled 80/10/10 EC3D + REHAB24-6 + Custom + UI-PRMD held-out 10 % of the pooled data ST-GCN, CTR-GCN, InfoGCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer, HyperFormer, FreqMixFormer 18 2026-06-22 .. 2026-07-15 Table 5 (D1)

Preprocessing

All sequences were converted to the 18-joint OpenPose layout, hip-centred (right hip), torso-scaled, padded/trimmed (UI-PRMD: interpolated) to 100 frames, transposed to (3, 100, 18), min-max normalised in x and y, and given a person axis, as in section 3.2 of the paper; the converters are in the code repository.

UI-PRMD normalize_xy note (code repository, docs/KNOWN_DIFFERENCES.md, D3 and D4).

  • The UI-PRMD re-run script states that it followed a preprocessing fix in which normalize_xy is applied to UI-PRMD.
  • Files whose training pool contains UI-PRMD exist in two versions for conditions B7, B8, B9, C4, C5, C7, C8, C9, C10 and D1: the original files (written 2026-06-15 .. 06-19; D1: 2026-07-15) and files with the suffix _rerun (written 2026-06-22). Both are included. B10, B11, B12 and C6 have a single file (their original checkpoints were re-evaluated on refreshed test data in the re-run).
  • Which UI-PRMD preprocessing each original file was trained with is not recorded. The paper's section 6.5 reports 25 status changes between the two sets (11 recoveries, 8 regressions, 6 FC<->PC); the code repository reproduces that count from the stored confusion counts (D4).

Limitations and provenance

  • The results are exploratory: one run per condition, seed 42, and the paper reports no confidence intervals.
  • 77.8 % of the 198 OOD experiments collapse (154 of 198: 141 full collapse, 13 partial collapse): the classifier predicts one class for (nearly) all test samples. A non-zero macro-F1 of a collapsed cell reflects majority-class prediction, not transfer. Many of these checkpoints are therefore weak classifiers outside their training distribution.
  • Files were matched to the paper only by name and date. No hash, log or manifest ties a file to a value in the paper's tables; if a file with the same name was overwritten, the statement would not detect it.
  • The paper's cell values (macro-F1 and FC/PC/OK) are in results/ood_results.csv of the code repository (Table 6) and results/iid_results, results/mixed_results (Table 5).

Licence

This repository is licensed CC BY-NC 4.0 (license: cc-by-nc-4.0): the most restrictive licence that applies to its contents.

  • REHAB24-6 (training data of every REHAB24-6 pool): Zenodo record licence field "Creative Commons Attribution Non Commercial 4.0 International"; terms: "This dataset is for academic or non-profit organization noncomercial research use only." and "By using you agree to appropriately reference the paper above in any publication making of its use."
  • CTR-GCN (all CTR-GCN files, whatever their pool): upstream code licence CC BY-NC 4.0.

Other components, for the pools and models in this repository:

Component Licence / status
EC3D EC3D licence not stated
UI-PRMD Open Data Commons Public Domain Dedication and License v1.0 (dataset paper footnotes)
Custom (every folder whose training pool contains it, see "Conditions in this repository"; includes the CTR-GCN folders with Custom in the pool) trained partly on publicly available instructional videos that are not redistributed
ST-GCN code BSD-2-Clause
HD-GCN, ProtoGCN, SkateFormer code MIT
BlockGCN, HyperFormer code (modified in the code repository) Apache-2.0
CTR-GCN code CC BY-NC 4.0
InfoGCN code no licence file in the upstream repository
FreqMixFormer code no licence file in the upstream repository

InfoGCN and FreqMixFormer: the files are included, but the upstream code of both models has no licence file and is not distributed in the code repository. It must be fetched with scripts/fetch_upstream.py; the released builders do not load these two models. The CTR-GCN upstream code must be fetched the same way.

Loading

Tested with the released builders of the code repository at tag v0.1.0 (PyTorch 2.4.1, CPU): one checkpoint per model was loaded with torch.load(..., weights_only=True) into the builder's untrained model with strict=True, followed by a forward pass on a random input (4, 3, 100, 18, 1), which returned logits of shape (4, 2) for ST-GCN, BlockGCN, HD-GCN, ProtoGCN, SkateFormer and HyperFormer (the test used the B1 files of the open repository). Not tested: CTR-GCN, InfoGCN, FreqMixFormer (their builders are not part of the release).

import sys, torch
sys.path.insert(0, "FAIRCoachOOD")                      # checkout of the code repository at tag v0.1.0
from models.builders import build_hdgcn_model           # also: build_stgcn_model, build_blockgcn_model,
                                                        #       build_protogcn_model, build_skateformer_model, build_hyperformer_model
model = build_hdgcn_model(device="cpu")                 # untrained model
state = torch.load("hdgcn/B3/hdgcn_ood_b3_rehab24_to_ec3d.pth", map_location="cpu", weights_only=True)
model.load_state_dict(state, strict=True)
model.eval()
logits = model(torch.rand(4, 3, 100, 18, 1))            # (4, 2); class 1 = correct squat

Forward signatures: ST-GCN, HD-GCN and ProtoGCN model(x); SkateFormer model(x, index_t) with index_t = zeros(N, 100, dtype=long); BlockGCN model(x, y_onehot, x) (returns logits and an auxiliary loss); HyperFormer model(x, y) (returns logits and labels). build_*_model(checkpoint_path=...) in the code repository also loads a file, but it calls torch.load without weights_only=True; the recipe above is the safer variant.

References

Paper

@inproceedings{10.1145/3840471.3842592,
  author    = {Vahdati, Monica and Gholizadeh HamlAbadi, Kamran and Etemad, Ali and El Saddik, Abdulmotaleb},
  title     = {Skeleton-Based Exercise Quality Assessment Under Domain Shift: A Benchmark Study of Cross-Domain Failure Modes},
  year      = {2026},
  isbn      = {9798400729256},
  publisher = {Association for Computing Machinery},
  address   = {New York, NY, USA},
  url       = {https://doi.org/10.1145/3840471.3842592},
  doi       = {10.1145/3840471.3842592},
  booktitle = {Proceedings of the 3rd International Workshop on Multimedia Computing for Health and Medicine},
  pages     = {43--52},
  numpages  = {10},
  location  = {Rio de Janeiro, Brazil},
  series    = {MCHM '26}
}

Project page: https://skeletoneqa.github.io/. Code: https://github.com/MonicaVahd/FAIRCoachOOD (tag v0.1.0).

Datasets

Model architectures (upstream papers and repositories)

  • ST-GCN: Sijie Yan, Yuanjun Xiong, Dahua Lin. Spatial temporal graph convolutional networks for skeleton-based action recognition. AAAI 2018. https://github.com/yysijie/st-gcn
  • CTR-GCN: Yuxin Chen, Ziqi Zhang, Chunfeng Yuan, Bing Li, Ying Deng, Weiming Hu. Channel-wise topology refinement graph convolution for skeleton-based action recognition. ICCV 2021, pp. 13359-13368. https://github.com/Uason-Chen/CTR-GCN
  • InfoGCN: Hyung-gun Chi, Myoung Hoon Ha, Seunggeun Chi, Sang Wan Lee, Qixing Huang, Karthik Ramani. InfoGCN: Representation learning for human skeleton-based action recognition. CVPR 2022, pp. 20186-20196. https://github.com/stnoah1/infogcn
  • BlockGCN: Yuxuan Zhou, Xudong Yan, Zhi-Qi Cheng, Yan Yan, Qi Dai, Xian-Sheng Hua. BlockGCN: Redefine topology awareness for skeleton-based action recognition. CVPR 2024, pp. 2049-2058. https://github.com/ZhouYuxuanYX/BlockGCN
  • HD-GCN: Jungho Lee, Minhyeok Lee, Dogyoon Lee, Sangyoun Lee. Hierarchically decomposed graph convolutional networks for skeleton-based action recognition. ICCV 2023, pp. 10444-10453. https://github.com/Jho-Yonsei/HD-GCN
  • ProtoGCN: Hongda Liu, Yunfan Liu, Min Ren, Hao Wang, Yunlong Wang, Zhenan Sun. Revealing key details to see differences: A novel prototypical perspective for skeleton-based action recognition. CVPR 2025, pp. 29248-29257. https://github.com/firework8/ProtoGCN
  • SkateFormer: Jeonghyeok Do, Munchurl Kim. SkateFormer: Skeletal-temporal transformer for human action recognition. ECCV 2024, pp. 401-420. https://github.com/KAIST-VICLab/SkateFormer
  • HyperFormer: Yuxuan Zhou, Zhi-Qi Cheng, Chao Li, Yanwen Fang, Yifeng Geng, Xuansong Xie, Margret Keuper. Hypergraph transformer for skeleton-based action recognition. arXiv:2211.09590, 2022. https://github.com/ZhouYuxuanYX/Hyperformer
  • FreqMixFormer: Wenhan Wu, Ce Zheng, Zihao Yang, Chen Chen, Srijan Das, Aidong Lu. Frequency guidance matters: Skeletal action recognition by frequency-aware mixed transformer. ACM Multimedia 2024, pp. 4660-4669. https://github.com/wenhanwu95/FreqMixFormer
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including MonicaVahd/skeletoneqa-weights-nc

Papers for MonicaVahd/skeletoneqa-weights-nc