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!

Réponses (1)

Image Analyst
Image Analyst le 22 Août 2020

0 votes

8 commentaires

Veena Chatti
Veena Chatti le 22 Août 2020
Modifié(e) : Veena Chatti le 22 Août 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.
Image Analyst
Image Analyst le 22 Août 2020
Perhaps use deep learning.
Veena Chatti
Veena Chatti le 22 Août 2020
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?
Image Analyst
Image Analyst le 22 Août 2020
There are tons of examples and demos on the Mathworks site - just look around.
Veena Chatti
Veena Chatti le 23 Août 2020
Modifié(e) : Veena Chatti le 23 Août 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.
Image Analyst
Image Analyst le 23 Août 2020
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.
Veena Chatti
Veena Chatti le 24 Sep 2020
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?
Image Analyst
Image Analyst le 25 Sep 2020
Correct. Again, you're not measuring enough things, or the correct things, to distinguish them and determine the ground truth class.

Connectez-vous pour commenter.

Produits

Version

R2019b

Question posée :

le 22 Août 2020

Commenté :

le 25 Sep 2020

Community Treasure Hunt

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

Start Hunting!

Translated by