EMG Tokenization Preserves Movement Information at a Fraction of the Bitrate
Organizations: Department of Artificial Intelligence in Biomedical Engineering, Friedrich-Alexander-Universität Erlangen-Nürnberg, 91052 Erlangen, Germany
Abstract
Wireless electromyography (EMG) interfaces must balance electrode coverage against transmission bandwidth. Here, we show that compact EMG tokens substantially reduce payload while retaining information for three-dimensional hand-pose decoding. We evaluate two causal tokenizers fitted without pose labels: an encoder pretrained to reconstruct EMG spectra and one based on SPAR, an engineered spectral-spatial representation of neighbouring electrodes. In personalized, within-session experiments with 320-channel EMG from nine participants, we compare tokenized and continuous features using matched decoder architectures and training procedures. Averaged across decoders, tokenization changed mean error by +0.01 mm for SPAR (95% confidence interval: -0.12 to 0.14) and +0.45 mm for the learned representation (0.10 to 0.82). Both increases met a 1 mm non-inferiority criterion. Stored token arrays reduced payloads 41-fold relative to raw EMG and 36-fold relative to continuous SPAR features. On sampled windows of the public emg2pose benchmark's test partition, absolute differences in mean error between learned tokens and continuous features were below 0.05 mm across 176 participants and in the subset of 20 participants unseen during training. Electrode coverage, calibration, and unseen recordings affected SPAR decoding more than quantization did. In a computational benchmark, optimized SPAR generated tokens for 63 channels within 20 ms on a Cortex-M55 microcontroller. These findings support tokenization as a compact interface between wearable sensing and movement decoding, allowing decoders to be updated while the wearable encoder and transmitted representation remain fixed.
Figures & tables
Appendix figures & tables7 assets
Supplementary material from the paper’s appendix.
Appendix
| Decoder | Architecture | Training and checkpoint | Parameters |
|---|---|---|---|
| Matched TCN | Learned encoder features or codebook vectors; width 404; geometry-aware pooling (four slots, four heads); 7 causal blocks, kernel 2, dilations 1–64; temporal dropout 0.1; up to 100 updates (2 s) of context | Smooth- ; 15,000 steps of two windows sampled with replacement, scoring the final second of each; 500-step warmup to LR , cosine decay to ; seeds 260911–260913; earliest checkpoint with the lowest validation error; 16-bit mixed precision | 7.55 M |
| Matched Transformer | As the matched TCN but width 468; 2 pre-normalization layers, 4 heads, feed-forward 936, causal mask | As the matched TCN | 7.45 M |
| Matched waveform CNN | Adapted CNN architecture with dropout 0.1 | As the matched TCN, on 156.25 ms waveform windows ending at the scored updates | 7.49 M |
| Spatial CNN + TCN (proposed) | convolution to 64; two spatial convolutions over five groups of 64 electrodes in acquisition order (32 filters, GELU, instance normalization; with dilation and circular padding, then ); 7 causal temporal blocks (kernel 2, dilations 1–64, MLP width 128, dropout 0.1); head ; structural zeros reapplied for SPAR | Smooth- ; batches of two windows; LR ; up to 40 epochs, stopping after 6 without improvement; lowest validation error; FP32 | 704,700 (689,468 with SPAR) |
| Adapted waveform CNN [ 6 , 2 ] | 156.25 ms raw EMG and a 20 Hz low-passed copy, standardized per grid and window; dropout 0.20 | Coordinate in mm; AMSGrad, weight decay 0.32, no gradient clipping; 150 epochs of 10,000 endpoints, batch 64; input noise ; OneCycle from to until 75 %, then SWA with LR annealed to in five epochs; lowest validation error among epoch checkpoints and averaged weights; 16-bit mixed precision | 7.49 M |
| Retrained TBME CNN [ 2 ] | Published architecture and preprocessing: 93.75 ms windows, notch filter, raw and low-pass inputs, per-grid and per-window min–max normalization | Adapted recipe: on training-only min–max-scaled targets; AMSGrad; 50 epochs; batches of 64 accumulated to 512; OneCycle peaking at ; original, 5 dB-noise and magnitude-warped copies; earliest checkpoint with the lowest validation error; 16-bit mixed precision | 27.4 M |
| Representation | Configuration | Fitting | Bits |
|---|---|---|---|
| Learned tokens | VQ-pretrained encoder; 1,024-entry codebook of 256-dimensional vectors | Section S-II-B | 10 |
| Continuous features | Same encoder, quantization skipped | – | 8,192 |
| Quantized PCA | Reference encoder, four components; 4/4/4/4, 8/8/4/4, or 16/16/16/16 levels | Axes from sampled training vectors; uniform levels between the 0.1st and 99.9th training percentiles | 8, 10, 16 |
| FSQ [ 7 ] | Reference encoder; projection with GELU, bounded by tanh; 8/5/5/5 levels (1,000 combinations) | Straight-through rounding with a temporary reconstruction network, discarded afterwards; MSE, AdamW, LR , weight decay 0.01, 5,000 steps of 1,024 vectors; validation reconstruction error selects the checkpoint | 10 |
| Engineered -means | 67 features of the mean-removed preceding 480 ms: of the RMS, mean absolute value, mean absolute successive difference, and 64 Hann-windowed band powers | Training-only standardization; 256 or 1,024 centroids, 40 Lloyd iterations; no pretrained encoder | 8, 10 |
| Engineered continuous | The same 67 features | Training-only standardization | 2,144 |