Detecting watershed oversegmentation errors

4 views (last 30 days)
Hi,
My watershed algorithm sometimes oversegments two objects when it should pick up one. I am tracking these objects in a sequence of images from frame to frame and have been stuck for a little while on trying to write a code to detect this error and predict the frames in which it happens.
The attached watershed image shows two examples of this. So far, I have tried to see if the error is discernible by measuring area, perimeter, and displacement of centroid, but none of those properties seem linearly separable (see attached scatter plots). Is there anything else I could try to get the computer to be able to flag these while tracking?
I would really appreciate any tips and suggestions! This has been something I've been trying to iron out for a while now.
Thanks!

Answers (1)

Pratyush Roy
Pratyush Roy on 30 Sep 2020
The over-segmentation of the Watershed algorithm may be resolved by using the 'imhmin' function prior to using the 'watershed' function, as this would remove shallow minima from the image.
Please refer to the following link for more information on the 'imhmin' and 'watershed' function:
As an alternative, you may also use the 'imextendedmin' function prior to using the 'watershed' function, as demonstrated in the article below:
  1 Comment
Veena Chatti
Veena Chatti on 1 Oct 2020
Hi Pratyush,
Thanks for your suggestions. I'm already using the imhmin function and will also try imextendedmin.
Here's the issue: The entire image is about ten times the size of the screenshot, so there are about 200-250 objects. If I re-run the watershed on all of them, there's a risk of introducing further errors. I'll need to fix it in the smaller patches where there are errors.
Do you know how to find a way to click on the objects that weren't correctly detected and ask it to re-run the watershed on just those? I can detect both error types with better pattern recognition models now.
Thanks!
Veena

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!