Quality & validation

Data labeling, quality verification and dataset validation.

A dataset is only as good as the rule it was checked against. Every Firsthand collection is validated against a written acceptance test from the skill spec, labels get a second-reviewer pass, and anything that misses is rejected and recaptured at our cost — with the reject log, reasons included, visible to you.
Review
Second reviewer, sampled or full
Rejects
Logged with reasons
Recapture
At Firsthand’s cost
Billing
Per validated hour
A reviewer at a two-monitor QA workstation checks a video timeline against a spreadsheet of per-clip results.
QA checks each batch against the acceptance test written into the spec, not against a reviewer’s mood that day.

How QA works

What quality verification covers on every collection.

01

A written acceptance test

The skill spec names the exact task, the geometry that must stay in frame, the reject rule and one acceptance test a reviewer can apply, so a batch can be accepted or rejected without a meeting.

02

Second-reviewer label checks

A second reviewer covers a sampled or full pass depending on the annotation’s density and stakes.

03

Reject logs with reasons

Items that miss are rejected and recaptured at no extra cost, and the reject log — with reasons, not just pass counts — is visible to the buyer.

04

Only validated hours are billed

A raw hour of recording and a validated hour are not the same thing. A take that fails QA is not billed; it is rejected and recaptured until it clears the bar or the spec is revisited.

Definition

What is data labeling quality verification?

Quality verification is the step between annotation and delivery where someone other than the original annotator checks the work against a defined rule. Dataset validation widens that check from individual labels to the dataset as a whole: are the right conditions covered, is the timing between streams correct, is the calibration sound, and is every episode licensed and de-identified.

Both only mean something if the rule is written down. If a spec does not define what counts as an acceptable attempt at a task, QA has nothing concrete to check footage against, and a “validated hour” starts to mean whatever a reviewer decides on a given day. That is why Firsthand’s acceptance test lives in the skill spec, agreed before capture starts.

Label QA

How are labels reviewed?

A second reviewer covers a sampled or full pass depending on the annotation’s density and stakes. Dense labels such as per-frame hand joints and instance masks are where errors compound, so the review depth is set per label type rather than applied uniformly.

Reviewers are measured on consistent application of the rule, contributors on usable output, and the buyer pays for data that trains rather than footage that has to be filtered later. Because hand pose carries a per-joint visibility flag, a reviewer can check that occluded joints are marked rather than invented — one of the most common silent failures in pose labeling.

Dataset validation

What does dataset validation check beyond the labels?

Every stream carries its own PTP-domain timestamp, so timing between head video, wrist video, depth and IMU can be verified rather than assumed. Every episode ships its calibration — intrinsics, SE3 extrinsics and the RMS reprojection error, held below 0.28 pixels — so geometric soundness is recorded per episode, not asserted once for the whole dataset.

Coverage is validated against the spec’s condition matrix. Every delivery carries a data card recording which cells were captured and what was rejected, and each episode’s meta.json carries its reject_flags. Consent is validated too: each episode links to a signed contributor release, and faces, plates and screens are detected, tracked and irreversibly blurred at ingest, with a reviewer confirming the result. The de-identification pass fails closed — if a reviewer is unsure a region is fully covered, the episode is held or discarded rather than shipped.

Rejects

What happens to data that fails QA?

It is rejected, logged with a reason and, where the spec calls for it, recaptured at Firsthand’s cost. It is not billed. A reject log is what lets a buyer audit the bar a provider is actually holding, rather than trusting a summary number.

If the same failure keeps recurring, the answer is often to revisit the spec rather than keep recapturing — for example, if the geometry that must stay in frame is impossible to hold in a particular environment. That decision is made with you, and the data card records it.

Buying

How do you evaluate a provider’s quality process?

Ask to see a reject log with reasons, not a pass rate. Ask who writes the acceptance test and whether it is agreed before capture. Ask whether failed items are billed, and whether calibration and sync are recorded per episode. Ask whether consent records are delivered with the data or only held internally.

On a Firsthand custom collection the answers are fixed: a written acceptance test in the spec, a visible reject log, recapture at our cost, per-episode calibration and timestamps, and consent records delivered with the data. First validated batches arrive in a median of 48 hours where coverage is deep and three to four weeks where it is thin.

Checks

What gets verified before delivery

The quality and validation checks every Firsthand episode passes before it ships.
CheckHow it is verified
Task acceptanceAgainst the acceptance test written in the skill spec
Label accuracySecond reviewer, sampled or full pass by density and stakes
Occlusion honestyPer-joint visibility flags checked, not guessed joints
Stream timingPer-stream int64 timestamps in the PTP domain
CalibrationIntrinsics, SE3 extrinsics, RMS reprojection below 0.28 px
CoverageData card of captured and rejected cells
De-identificationDetect-track-blur, reviewer sign-off, fails closed
ConsentEvery episode linked to a signed contributor release

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

Comparison

Raw hours vs. validated hours

What a buyer receives and pays for under each model.
QuestionRaw hoursValidated hours (Firsthand)
What is billed?Everything recordedOnly footage that passes QA
Who absorbs failed takes?The buyer, by filtering laterFirsthand, by recapturing
Is the reject rule written down?Often notYes, in the skill spec
Can the buyer see rejects?RarelyReject log with reasons
Are consent records delivered?VariesDelivered with the data

FAQ

Data labeling and quality verification, answered.

What is the difference between labeling QA and dataset validation?
Labeling QA checks individual annotations against the rule. Dataset validation checks the whole dataset: coverage across conditions, stream timing, calibration, consent and de-identification.
Do you review every label?
A second reviewer covers a sampled or full pass depending on the annotation’s density and stakes.
Do we pay for data that fails QA?
No. Billing is per validated hour. Failed takes are rejected and recaptured at Firsthand’s cost.
Can we see what was rejected?
Yes. The reject log, with reasons rather than just pass counts, is visible to you, and every delivery carries a data card.
How is calibration quality verified?
Every episode ships intrinsics, SE3 extrinsics and its RMS reprojection error, which is held below 0.28 pixels.
Who decides what counts as acceptable?
The acceptance test is agreed in the skill spec before capture, so reviewers apply a written rule.
Are consent and privacy part of validation?
Yes. Each episode links to a signed contributor release, and identifying details are blurred at ingest with a reviewer confirming the result before anything ships.

Sources

Where are the delivery formats documented?

Brief the gap. Get data back fast.

Tell us what your model is missing. 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.