Forearm Ultrasound Dataset for Hand Gesture Classification and Finger Joint Angle Estimation
Description
Forearm B-mode ultrasound recordings with time-synchronized finger metacarpophalangeal (MCP) joint angles, for research on hand gesture classification and continuous finger joint angle estimation from forearm ultrasound (sonomyography). This is the data underlying:
Keshav Bimbraw, Christopher J. Nycz, Matthew Schueler, Ziming Zhang, and Haichong K. Zhang, "Simultaneous Estimation of Hand Configurations and Finger Joint Angles Using Forearm Ultrasound," IEEE Transactions on Medical Robotics and Bionics, vol. 5, no. 1, Feb. 2023. doi:10.1109/TMRB.2023.3237774
Human-subjects data collection was approved by the Worcester Polytechnic Institute Institutional Review Board (IRB-21-0452).
Participants, gestures, and speeds
- 6 participants (
Test_Subject_1…Test_Subject_6), one ZIP archive per subject. - 11 hand configurations (activities of daily living):
IndFlex(index finger flexion),MidFlex(middle),RinFlex(ring),PinFlex(pinky),IndPinch(index to thumb),IndMidPinch,IndMidRinPinch,AllPinch(all fingertips to thumb),MidRinPinch,Fist, andHook(interphalangeal flexion with the MCP joint held). Subjects alternated between an open (rest) hand and each configuration. - 3 speeds:
Slow(0.5 Hz),Medium(1 Hz), andFast(2 Hz), cued by audio tones. - Each session is 56 seconds at 25 Hz = 1400 ultrasound frames.
Acquisition
Ultrasound — Verasonics Vantage 128 with an L12/5 50 mm linear-array probe mounted transversely on the forearm; post-beamformed, envelope-detected B-mode frames at 25 Hz, each 636 × 256 pixels (44.52 mm depth × 50 mm width), stored at linear (pre-log-compression) scale.
Motion capture — 10-camera Vicon Vantage system at 100 Hz, with markers on the metacarpal and proximal-phalanx ends of the index, middle, ring, and pinky fingers. Each MCP angle is the angle between that finger's metacarpal and proximal-phalanx vectors. A 10 kHz analog trigger emitted by the ultrasound system was recorded by the motion-capture system and used to align each ultrasound frame to the finger angles. The thumb was not instrumented.
File organization
Each Test_Subject_N.zip expands to:
Test_Subject_N/<Speed>_Speed/<Gesture>/data.npz
Each data.npz (NumPy .npz) contains:
ultrasound—(N, 636, 256)float16 — envelope frames, stored asraw_envelope / us_scaleus_scale— scalar float32 — multiply the ultrasound array by this to recover the true envelopemcp_angles—(N, 4)float32 — MCP flexion angles in degrees for [Index, Middle, Ring, Pinky], one row per framefingers— the four finger names
Loading (Python):
import numpy as np
d = np.load("Test_Subject_1/Slow_Speed/Fist/data.npz")
ultrasound = d["ultrasound"].astype("float32") * d["us_scale"] # (N, 636, 256) raw envelope
angles = d["mcp_angles"] # (N, 4) degrees
The raw envelope spans a large linear range (up to about 1e7, beyond the float16 range), so each session is divided by a per-session us_scale before casting to float16; multiplying back recovers the envelope losslessly to float16 precision, at roughly half the storage of float32.
Sessions not available
The following (subject, speed, gesture) sessions have no data.npz in this release:
Test_Subject_4 / Slow_Speed / IndFlexTest_Subject_4 / Fast_Speed / FistTest_Subject_5 / Slow_Speed / IndFlexTest_Subject_6 / Slow_Speed / IndFlex
In addition, Test_Subject_4 / Fast_Speed / MidFlex contains an incomplete data.npz (ultrasound frames only, and not reliably readable) and should be disregarded.
All 193 remaining sessions contain both the ultrasound frames and the finger angles.
License and citation
Released under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. If you use this dataset, please cite the article above and this Zenodo record.
Files
Test_Subject_1.zip
Files
(77.5 GB)
| Name | Size | |
|---|---|---|
|
md5:97fb28432068fd4feb22260c34a75394
|
13.2 GB | Preview Download |
|
md5:eb61a6100c3b3eb146636fcef9296a51
|
13.2 GB | Preview Download |
|
md5:768a26f7ae4fc18492b03ae7181169b7
|
13.2 GB | Preview Download |
|
md5:31084ef1b9a2cfa4ffbe6710f9f0c7ca
|
12.3 GB | Preview Download |
|
md5:9475a448a69bef10b391a460abcfd8a2
|
12.8 GB | Preview Download |
|
md5:476a6ea63bf73d1697a36e9b71ee3c5b
|
12.7 GB | Preview Download |
Additional details
Related works
- Is supplement to
- Journal article: 10.1109/TMRB.2023.3237774 (DOI)
- Conference paper: 10.1109/ICRA46639.2022.9812287 (DOI)
Funding
Software
- Repository URL
- https://github.com/bimbraw/Gesture_Finger_Angle_Analysis
- Programming language
- Python
- Development Status
- Active