frankkramer-lab / MIScnn

A framework for Medical Image Segmentation with Convolutional Neural Networks and Deep Learning
GNU General Public License v3.0
402 stars 116 forks source link

The code is executed but not learned. #63

Open SangWoonJeong opened 3 years ago

SangWoonJeong commented 3 years ago

Using the example kidney data, we have confirmed that learning is possible. And I am trying to learn using my data, but it does, but the loss does not drop. It was learned in general U-net. My data size is 512x512x161, 6 labels images including background. Learning progresses, but what should I check if the loss does not fall??

Thank you so much for confirming.

muellerdo commented 3 years ago

Hey @SangWoonJeong,

without any knowledge about your dataset or MIScnn your configurations, there could be dozens of different bottlenecks why a model is not be able to learn on your data.

I would highly recommend reading into medical image segmentation to get an overview of yourself what are you want to do and what methods you want to apply.

But for the start, these two things popped in my mind: 1) 512x512x161 is an shape of a 3D image scan, but how big is your dataset -> how many samples do you have? Is it enough to learn a model? Are you running a simplistic train/test split or a cross-validation or something?

2) With 6 labels you mean a multi-class segmentation, right? It is super important how good the quality is of your annotation. Where do they come from, how difficult is the segmentation task, how present are the different annotations in an image, do all scans have all labels included, ...

3) MIScnn is like a toolbox with dozens of different methods to apply or not apply in your analysis pipeline. Resampling, clipping, patch shapes, data augmentation, etc play an important role. I would have to speculate that you are running the default values of MIScnn, which may not be suited for any dataset.

Cheers, Dominik