vemg2pose β€” emg2pose Regression baseline

Meta's released regression_vemg2pose.ckpt from the emg2pose benchmark, rehosted with braindecode's parameter names:

from braindecode.models import VEMG2Pose

model = VEMG2Pose.from_pretrained("braindecode/VEMG2Pose-emg2pose")

16-channel sEMG at 2 kHz in, 20 joint angles per sample out. The encoder uses valid convolutions and consumes a left context of 1790 samples, so windows must be longer than that; the paper trains on 11,790 (10,000 + 1790).

Configuration

decoder="lstm", parameterization="hybrid". The recurrent decoder emits a position and a velocity per joint, taking the position for the first num_position_steps (500 samples, 250 ms) and integrating the velocity thereafter. Trained without a ground-truth initial pose, so forward(x) starts from zeros.

Provenance

Not retrained β€” the authors' checkpoint with parameter names rewritten. Loaded into braindecode.models.VEMG2Pose and run against the reference emg2pose.pose_modules implementation on the same input, the outputs are bit-identical (max absolute difference 0.0), with all 68 tensors mapped.

Training data

The data that shaped these weights. The ids are the datasets: field of this card, which braindecode reads into model.card_data.datasets when you call from_pretrained (MOABB class names for MOABB datasets, OpenNeuro / NEMAR accessions, Hub ids otherwise). nm/on ids are datasets on NEMAR (on = NEMAR's copy of the OpenNeuro dataset with the same number). Rows marked private: are data the authors did not release; they are not in datasets:.

  • experiment regression_vemg2pose (TDS + LSTM, hybrid position/velocity). Supervised on the emg2pose train split (Table 3: 158 users, 23 stages, 250.9 h); val split monitored for checkpointing/early stopping (monitor val_loss); held-out user / stage / user-stage test sets not trained on.
  • Sources: arXiv:2412.02725 (HTML) Table 3; https://github.com/facebookresearch/emg2pose README 'Downloading Pre-trained Checkpoints'; https://github.com/facebookresearch/emg2pose config/base.yaml.

License

Weights are Meta's, under CC BY-NC-SA 4.0 (non-commercial, share-alike), carried over unchanged. The UmeTrack hand model behind the labels is CC BY-NC 4.0.

  • Salter et al. (2024), emg2pose, NeurIPS Datasets and Benchmarks. arXiv:2412.02725

Cite Braindecode

If you use this braindecode port in scientific work, cite the software on Zenodo, doi:10.5281/zenodo.17699192, and the original model and datasets cited above.

@software{braindecode,
  author = {Aristimunha, Bruno and
            Guetschel, Pierre and
            Wimpff, Martin and
            Gemein, Lukas and
            Rommel, Cedric and
            Banville, Hubert and
            Sliwowski, Maciej and
            Wilson, Daniel and
            Brandt, Simon and
            Gnassounou, ThΓ©o and
            Paillard, Joseph and
            {Junqueira Lopes}, Bruna and
            Sedlar, Sara and
            Moreau, Thomas and
            Chevallier, Sylvain and
            Gramfort, Alexandre and
            Schirrmeister, Robin Tibor},
  title = {Braindecode: toolbox for decoding raw electrophysiological brain data
           with deep learning models},
  url = {https://github.com/braindecode/braindecode},
  doi = {10.5281/zenodo.17699192},
  publisher = {Zenodo},
  license = {BSD-3-Clause},
}
Downloads last month
3,498
Safetensors
Model size
5.98M params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Paper for braindecode/VEMG2Pose-emg2pose