# How to get around Overlapping Problem?

Is there some algorithm that bypass the overlapping problem? I know that watershed algo can make it, however if the object is totally or almost totally overlapped it is inneficient. Doing some search I found this and the page 2 of this doc, explains what i am saying.

Basically, the camera uses mirrors and have two different views of the object. Is there an algorithm that makes it? Or another way to get around overlapping? When objects are falling, they overlap each other. And with watershed algorithm, the error is high. Is there an algorithm that uses 2 views and uses it to compensate overlapping objects. Like the one on the document on the link?

edit retag close merge delete

1

sorry, but it's entirely unclear, what you have or what you need. "overlapping problem" ? "mirrors" ?

( 2017-07-13 07:05:23 -0600 )edit
1

When objects are falling, they overlap each other. And with watershed algorithm, the error is high. Is there an algorithm that uses 2 views and uses it to compensate overlapping objects. Like the one on the document on the link?

( 2017-07-13 07:16:24 -0600 )edit

Its still quite unclear to me how overlapping and watershed are related xD but hey that might be me.

( 2017-07-18 08:24:03 -0600 )edit

It is not just watershed, but watershed algo with distance transform, like the example of the cards: http://docs.opencv.org/3.1.0/d2/dbd/t...

( 2017-07-18 14:34:25 -0600 )edit

I agree, but still then I am not really sure how you will be able to solve the overlap problem...

( 2017-07-20 03:02:04 -0600 )edit

Yes, me neither =[ So i did some research and found that someone used mirrors to get around this problem. However, it seems to not be the best way to solve the problem

( 2017-07-20 15:27:57 -0600 )edit

Sort by ยป oldest newest most voted

Depends on your setup, but assuming that the objects will be falling more or less in the same distance/plane with respect to the mirrors/camera matrix (within the stream limited by e.g. the green lines in the picture), you can calibrate the camera easily with a two-sided chessboard (identical on each side) to determine the correspondence of pixels between between both views. Then you compare the corresponding areas - if you see only one object at one view, but two in the other, you know that you have in fact two objects overlapping. This approach will be harder to implement if the stream of objects is very wide, i.e. the distance to the camera matrix varies greatly with respect to the objects' size (e.g. blue lines in the picture).

If you also try to detect seeds, you can also try to detect overlaps by analyzing height to width ratio of the bounding box. Overlapped seeds will typically have height to width ratio that is much closer to 1. Depending on your setup, speed and dosing of falling objects, this may actually be quite accurate itself and you may not even need a second view to count accurately. This approach may work regardless of the width of the stream.

more

From watching the video and skimming the brochure, it seems likely that they're doing more processing rather than less. In addition to processing two views of the same scene (twice the work already) it seems likely that they're doing feature extraction and shape detection rather than using a less intensive method like watershed.

I don't expect we'll attempt a 2-view tutorial using mirrors, because none of our readers are likely to have such a setup. We've stayed away from stereovision algorithms altogether up to now, because most of our readers don't have a stereovision camera setup either.

( 2017-07-17 07:08:33 -0600 )edit

Official site

GitHub

Wiki

Documentation