Skip to content

Building Defect Detection Evaluation Sets

By Noah Loul · Reviewed by Noah Loul · Updated

  1. 01Your data spec
  2. 02Matched to businesses
  3. 03Rights and samples reviewed
  4. 04Licensed delivery
How it works with SourceX: Your data spec → Matched to businesses → Rights and samples reviewed → Licensed delivery.Illustrative

Short answer

A defect detection evaluation set is built from real parts held out by lot, line, camera or time, labeled by a stricter process than production labels, and sized by distinct defective parts per class rather than image count. It includes nominal and borderline parts, is never used for tuning, and is scored per class at a fixed operating point. Use the checklist below to accept or reject an offer.

Start from the claim

An evaluation set proves something specific, and the claim decides what must be held out. "Catches crack_edge on line 3" needs different parts from "works on next quarter's production" or "works on a new part number". Write the claim first, then pick the hold-out axis. The general principle, that evaluation data is held out by site, operator, object or time as the claim requires and never mixed back into training, is set out in training vs evaluation datasets.

ClaimHold out byWhy
Works on future productionTime period and lotMaterials, tooling wear and recipes drift
Transfers to another line or plantLine, plant, camera, lighting recipeModels often degrade across lines; see domain shift across lines
Handles new part numbers or variantsPart numberA model can key on a part's geometry rather than its defects
Survives an imaging changeCamera, lens or lighting setupAppearance shifts without any change to the part
Works from a humanoid's viewA separate robot-captured stratumFixed station views differ from head or wrist views
Catches a rare classDistinct defective parts per classRarity limits what a test can show; see rare defects and class imbalance

Checklist

Thresholds are yours to set. The "pass if" column says what a passing answer looks like, and the last column names the evidence to request.

Independence and custody

CheckPass ifEvidence to request
Split keyNo part serial, lot or near-duplicate frame appears in both training and evaluation dataSplit manifest keyed on serial and lot; duplicate report; see leakage in defect datasets
Tuning isolationNo threshold, augmentation or model choice was tuned on the evaluation setWritten protocol; access log
Label custodyLabels are held by a party that does not train the model, or the set is scored through a serverDescription of who holds labels and how scores are returned
Process matchEvaluation parts come from the production process the model will faceProvenance flag per part: production, seeded or synthetic

MVTec AD 2 shows one custody pattern: it keeps a private test set that is scored through an evaluation server (Heckler-Kram et al., 2025).

Coverage

CheckPass ifEvidence to request
Class coverageEvery class named in the claim has at least the number of distinct defective parts and lots you setPer-class table of images, instances, parts and lots
Nominal coverageNominal parts span lots, shifts, lines and lightingNominal counts per stratum
Borderline partsNear-threshold parts are present and flagged, not discardedCount and examples; see borderline samples
Hard casesStrata exist for the hard cases relevant to your partsStratum list with counts
Defect kindsStructural flaws and logical ones such as missing or misplaced components are both represented where relevantTaxonomy with example images

Public benchmarks suggest which hard-case strata to ask for. MVTec AD 2 contains eight scenarios and more than 8,000 high-resolution images, adding small defects in large images, defects at the image border, high normal variability, transparent and reflective objects, overlapping bulk goods and a test split captured under varied lighting (Heckler-Kram et al., 2025). MVTec LOCO separates structural anomalies such as scratches and dents from logical ones such as missing or misplaced objects (Bergmann et al., 2022); for the logical side on assemblies, see assembly completeness verification.

Labels

CheckPass ifEvidence to request
Gold-label processTwo reviewers label each evaluation part independently and a third adjudicates disagreementsGuidelines, reviewer qualifications, adjudication log
Label basisDefect presence, as an expert sees it, is recorded separately from the plant's dispositionSchema; see inspection images linked to outcomes
LocalizationIf you claim localization, masks or boxes were verified on every evaluation defectMask QA report. MVTec AD, for comparison, supplies pixel-precise ground truth for its test anomalies (Bergmann et al., 2021)
AgreementAgreement is reported per classAgreement table; see inter-inspector agreement
Frozen guidelinesThe taxonomy version is frozen before models are scoredVersion and date; no relabeling after results

Conditions and reporting

CheckPass ifEvidence to request
Imaging metadataCamera, optics, lighting and recipe are recorded per imageMetadata dictionary; see imaging conditions metadata
Drift recordDated changes to tooling, recipes and cameras are listedChange log
Operating pointThe threshold is fixed from validation data before scoring, with a stated cost ratio between misses and false rejectsWritten protocol
Per-class resultsResults are given per class with distinct-part counts and intervals, not as pooled accuracyReport template
False-reject rateReported on nominal parts per stratumNominal results by line and lighting

Rights and reuse

CheckPass ifEvidence to request
Evaluation licenseThe set is licensed for evaluation, with explicit terms on whether it may be used for trainingLicense language; see licensing terms for robotics training data
Public benchmark useYou have checked whether a public set may be used as a commercial acceptance testLicense text. MVTec AD (Bergmann et al., 2021) and MVTec AD 2 (Heckler-Kram et al., 2025) are licensed CC BY-NC-SA 4.0, a non-commercial license. This is not legal advice
ConfidentialityCustomer designs and part markings are cleared or excludedSee confidentiality in defect data

Illustrative evaluation set manifest

# Illustrative only — synthetic identifiers; the buyer sets every count and threshold
eval_set: pv_eval_v0
claim: "Escape rate for crack_edge and missing_thread on line L3, new part numbers, 2026 Q2"
held_out_by:
  line: L3
  part_number: [PN-0000-D, PN-0000-E]
  period: "2026-04-01 to 2026-06-30"
strata:
  nominal: {parts: "buyer-set", lots: "buyer-set"}
  borderline: {flagged_by: "2 of 3 reviewers"}
  defects:
    crack_edge: {distinct_parts: "buyer-set", lots: "buyer-set"}
    missing_thread: {distinct_parts: "buyer-set", lots: "buyer-set"}
    scratch_cosmetic: {distinct_parts: "buyer-set", lots: "buyer-set"}
  robot_view: {camera: head_rgb, purpose: viewpoint stratum, separate_from_station_views: true}
labels: {reviewers: 2, adjudication: third_reviewer, masks: all_defects, guideline_version: tax_v4_frozen}
operating_point: {threshold_source: validation_split, cost_ratio_miss_to_false_reject: "buyer-set"}
custody: {labels_held_by: eval_lead_outside_training_team, access_log: required}
license: {use: evaluation_only, training_use: prohibited, redistribution: prohibited}

Red flags

  • The evaluation set was drawn at random from the same pool as the training data.
  • Sizes are quoted in images only, with no counts of distinct parts or lots.
  • Labels came from the very camera system being evaluated, so the test is circular.
  • Defects are synthetic or seeded and not flagged as such.
  • Everything comes from one lot, one line or one week.
  • Guidelines were revised after model results were seen.
  • No nominal parts, or nominal parts shot under different conditions from the defects.
  • Results are offered as one pooled accuracy figure.

What an evaluation set cannot show

An evaluation set measures detection on the parts and conditions it contains. It says nothing about handling a part, and nothing about the next line or the next camera unless a stratum covers it. A good score on a public benchmark does not stand in for your parts. Evaluation sets also age: when tooling, suppliers or acceptance standards change, a set that was held out is still valid for the old process only. For how the training side differs, see defect image datasets.

Questions to ask suppliers

  1. Can you provide parts or images that have never been used to train or tune any model, and how do you know?
  2. How many distinct defective parts and lots sit behind each class?
  3. Who labeled the evaluation parts, were reviews independent, and is there an adjudication record?
  4. Can labels be delivered separately from images, or held back for scoring?
  5. Are nominal and borderline parts included with the same metadata as defects?
  6. Are physical rejects retained so labels can be re-checked?
  7. What changed on the line during the period: tooling, recipe, camera or lighting?
  8. May the set be used for evaluation only, and for how long?

Discuss your requirements

If you are specifying an inspection test, tell SourceX which defects, parts and conditions your evaluation set needs to cover. SourceX looks for US businesses that hold suitable inspection data, checks the data and the supplier's licensing permissions, and coordinates pricing, allowed uses and delivery in a license. SourceX's role is sourcing, rights review, licensing and delivery coordination; it can also arrange annotation and engage specialist capture partners, scoped case by case. SourceX reviews each request and follows up about potential sources; a request does not guarantee a match.

See also the inspection, defect and failure hub, the humanoid training data guide, the glossary entries for held-out data and eval sets, and the page on private evaluation sets.

Tell SourceX what your evaluation set needs to cover

Sources

Frequently asked questions

How should the claim decide which parts a defect evaluation set holds out?

An evaluation set proves something specific, so the claim determines the hold-out axis. A claim about future production needs held-out time and lots, a claim about a new line needs held-out lines or cameras, and a claim about new part numbers needs held-out part numbers.

How should evaluation labels for a defect test set be produced?

Two reviewers should label each evaluation part independently, a third should adjudicate disagreements, and defect presence should be recorded separately from the plant's disposition. Guidelines should be frozen before models are scored.

Why is a public benchmark's non-commercial license a problem for a commercial acceptance test?

MVTec AD and MVTec AD 2 are licensed CC BY-NC-SA 4.0, a non-commercial license. Buyers should check whether a public set may be used as a commercial acceptance test before relying on it, and whether customer designs or part markings in it are cleared.

Describe the data your robots need

Describe the tasks, modalities and permitted uses you need. SourceX reviews the requirement and follows up about potential sources; a request does not guarantee a match.

Discuss your humanoid training-data requirements with SourceX
See if you qualify