Skip to content

Interactive browser demo

From wrist IMU signals to activity records

The bundled synthetic_activity_imu.tsv recording is loaded by default. Run it immediately, or replace it with a compatible 100 Hz wrist-IMU file.

Real public models Six signal channels Timeline + CSV
Actual Hugging Face demo output showing paper-style IMU channel notation, model controls, and timestamped activity records Actual bundled example

Run the bundled example

The fastest way to understand the interface is to run the deterministic synthetic_activity_imu.tsv example. It contains 12,000 samples, covers 120 seconds at 100 Hz, and contains no participant data. The live Space opens with this file already selected.

Select English in the language switch at the top of the Space. The complete interface—including controls, status messages, validation errors, result-table headers, and CSV export—then stays in English.

1

Open the Space

Open the live Demo and wait until the Gradio interface is ready.

Open live Demo ↗
2

Confirm the preloaded sample

The file input already contains synthetic_activity_imu.tsv. Upload another file only if you want to test your own compatible recording.

3

Keep the defaults

Use local_boundary, minimum duration 5 s, confidence 0.30, and Top-K 5.

4

Run the current recording

Click Run current recording, then inspect the three result tabs.

Inputsynthetic_activity_imu.tsv
Fusionlocal_boundary
Minimum duration5 s
Confidence0.30
Top-K5

Use Reset to synthetic sample at any time to restore the bundled file and all five defaults.

What happens after you click Run

The Space validates the preloaded file, loads the public checkpoints, runs the 3-, 5-, and 8-second models, fuses their posterior trajectories, applies the Temporal Record Layer, and returns plots, records, and a CSV in one request.

Reproducible example output

The figures below were exported from the current public checkpoints with the settings shown above. This run produced 118 timeline points and two activity records.

12,000input samples
120.0 srecording duration
118timeline points
2activity records

Demonstration, not validation

The sample is synthetic and is intended to show the complete input-to-output path. Its detected labels and boundaries are model outputs, not ground-truth accuracy evidence. Changing fusion, duration, confidence, or Top-K can change the records.

1. Raw signals

Open the first result tab to inspect the six channels before classification. The upper panel contains the acceleration channels \(a_x,a_y,a_z\); the lower panel contains the angular-velocity channels \(\omega_x,\omega_y,\omega_z\).

Raw accelerometer and gyroscope signals generated from synthetic_activity_imu.tsv
Raw signals. Real output from the bundled 120-second sample.
What to look for

Quiet intervals appear near the beginning, between the two motion blocks, and at the end. Large periodic oscillations mark the two synthetic high-motion regions.

Why this view matters

Use it to check missing channels, clipped values, unexpected offsets, sampling problems, and whether the uploaded recording contains visible motion.

2. Activity likelihood and timeline

The second tab shows two related outputs. The upper panel is the smoothed likelihood assigned to each class over time. The lower panel is the final decoded state after multi-scale fusion and temporal post-processing.

Class likelihood curves and decoded activity timeline generated from synthetic_activity_imu.tsv
Activity likelihood and timeline. Posterior trajectories above; final decoded activity below.
Upper panel

Background is strongest during quieter intervals. The first motion region raises the Fly likelihood, while Running becomes the strongest foreground likelihood in the second region.

Lower panel

The decoded path suppresses rapid label changes and returns a stable sequence: background, Fly, background, Running, then background.

3. Activity records

The third tab converts the decoded path into the output people can use: one row per activity period, with its class, start, end, duration, and confidence.

Activity-record table generated from synthetic_activity_imu.tsv
Activity records. Two records returned by the default Demo configuration.
Activity Start (s) End (s) Duration (s) Confidence
Fly 29.84 73.15 43.31 0.4038
Running 76.06 98.24 22.18 0.3186

The record boundaries are not copied from the sample generator. They are produced by the model probabilities, Viterbi decoding, gap handling, boundary refinement, duration filtering, and confidence filtering.

What the controls change

Control Example setting Effect
Model fusion local_boundary Changes how the 3-, 5-, and 8-second posterior trajectories are combined, especially near possible transitions.
Minimum duration 5 s Removes shorter decoded records. Raising it favors longer bouts; lowering it retains brief events.
Confidence threshold 0.30 Removes weak records. Raising it may reduce false alarms but can also remove true low-confidence periods.
Top-K 5 Limits the number of returned records after temporal processing; 0 disables this limit.

The short settings above make the 120-second sample easy to inspect. They are Demo settings, not the fixed minute-scale settings used for the study results.

Use your own recording

  1. Prepare a UTF-8 tab-separated .txt or .tsv file.
  2. Replace the preloaded synthetic file in the input control with your recording.
  3. Start with the Demo defaults, run once, and inspect Raw signals before interpreting the model output.
  4. Adjust one control at a time so its effect remains understandable.

Required columns:

ACC_TIME  ACC_X  ACC_Y  ACC_Z  GYRO_X  GYRO_Y  GYRO_Z

The plots use paper notation: file columns ACC_X, ACC_Y, and ACC_Z are shown as \(a_x,a_y,a_z\), while GYRO_X, GYRO_Y, and GYRO_Z are shown as \(\omega_x,\omega_y,\omega_z\). The literal names above remain the required TSV headers.

ACC_TIME must contain strictly increasing millisecond timestamps. The median interval must be 8–12 ms, corresponding to approximately 100 Hz. The public interface accepts 800–60,000 valid samples, or about 8 seconds to 10 minutes at 100 Hz. Extra columns are ignored.

Match the sensing protocol

A file can pass the format check and still be incompatible with the trained models. Sensor placement, axis orientation, units, device characteristics, and preprocessing should match the documented protocol. New devices, users, placements, and activities require new validation.

Privacy

Do not upload sensitive recordings

Do not send confidential or identifiable participant data to a public Space. Predictions are research outputs, not medical, safety, or coaching advice.

Run locally

Installation, verified model downloads, data boundaries, and local commands are maintained on the Reproduce page. The complete Gradio implementation is available in the repository's demo/ directory.