System designHow-to

Conveyor vision duplicate detection with overlapping images

Set conveyor vision duplicate detection using orientation-safe trigger spacing, encoder-compensated matching, and checks that keep adjacent parts separate.

LumaSpec Vision10 min read Share on LinkedIn

On this page 10 sections
  1. 011. Measure the usable field before setting trigger distance
  2. 022. Calculate spacing, acquisition rate, and image sampling
  3. 033. Transform detections into conveyor-fixed coordinates
  4. 044. Separate within-image suppression from cross-frame matching
  5. 055. Set matching gates without merging adjacent parts
  6. 066. Choose where the detection history will run
  7. 077. Verify one accepted target per physical part
  8. 088. Know when overlap and a radius are insufficient
  9. 099. Complete the pre-order and commissioning checklist
  10. 10Questions

Elongated parts create a coverage problem before they create a duplicate problem. Widely spaced conveyor images can miss a complete view of a lengthwise part, while closely spaced images repeatedly detect a crosswise part. The solution is to separate acquisition coverage from target acceptance. This procedure shows how to calculate orientation-safe trigger spacing, associate repeated observations using encoder displacement, and send one target per physical part without combining adjacent products.

1. Measure the usable field before setting trigger distance

Start with the image region where the complete part can be located reliably. Exclude borders affected by distortion, weak illumination, fixtures, or unreliable detection. Measure that usable region in calibrated conveyor coordinates, not just pixels.

Define these application measurements:

  • U: usable field length along conveyor travel.
  • W: usable field width across the conveyor.
  • P: the part's projected length along travel at its current orientation.
  • Pmax: the largest projected length over all permitted orientations.
  • S: conveyor displacement between exposures.

A fully visible part has an eligible center-position interval of length U minus P. To guarantee that at least one exposure falls within that interval, regardless of arrival phase, trigger spacing must not exceed its length.

S <= U - Pmax For an ideal ellipse: P(theta) = sqrt((A × cos(theta))² + (B × sin(theta))²) A = full major-axis length B = full minor-axis length theta = angle between the major axis and conveyor travel

For an ideal ellipse, the maximum projection is A. Other outlines require their own maximum projection; a rectangular part can project farther than its longer side.

How sensor width, working distance and field of view set the focal length Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.CameraField of view (FOV)Working distance (WD)≈ fsensor width slensm = s / FOVf = WD × m / (1 + m)
How sensor width, working distance and field of view set the focal length. Rays from the edges of the sensor pass through the lens and spread to the edges of the field of view. The ratio of sensor width to field of view is the magnification m.

Check transverse coverage separately. Across-conveyor wander and the widest permitted orientation must fit inside W. More frequent triggering cannot recover a part that never fits across the usable image.

The calibration target coverage guide explains why calibration and reliable imaging must cover the actual operating region, including its margins.

2. Calculate spacing, acquisition rate, and image sampling

Consider an illustrative elliptical part with a major axis of 180 mm and a minor axis of 60 mm. Suppose the measured image length along travel is 340 mm, with an excluded border of 20 mm at each end.

U = 340 mm - 2 × 20 mm = 300 mm Pmax = 180 mm Maximum trigger spacing = 300 mm - 180 mm = 120 mm Selected trigger spacing = 100 mm

The selected spacing leaves 20 mm of geometric slack relative to the limiting value. This slack must cover measured trigger-position error, part-size variation, and other uncertainties not already included in the usable-field margins.

When the part travels crosswise, its projected length is only 60 mm. Its eligible center interval becomes 240 mm, so several complete observations are expected. Those observations are useful redundancy, not a reason to increase trigger spacing.

At a belt speed of 500 mm/s, the selected spacing requires:

Trigger frequency = belt speed / trigger spacing = 500 mm/s / 100 mm = 5 Hz Trigger interval = 1 / 5 Hz = 200 ms

Confirm camera acquisition, transfer, processing, and output handling can sustain the required rate. Use the external-pulse frame-rate checks to distinguish requested triggers from accepted exposures.

Sampling also matters. An illustrative object-space sampling target of 0.1 mm/pixel requires 300 / 0.1 = 3000 pixels across the usable length. Covering the entire 340 mm image at that scale requires 3400 pixels along the same direction.

Camera resolution for the smallest feature
Units
Pixels needed
–
Sensor size
– MP
Smallest sensor that fits
–
Pixel on the part
– mm
Pixels across the feature, that sensor
–

Pixels needed = field / feature × pixels per feature on each axis (field incl. margin). The lens must resolve the pixels too: Nyquist = 1000 / (2 × pixel µm) lp/mm.

Find cameras with enough pixels Open the full calculator

At the example belt speed, a 0.2 ms exposure produces approximately 500 × 0.0002 = 0.1 mm of travel during exposure. Treat this as a blur estimate, then verify localization on moving parts rather than relying on arithmetic alone.

3. Transform detections into conveyor-fixed coordinates

Comparing pixel coordinates across frames does not identify duplicates on a moving belt. The same part changes image position between exposures, while different parts can occupy similar image positions at different times.

First transform each detection's reference point into calibrated conveyor coordinates. Let x run across the belt and y increase downstream. Associate every exposure with its encoder position, using documented hardware latching or a validated timestamp-to-encoder relationship.

belt displacement = k × (q - qref) X = x Y = y - k × (q - qref) k = conveyor travel per encoder count q = encoder count associated with exposure qref = common reference count

Under the assumptions of straight travel and no part slip, repeated observations of the same reference point should produce approximately the same X and Y.

For example, suppose a detection moves from y = 80 mm to y = 180 mm while measured belt displacement increases by 100 mm. Its compensated coordinate remains unchanged: 180 - 100 = 80 mm.

Do not substitute an encoder reading taken after image processing. Variable processing delay would then become a variable position error. Handle counter rollover and reverse travel explicitly rather than subtracting raw counters without checking their interpretation.

The scene timing troubleshooting guide covers stale-image and motion-association problems that can resemble faulty duplicate filtering. Keep image identity, exposure time, encoder position, and detection results linked through the processing pipeline.

4. Separate within-image suppression from cross-frame matching

Two filters can both reduce detection counts while solving different problems. Establish which operation your inspection software actually performs before adjusting a radius.

Operation What it compares Appropriate purpose Main failure risk
Within-image suppression Candidate detections from one exposure Remove several model hits on one physical part Combining two nearby parts
Cross-frame association Current detections and retained conveyor-fixed targets Recognize a previously accepted part Matching a new part to an old target
Output acknowledgment Accepted target identity and downstream state Avoid retransmitting or re-queuing an accepted target Duplicate commands despite correct image matching

Tune within-image suppression using images containing both isolated parts and the closest permitted neighboring parts. Then tune cross-frame association using sequences with known belt displacement.

Do not assume a setting named position filter also compensates conveyor motion. Confirm its coordinate system, history scope, and documented behavior. A filter operating only inside the current image cannot solve repeat observations across exposures.

Likewise, a repeated network message is not necessarily a repeated detection. Use a persistent target identifier so the receiver can distinguish a retransmission from a genuinely new target.

5. Set matching gates without merging adjacent parts

Measure association errors before choosing a gate. Run representative parts through the usable field at different orientations, speeds, and separations. Record the distance between observations after encoder compensation.

A workable gate must exceed the observed same-part residual while remaining clearly below separation from different parts. If those populations overlap, a larger radius is not a reliable fix.

For an illustrative dataset, suppose repeated observations differ by at most 2 mm, while the nearest different-part detections remain 25 mm apart. A trial gate of 4 mm is a reasonable starting point for validation, not a universal setting.

Use additional evidence where available:

  • Compatible part class and physical dimensions.
  • A stable reference point rather than a clipped-outline centroid.
  • Orientation interpreted according to genuine part symmetry.
  • Predicted visibility inside the current usable image.
  • One-to-one assignment between current detections and retained targets.

For a symmetric oval, equivalent orientations may differ by 180 degrees. Treat those angles as equivalent only if the inspection and picking process genuinely accept that symmetry.

One-to-one assignment matters when two current detections fall near the same historical target. Do not silently suppress both. Mark ambiguous associations for further observation or controlled rejection rather than inventing confidence.

Retain accepted records until their predicted footprints have left the observation region and bounded processing delays have cleared. Base retention on conveyor position and visibility, not a fixed wall-clock timeout that expires during a belt stop.

6. Choose where the detection history will run

The geometry and association method do not depend on a particular hardware architecture. What matters is access to calibrated detections, exposure-associated motion data, persistent target history, and controlled output behavior.

With area scan cameras, a host application can maintain the history and association logic. Use the camera finder to narrow imaging requirements before selecting an interface or processing arrangement.

The LS-CMR-0053 is an area scan camera candidate for that architecture. Its inclusion here does not establish encoder-latching capability or compatibility with a particular inspection application.

Area scan cameras12 MP GigE area scan camera, IMX226, 1/1.7" rolling shutter, 9 fps (LS-CMR-0053)LS-CMR-0053
Sensor format
1/1.7"
Interface
GigE
Resolution
12 MP
Shutter
Rolling
$560.00View partBuild a system with it

With smart cameras, determine whether the supported inspection environment exposes the required coordinates and history functions. If it does not, an external application may need to perform association.

The LS-SMC-0063 is a smart camera candidate to evaluate. Confirm the required trigger interface, result access, and duplicate-handling workflow before choosing it for this task.

Smart cameras & vision sensors1.6 MP smart camera, 60 fps, 16 mm lens, white light (polarized, transparent light) (LS-SMC-0063)LS-SMC-0063
Interface
GigE
Resolution
Up to 3 MP
$1,110.00View part

For centralized processing, review vision controllers against camera connections, encoder interfaces, application support, and output requirements. Camera ports alone do not establish that the complete association workflow is available.

7. Verify one accepted target per physical part

Use a recorded test sequence with known physical part counts. Track both observations and accepted targets; a low output count alone cannot distinguish successful suppression from missed parts.

  1. Test an isolated part at the limiting orientation. Vary its arrival phase relative to the trigger positions. Confirm a complete, accepted view throughout the permitted placement range.
  2. Rotate the part through intermediate angles. Check that the detected reference point remains consistent as its projected outline changes.
  3. Test closely spaced pairs. Confirm both parts receive separate identities and neither inherits the other's historical record.
  4. Change conveyor speed. Compensated coordinates should remain consistent when exposure-associated encoder positions are correct.
  5. Stop and restart the belt. Retained targets must remain recognizable without being emitted again simply because time elapsed.
  6. Introduce a missed image or failed detection. The next valid observation should recover the existing identity when the association evidence supports it.
  7. Exercise output retries. Confirm repeated transmission of an existing identifier does not create another queued pick.

Log image ID, encoder position, image-space position, compensated position, association distance, target ID, and acceptance reason. Plot residuals against belt position and speed to reveal scale errors or timing bias.

Also verify restored acquisition settings after a restart. The trigger-overlap startup checks describe why a successful setting change during commissioning does not prove the same configuration returns at startup.

8. Know when overlap and a radius are insufficient

If U is no greater than Pmax, no positive trigger spacing guarantees a complete view. Increase usable coverage, constrain part orientation, or redesign the inspection method. Faster triggering alone cannot create missing image area.

Encoder compensation also becomes unreliable when parts slide, roll, or transfer between surfaces independently of the measured belt motion. Those cases require additional motion estimation, improved transport control, or a different sensing arrangement.

Touching parts may have nearly identical reference points or unstable segmentation. Resolve the image separation problem before relying on historical proximity. Where several parts remain indistinguishable, report uncertainty instead of suppressing observations indiscriminately.

Finally, treat target association as process logic, not a protective function. Validate machine safety independently, and conduct commissioning with appropriate guarding and authorized operating procedures.

9. Complete the pre-order and commissioning checklist

  • Coverage: Measure usable travel length and width at the actual part height. Include orientation, placement variation, and image-edge exclusions.
  • Spacing: Calculate the limiting center interval and reserve margin for measured uncertainties. Verify trigger acceptance at maximum conveyor speed.
  • Imaging: Confirm sampling, illumination, exposure, and localization repeatability on moving parts. A sharp stationary image is not sufficient evidence.
  • Motion data: Confirm encoder scale, direction, rollover handling, and exposure association. Document behavior during stops and reverse travel.
  • Association: Test isolated parts, neighboring pairs, missed observations, and ambiguous matches. Retain records for the full observation lifecycle.
  • Output: Define unique target identities, acknowledgment, retries, and restart reconciliation. Do not clear history and resume output without checking outstanding targets.
  • Feature support: Verify required acquisition and software capabilities through supported documentation before committing hardware.

Start with the camera configuration workflow once coverage, sampling, and acquisition rate are defined. For help checking the complete arrangement, send the usable field dimensions, part-size range, conveyor speed, encoder details, and closest part spacing through application support.

Questions

How should trigger spacing change when elongated parts rotate?

Choose spacing from the longest projected part and the usable field length along conveyor travel. The spacing must fit within the remaining center-position interval, with allowance for measured uncertainties. Shorter orientations will naturally appear in more images; handle those repeated observations through cross-frame association rather than sacrificing coverage.

Can duplicate detections be removed by comparing image coordinates?

Not reliably. A moving part changes position between images, and another part may later occupy the same image location. Transform detections into calibrated conveyor coordinates and compensate measured belt displacement before matching them. Image-coordinate proximity alone does not establish physical identity.

How large should the cross-frame matching radius be?

Measure the residual distance between repeated observations of the same part, then compare it with the smallest separation between different parts. The gate needs a clear separation between those cases. If measurement uncertainty approaches neighboring-part separation, improve localization, timing, transport, or identification rather than simply increasing the radius.

How do you avoid suppressing two adjacent parts as duplicates?

A global suppression radius can incorrectly combine neighboring parts. Validate within-image separation independently, use conveyor-compensated history for cross-frame matching, and enforce one-to-one associations. When several matches remain plausible, retain the uncertainty for further observation or controlled rejection instead of silently discarding a part.

What should happen to duplicate history during a conveyor stop?

Retain accepted identities while their parts remain within the observation lifecycle, even if the belt stops. At restart, reconcile outstanding targets and delayed results before accepting new outputs. A timeout or application restart should not automatically make a previously accepted physical part eligible for another pick command.