huangmozhilv / u2net_torch

MICCAI2019:3D U$^2$-Net: A 3D Universal U-Net for Multi-Domain Medical Image Segmentation
233 stars 53 forks source link

Question about the result of Task03_Liver with u2net #3

Closed yl255 closed 4 years ago

yl255 commented 4 years ago

Hi, Huang I train the Task03_Liver data with the u2net, model is 'independent' The result of the dirtory 'Task03_Liver/eval_out':

  1. the file 'independent_eval_res.csv' is: independent,Task03_Liver,43,300,background,0.8916431518030707,20191105_0552 independent,Task03_Liver,43,300,liver,0.21799891788565087,20191105_0552 2.the file 'Task03_Liver_eval_res.csv' is like: 43,20191105_0447,liver_101,0.8264607633464421,0.2039704202942287 43,20191105_0449,liver_11,0.8457022631483909,0.16228892270692075 43,20191105_0452,liver_112,0.8737011154430623,0.14028567103856587 43,20191105_0455,liver_115,0.8791505887936942,0.11115132973364941 ...... I think the result of the inference is not right. What do you think? The training only took 43 epoch, will it take more epoch? And in the 'preprocess_taskSep.py' , I was confused with the 'fuseCa = True'. Best, Yaliang
huangmozhilv commented 4 years ago

Hi @yl255 , it took about 90 epochs in my implementation. As our goal is multi-organ segmentation, we setfuseCa=True to fuse the cancer labels to be liver, i.e. treating both liver and liver cancer as liver.

yl255 commented 4 years ago

Hi @huangmozhilv , Thank you for your reply! Could you mind to show me the result of file 'independent_eval_res.csv' and 'Task03_Liver_eval_res.csv' ? I plot the predict file like 'Epoch43_liver_XX.nii.gz' in the diretory 'Task03_Liver/eval_out' was stranged. Thanks!

huangmozhilv commented 4 years ago

@yl255 , you could find the path to an event file, and use tensorboardX to visualize it to find out what's going wrong. What's the screenshot image of the prediction file?

yl255 commented 4 years ago

Hi @ @huangmozhilv This is one predict image. https://github.com/yl255/uploadimage/blob/master/individualImage.png The 'PS' look so stranged. In your paper, the Dice of the Liver is 95.02 with the 'independent' model. But my result was to bad.

huangmozhilv commented 4 years ago

@yl255 The image is not visible. Could be that the image is in your master branch. Please upload your image to this conversation. image

yl255 commented 4 years ago

Here is the image. individualImage

huangmozhilv commented 4 years ago

@yl255 , this should be from some early epochs. Please take a look at later epoch outputs. U can identify the epoch number in the image title.

yl255 commented 4 years ago

Hi, Thanks This is one image title is : figure/Eval_liver_115_epoch_43_dices0.86456839975205660.1118643295533142__image_GT_PS . step 12,900 individualImage (1)

huangmozhilv commented 4 years ago

@yl255 , did your code stop with any errors? What are your config settings? maybe the initial learning rate is too high or the lr decay is too large, etc..

yl255 commented 4 years ago

Hi, lr is 0.003, and stopped when lr < 1e-8. The config settings was kept the same as default.

huangmozhilv commented 4 years ago

@yl255 , did your code stop with any errors?

yl255 commented 4 years ago

I think it was no error. I run the code on Windows10.

huangmozhilv commented 4 years ago

@yl255 , please check your loss curves.

yl255 commented 4 years ago

Hi,@huangmozhilv I retrained the net, and it work well. Your work is great! Best, Yaliang

huangmozhilv commented 4 years ago

Hi,@huangmozhilv I retrained the net, and it work well. Your work is great! Best, Yaliang

Great. 👍. May I know what's wrong with your previous training? How did you solve it?

yl255 commented 4 years ago

hi,sorry to reply so late. I just rerun the preprocess_taskSep.py. And then the result was OK. I used the 'independent' model for training. If the parameter 'resume_ckp' is not empty, it should reload the model. Maybe that is the problem. And more, I use u2net(independent model) to train myself data, but the result was not better than nnUnet. Thank you for your great work! Best, Yaliang

zz10001 commented 4 years ago

hi,sorry to reply so late. I just rerun the preprocess_taskSep.py. And then the result was OK. I used the 'independent' model for training. If the parameter 'resume_ckp' is not empty, it should reload the model. Maybe that is the problem. And more, I use u2net(independent model) to train myself data, but the result was not better than nnUnet. Thank you for your great work! Best, Yaliang

Hi, Could you share me your liver and tumor dice on task03.

huangmozhilv commented 4 years ago

hi,sorry to reply so late. I just rerun the preprocess_taskSep.py. And then the result was OK. I used the 'independent' model for training. If the parameter 'resume_ckp' is not empty, it should reload the model. Maybe that is the problem. And more, I use u2net(independent model) to train myself data, but the result was not better than nnUnet. Thank you for your great work! Best, Yaliang

Thanks for the reply. nnUnet did a great job by identifying an intact pipeline including the data preprocessing, augmentation and postprocessing. There's much room for improvement in our pipeline. Welcome for any suggestions if you do have.

yl255 commented 4 years ago

Hi, @zz10001 This is the result. task03-dice Best, Yaliang