Skip to content
LexDataLexData
PlatformIndustriesCustomers
DocsThe Field GuideBlogWhy models drift
AboutCareersSecurityContact
Log inStart now
← All posts

Industries · 7 min read

Body-in-white inspection with a station camera on unpainted steel

Dents on a bare body shell hide in the reflections. Masks give the extent, a second pass decides reportable, and a tightened tolerance is a spec change.

Summary

This post takes a station camera at the end of the body shop, where the welded shell has no paint on it yet, and works through finding dents on steel that reflects every light in the building. It concludes that the detector should find every candidate and a second pass should decide which are reportable, so that a tightened tolerance changes the second pass and leaves the detector alone. It is for body shop quality and manufacturing engineers.

Finn Ellingwood · Engineer · Sep 25, 2026

Robotic weld cell with a metal part on the fixture, generated scene with detections from our model

The body shell leaves the framing station at the end of the body shop as bare steel, a few hundred spot welds holding it together, on its way to the paint shop. Every dent it carries will be sealed under primer there and found by a customer. The inspector at station 9 walks the shell with a gloved hand and a highlight board, tilting the board so the reflections slide across the panel, because a dent shows as a kink in a reflection long before it shows as a dent.

The camera at the station is trying to do what the highlight board does, on every shell, without a hand on the steel.

Bare steel reflects the building and the dent hides in the reflection

Unpainted steel is a mirror with a texture. The station camera sees the roof lights, the crane rail, a passing forklift and the inspector's hi-vis, all reflected in the door skin, and every one of those reflections has edges that a detector could take for a dent. The body has curves the designer put there on purpose: a swage line, a feature line along the sill, the crown of the roof. In a frame those look like what a dent looks like, a place where the reflection bends.

The first job is the light. A station that works has its own light, arranged so that the reflection in the panel is a known pattern, stripes or a grid, and a dent is a place where the known pattern breaks. The building's reflections are drowned out by it. The inspector's board did the same thing by hand, one small patch at a time, and the fixed light does it for the whole panel in one frame.

The second job is the frames. They come from the camera at station 9, on real shells, with the fixed light on and the forklifts going past, because a model trained on shells photographed in a studio has learned a body shop that does not exist.

Object detection finds the candidates and a mask gives the extent

Every place where the pattern breaks gets a box. That is the detector's whole job at this stage, and it is tuned to miss nothing, which means it will box the feature line along the sill on every shell until it has seen enough of them to learn the difference. You type the class once, Lexi proposes a box on every break in the pattern on every frame, and the inspector checks them. The inspector's corrections on the feature lines are what teach the model that a designed contour is not a dent.

A box says where. Whether a dent is reportable depends on how big it is and where it sits, and the box does not carry the size. A mask over the dent does, and on the panels where the customer's spec is written in millimetres of extent the mask is the label to use. The surface defect detection use case makes the same argument for any part where the disposition is a severity call: severity is size and location, and only an outline carries the size.

Masks cost more to label than boxes. The honest way to spend that cost is to box everything and mask only the classes whose disposition is decided on extent, which on a body shell is dents and not, for instance, a missing weld.

A second pass decides which candidates are reportable

The detector, tuned to miss nothing, finds more than the inspector would report. Small marks that will vanish under primer, a scuff from a fixture pad, a dent on a face that will be hidden by trim. Sending all of those to the paint shop as defects would stop the line for shells the inspector would have passed.

So the pipeline has a second stage. For each candidate the detector found, the second pass looks at the crop, the mask extent, and the position on the body map, and decides reportable or not against the rules written down by the quality engineer. Extent over a written limit on a class A surface is reportable, anything on a hidden face is not, and a mark inside a weld flange zone is a different class entirely. The candidates that land between the rules go to a person with the frame, the mask drawn on it and the rule that could not decide.

The split earns its keep on the day the rules change. The detector is trained on what a break in the pattern looks like, which does not change. The second pass is written in the plant's own terms, which do.

In our manufacturing work the inspection models hold 99%+ accuracy maintained in production, and on a body shell that figure describes the detector finding the dents an inspector would find, measured against the inspectors' own verdicts at the station.

The frame with the mask goes to the inspector who would have used the board

A reportable dent produces a rule written as a sentence, with a severity and a cooldown, approved before it goes live: a reportable dent on a shell at the framing station, high, to the station screen and the body shop lead in Slack. What arrives is the frame with the dent outlined and its position on the body map, so the person at the station goes to the panel rather than to the shell.

LexData takes the station model through its whole life. You type what to look for, Lexi puts a box on every frame, and a person checks each label before anything trains on it. The model then watches the station camera, in the cloud, on your servers, or on a runner beside the recorder. Frames it is unsure of come back to a person, the corrections retrain it, and the new version replaces the old one with no downtime. On a body shop station the doubted frames are the feature lines and the fixture scuffs, and the inspector's verdicts on those are what the next version learns.

One aside. The highlight board is still on its hook at the station, and the inspector reaches for it on the shells that come back for review, because a reflection moving under a hand is still the quickest way to settle whether a mark has depth.

A tightened tolerance is a spec change, and the detector is not what changed

The customer's spec for the door skins tightens in March. A dent that was under the limit last month is over it this month, and every shell that used to pass with that dent on it now has to be reworked. The frames look exactly the same. The detector finds the same dents in the same places.

The drift catalog calls this a spec change: the pixels are identical and every label that said "not reportable" is now wrong. Because the detector and the second pass are separate, the fix is a number in the second pass, changed on the day the spec arrives. A pipeline that trained one model to output reportable or not would have to be relabeled and retrained, and the old version would go on passing shells in the meantime.

The signal, if the change goes unrecorded, is the correction rate. The inspector starts overriding the station's verdict on shells it passed, the override rate climbs in the review queue, and someone asks what changed. My own view is that the second pass should read its limits from the same document the customer's spec lives in, however awkward that is to wire. A number copied by hand into a rule is a number that will be wrong the week the spec moves. How the rules attach to the station camera is in the monitoring doc.

See it on your own footage.

Start with your footage

More in Industries

Industries · 7 min read

Counting the screws in a kit with object detection over the bench

A camera over the kitting bench counts every screw and bottle one box at a time. Exact for kits, a band for cases, and a half-hidden item is a written rule.

Rajiya Sultana · Sep 25, 2026

Industries · 7 min read

Automated water meter reading with a camera in the vault

Ten digit classes in a fixed row turn a truck roll into a frame. A rolling digit and condensation on the glass are the frames that come back to a person.

Stephen Biswas · Sep 25, 2026

Industries · 7 min read

Computer vision in automotive manufacturing, from the body shop to final inspection

Welds in the body shop, runs in the paint shop, a missing clip at trim, on cycle times in seconds. A model-year change is the day the model needs new frames.

Ayman Quadir · Sep 25, 2026

LexData
LexData

Product

  • Platform
  • Industries
  • Use cases

Resources

  • Docs
  • The Field Guide
  • Blog
  • Why models drift

Industries

  • Energy & utilities
  • Oil & gas
  • Agriculture
  • Manufacturing
  • Insurance
  • Retail
  • Robotics

Company

  • About
  • Customers
  • Careers
  • Contact

Trust

  • Security
  • Privacy
  • Terms

Stay updated

What we learn running vision models in production.

See everything.
Miss nothing.

Stay updated

What we learn running vision models in production.

Terms of use & Privacy policy

© 2026 LexData Labs · All rights reserved