Technical Field Note #06 · October 2026

How Head Rotation Blurs Egocentric Video | Origin Data Lab

Sharpness loss per pixel of gyro-predicted blur, rotation limits per exposure time, and an IMU-based blur flag — measured on a head-mounted stereo rig and a body-worn phone

Every egocentric frame is exposed while the wearer moves. We measured how much that costs on 3,600 frames from a head-mounted stereo camera with per-frame exposure times (median 10.04 ms) and 3,957 frames from two phone captures of cooking tasks. Gyro-predicted blur tracked measured sharpness (Spearman ρ = -0.62); sharpness fell to 77% of nearby still frames at 0.75–1 px and 61% at 1.5–2 px. A gyro-only flag identified frames that lost more than 40% sharpness with AUC 0.92 on the rig and 0.88–0.93 on the phones. All values were re-computed from the source recordings for this release.

77% · 61%Median sharpness left at 0.75–1 px and 1.5–2 px of predicted blur (stereo rig)
≈12 °/sRotation that smears 1 px at 10 ms exposure and 8.4 px/° — measured 11–15 °/s
AUC 0.92Gyro-only flag for frames that lost >40% sharpness (phones 0.88–0.93)
13%–22%Phone frames above 20 °/s, vs 6.8% on the head-mounted rig

Problem

Blur Is the Quality Loss Nobody Reports

Egocentric datasets report resolution, frame rate and IMU rate. They rarely report how many frames were smeared by the wearer’s own head motion — even though blur removes the edges and corners that hand tracking, object detection, visual-inertial odometry and learned visual features depend on.

b_{px} = \omega_{\circ/s}\cdot t_{exp}\cdot f_{px/\circ}
Two crops of the same workbench scene eleven frames apart, the second visibly blurred by head rotation
Same scene, 0.37 s apart. Left: 3 °/s during exposure, 0.2 px predicted blur. Right: 62 °/s, 5.4 px predicted blur, 26% of the local still-frame sharpness. Centre crops of the 1600×1200 left camera.

Data

Two Cameras, Three Recordings

RecordingFramesImageExposure recordedIMU
Stereo rig (head-mounted)3,6001600×1200, 30 fpsYes, median 10.04 ms501.7 Hz, same clock
Phone · knife prep1,9791920×1080, 30 fpsNo410.6 Hz, +188 ms aligned
Phone · seasoning1,9781920×1080, 30 fpsNo410.6 Hz, +200 ms aligned

Method

Predicting Blur From the Gyroscope

Gyro samples inside each frame’s exposure window give the mean angular velocity; a map fitted to optical flow (R² = 0.974) projects it to pixels.

ω̄ = mean(gyro[t_exp_start : t_exp_start + t_exp])      # rad/s, 3 axes
blur_px = | A · ω̄ | · t_exp                                # A: 2×3 map, px per rad
rule of thumb:  blur_px ≈ ω[°/s] · t_exp[s] · f[px/°]

For the phones, exposure time is not recorded, so results are reported against rotation rate directly (±16.7 ms gyro window after the +188/+200 ms video–IMU alignment).

Results

Sharpness Falls Steadily From the First Pixel

Line chart of relative Laplacian sharpness and FAST corner count versus gyro-predicted blur in pixels
Head-mounted stereo rig. Sharpness drops by roughly a fifth per pixel over the first two pixels of predicted blur; detectable corners degrade more slowly. Spearman ρ = -0.62 over 3,600 frames.
Predicted blurFramesMedian rotationRelative sharpnessRelative FAST corners
0–0.25 px1,0523 °/s1.031.01
0.25–0.5 px1,1585 °/s0.930.97
0.5–0.75 px5348 °/s0.850.92
0.75–1 px27911 °/s0.770.86
1–1.5 px29215 °/s0.710.83
1.5–2 px12921 °/s0.610.80
2–3 px11429 °/s0.570.70
3–6 px4245 °/s0.340.56

Phone vs Head-Mounted Rig

More Pixels per Degree, More Blur per Degree

Two charts: relative sharpness versus rotation rate for three captures, and the share of frames above each rotation rate
Left: at the same rotation rate the phone loses sharpness faster. Right: the phone captures also rotated faster and more often.
Rotation rateStereo rig (head)Phone · knife prepPhone · seasoning
0–5 °/s1.001.000.99
5–10 °/s0.880.800.88
10–20 °/s0.730.560.63
20–40 °/s0.600.310.37
40–80 °/s0.340.150.23
80+ °/s—0.050.05
Frames above 20 °/s6.8%13%22%
Frames above 40 °/s0.9%4.7%10%
99th percentile rotation40 °/s121 °/s144 °/s

Where Blur Lives

The Worst Frames Cluster in Non-Task Head Turns

Timeline of rotation rate and relative sharpness for a 66 second phone capture, with non-task spans shaded
Phone, seasoning task. Sharpness collapses where the wearer turns away; red spans are the ones a human annotator independently labelled non-task (Field Note #05).

In Production

Capture Settings and a Gyro-Based Blur Flag

Exposure1 px blur · 8.4 px/°3 px blur · 8.4 px/°1 px blur · 20 px/°3 px blur · 20 px/°
2 ms59 °/s178 °/s25 °/s75 °/s
4 ms30 °/s89 °/s12 °/s38 °/s
8 ms15 °/s45 °/s6 °/s19 °/s
10 ms12 °/s36 °/s5 °/s15 °/s
16 ms7 °/s22 °/s3 °/s9 °/s
\omega_{1px} = \frac{1}{t_{exp}\, f_{px/\circ}}

Evidence Status

What Is Verified, Estimated or Not Evaluated

ClaimStatus
Gyro→image map fit R² = 0.974Verified (reproduced from source recordings)
Spearman ρ = -0.62 (predicted blur vs relative sharpness)Verified (reproduced)
Sharpness and corner retention by blur binVerified (reproduced)
Gyro blur flag AUC 0.92 / 0.88–0.93Verified (reproduced)
8.42 px/° at the image centreVerified in Field Note #04 (mode-matched calibration); used here as an input
Camera–IMU offset −1.1 ms (rig), +188/+200 ms (phone)Estimated (video–gyro fitting, Field Notes #03 and M1 validation)
Phone ≈17–22 px/°Estimated (focal length back-computed from video–gyro fitting)
Phone loses more sharpness per degree because of more pixels per degreeInterpretation
Effect on a specific model, rolling-shutter skew, translation blurNot evaluated

Reproducibility

Re-running the Analysis

python analysis/summarize_from_csv.py analysis/data/stereo_rig_frames.csv analysis/data/phone_frames.csv analysis/results_fn06.json
# full pipeline from the (non-public) source recordings:
python analysis/reproduce_fn06.py config.json OUTPUT_DIR

Limitations

  • The gyroscope sees only camera motion; blur from fast hands and tools is not predicted.
  • Laplacian variance and FAST corner counts on H.264 video are proxies; the effect on a specific model must be measured in that model’s pipeline.
  • One head-mounted session (120 s) and two phone sessions (66 s each) with different operators and tasks; rig-vs-phone differences are observations, not controlled comparisons.
  • Rolling-shutter skew and translation blur are not modelled.
  • Phone exposure time was not recorded; phone results are reported against rotation rate only.
  • Frames without a low-motion reference within ±3 s are excluded from relative sharpness (113 frames in the seasoning recording).

Frequently asked questions

How much motion blur is acceptable in egocentric training video?

In our head-mounted stereo capture, median sharpness was 77% of nearby still frames at 0.75–1 px of predicted blur and 61% at 1.5–2 px, while detectable corners fell less (86% and 80%). A practical starting point is to flag frames above about 1.5 px for review and agree a task-specific threshold with the buyer.

How fast can a head-mounted camera rotate before frames blur?

Blur length is rotation rate × exposure time × pixels per degree. With a 10 ms exposure and 8.4 px per degree, 1 px of blur occurs at about 12 °/s; our measurement put 1 px at 11–15 °/s. A camera with about 20 px per degree reaches 1 px at about 5 °/s for the same exposure.

Can an IMU detect blurred video frames?

Yes, for blur caused by camera motion. Gyro rate integrated over each frame’s exposure separated frames that lost more than 40% sharpness with an AUC of 0.92 on the stereo capture and 0.88–0.93 on two phone captures. It cannot see blur from fast-moving hands or tools.

Does a phone or a head-mounted camera blur more?

In our captures the phone lost sharpness faster per degree per second, consistent with its roughly 2–2.6× more pixels per degree, and its wearer rotated faster: 13%–22% of phone frames exceeded 20 °/s versus 6.8% for the head-mounted rig. Tasks and operators differed, so this is an observation, not a controlled comparison.

What exposure time should be used for egocentric robot-learning capture?

As short as lighting allows. Halving the exposure halves blur length at the same rotation. When the device reports per-frame exposure time, store it, because it is needed to predict blur from the gyro.

Can the per-frame results be reproduced?

Yes. The public per-frame CSV files and the included script recompute every aggregate in this note; the full pipeline was re-run from the source recordings and matched all 120 previously published values exactly.

Physical AI Data Collection

Explore real-world capture programs for challenging motion conditions.

Physical AI Data Collection → Discuss a Physical AI Data Project →