IMUdrape

IMUdrape: Generating Garment-Mounted Virtual IMU Data from Text through Physics-Based Cloth Simulation

Georgia Institute of Technology
Under review at ACM IMWUT

Sensors sewn into clothing do not move rigidly with the body. Loose fabric slides, twists and swings, so a garment-mounted IMU records the fabric as well as the person. IMUdrape generates training data for such sensors from text, by simulating the garment on generated motion and reading virtual IMUs off the fabric.

Same arm, two sensorsToy illustration · computed live
0°garment frame vs body frame now
0.0mean |gyro difference|, rad/s (last 4 s)
body IMU (strapped to the forearm)garment IMU (sewn onto the sleeve)

A 2D sketch, not IMUdrape output and not real data: the forearm part of the sleeve is two masses on springs that are pulled toward the arm, sag under gravity and rattle within the slack around it. It shows the effect the paper models with full 3D cloth simulation. Make the sleeve tight and the two sensors agree.

4real datasets with clothing-mounted IMUs, for activity recognition and pose estimation
7–46%relative macro-F1 gain over real data alone with one real subject
12%lower pose error than body-mounted virtual data (recorded motion, no real data)
+56%macro-F1 of garment over body data with six sensors (MIG, no real data)
The problem

A sensor in clothing records the fabric too

Inertial sensors are moving into clothing, from sensorized sportswear to jackets with hundreds of IMUs. Sewn into a garment, a sensor is comfortable enough for everyday wear, but it no longer moves rigidly with the body. Its signal now depends on the cut, the fabric, the sensor position and the activity.

Training data are already scarce for sensor-based activity recognition, and a new garment may need new recordings. Virtual IMU data from video or text have eased this for body-worn sensors, but existing generators attach their virtual sensors rigidly to the body, so they cannot reproduce how clothing moves.

Cut-away render of a simulated jacket sleeve during a folding motion: a garment sensor on the upper sleeve with solid axes and the body sensor beneath it with dashed axes. At t = 0 s the frames are 11 degrees apart, at t = 1.6 s they are 42 degrees apart.
In a generated folding motion, the garment sensor's frame (solid axes) turns from 11° to 42° away from the body sensor beneath it (dashed) within 1.6 s.
How it works

From a sentence to a garment-mounted IMU

IMUdrape starts from language, like IMUGPT. Everything after the body motion is new: the garment is generated to match the deployment, simulated physically on the moving body, and read out at the real sensor positions. Every simulation yields paired body and garment signals for the same motion. The pipeline runs without manual intervention.

Pipeline overview: (a) an LLM-written activity description, (b) generated body motion, (c) garment generation from a photo or text to a sewing pattern to a garment sewn and settled on the body, (d) garment simulation with body IMUs and garment IMUs, (e) a garment IMU paired with the body IMU beneath it, with a smooth body gyro trace and a much more irregular garment gyro trace
Overview from the paper. Orange panels are new in IMUdrape. The dataset garment photograph used as input in panel (c) is not reproduced on this page.
Matched garments

One garment per dataset, with its real sensor layout

For each evaluation dataset, IMUdrape rebuilds the garment its participants wore and places virtual sensors at the dataset's real sensor positions, from 4 boards on a loose jacket to all 396 on the MIG sensor suit.

The four matched garments sewn onto the SMPL body in the A-pose, front and back views: MIG sensor jacket and trousers with 396 orange sensor boards, LIP loose jacket, FIP loose hooded jacket, GarMoCap hooded jacket and cuffed trousers, with the sensor positions ringed
Front and back views, settled in the A-pose. Orange boards mark the matched dataset's sensor positions.
Garments in motion
Six frames of a generated walking motion with the physics-simulated MIG jacket and trousers

Frames of generated activities with the physics-simulated MIG jacket and trousers. Seated activities are simulated with a chair and table.

Results

Better recognition and pose on real garment sensors

We train on virtual data alone, or on virtual data plus real data from 1, 2 or all training subjects, and test on held-out real subjects. IMUdrape provides three sources: the body signal, the garment signal, and clips drawn from either. Baselines are real data alone, body-mounted virtual data from IMUGPT, and garment data from TailorNet, a learned garment model without dynamics.

Activity recognition · macro-F1 (%), higher is better

Mean ± SD over 3 seeds, each averaged over the test subjects and three recognition models (DeepConvLSTM, DeepConvLSTM with attention, TinyHAR). The dashed line is real data alone. A ring marks the best source in each panel. MIG uses its six loose-fitting sensors.

Pose estimation · lower is better

Mean angular error over 15 major joints, or mean joint position error, averaged over two pose networks (an LSTM poser and TransPose). Mean ± SD over 3 seeds.

When does garment physics matter?

Scarce real data, more sensors, realistic motion, a matched garment

Across amounts of real data

The gap between garment and body-mounted data is widest when real data are scarce and narrows once all real subjects are used. MIG tight uses six sensors where the fabric is pressed against the body.

The advantage grows with more sensors

MIG, no real training data, mean over the three recognition models and over the sensor subsets of each size. Labels give the relative improvement of garment over body data.

Recorded instead of generated motion

GarMoCap. The matched garment is simulated on the dataset's recorded training motion, or on the same amount of generated motion. The test subject's motion is never simulated.

Matched or generic garment

IMUdrape Garment data on GarMoCap's recorded motion, from the matched GarMoCap garment or the MIG jacket and trousers.

Where on a garment does physics help?

Body maps of the 396 MIG sensor positions, front and back, for three recognition models. Red dots where garment data beat body data, blue where body data are better. Forearm sleeves are strongly red, lower trouser legs blue.
Single-sensor macro-F1, garment minus body data, at each of the 396 MIG positions (no real training data). Red: garment better. Garment data win at 255, 264 and 212 of 396 positions in the three models, most of all on the forearm sleeves. Body data stay better on the lower trouser legs.
Key findings

What the evaluation says, in plain language

7.2–46.3%

Garment physics helps most when real data are scarce

With one real subject, IMUdrape Body + Garment data raise recognition macro-F1 by a relative 7.2% to 46.3% over real data alone across the four datasets. With all real subjects, the best IMUdrape source is still 1.0% to 5.5% ahead.

See the recognition results ↑
20.7% → 56.2%

The advantage grows with more sensors

On the tight MIG sensor set without real data, garment data beat body data by a relative 20.7% with one sensor and 56.2% with six. Garment data climb from 31.6% to 51.0% macro-F1 as sensors are added, body data only from 26.2% to 32.7%.

See the sensor-count chart ↑
29.7–33.3%

Realistic motion adds to the benefit

Simulating the garment on recorded instead of generated motion lowers GarMoCap pose error without real data by 29.7% to 33.3%. Garment data stay 12.1% more accurate than body data, so the gains from motion and from garment physics add up.

See recorded vs generated ↑
+14.9%

A matched garment helps most without real data

Without real data, data from the matched GarMoCap garment reach 32.3% macro-F1 against 28.1% from the generic MIG garment. A garment of the right type still keeps the benefit of garment simulation over body data.

See matched vs generic ↑

Garment simulation also pays off where the fabric is pressed against the body. On MIG without real data, garment data improve on body data by a relative 59.5% on the tight sensor set and 15.4% on the loose set. For pose estimation without real data, IMUdrape data give the lowest joint angle error on all three pose datasets, 7.8% to 11.5% below IMUGPT and 3.2% to 10.0% below TailorNet.

Evaluation data

Four public datasets with sensors in clothing

Every dataset is evaluated with leave-one-subject-out folds over all of its subjects. Virtual data are simulated on the garment matched to that dataset.

Code

Code coming soon

The pipeline code, the matched garments and their sensor maps will be released in the GitHub repository.

github.com/ZikangLeng/IMUdrape
Citation

BibTeX

@article{leng2026imudrape,
  title   = {IMUdrape: Generating Garment-Mounted Virtual IMU Data from Text
             through Physics-Based Cloth Simulation},
  author  = {Leng, Zikang and Pl{\"o}tz, Thomas},
  journal = {Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.},
  year    = {2026},
  note    = {Under review}
}