Video Data Quality Assurance: 12 Checks Before a Training Dataset Ships

Most dataset defects are baked in at capture, long before anyone draws a label. Twelve checks for raw footage, with how each one is measured and what happens to the footage that fails.

12 min read
Camera monitor displaying recorded footage during review, representing video data quality assurance before a training dataset ships

Why video data quality assurance has to happen before annotation

Video data quality assurance is the set of checks that decides whether collected footage is fit to become training data. Annotation QA comes later and asks whether the labels are right. Raw-footage QA asks the earlier question of whether the video can support any label at all. Missing frames or cameras that disagree on time can rule that out, and so can a participant who went off script. Footage of someone who never consented cannot be used, however good it looks.

The cost curve is steep. A dropped-frame problem caught on capture day costs a rig fix and one re-shot session. If it surfaces after annotation, the labelling spend is wasted and you pay again for recollection and relabelling. Found after training, it also burns a model run and weeks of diagnosis. The 12 checks below are the ones that matter most in robot learning and embodied AI programs, multi-camera setups included. Most can be scripted, though a few need trained reviewers.

How to read each check: catch, measure, threshold, disposition

Each check in a data collection QA checklist should answer four questions. What defect does it catch? How is it measured, and by whom? What number separates pass from fail? What happens to footage that fails? Without a written threshold, pass or fail gets settled by argument at delivery, and without an agreed outcome the next argument is about who pays for the re-shoot.

Failing footage goes one of four ways. Repair means fixing it without new capture, for example by re-muxing a container or rebuilding metadata from logs. A contained defect, like a short blur span, gets a frame-level tag so training can mask it. Episodes that cannot support the intended use are recollected. Anything with an open consent or integrity question is quarantined and kept out of every delivery. The thresholds below are typical starting points rather than standards. Set yours in the pilot and adjust them before production volume makes changes expensive.

Checks 1-2: Format conformance and frame integrity

Check 1: Resolution, frame rate and codec conformance. The usual failure is footage recorded at the wrong settings: 1080p instead of 4K, 29.97 fps instead of 30, the wrong codec or bit depth, or variable frame rate from a phone camera adapting to low light. ffprobe pulls the stream parameters (resolution, codec, pixel format, frame rate) from every file, and a script compares them to the spec manifest. Pass means an exact match, plus a bitrate floor so compression does not erase fine detail. Container problems can be repaired by re-muxing. Wrong capture settings cannot. Upscaling or frame interpolation would invent pixels for the model to learn from, so those episodes are recollected.

Check 2: Dropped and duplicated frames. Frames go missing when storage cannot keep up or a device throttles under heat. USB cameras sharing bandwidth do it too. Some encoders then repeat frames to hold a constant rate, which hides the gap from a simple frame count. So the check works from timestamps and flags any interval longer than about 1.5 times the nominal frame period. It also compares the decoded frame count (ffprobe -count_frames) with duration times frame rate, while FFmpeg filters such as freezedetect and mpdecimate find frozen or repeated content. A typical limit is under 0.1% dropped frames per episode, with no gap over two or three frames inside the task window. Gaps outside the task window are trimmed. A gap during a grasp means recollection, and a device that keeps dropping frames comes out of the field.

Checks 3-5: Time sync, image quality and calibration drift

Check 3: Multi-camera and sensor time sync. Two things go wrong here: fixed offsets, whether between cameras or between video and the IMU or force/torque streams, and clock drift over long sessions. A force spike logged frames away from the visible contact teaches a policy the wrong cause and effect. Hardware triggering or PTP is the first defence. QA then verifies it by recording a visible sync event, such as an LED flash, at the start and end of each session and measuring the offset at both. Half a frame period is a common limit (roughly 16 ms at 30 fps, 8 ms at 60 fps), with tighter values for contact-rich work. If the offset is constant and measured, it can be corrected and documented. Drift of unknown shape cannot, and the session either drops out of multi-view use or is recollected.

Check 4: Exposure, motion blur and focus. Fast hands under a slow shutter, a blown-out window, autofocus hunting or a smudged lens can each ruin the frames at the critical moment. Focus and blur are scored per frame using the variance of the Laplacian, a focus measure described by Pech-Pacheco and colleagues that drops as edges soften. For exposure, the score is the share of pixels clipped at black or white. Because Laplacian values depend on resolution and scene texture, the floor is calibrated per rig on reference clips. One typical rule flags spans with more than 5% clipped pixels for over a second, or a blur score under the floor on more than 10% of task frames. Short spans get tagged. If the critical moment itself is unreadable, the episode is recollected.

Check 5: Calibration drift in intrinsics and extrinsics. Intrinsics go stale when a lens or focus setting changes. Extrinsics shift when something moves: a bumped tripod, a loose wrist camera, a head-mounted rig that slips. The standard approach builds on Zhang's planar-target method. A checkerboard or ChArUco board is captured at the start and end of each session, and reprojection error is computed for both. Well-calibrated cameras typically land under about 0.5 pixel RMS. The change between the two readings tells you more. If the camera has moved beyond tolerance (usually a few millimetres and a fraction of a degree for 3D work), the session cannot be trusted for triangulation, though it may still be usable as single-view 2D data.

Stereo rigs need one more check on top of Check 5. Depth comes from disparity, and the baseline and relative rotation between the two cameras are what convert one into the other. QA therefore also measures rectification quality, usually as the vertical offset between matched features in the rectified pair, and flags sessions where it creeps above roughly one pixel. A head-mounted stereo camera can look fine in each view and still have shifted relative to its twin. The depth it then produces is quietly wrong.

Checks 6-8: Episode completeness, protocol adherence and coverage

Check 6: Episode completeness and boundaries. A flat battery or a full card cuts episodes short, and streams go missing. Boundaries go wrong too: an episode starts mid-reach or stops before the task finishes, or two attempts end up merged in one file. Scripts confirm that every required stream is present for the full episode and that duration falls inside the expected band. A quick human pass then checks that each episode opens with hands at rest and closes after completion, with an idle buffer of one to three seconds. Merged episodes are re-segmented; truncated ones are recollected.

Check 7: Task and protocol adherence. Scripts handle this one worst, because the defects are behavioural: the wrong object or hand, a skipped step, an improvised grasp, an egocentric wearer looking away from the workspace, a failed attempt logged as a success. Trained reviewers work from a protocol checklist, with object detection confirming the right items are in frame. They typically review 100% of pilot episodes and each new participant's first sessions, then drop to a 10-20% stratified sample once adherence is stable. 95% adherence per batch is a common acceptance level, and participants below it are retrained. Off-protocol episodes are recollected. Genuine failed attempts are often kept and labelled when the program wants recovery data.

Check 8: Scene and participant coverage against quota. A dataset can pass every per-episode check and still be wrong in aggregate: too many bright kitchens, too few left-handed participants, or three prolific people contributing a third of all hours. Coverage is computed from metadata against the quota matrix in the spec. Typical tolerances hold each cell within about 10% of target and cap any one participant at a small share of hours, often 2-5%. Footage over quota is held back from delivery, and under-filled cells get targeted sessions in the next schedule.

Checks 9-10: Metadata validity, PII and consent verification

Check 9: Metadata completeness and schema validity. Typical failures are missing participant IDs, blank environment tags, camera serials that do not match the calibration record, wrong time zones, and free text in fields that should be fixed lists. This check is fully automated. Every sidecar file is validated against a JSON Schema and checked for referential integrity, so participant IDs resolve to the consent registry and device serials to the calibration registry. Nothing ships below 100% validity. Most failures can be repaired from session logs. Episodes whose metadata cannot be rebuilt are quarantined, because untraceable footage cannot be defended in an audit. For the fields buyers will ask about later, Datasheets for Datasets is a useful reference.

Check 10: PII and consent verification. There are two kinds of problem. One is identifiable content in frame: bystanders, faces in mirrors or window reflections, phone and laptop screens, documents, addresses, vehicle plates. The other is footage from participants whose consent is missing, expired, out of scope or withdrawn. Face, text and plate detectors flag candidate frames, but a human reviewer makes the call, since detectors miss partial faces and reflections. Every participant ID is matched to a valid consent record. Delivered footage must contain zero unconsented identifiable people. Where blurring a flagged region leaves the task region intact, it is blurred; otherwise the segment or episode is cut. A withdrawal triggers deletion across every copy, backups included, with a logged confirmation.

Checks 11-12: Duplicates, file integrity and delivery structure

Check 11: Duplicate and near-duplicate episodes. Exact duplicates come from double uploads and re-exports. Near-duplicates are harder to spot: a participant repeats an identical setup dozens of times or, in crowdsourced programs, resubmits footage with small edits. Either way the hours go up and the information does not. Checksums catch exact copies. For near-duplicates, perceptual hashes such as pHash or dHash are computed on frames sampled across each episode and compared by Hamming distance, with embedding similarity added for scene-level repetition. A common review trigger is a distance under roughly 8-10 bits out of 64 on most sampled frames. One copy is kept. A participant caught resubmitting deliberately is removed.

Check 12: File integrity and delivery structure. The failures here are mundane: transfer corruption, partial uploads, wrong directory trees, naming errors, missing sidecars. A SHA-256 manifest is generated at ingest and verified after every transfer, including by the buyer on receipt. A checksum only proves the file matches what was ingested. A full decode test, for example ffmpeg -v error -i input -f null -, surfaces the corrupt packets a checksum cannot. A script validates folder structure and file names against the spec. The bar is a 100% checksum match and zero decode errors. Failures are re-transferred from the source copy, or recollected if the source itself is corrupt.

The data collection QA checklist at a glance

The same 12 checks in one table. The thresholds are defaults to test in your pilot, and none of them is an industry standard.

Video dataset QA: 12 checks, review method and typical thresholds

CheckReview methodTypical thresholdFailing footage
1. Resolution, fps and codecAutomated (ffprobe)Exact match to spec, bitrate above floorRe-mux or recollect
2. Dropped and duplicated framesAutomated (timestamps, FFmpeg)Under 0.1% dropped, no long gaps in taskTrim or recollect
3. Multi-camera and sensor syncAutomated, sync eventsOffset under half a frame periodCorrect offset or recollect
4. Exposure, blur and focusAutomated, human reviews flagsClipping under 5%, blur above calibrated floorTag spans or recollect
5. Calibration driftAutomated (reprojection error)About 0.5 px RMS, drift within toleranceDowngrade to 2D or recollect
6. Episode completenessMostly automatedAll streams present, duration in bandRe-segment or recollect
7. Protocol adherenceHuman review, sampled95% or better per batchRecollect, retrain participant
8. Coverage vs quotaAutomated from metadataEach cell within about 10% of targetSchedule targeted sessions
9. Metadata validityAutomated (JSON Schema)100% validRepair or quarantine
10. PII and consentAutomated flags, human decisionZero unconsented identifiable peopleRedact, cut or delete
11. Duplicates and near-duplicatesAutomated hashing, human checkZero exact duplicatesKeep one copy
12. File integrity and deliveryAutomated (SHA-256, decode test)100% checksum match, clean decodeRe-transfer or recollect

Splitting the QA budget between scripts and reviewers

About eight of the 12 checks run almost entirely as scripts: format, frame integrity, sync, calibration, completeness, coverage, metadata and file integrity. Run them on 100% of footage at ingest, ideally within 24 hours of capture, so a field team hears about a failing memory card or a loose wrist mount before the next session. At that point the participant is still available and the rig and room have not changed.

People are needed for protocol adherence and PII decisions, and to review whatever the scripts flag. A reviewer has to know what a good episode looks like for this specific task. Generic video reviewers do not, and they miss problems like a grasp that succeeds for the wrong reason.

Agree the rework budget before collection starts. When scenario types or participants are new, plan on 10-15% of sessions needing recollection. Once a program is established, the figure falls to single digits.

DataX Power runs managed video data collection programs from capture protocol design through delivery. Our QA engineers are trained on robotics video and review it for temporal consistency, frame quality and task coverage. We handle hardware, participants, consent, QA and delivery end to end, and a pilot specification is usually ready within 5 business days.

Scope a QA-backed collection program

Frequently asked questions about video data quality assurance

Questions data and robotics leads ask when setting QA terms for a video data collection program:

What is the difference between video data quality assurance and annotation QA?
Video data quality assurance checks raw footage before labelling: format, dropped frames, time sync, image quality, calibration, protocol adherence, coverage, metadata, consent and file integrity. Annotation QA checks the labels applied afterwards, using measures such as inter-annotator agreement. You need both. Better labelling cannot fix a raw-footage defect, though, so collection QA has to pass first.
How much of video dataset QA can be automated?
Roughly two thirds of a typical 12-check program can run as scripts on 100% of footage. That covers format conformance, dropped frames, sync offsets, calibration error, metadata validation, duplicate hashing and checksums. Protocol adherence and PII decisions still need trained human reviewers. So do automated image-quality flags, where a person has to judge whether the flagged span actually affects the task.
Should footage that fails QA be deleted?
Not by default. A contained defect can be tagged at frame level and the episode kept. Failed task attempts can be kept as labelled failure or recovery data, and over-quota footage can simply be held back. Delete footage when it lacks valid consent (including after a participant withdraws) or when the contract requires it.
Who pays for recollection when collected video fails QA?
In a managed program the vendor normally pays to recollect anything that fails agreed thresholds, since it controls the rigs and participants and runs the protocol. If recollection is needed because the specification changed after sign-off, that is usually a change order. The split only holds up if thresholds and dispositions are written into the specification before collection begins.
What QA documentation should be delivered with each batch of video data?
At minimum: per-check pass rates, rejected and tagged episodes with reasons, coverage against the quota matrix, sync and calibration logs, consent mapping for every participant ID, and a SHA-256 checksum manifest. Without this report, a buyer cannot audit the dataset later or trace a model problem back to specific sessions.
Data Collection Service

Need the platform layer to make this stick in production? Our Hanoi-based infrastructure team delivers DevOps, FinOps, SecOps, and AI/MLOps for enterprises on AWS, GCP, Azure, and on-premise.

Let's build what's next

Share your challenge – AI, data, or infrastructure. We'll scope your project and put the right team on it.