IDM and latent actions

Egocentric Video Data for Inverse Dynamics and Latent Action Models

An inverse dynamics or latent action model learns what changed between two frames. We collect custom first-person video on demand to a written spec and deliver the action-related fields the site already states: 3D hand pose, wrist trajectories, action segments, contact events, IMU, depth and a task instruction per episode.
Collection
Custom, on demand, to a written spec
Action fields
Hand pose · wrist · segments · contacts
Formats
RLDS · LeRobot · WebDataset · HDF5
First batch
Median 48 h in deep-coverage settings
A contributor wearing a head-mounted capture rig performs a manual task, beside a graphic of synchronized hand-pose, depth, and action-segment annotation layers.
Action-related fields are delivered on the same clock as the video, so a frame pair and its action signal can be matched by timestamp.

At a glance

What an IDM or latent action team gets from a custom collection.

01

Action signal recorded with the video

Hand pose, wrist trajectories, action segments and contact events are delivered as fields next to the footage, not left for a model to infer afterward.

02

One clock across streams

Video, depth, IMU and annotations share a clock, so a pair of frames and the action signal between them can be matched by timestamp.

03

Gaps stated, not papered over

No latent-action scheme, no head or camera 6-DoF pose, no SLAM trajectory and no narration or dense captions are delivered. This page says so.

04

A spec you write

Tasks, environments, streams and accept criteria are written down before capture, quoted for reach, timeline and price, and checked batch by batch.

Definition

What is inverse dynamics and latent action model training data?

An inverse dynamics model (IDM) works backward from an observed state transition, meaning what changed between two points in a video or trajectory, to estimate the action that most plausibly caused it. A latent action model learns a compressed representation of what changed between two frames, inferred directly from footage without ever being told what the underlying action was. NVIDIA’s GR00T N1 paper (arXiv 2503.14734) uses inverse-dynamics pseudo-labeling together with latent actions so that unlabeled egocentric human video can contribute action-relevant signal at the wide base layer of its data pyramid.

Training data for these models is really two things. The first is the video itself: first-person footage in which hands, objects and their consequences are visible from one frame to the next. The second is whatever action ground truth exists alongside the video, which a team can use to fit, sanity-check or evaluate an IDM or a latent action encoder against. This page is about a collection that supplies both together.

Firsthand’s stated position, on its glossary pages for the inverse dynamics model and for latent actions, is that it does not rely on pseudo-labeling or latent actions to supply action signal, because its action data is captured and annotated directly at the time of recording. This page reads that position from the buyer’s side: if your team trains IDMs or latent action models, which captured fields can you use, which can you not, and how would you ask for them? The site states no recipe for how any team should train an IDM, so this page describes only what a collection can supply.

Why egocentric

Why do IDM and latent-action teams use egocentric human video?

The glossary states the underlying problem plainly. Most egocentric human video carries no robot action label, because no robot was involved in capturing it: there is no joint angle, gripper command or wrist trajectory recorded alongside the footage. Without IDM or latent-action techniques, that footage is limited to general visual pretraining. With them, the same footage can also inform a model’s action representation before any robot-specific data enters the pyramid.

EgoScale (arXiv 2602.16710) is the clearest example on this site of how far that approach can scale. It describes a 20,854-hour corpus of action-labeled egocentric human video whose labels came from off-the-shelf SLAM and hand-pose estimation applied after capture, and reports a log-linear scaling law and a 54% success improvement on a 22-DoF hand. Those are the paper’s figures, not Firsthand’s: Firsthand claims no relationship with NVIDIA or the EgoScale authors, collected none of that data, and the site states no measured effect of its own fields on any IDM or latent action model.

The practical reason to commission a collection rather than reuse a public corpus is control. Public or off-the-shelf data is fixed by whoever published it, while a custom collection is written to your skill spec: your tasks, your environments, your streams, and your accept criteria. For a team whose IDM or latent action model has to work on a specific kind of manipulation, in specific settings, that control decides whether the video in the training set actually contains the transitions the model needs to learn from.

The glossary also notes that these approaches are not mutually exclusive. A base layer with direct action labels can be blended with a wider pool of unlabeled video processed through an IDM or latent-action technique, which is consistent with how the GR00T N1 pyramid combines layers of differing label density. A custom collection can be the directly labeled layer in that mix.

Delivered fields

Which Firsthand fields can supervise or evaluate an IDM?

Every field named here is one the site already states as delivered. Hand pose is delivered at 21 joints per hand in metric 3D, with a per-joint visibility flag so occluded fingers are marked rather than guessed. For an IDM, that is the most direct description of what the hands did between two frames, and the visibility flag tells you which joints to trust or mask in any given pair.

Wrist trajectories are part of the standard episode schema and describe the path of each wrist through the task. The head and both wrist IMU streams, 6-DoF at 200 Hz, carry the motion record between video frames. The IMU streams are raw sensor data: they are not a camera pose or a SLAM trajectory, and this page does not present them as one.

Action segments divide each episode into start- and end-timestamped spans, each carrying start_ns, end_ns, verb and noun. For IDM work they provide a time-indexed vocabulary of what was happening, which is useful for choosing frame pairs, balancing training examples across actions, and evaluating whether a model’s inferred action changes at the right moments. Contact events mark the moment the hand meets an object, giving a labeled point at which the physical state of the scene changes.

Depth is delivered as a metric stream (depth_mm) alongside RGB, and a task instruction is paired to each episode on the same clock as the video. Per-frame instance masks, at the depth resolution of 848×480, are delivered where the spec calls for them. The table below maps each field to a possible IDM or latent-action use and to its delivery field name. The “use” column is our framing of how a team might apply the field; the site states no result for any of these uses.

One decision stays with you: the action space your IDM predicts. The site states no canonical action space and does not say what a LeRobot action field carries for a given order, so write the target action representation into the spec before capture rather than discovering a mismatch at delivery.

Latent actions

How can a latent action model team use the same collection?

A latent action model is trained without an explicit action label by design, so a collection does not feed it labels in the usual sense. What a collection can supply is controlled, in-distribution video of the tasks you care about, written to your spec instead of scraped, plus captured fields that serve as an outside reference for what the learned latents should be tracking.

Three uses follow from the delivered fields, each offered as a possibility rather than a documented result. A team can compare learned latent codes against wrist trajectories and 3D hand pose to check whether the latent space follows real hand motion. It can compare changes in the latent signal against action-segment boundaries and contact events to see whether the model notices the moments a person would. And it can hold out collected episodes as an evaluation set, since their action segments and hand pose were recorded rather than inferred by the model under test.

Because the same episodes carry depth, IMU and a task instruction, a team can also ask whether latents learned from RGB alone differ from what the other streams describe. The site states no train and evaluation split, so if you want one, ask for it in the spec.

Limits

What does Firsthand not deliver for latent-action training?

Firsthand claims no novel latent-action scheme and no IDM of its own. It does not ship a trained inverse dynamics model, a latent action encoder, a pseudo-labeling pipeline or a learned action vocabulary. What it delivers is footage and captured fields. Turning those into an IDM or a latent action model is your team’s work.

It does not deliver robot action labels. Firsthand captures first-person human video, not robot or teleoperation data, so there are no joint angles, gripper commands or end-effector actions in the data. Any mapping from human hand motion to a robot’s action space is outside what the site states.

It does not deliver a head or camera 6-DoF pose or a SLAM trajectory. The head IMU is a raw sensor stream, and no camera-pose trajectory is stated as a deliverable. EgoScale’s labels came from SLAM and hand-pose estimation; Firsthand’s delivered fields are different, and teams that need a camera trajectory should state that need and expect it to be quoted separately or not offered, because the site does not say.

It does not deliver narration or dense captions. The one language field the site states is a task instruction paired to each episode. Speech audio is not described as a deliverable either, and the site states that speech is scrubbed of identifiers at ingest. Also not stated: any label accuracy figure, any inter-annotator agreement figure, a field path for the wrist trajectories and the task instruction on the pages checked for this one, and which streams the phone and 360 capture tiers carry beyond what the spec fixes.

Specification

How do you specify a custom collection for an IDM?

Start from the transitions your model needs to see. Write the tasks as a skill spec with the verbs and nouns you want in the action segments, because those are the fields each segment carries. Name the environments (the commercial program covers retail, warehouse, commercial kitchen, automotive service, tool use and assembly), the objects the task involves, and what counts as a good attempt.

Then choose streams and labels. The site describes three capture tiers, a phone in a chest mount, a 360 head mount, and the full instrumented rig, and states that not every order needs every stream. Say whether you need depth, IMU, instance masks, contact events and the task instruction, and write the action space your model predicts so the delivery format can be mapped to it. If you want a held-out evaluation set or per-country coverage reported on the data card, write that in too, because the site states neither as a default.

Finally, write the accept criteria and the license scope before capture, including whether you want exclusivity on the footage, the spec or both. The spec is quoted for reach, timeline and price before any capture begins. Most programs begin with a Spec Pilot, a small first batch that proves the spec and accept criteria on real footage before you scale. The guide on how to write a skill spec covers the format in more detail.

Validation

How are action labels and timing validated?

Acceptance is measured against signed accept criteria written into the spec before capture. Episodes are machine-checked against the reject criteria and then a human reviewer checks each one against the task spec. An episode is accepted only if RMS reprojection stays under 0.28 px and calibration drift is within tolerance; otherwise it goes to the reject log, which ships with every batch. Rejected items are recaptured at our cost, and only footage that clears the criteria is billed as a validated hour.

Timing matters more for IDM data than for most uses, because the label has to refer to the frame transition it describes. Wrist cameras, the depth stream and the IMUs are hardware-triggered onto one PTP clock domain, and the site states a sync tolerance of 1.12 ms median, 1.94 ms p99 and a 2.0 ms reject ceiling. Annotation timestamps are aligned to every other stream, so start_ns and end_ns on an action segment refer to the same clock as the video frames.

Each batch arrives with its data card, the consent artefact IDs listed per episode, the signed accept criteria it was measured against and the reject log. Faces, licence plates and screens are detected, redacted and human-reviewed. What the site does not state is a label-level accuracy metric for hand pose, contact events or segment boundaries. If your IDM evaluation depends on one, agree how it will be measured in the spec and ask what evidence the pilot batch can provide.

Formats and licensing

What formats and licensing apply?

Data is delivered in the format your stack already reads: RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd, or raw streams with metadata, with JSONL available for annotation-only delivery when labels are being added to video you already have. Every format is a projection of one canonical episode schema with four groups, meta, streams, annotations and calibration, and readable converter source ships alongside the data so the schema can be retargeted to your own loader.

In a LeRobot delivery, the head and wrist views appear as observation.images.head and observation.images.wrist_l and wrist_r, with an observation.state vector that packs the 2×21×3 hand joints first and then the 24×3 body joints, and an action field. Depth is not embedded in the mp4 video and is pulled in separately. Check the formats pages for the layout of the format you will load, and confirm in the spec which fields feed your action target.

The license is perpetual, irrevocable, worldwide and buyer-owned, non-exclusive by default. Permitted use includes training, evaluating, fine-tuning and deploying models, including commercial models. Weights derived from the data are yours, with no royalty, revenue share or reporting obligation. Redistribution of the footage itself is not permitted, while models derived from it can be distributed without limit. Exclusivity is available per skill line or per environment, priced as a multiplier, and the order form governs any specific agreement.

Speed

How fast can an on-demand IDM collection start?

From signed spec to first validated batch, the timeline is a median of 48 hours where coverage is deep and three to four weeks where it is thin and contributors need to be recruited first. After the first batch, on-demand top-ups run against the same accept criteria, so you can add more attempts, environments or tasks without rewriting the spec.

Pricing is quoted per engagement against your spec and billed per validated hour. This page states no hour count, no throughput and no customer, because the site does not, and it makes no promise about how long a negotiated exclusivity term takes. Settling the scope early, in the Spec Pilot conversation, keeps contract terms from becoming the slow part.

Delivered vs not stated

What is delivered for IDM and latent-action work, and what is not?

Items the site states as delivered, and items it does not state. “Not stated” means the site does not say, not that the answer is no.
ItemStatus on this site
3D hand pose, 21 joints per hand, with visibility flagsDelivered
Wrist trajectoriesDelivered (part of the standard episode schema)
Action segments with start_ns, end_ns, verb, nounDelivered
Contact eventsDelivered
Depth and 200 Hz 6-DoF IMU (head and both wrists)Delivered
Task instruction paired to each episodeDelivered
Per-frame instance masks (848×480)Delivered where the spec calls for them
A latent-action scheme, trained IDM or pseudo-labeling pipelineNot delivered
Head or camera 6-DoF pose, SLAM trajectoryNot delivered
Narration or dense captionsNot stated as delivered
Robot or teleoperation action labelsNot delivered (human video only)
Label accuracy or inter-annotator agreement figuresNot stated

Every collection runs through the same seven-stage end-to-end custom collection pipeline.

Field mapping

Which delivered field maps to which IDM or latent-action use?

Each delivered field, a possible use for IDM and latent-action work (our framing, with no result claimed), and the delivery field name where the site states one.
Delivered fieldPossible IDM or latent-action useDelivery field name
3D hand pose, 21 joints per hand, metricTarget or reference for what the hands did between two framesannotations/hand_joints
Per-joint visibility flagMask occluded joints when building frame-pair targetsannotations/hand_visible
Wrist trajectoriesReference path of each wrist; compare against learned latentsNot stated on the pages checked
Action segments (start_ns, end_ns, verb, noun)Choose frame pairs, balance actions, check that inferred actions change at the right momentsannotations/action_segments
Contact eventsLabeled points where the physical state of the scene changesannotations/contact_events
Objects named in the specGroup or filter training pairs by task objectannotations/objects
Instance masks (where spec calls)Separate hand, object and background in the frame pairannotations/instance_masks (848×480)
Depth, metric millimetresGeometry for the frame pair; decode as uint16streams/depth_mm
IMU, 6-DoF at 200 HzRaw motion record between video framesstreams/imu_head, imu_wrist_l, imu_wrist_r
Task instruction per episodeLanguage condition for the episodeNot stated on the pages checked
Calibration and acceptanceEvidence a pair was captured within the 0.28 px RMS gatecalibration/rms_reproj_px; calib_drift_mm; meta.json reject_flags

Approaches

How do IDM pseudo-labels, latent actions and captured labels differ?

The three approaches as defined on the glossary pages, and where a custom collection fits. A collection supplies the third; it does not replace the first two.
ApproachHow the action signal is producedWhat it needs at capture timeWhere a custom collection fits
Inverse dynamics pseudo-labelsThe action that most plausibly explains a state transition is estimated by working backward from the visual outcomeRaw video and a state-transition modelCaptured fields can serve as reference data to fit or check the IDM
Latent actionsA model learns a compressed representation of what changed between two frames, from video aloneRaw video onlyIn-distribution video to your spec; captured fields as an outside reference
Captured action labels3D hand pose, wrist trajectories and action segments recorded at captureCalibrated, synchronized capture hardware before recordingThis is what the collection delivers

Specification

What belongs in the spec for an IDM or latent-action collection?

Spec items to settle before capture, what the site states about each, and what is left to your spec.
Spec itemWhat to writeWhat the site states
Tasks and vocabularyThe verbs and nouns you want in action segmentsEach segment carries start_ns, end_ns, verb and noun
EnvironmentsSettings and objects the model must handleCommercial settings only: retail, warehouse, commercial kitchen, automotive service, tool use and assembly
Capture tierPhone in chest mount, 360 head mount or instrumented rigSame spec and QA bar in each; not every order needs every stream
Streams and labelsDepth, IMU, masks, contact events, task instructionInstance masks only where the spec calls for them
Action spaceThe representation your IDM predictsNo canonical action space stated
Evaluation splitHeld-out episodes, if wantedNot stated
Accept criteriaSigned rule each episode is measured againstWritten before capture; reject log ships with every batch
License scopeExclusivity on footage, spec or bothNon-exclusive by default; exclusivity per skill line or environment

FAQ

Egocentric data for inverse dynamics models, answered.

What data does an inverse dynamics model need?
It needs video in which the transition between two frames is visible, plus some action ground truth to fit or check it against. A custom egocentric collection supplies the video and the captured action-related fields; which action space your model predicts is a decision for your team.
Does Firsthand deliver latent action labels?
No. Firsthand claims no novel or latent-action scheme and ships no trained IDM or latent action encoder. It delivers captured fields, such as 3D hand pose, wrist trajectories and action segments, that a team can use as a reference when training or evaluating its own model.
Which fields are delivered with the video?
21-joint 3D hand pose with per-joint visibility, wrist trajectories, start- and end-timestamped action segments, contact events, depth, 6-DoF IMU at 200 Hz from the head and both wrists, and a task instruction paired to each episode. Instance masks are added where the spec calls for them.
Is a camera pose or SLAM trajectory included?
No. The head IMU is a raw sensor stream, not a camera pose trajectory, and no head or camera 6-DoF pose or SLAM trajectory is stated as a deliverable. If you need one, say so in the spec; the site does not state whether it can be offered.
Are narration or dense captions available?
Not stated. The one language field the site states is a task instruction paired to each episode, on the same clock as the video. Narration and dense captions are not described as deliverables.
How are timing and label quality checked?
Each episode is checked against signed accept criteria, machine-checked and then human-reviewed. It is accepted only under the 0.28 px RMS reprojection gate with drift in tolerance, and sync tolerance is 1.12 ms median, 1.94 ms p99, 2.0 ms reject ceiling. Rejected items are recaptured at our cost.
What formats and license come with an IDM dataset?
RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd, with JSONL for annotation-only delivery and converter source included. The license is perpetual, irrevocable, worldwide and buyer-owned, non-exclusive by default, and covers training, evaluating, fine-tuning and deploying models.
How fast can an on-demand IDM collection start?
From signed spec to first validated batch, the timeline is a median of 48 hours where coverage is deep and three to four weeks where it is thin. Most programs begin with a Spec Pilot, and the spec is quoted for reach, timeline and price before capture begins.

Sources

Which official sources document the IDM, latent-action and format claims?

Request a custom IDM or latent-action dataset.

Tell us the tasks, environments and action fields your model needs. We write them into a spec, quote reach, timeline and price before capture begins, and ship every batch with its data card.