Global-shutter capture

Global Shutter Egocentric Video Data

Fast reach-and-grasp motion is the footage a manipulation policy most needs, and it is exactly where a rolling shutter skews the frame. We collect custom first-person video on demand against your written skill spec from a head-mounted global-shutter 4K/60 camera, hardware-synced with wrist, depth and IMU streams, QA-checked before it ships, and licensed to you.
Head camera
Global-shutter 4K, 60 fps, 120° HFOV
Sync
Median 1.12 ms, 2.0 ms ceiling
Also on the rig
Wrist · depth · IMU
First batch
Median 48 h in deep-coverage settings
A person wearing a head-mounted capture rig while chopping vegetables in a real, cluttered home kitchen.
The head-mounted global-shutter camera, worn during a real kitchen task with wrist cameras and depth alongside it.

What a global-shutter delivery includes

Captured without rolling-shutter skew, to your spec.

01

A global-shutter head camera

A 4K, 60 fps head camera with a 120° field of view that exposes the whole frame at once, so reach and grasp stay geometrically consistent with the other streams.

02

Wrist, depth and IMU on the same clock

Wrist cameras, an active-stereo depth sensor and 200 Hz IMUs are hardware-triggered onto one PTP clock domain, so the streams describe the same instant.

03

Calibrated at both ends of every session

Intrinsics and extrinsics are re-solved with a checkerboard target before and after capture, so drift is a recorded number rather than an assumption.

04

Delivered in your training format

RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd, QA-checked once against the canonical episode and licensed to you.

Definition

What is global shutter egocentric video data?

A global-shutter camera exposes all pixels at the same instant. A rolling-shutter camera scans the frame row by row over a short but nonzero interval. Egocentric video is first-person footage, recorded from the actor’s own viewpoint while a real task is performed. Global shutter egocentric video data combines the two: first-person task footage captured by a camera that does not skew during motion.

This page is about ordering that footage as a custom collection. Firsthand captures it on demand against your written skill spec, using the head-mounted global-shutter camera described below, and delivers it in the training format your pipeline loads. It is the shutter-specific counterpart of the stereoscopic and head-mounted camera collection pages.

Why it matters

Why does a global shutter matter for egocentric robot training data?

Egocentric capture is full of fast head and hand motion. The site’s glossary states that rolling-shutter artifacts corrupt geometry exactly when the hand is moving quickly, which are the frames a policy most needs to learn from, while largely static scenes see little effect. Reach-and-grasp is the motion a manipulation policy is trying to imitate, so it is the last place you want warped geometry.

The second reason is alignment. A policy trained on RGB, depth and pose together needs all three to describe the same instant. If row timing skews the image, pixels no longer line up with depth and pose captured alongside them. A global shutter keeps the frame consistent with those streams, which is why Firsthand’s head camera is global-shutter rather than rolling-shutter.

The third reason is a cleaner buying decision. A vendor spec that does not state the shutter type at all is a red flag on the site’s comparison page. Here the shutter type, resolution, frame rate and field of view of the head camera are stated up front.

Comparison

How does global shutter compare with rolling shutter for hand-motion capture?

The table below sets the two exposure methods side by side for egocentric capture. The properties come from the site’s comparison page and glossary; the last row is the one claim specific to Firsthand’s rig.

Rolling-shutter correction algorithms exist, but the comparison page notes they rely on estimating motion during the exposure, which is imperfect. Capturing with a global-shutter sensor avoids introducing the artifact rather than trying to remove it afterward.

Motion blur

Is global shutter video motion-blur-free?

Not by itself, and this page does not claim it. The site states that the head camera is global-shutter and rolling-shutter-free. That removes skew and wobble caused by row-by-row exposure. It is a separate question from blur inside a single exposure, which depends on how long the exposure lasts.

The site does not state exposure times, shutter speeds or a blur metric, so none are claimed here. If low blur matters for your model, say so in the skill spec: exposure targets for your lighting conditions are set per program and checked on the Spec Pilot batch. That is a more reliable route than a label such as motion-blur-free training video, which is not a measurable property on its own.

Capture setup

What does a Firsthand global-shutter capture setup include?

The instrumented head-mounted rig carries a Sony IMX585 global-shutter head camera with a 120° field-of-view M12 lens on a carbon headband that weighs 42 grams, two wrist cameras, an Intel RealSense D435if depth sensor mounted on the forehead 18 millimetres below the head camera, and Bosch BMI088 IMUs. A belt pack holds the PTP grandmaster clock, the hardware trigger line and a 2-terabyte NVMe drive.

The head camera records 3840×2160 at 60 fps, encoded as H.265 with lossless keyframes. The site states the global shutter for the head camera only. It makes no shutter claim for the wrist cameras or the depth sensor, so this page makes none either. A lighter tier, a contributor-worn 360 camera on a head strap, exists for broad reach but gives up depth, wrist views and sub-millisecond sync, and it is not the global-shutter rig described here.

Stereo and calibration

How does a global shutter help stereo depth and calibration?

Depth from a stereo pair is recovered by matching corresponding points between the left and right images. The site’s stereo rig guide explains that if cameras have rolling-shutter skew, the two images no longer describe the same instant in the same way row by row, and the disparity match degrades exactly during fast motion. A global shutter keeps both frames consistent with the depth and pose captured alongside them.

Calibration then fixes where each sensor sits. Every session on the instrumented rig is calibrated twice: a checkerboard solve across 40 poses, per-camera intrinsics that must land under 0.28 px RMS reprojection or the session does not start, and head↔wrist↔depth extrinsics expressed in the head-camera frame. The whole procedure repeats at the end, and the difference is written into the episode as calib_drift_mm.

Synchronization

How are stereo, depth and IMU streams synchronized?

Every active stream is hardware-triggered onto one PTP clock domain. The site publishes a cross-stream offset of 1.12 ms median and 1.94 ms at the 99th percentile, against a 2.0 ms ceiling. An episode that breaches the ceiling for more than three consecutive frames is rejected and recaptured rather than shipped with a caveat.

Hardware triggering is a stronger guarantee than software timestamping or post-hoc alignment: the sensors are physically told to expose together, so there is no clock drift to estimate downstream. In the HDF5 and RLDS exports each stream carries int64 nanosecond timestamps in the PTP domain, so you can recompute the residual yourself.

Skill spec

How does the skill spec define a global-shutter collection?

Every custom collection starts with a written skill spec: the tasks your pipeline needs covered, the setting, the object set, the capture tier, the annotation depth and the accept criteria, signed before capture begins. For a global-shutter order the spec also records that the instrumented head-mounted rig is required, and any lighting or exposure constraints that matter to your model.

Because the rig, calibration and clock are already built, the spec mostly names the tasks and environments rather than the sensor configuration. One attempt at the task is one episode, so any delivered sample traces back to the skill and setting it came from.

Collection and QA

How is a custom global-shutter dataset collected and validated?

Paid, consented contributors perform the real task against your spec while wearing the rig. We do not capture robot or teleoperation data, and we do not capture at a customer’s own facility. QA happens once, against the canonical episode, before any format-specific export is produced.

Episodes are machine-checked against reject criteria: a sync breach beyond the ceiling for more than three consecutive frames, calibration drift beyond tolerance, the manipulated object out of frame for more than 15 percent of the episode, more than 35 percent invalid depth pixels in the manipulation region, an undocumented bystander, or a mismatch against the named skill spec. A human reviewer then checks each episode against the task spec. Rejected episodes go to the reject log, which ships with every batch, and are recaptured at our cost. Only footage that clears the accept criteria is billed as a validated hour.

Privacy sits in the same gate. Every episode is tied to a signed contributor release, and faces, plates and screens in frame are detected and irreversibly blurred at ingest, with a reviewer confirming the result before anything ships.

Formats and licence

What formats and licences are available?

The same QA-passed episodes can be exported as RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd. The multiview delivery notes state that the head stream ships at full 4K, so you can decode lazily or downscale in the input pipeline. If you need to verify synchronization yourself, request the HDF5 export, which carries per-stream nanosecond timestamps.

The dataset ships under a perpetual, irrevocable, worldwide commercial licence that is non-exclusive by default, with the buyer owning the resulting dataset and exclusivity available. The same terms apply whichever format you choose.

Speed

How fast can a custom global-shutter dataset be delivered?

Where coverage for the requested tasks and regions is already deep, the median time from signed spec to first validated batch is a median of 48 hours. Where it is thin, turnaround runs three to four weeks while recruiting expands in parallel. Billing is per validated hour, not per raw hour recorded.

Getting started

How do you request a custom global-shutter dataset?

Write down the tasks, environments, objects and annotation depth your model needs, state that you require the global-shutter head-mounted rig, and name the delivery format. Most orders begin with a Spec Pilot: a small, fast first batch that proves the spec and accept criteria hold on real footage before you scale.

On that pilot, check fast reach-and-grasp frames for skew, confirm exposure on your lighting conditions, and confirm the formats and annotations you depend on.

At a glance

What you get.

Head camera
Sony IMX585 global shutter, 3840×2160 at 60 fps, 120° HFOV
Wrist cameras
Two, 1920×1080 at 60 fps, 100° HFOV
Depth
Active stereo, 848×480 at 30 fps, metric millimetres
IMU
200 Hz, 6-DoF, head and both wrists
Sync
Hardware-triggered on one PTP clock; median 1.12 ms, 2.0 ms ceiling
Calibration
Opening and closing solve, every session
Exposure, blur metrics, lens settings
Set per program in the skill spec
Formats
RLDS · LeRobot · WebDataset · HDF5 · zarr · .rrd
Spec to first batch
a median of 48 hours (deep coverage)
License
Perpetual, irrevocable, buyer-owned, non-exclusive by default

Every collection runs through the same seven-stage end-to-end custom collection pipeline. End-to-end custom data collection is a managed service that takes an AI data need from problem to owned dataset in a single accountable pipeline.

Comparison

Global shutter vs rolling shutter for egocentric hand-motion capture

Exposure behavior and its effect on egocentric training data, as the site states it.
PropertyGlobal shutterRolling shutter
Exposure timingEvery pixel at the same instantRow by row, over a short interval
Fast head and hand motionGeometrically consistent framesSkew and wobble within a frame
Depth and pose alignmentPixels stay aligned with depth and pose from the same instantSkewed pixels no longer line up with depth and pose
Stereo matchingLeft and right frames describe the same instantDisparity match degrades during fast motion
Best suited forReach, grasp and other fast manipulation motionLargely static scenes with little motion
Firsthand head cameraGlobal-shutter 4K sensorNot used for the head camera

Capture setup

The global-shutter capture rig, as the site states it

Each sensor with its stated spec and role. Shutter type is stated for the head camera only.
Sensor or streamStated specWhat it is for
Head cameraSony IMX585 global shutter; 3840×2160 at 60 fps; 120° HFOV, M12 lens; H.265 + lossless keyframesWide egocentric view of the environment, target object and approach
Wrist cameras (two)1920×1080 at 60 fps; 100° HFOV; rigid mount, extrinsics re-solved per sessionClose, occlusion-resistant view of each hand at contact
DepthIntel RealSense D435if, active stereo; 848×480 at 30 fps; 0.3–4 m; metric millimetres with a confidence map3D geometry for contact detection and depth-aligned labels
IMUThree Bosch BMI088; 200 Hz, 6-DoF; head and both wristsHead and wrist motion on the same clock
ClockPTP grandmaster, hardware trigger, belt-pack NVMe storageOne timebase, so sync is measured rather than aligned after the fact

Stated vs per program

What the site states and what is set per program

Details not stated on this site are agreed in the written skill spec and confirmed on the Spec Pilot batch.
DetailStated on the siteSet per program in the skill spec
Head-camera shutter, resolution, frame rate, field of viewGlobal shutter; 3840×2160; 60 fps; 120° HFOVNot applicable
Exposure time and shutter speedNot statedYes
Motion-blur metricNot statedYes
Lens settings beyond field of viewNot statedYes
Wrist-camera and depth shutter typeNot statedNot offered as a claim
Cross-stream sync1.12 ms median, 1.94 ms p99, 2.0 ms ceilingNot applicable
CalibrationOpening and closing solve; RMS reprojection under 0.28 pxNot applicable

FAQ

Global shutter egocentric video data, answered.

What is global shutter egocentric video data?
First-person task footage recorded by a camera that exposes every pixel at the same instant, so fast hand motion does not skew the frame. Firsthand’s head camera is a global-shutter 4K sensor.
Which camera does Firsthand use?
A head-mounted Sony IMX585 global-shutter camera at 3840×2160 and 60 fps with a 120° field of view, plus two wrist cameras, an active-stereo depth sensor and 200 Hz IMUs.
Is global shutter video motion-blur-free?
Not on its own. The site states the head camera is rolling-shutter-free; it does not state exposure times or a blur metric, so those are set per program in the skill spec.
Do the wrist cameras and depth sensor use a global shutter?
The site states the global shutter for the head camera only, so this page makes no shutter claim for the wrist cameras or the depth sensor.
How are the streams synchronized?
All streams are hardware-triggered onto one PTP clock domain, with a 1.12 ms median offset, 1.94 ms at the 99th percentile and a 2.0 ms ceiling.
What formats can a global-shutter dataset ship in?
RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd, all exported from the same QA-passed episodes.
What licence does it ship under, and how fast is it?
A perpetual, irrevocable, worldwide commercial licence that is non-exclusive by default, with the buyer owning the resulting dataset and exclusivity available. Where coverage is deep, the median time from signed spec to first validated batch is a median of 48 hours; thin coverage runs three to four weeks.

Sources

Where are the delivery formats documented?

Request a custom global-shutter dataset.

Tell us the tasks, environments and annotation depth your model needs, and that you want the global-shutter head-mounted rig. A first validated batch arrives in a median of 48 hours where coverage is deep.