Reconstructing components from regionprops

Hi!
I used the watershed in the Image Processing toolbox to detect certain objects, but I realize that it sometimes makes errors and mislabels one object as two, and sometimes two as one. I have a series of images, so it's easy to find instances where it didn't make this mistake for the same objects. And I found a way to identify where in the series it makes these mistakes.
Now I'd like to find a way to reconstruct these objects when they are mislabeled and am wondering how to go about this. I'd like to reconstruct all the properties- Area, Perimeter, CentroidX&Y, ConvexHull, ConvexImage, etc. I have some ideas for Area, Perimeter, and Centroid X&Y. However, I'm not sure how I'll reconstruct the ConvexHull and ConvexImage. Does anyone have any ideas how to approach this part of the problem?
Thanks for your suggestions!

Risposte (1)

Image Analyst
Image Analyst il 22 Ago 2020

8 Commenti

Veena Chatti
Veena Chatti il 22 Ago 2020
Modificato: Veena Chatti il 22 Ago 2020
Thanks for those links! I will look at their recommendations.
Although watershed makes an error in almost every image in the series, it only makes an error in about 2-5% of the objects in the entire frame. That's not bad at all for a total of ~200 objects. I am also able to tell in which frames and in which objects such an error has been made. I also know what the objects look like in neighboring frames when watershed gets it right.
What I am trying to figure out is how to fix the erroroneous measurements of regionprops without hand-drawing markers to help watershed, as this is a source of randomness in my measurements that would be good to remove.
Perhaps use deep learning.
Thank you! I am also thinking along these lines. I trained a single-layered perceptron to find the frames where it has made an error. Now the next step is to fix these.
Do you know how to go about using deep learning to for this? Are there any resources, literature or tutorials you know about that you'd recommend?
There are tons of examples and demos on the Mathworks site - just look around.
Veena Chatti
Veena Chatti il 23 Ago 2020
Modificato: Veena Chatti il 23 Ago 2020
I took a quick look - the suggestions on the Mathworks site all seem to involve getting their deep learning toolbox- do you think it'll be possible without?
The main error type is a simple linear classification problem that the perceptron is able to handle. The half-as-common one (resulting from oversegmentation) is not as cleanly linearly separable. I'm attaching a scatter plot of the two parameters I had hoped to train it on (area and perimeter). Thanks for your tips.
The division/classification with only those two parameters doesn't look like it will be so clean cut. I'd try to measure another independent feature and add that to the mix to help with the classification.
I have also tried ConvexArea, but there's still intermixing (like in the attached scatter plots).
I'm also attaching a screenshot of the watershed itself with the errors circled- does anything else occur to you?
Correct. Again, you're not measuring enough things, or the correct things, to distinguish them and determine the ground truth class.

Accedi per commentare.

Prodotti

Release

R2019b

Richiesto:

il 22 Ago 2020

Commentato:

il 25 Set 2020

Community Treasure Hunt

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

Start Hunting!

Translated by