Industries · 6 min read
Package damage detection with a camera at the packing station
A camera at the packing station, five classes of damage, and an alert with the frame attached so the station lead pulls the box before it ships.
Summary
This post sets up package damage detection at a parcel packing station, from the five classes and the threshold to the alert and what happens to the frames the model doubts. It concludes that the detector is the easy part, and that the station's own frames and the lead's dismissals are what make the second month better than the first. It is for fulfilment and logistics teams with a camera over the outbound belt.
Sheikh Srijon · GTM Lead · Sep 23, 2026

Packing station with a crushed carton flagged, generated scene with detections from our model
The 7 pm wave at packing station 14 is the busy one. Boxes come off the taping machine, get a label, and go onto the outbound belt at a rate nobody can look at closely. A carton with a crushed corner goes past. So does one with a wet patch on the base from a pallet that sat under a leaking roof. Both ship, and both come back three weeks later as a return, a refund and a support ticket.
A camera over the station does not fix the leaking roof. It puts a box around the wet patch while the carton is still on the belt and sends the frame to the person who can pull it.
Five classes, each with a sentence that says what counts
The classes are the first decision, and the one worth writing down before anyone labels a frame. A workable set for station 14 is small: box, open box, holed, wet, and damaged label. The box class is the anchor. Finding the carton first gives the model a region to judge, so a wet floor or a torn sleeve of tape on the bench is not mistaken for damage on the package.
Each class needs a sentence beside it. Is a flap lifted at one corner an open box, or only a carton with the seal broken? Does a faint ring on the base count as wet, or does wet mean staining that has soaked through? How much of a label has to be torn before it is a damaged label? Two people labeling without those sentences draw two different datasets under the same class names, and the model learns the blur between them.
My own view is that the wet class earns its place more than any other, because wet is the damage a customer photographs.
The DETR-style detector is the easy part of the job
Any modern detector will learn five classes of package damage from a modest set of frames, whether the architecture is a DETR-style transformer or a single-shot design, especially when it starts from weights trained on general footage. The choice matters far less than the frames it learns from, however enjoyable the architecture arguments are.
What makes the task hard is the station. Boxes move, so frames blur. Tape catches the overhead light and looks like a wet patch. Labels sit in different places on different carton sizes. The first version is trained on frames from that camera, at that height, under that light, at the belt speed the station actually runs, and it is treated as a starting point.
A miss costs more than a false alarm, so the threshold sits low
The two mistakes are unequal. A false alarm costs the lead at station 14 a few seconds looking at a carton that was fine. A miss costs a return, a claim and a customer. So the threshold sits low on purpose: the model is set to catch anything that might be damage, and the person absorbs the false alarms.
That is a deliberate trade and it is the wrong one on some lines. Where a false reject stops the belt, precision matters more. At a packing station before dispatch, where a person can check a flagged box in the time it takes to lift it, recall wins.
The alert carries the frame and the station number
The alert is a rule written as a sentence, with a severity and a cooldown, approved before it goes live: any holed, wet or open box at station 14, critical, sent to the station lead in Slack with the frame attached. The frame carries the boxes drawn on it and the station identifier, because "damage detected" without a where is something nobody can act on. The lead sees the carton, walks to the belt, and pulls it.
The cooldown does a quiet job. When one station starts producing the same alert every few seconds, the cause is usually a camera knocked sideways or a light that failed. A cooldown of a few minutes stops the lead being paged twenty times for one problem, and the burst itself is worth a look at the camera.
Every dismissed alert and every return is a labeled frame
The first model is never the last one. What matters is that every mistake becomes a labeled frame without anyone building a process for it. A frame the model was unsure of comes back to a person. An alert the lead dismisses as a false alarm is a verdict on a frame. A damaged carton that got past the camera and came back as a return is a frame worth finding and labeling.
LexData takes the damage 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. Package damage is a long-tail problem, and a carton shape or a kind of tear that was not in the first set will arrive; the corrections are how it gets learned.
The second station needs its own frames before it goes live
Station 14 works. Station 9 has the camera a hand's width lower, a different belt colour and a skylight that throws afternoon sun across the frames. A model trained at one station does worse at the next from the first day, and it is tempting to conclude the model is bad when it is doing exactly what a model trained on one station does. The drift catalog calls this a new site coming online, and the cure is a short window of frames from the new station, labeled and folded in before the station goes live.
Station identifiers are what make the rest possible. An alert from station 9 goes to the lead for that area. A count by station, by shift and by class turns a stream of alerts into a picture of where the damage is happening.
That count is the kind of thing that gets a roof fixed. Facilities looks at the pallet bay because the wet alerts cluster on the stations nearest it, which is not what anyone bought a camera for.
The same pattern runs on the line itself. Package and label inspection at line speed is the same question with a tighter clock, and the packaging redesign nobody tells the model about is the thing that breaks it. A good carton starts failing on the day of the artwork changeover, the station lead overrides the alert, and the override is the signal that the model needs to see the new box.
See it on your own footage.
Start with your footageMore in Industries

Industries · 8 min read
Computer vision for construction site safety, a warning before the worker and the excavator meet
A pole camera boxes people and machines, draws a danger zone that moves with the excavator, and sends the frame when someone walks into it.
Ayman Quadir · Sep 23, 2026

Industries · 7 min read
Computer vision in agriculture, from the sprayer boom to the packing line
Weeds against beet rows at dawn, lesions on a leaf, bruises on a packhouse belt, and labels that go stale as the season turns.
Ayman Quadir · Sep 23, 2026

Industries · 6 min read
Computer vision applications on a factory floor, four jobs for the cameras already there
Defect detection, assembly verification, safety and inventory on one plant's cameras, with cosmetic against functional written into the labeling schema.
Ayman Quadir · Sep 23, 2026