Guide · Inspection technology
How do you stop glare from grading a clean egg as dirty?
Glare is the main cause of false dirty grades, because a bright point looks like a stain. Vigiovo defends itself in two layers: it excludes glare from the dirt measurement and, on video, rejects an egg only when the defect appears in two of three measurements. That lowers the error but does not remove it, and lighting remains the first defence.
Updated · 3 min read
Why does glare get confused with dirt?
Glare is a bright point with sharp edges, and its contrast is similar to that of a stain. Without a rule that separates it from dirt, the camera can measure the brightness and conclude that the egg is dirty.
Diffuse lighting reduces the chance of glare appearing, but it does not remove it. A wet shell, the turning of the egg on the conveyor and small changes in light keep creating highlights. That is why the software also needs rules to separate glare from dirt.
How does Vigiovo keep glare from becoming a stain?
Vigiovo uses two independent defences. The first is exclusion: glare is removed from the dirt measurement, and the dirty area is calculated without it.
The second is voting. On video, each egg is measured three times as it passes the camera, with at least half a radius of travel between measurements. Rejection happens only when the defect appears in two of the three.
Glare that exists for a single frame disappears in the vote, because it does not repeat across the three measurements. Glare that stays in the same position can appear in two measurements, and then it counts in the decision. So voting reduces the error without eliminating it.
Which signs show that a dirty egg is glare?
Review a sample of the eggs marked dirty and look for the signs in the table. They do not prove the cause on their own, but they show where to start.
| Sign | Likely cause | What to do |
|---|---|---|
| The stain moves when the egg turns | Glare on the shell | Review the light and the surfaces around the conveyor |
| The same stain appears on many eggs, at the same point | Fixed glare, dust or dirt on the lens | Clean the lens and the diffuser, then repeat the sample |
| The stain appears only in part of the shift | Outside light or lamp variation | Block the outside light and lock the camera exposure |
| The review confirms that the egg is clean | Measurement error | Adjust the light first, and only then the thresholds, using labelled eggs |
Real dirt stays stuck to the shell and does not move when the egg turns. That difference is the simplest way to separate the two cases during review.
How do you adjust the system without hiding the problem?
Fix the cause before changing the dirty-area limit. Raising that limit reduces false dirty grades, but it also lets real dirt through, and the error simply moves to the other side.
Use a sample of eggs labelled by manual review to measure how many dirty grades were false before and after each change. The full method is in calibrating with labelled eggs. Record every change to the light or to a threshold, with its date.
Frequently asked questions
How do you tell whether a dirty grade is glare?
- Review the image and check whether the mark moves when the egg turns. Glare shifts with the curve of the shell, while real dirt stays stuck to the egg. If most of the dirty grades in the sample are glare, treat the light before making any software adjustment.
Should I raise the dirty-area limit to reduce false dirty grades?
- Not as a first step. A higher limit reduces false dirty grades, but it also lets real dirt through. Fix the cause, the light or the lens, and only then recalibrate the limit with labelled eggs.
Why does video handle glare better than a single image?
- On video, each egg is measured three times in different positions, and rejection requires the same defect in two of them. A single image has no second measurement, so glare weighs more in the decision.
Sources
How Vigiovo helps
Vigiovo grades eggs on the conveyor as clean, dirty, cracked or unverified, in real time, with deterministic computer vision: every decision comes with the measurements behind it, on an ordinary CPU.