InGesture Dataset

Published: 6 May 2025| Version 3 | DOI: 10.17632/fdxst56tcj.3
Contributors:
Pedro Daniel Gohl,
,
,

Description

Data are organized in a clear, hierarchical folder structure under a single root directory named InGesture. At the top level, each participant has a dedicated folder (e.g., Subject01, Subject02, …), and within those, one or more session subfolders contain the raw recordings and segmented gesture files. Two complementary formats are provided: Segmented gesture files Each CSV file corresponds to a single occurrence of a specific gesture. Filenames encode the gesture label, repetition index, and sample count (for example, fluid_intake_1_900.csv). Columns include: timestamp (sensor capture time) x, y, z (accelerometer readings in m/s²) gx, gy, gz (gyroscope readings in °/s) Because each file contains only one gesture class, no label column is needed—classification can be inferred from the filename or parent folder. Continuous session files Each file captures an uninterrupted ~10-minute recording at 200 Hz, yielding about 120,000 samples per session. Columns include: timestamp accX, accY, accZ (linear acceleration) gyrX, gyrY, gyrZ (angular velocity) label (integer code 0–7 denoting the current gesture) Gesture codes map as follows: 0 – free activity 1 – fluid intake 2 – answering phone 3 – scratching head 4 – passing hand over face 5 – adjusting glasses/touching temples 6 – holding chin 7 – stretching hands behind neck Across 65 sessions (most participants contributed one session, some two or more), there are roughly 2,080 segmented files (8 gestures × 4 repetitions × 65 sessions) and 65 continuous recordings. All data were acquired with a WT901BLECL5 inertial measurement unit secured on the dominant wrist and sampled at 200 Hz. Real-time gesture boundaries were annotated via a synchronized mobile app, ensuring that each sensor sample aligns precisely with its gesture label.

Files

Steps to reproduce

All the scripts are within the dataset_utils.ipynb (python notebook) Set base_dir to the root of your dataset directory (the folder containing your subject subfolders), for example: base_dir = "./InGesture/" Compute summary statistics (number of gestures per subject, raw file counts, total samples, etc.) In the final cells you can call: • summarize_dataset(base_dir) – prints a table with counts per subject • subject = os.path.join(base_dir, "subject_1") (to target Subject01 or change to another folder) • plot_gesture(subject, 'fluid_intake') – plots every “fluid intake” occurrence for that subject • plot_raw_data(subject) – shows the full continuous recording with colored background per label DEPENDENCIES Make sure you have pandas, numpy and matplotlib installed. For example, in your shell run: pip install pandas numpy matplotlib SUMMARY STATISTICS The summarize_dataset function walks through each subject folder, counts how many files exist for each gesture name, how many raw recordings there are, and totals up all samples. It returns a DataFrame you can view or export. PLOTTING FUNCTIONS • plot_gesture(subject_folder, gesture_name): looks for files named gesture_name__*.csv and plots x/y/z and gx/gy/gz vs. sample index at 200 Hz. • plot_raw_data(subject_folder): loads each full-length CSV (those without "__"), splits by the label column into contiguous segments, shades the background by label, and plots accX/Y/Z and asX/Y/Z vs. sample index. EXAMPLE USAGE – Print the overall summary: summarize_dataset(base_dir) – Plot each gesture for Subject01: plot_gesture(subject, 'adjusting_glasses') plot_gesture(subject, 'answering_phone') plot_gesture(subject, 'fluid_intake') … – Plot the raw continuous recording (with label shading): plot_raw_data(subject)

Institutions

Universidade Federal do Amazonas

Categories

Gesture Recognition

Funding

Fundação de Amparo à Pesquisa do Estado do Amazonas

Coordenação de Aperfeicoamento de Pessoal de Nível Superior

Licence