Now recruiting capture teams worldwide. Get paid to record first-person video of real work.

Apply to capture

Task family

Stereo Painting and Coating Data

Masking an edge, rolling primer, cutting in along trim, wiping on stain: painting is a run of ordered passes with a loaded tool over a surface that changes with every coat. This page covers the stereo and container side of painting robot training data: what a calibrated stereo pair adds when walls, edges and trim are the subject, what the operator’s hand pose shows on a brush or roller, what MCAP is according to its own documentation, and what the site does not state. We run custom finishing-trade data collection fast and on demand against a spec you write, as stereo roller and brush painting video and an egocentric coating and cut-in dataset.
Catalog rows
Four rows name painting, priming or coating work
Container
MCAP (.mcap), open source
Stereo head rig (06)
Dual fisheye, 1080p per eye, 62 mm baseline
License
Perpetual, buyer-owned

Why stereo and MCAP here

What do a stereo pair and an MCAP file add to painting video?

01

Depth of the wall, the edge and the trim

The site states that a stereo pair at human-eye spacing makes depth recoverable from every frame pair, so the geometry of a wall, a corner, a panel or a run of trim is in the same capture that shows the roller or brush working it. The site gives no depth accuracy figure for these rows.

02

Wet and glossy surfaces are flagged, not hidden

The site says depth degrades on wet and reflective surfaces and handles that with per-frame confidence maps that mask low-confidence regions. Fresh paint, primer and stain are wet surfaces, so the mask matters here.

03

Hands that survive the handle

3D hand pose carries a per-joint visibility flag, so a finger hidden behind a brush handle, a roller frame or a spray gun grip is flagged as hidden rather than silently guessed.

04

Several streams in one container

MCAP stores multiple channels of timestamped, pre-serialized data, so a stereo pair, hand pose and IMU can share one file on one log-time axis. Which streams go in the file is set in the skill spec.

Definition

What is stereo painting and coating data?

It is first-person video of a person applying a material to a surface, recorded from their own point of view with two calibrated cameras and with hand pose and sensor streams alongside. The tasks are the ones the site’s catalog lists for painting, priming, cut-in and staining. Stereo describes the capture, and MCAP describes the container. They are separate choices.

The site does not state that stereo is already running on these rows. The catalog lists a head-mounted phone or a multiview rig as the capture setup, and a stereo pair is a capture choice agreed in the skill spec and confirmed on a Spec Pilot. The data is human capture by paid, consented contributors, not robot or teleoperation data. Firsthand is not affiliated with Foxglove or the MCAP maintainers.

Difference

How is this different from the egocentric painting, surface finishing and layout marking pages?

The egocentric painting and coating page covers the tasks: the catalog rows, the labels, the privacy steps and what that page does not state. The stereo surface finishing page covers nine rows across sanding, drywall and painting, and the stereo layout marking and taping page covers measuring, marking, taping and masking. This page does not repeat them.

It narrows to the painting and coating rows only, and asks what a painting-robotics or finishing-automation lab needs from a stereo capture of them: the surface geometry around an edge, the hand on the tool, the failure modes of a wet coat and the container the data arrives in. The rows are the same as on the sibling pages and the claims are as limited. This page states no paint type, coverage, film thickness or finish-quality figure, because the site states none.

Catalog rows

Which catalog rows does stereo painting data map to?

Four rows count. In the active construction site environment the catalog lists "Painting & Priming", which masks edges, rolls primer and paint onto walls and cuts in corners with a brush, and "Prime and paint interior walls using rollers and brushes", which rolls primer then paint and brushes cut-in at edges and trim. The trades workshop bench lists "Roll + cut-in paint", which rolls a panel and cuts in edges. The carpentry and furniture workshop lists "Staining & Finishing", which applies stain, sealer or lacquer with rags, brushes or a spray gun and sands between coats. The first table below reproduces each as the catalog states it.

Statuses range from Ready to deploy and Active collection to Available on request, and the bench row is recorded with a multiview rig and handheld grippers instead of the phone or multiview rig used on the others. Canvas painting and mural work in the art studio are artistic rows and are covered on the egocentric painting page, not counted here. The site states no paint type, tool model, wall size or surface material for any row.

Why stereo

Why capture painting and coating work in stereo?

Painting is about the state of a surface: whether an edge is clean, whether a corner is covered, whether the roller has left the wall wet or dry. A stereo pair recovers depth from the calibrated frame pair rather than from a standalone depth sensor, so the form of the wall, the corner and the trim sits in the same frame as the hands and the tool. The site gives no depth accuracy figure for these rows and no finish-quality label, so what a buyer does with that depth is their pipeline’s question.

A cut-in line is a good test of why geometry matters. The brush follows the meeting of two surfaces, a wall and a ceiling or a wall and trim, and the position of that edge in three dimensions is what a policy has to follow. A flat RGB frame shows the edge as a colour change. A stereo pair adds where the two planes actually sit. The site does not state a cut-in accuracy figure and promises none.

Capture setup

What does the capture setup look like, and what is not stated?

The site describes two stereo setups and does not say which one a painting order uses. The hard-environments stack is a global-shutter 4K/60 head camera with a 120° lens, two 1080p/60 wrist cameras, a depth sensor at 848×480 and 30 fps, and 200 Hz 6-DoF IMUs. The off-the-shelf stereo head rig, dataset 06, is dual fisheye cameras at 1080p per eye, a 62 mm baseline, per-unit calibration, a 9-axis IMU and hand-tracking output.

Which rig, resolution and streams a painting order uses is Not stated on the site, and the second table below sets what is stated beside what is not. Intrinsics and extrinsics are re-solved at the start and end of every session, an episode is accepted only if RMS reprojection stays under 0.28 px, and streams are hardware-triggered onto one clock with a 2.0 ms cross-stream ceiling.

Hand pose

What does the operator’s hand pose show on a brush, roller or spray gun?

Hand pose is delivered for both hands, as 21 joints per hand, each with a visibility flag. On a painting task that is the label that carries how the hand sits on a brush handle, how the other hand steadies a roller frame or a tin, and how the grip changes between a roller pass and a cut-in stroke. The site’s tool use page says grip changes live in finger-level detail that RGB video alone cannot resolve, which is the reason hand pose sits beside the video.

Contact events mark the moment the hand meets an item. The site does not say whether a roller, a brush, a paint tin, a masked edge or the wall counts as the item, so the spec is the place to settle what a contact event means for your task. A spray gun is named in the wording of one catalog row, "Staining & Finishing", and nowhere else. The site states no spray pressure, nozzle, booth or industrial finishing line, so spray work is a spec and Spec Pilot question, not a stated capability.

Failure modes

What goes wrong when you record painting in stereo?

Wet and reflective surfaces are the first risk. Fresh paint, primer, stain and lacquer leave wet, glossy surfaces, and the site says depth degrades on them. Confidence maps mask the low-confidence regions, and an episode is rejected when more than 35 percent of depth pixels in the manipulation region are invalid. The site does not say how depth behaves on a particular fresh coat, so this page promises no figure. The statement that painted and oily surfaces absorb a depth projector pattern is made for under-vehicle capture only, and it is not extended to walls here.

Hands are the second. The tool sits against the surface and the fingers wrap it, so the contact point is often hidden. The visibility flag on each joint is the answer the site gives, and a spec can also ask for wrist views, so a grip the head camera loses is still recorded. Occlusion by the tool itself is the same problem seen from the other side: a roller and its frame can cover the very patch being coated. The third table below sets each failure beside what the site states about it.

Calibration is the third, because stereo depth is only as good as the rectification behind it. An episode is also rejected when the manipulated object is out of frame for more than 15 percent of it, when sync breaches the ceiling for more than three consecutive frames, when calibration drifts beyond tolerance, or when an undocumented bystander appears, and a reject log ships with every batch. The site does not state a motion blur threshold for fast brush or roller strokes, and no glare figure, so neither is promised here.

MCAP

What is MCAP, per its own documentation?

MCAP is an open source container file format for multimodal log data, supporting multiple channels of timestamped pre-serialized data. It is serialization-agnostic, so messages can be Protobuf, DDS (CDR), ROS, JSON and more. Its design is row-oriented and append-only, it stores schemas alongside the data, and it offers an optional index plus optional LZ4 or Zstandard chunk compression.

Reader and writer libraries exist for C++, Go, Python, Rust, Swift and TypeScript, and the mcap CLI can inspect, merge and split files. The foxglove/mcap repository is MIT-licensed; that is the MCAP project’s licence, not the licence of a Firsthand delivery. The MCAP hub page and the glossary entry cover the format in full.

Streams

Which streams can ship in an MCAP delivery of painting data?

Firsthand offers MCAP delivery, and dataset 06 is stated as shipping as MCAP. For painting work the site states hand pose, a stereo-derived depth stream, IMU, contact events, action segments and per-frame instance masks elsewhere. What it does not state is which of those are channels in an MCAP file, how they are named, what encoding they use or at what rate.

No topic name, message schema or rate is stated on this page, and none should be assumed. Name the streams that matter in the skill spec and confirm them on a Spec Pilot batch. The fourth table below sets each stream beside what the site states about it.

QA and privacy

How do QA, consent and anonymization apply to painting capture?

Validation runs against signed accept criteria written into the spec before capture. Each batch goes through per-batch QA and a reject log ships with it. Only footage that clears the criteria is billed as a validated hour, and rejected items are recaptured at our cost. A human reviewer checks each episode against the task spec. For a painting task, the spec decides what the manipulated object is: the tool, the patch of wall or the panel being coated.

Every contributor signs a written release before capture, and each delivered episode links to that record. At ingest, automated detection finds faces, plates and screens and blurs them irreversibly, and a human reviewer confirms that no un-consented person is identifiable in any frame. Construction sites and shared workshops can have other people nearby, so settle bystander handling in the spec for the setting you choose. The site states no contributor safety protocol and no safety certification for any painting row, and this page describes none.

Scale

How do off-the-shelf stereo data and custom collection combine?

Off-the-shelf covers what is already in stock: the stereo category lists the stereo datasets and hand-tracking video, and only dataset 06 is stated as MCAP. This page does not claim off-the-shelf coverage of the painting rows. Custom collection covers the rest: custom collection at scale through a network of thousands of capture providers, for a consistent, recurring data flow to labs.

Where coverage is 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. The site does not say which applies to the painting rows, so ask when you request the quote. Collections are billed per validated hour, and capture at your own facility is listed as not offered. After the first batch, on-demand top-ups run against the same accept criteria, so you can add surfaces, tools or steps without rewriting the spec.

Ordering

How do you order a stereo painting and coating dataset?

Describe the painting steps and their order, what counts as a completed pass, the surface and the setting, and the variation your pipeline is missing, such as cut-in along trim or masking an edge. Then name the streams you want in the file, the topic naming and message encoding your reader expects, whether calibration ships inside the file or beside it, and whether MCAP is the only delivery or sits beside RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd.

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 fifth table below shows what each spec element decides.

Not stated

What does a stereo painting collection not include?

Where this site does not state something, this page says Not stated rather than filling the gap. There is no listed label for paint or finish type, coverage, coat count, wet-film or coating thickness, stroke direction, surface-prep state or finish quality, no force or tactile stream, and no paint, tool or surface specification. There is no spray booth or industrial finishing claim, no ventilation, PPE or safety guidance, and nothing here claims a training outcome or a model improvement.

The tradeoff to plan for is the embodiment gap between a human holding a brush or roller and a robot platform working a surface, which retargeting or pairing with robot data has to close. Counts of contributors, hours and tasks are set in your skill spec.

At a glance

What you get.

Catalog rows
Four rows: Painting & Priming, Prime and paint interior walls using rollers and brushes, Roll + cut-in paint, Staining & Finishing; status and skill as listed
Catalog capture setup
Phone (head-mounted) / multiview rig; the trades bench row uses a multiview rig with handheld grippers; a stereo pair is agreed in the skill spec
Stereo head rig (06)
Dual fisheye, 1080p per eye, 62 mm baseline, per-unit calibration, 9-axis IMU, hand-tracking output; shipped as MCAP
Hand pose
21 joints per hand with a per-joint visibility flag
Sync
Hardware-triggered onto one clock; 2.0 ms cross-stream ceiling
MCAP topics, schemas, rates
Not stated on the site; agreed in the skill spec
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.

Catalog rows

Which painting and coating rows does the catalog name?

Four catalog rows that name painting, priming, cut-in or coating work, reproduced as the catalog states them.
Task (as listed)Description (as listed)EnvironmentSkill levelCapture setupStatus
Painting & PrimingMask edges, roll primer and paint onto walls and cut in corners with a brush.Active Construction SiteMediumPhone (head-mounted) / multiview rigReady to deploy
Prime and paint interior walls using rollers and brushesRoll primer then paint on interior walls and brush cut-in at edges and trim.Active Construction SiteMediumPhone (head-mounted) / multiview rigActive collection
Roll + cut-in paintRoll a panel and cut-in edges.Trades Workshop BenchEasyMultiview rig + handheld grippersAvailable on request
Staining & FinishingApply stain, sealer or lacquer with rags, brushes or spray gun and sand between coats.Carpentry & Furniture WorkshopMediumPhone (head-mounted) / multiview rigReady to deploy

Stereo capture

What is stated about the stereo capture, and what is not?

Stated items appear elsewhere on this site. Items marked Not stated are settled in the skill spec and are not promised here.
ItemAs stated on this siteStatus
Stereo head rig (dataset 06)Dual fisheye, 1080p per eye, 62 mm baseline, per-unit calibration, 9-axis IMU, hand-tracking outputStated
Hard-environments stackGlobal-shutter 4K/60 head camera, 120° lens, two 1080p/60 wrist cameras, depth sensor 848×480 at 30 fps, 200 Hz 6-DoF IMUsStated
Hand pose21 joints per hand with a per-joint visibility flagStated
Sync and calibrationOne clock, 2.0 ms cross-stream ceiling; calibration at the start and end of each session under a 0.28 px RMS gateStated
Rig used on a painting orderAgreed in the skill spec and confirmed on a Spec PilotNot stated
Depth accuracy on walls, edges or trimNo figure on the siteNot stated
Depth behaviour on a fresh coatDepth degrades on wet and reflective surfaces; no figure for a particular coatNot stated

Failure modes

Which failure modes matter for painting capture, and what does the site state?

Each row separates what the site states from what it leaves open.
Failure modeWhat the site statesWhat stays open
Wet or glossy surfaceDepth degrades on wet and reflective surfaces; confidence maps mask low-confidence regions; episodes are rejected above 35 percent invalid depth pixels in the manipulation regionDepth behaviour on a particular fresh coat
Hand hidden by tool3D hand pose carries a per-joint visibility flag; a spec can add wrist viewsHow often a roller or brush hides the contact point
Tool or patch out of frameRejected when the manipulated object is out of frame for more than 15 percent of the episodeWhat the manipulated object is on a painting task; set in the spec
Sync breach or calibration driftRejected when sync breaches the ceiling for more than three consecutive frames or calibration drifts beyond toleranceNothing painting-specific
Bystander on siteAn undocumented bystander rejects the episode; identifiable un-consented people are de-identified or discardedBystander handling per setting; set in the spec
Glare and motion blurNo threshold statedNot stated

Streams in MCAP

Which streams can be mapped into an MCAP file, and what is stated about each?

The streams are stated elsewhere on the site. How they are laid out as MCAP channels is Not stated and is agreed in the skill spec.
StreamWhat the site statesMCAP channel layout
Stereo pairCalibrated pair; depth recoverable from every frame pairNot stated; agreed in the spec
Depth with confidence mapsStereo-derived depth; per-frame confidence maps mask low-confidence regionsNot stated; agreed in the spec
6-DoF IMU200 Hz on the hard-environments stack; 9-axis on dataset 06Not stated; agreed in the spec
3D hand pose21 joints per hand with a per-joint visibility flagNot stated; agreed in the spec
Contact eventsThe moment the hand meets an itemNot stated; agreed in the spec
Action segmentsstart_ns, end_ns, verb and noun per labeled spanNot stated; agreed in the spec
Instance masksPer-frame masks stored at 848×480 where the spec calls for themNot stated; agreed in the spec

Spec elements

What does each element of a stereo painting spec decide?

A scoping checklist for a custom stereo painting and coating request.
Spec elementWhat it decidesSet
Task and stepsWhich painting step is one action segment, such as mask, roll or cut inIn the spec
Episode boundaryOne coat, one wall, one cut-in pass or one full masking-to-finish sequenceIn the spec
SettingActive construction site, trades workshop bench or carpentry and furniture workshopIn the spec
Capture tierStereo pair, wrist cameras, depth and IMU streamsConfirmed on a Spec Pilot
MCAP topics and encodingWhat your reader expectsSet per program
Calibration deliveryInside the file or beside itSet per program
Delivery formatHow the data is packagedMCAP alone, or beside RLDS, LeRobot, WebDataset, HDF5, zarr or Rerun .rrd
Accept criteriaWhat passes QAReject log per batch
LicenseWho owns the datasetPerpetual, irrevocable, buyer-owned, non-exclusive by default

Example footage

What does egocentric stereo footage look like?

One real clip already published on this site. It is a format and rig example: a head-mounted stereo capture with hands in frame. It is not painting, priming, cut-in or staining, and it does not show a task from this page.

egocentric_stereo_sample.mp4 · head-mounted stereo · hands in frame · 1920 × 1080 web preview · rig example

No painting or coating clip is published on the site, so this is the nearest stereo clip. Request a sample to see delivered files. See stereo sample page, stereo + wrist-cam example videos, request an egocentric data sample.

FAQ

Painting robot training data, answered.

What is stereo painting and coating data?
First-person video from two calibrated cameras of a person priming, rolling, cutting in, brushing or staining a surface, with depth and hand pose alongside.
How is it different from the egocentric painting and coating page?
It covers the same catalog rows. The difference is the capture and the container: a calibrated stereo pair for depth, and MCAP as a delivery format.
Is stereo already captured on the painting rows?
Not stated. The catalog lists a head-mounted phone or multiview rig, and a stereo pair is agreed in the skill spec and confirmed on a Spec Pilot.
Is spray painting covered?
Not as a stated capability. One catalog row, "Staining & Finishing", names a spray gun among its tools, but the site states no spray pressure, nozzle, booth or industrial finishing line, so spray work is settled in the skill spec and a Spec Pilot.
Can it be delivered as MCAP, and what is in the file?
Yes. Firsthand offers MCAP delivery. Topic names, message schemas and rates are Not stated on the site and are agreed in the skill spec.
How does depth cope with wet paint and glossy surfaces?
The site says depth degrades on wet and reflective surfaces and handles that with per-frame confidence maps. It states no figure for a particular fresh coat, and an episode is rejected above 35 percent invalid depth pixels in the manipulation region.
Does it include labels for coverage, coat count or finish quality?
Not stated. The site lists no paint-type, coverage, coat-count, thickness, finish-quality or force label. The delivered fields are action segments, hand pose with visibility flags, contact events, objects and instance masks where the spec calls for them.
How fast is a first batch, and who owns the data?
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. The buyer owns the dataset under a perpetual, irrevocable, non-exclusive-by-default licence, with exclusivity available.

Sources

Where is MCAP documented?

Request a custom painting and coating dataset delivered as MCAP.

Tell us the painting steps and their order, the surface, the setting, the streams you want in the file and whether MCAP sits alone or beside a training format. We will quote reach, timeline and price against a written spec, with a first validated batch in a median of 48 hours where coverage is deep.