taigw / brats17

Brain tumor segmentation for MICCAI 2017 BraTS challenge
BSD 3-Clause "New" or "Revised" License
324 stars 130 forks source link

About the size of data_shape #28

Open 1160914483 opened 5 years ago

1160914483 commented 5 years ago

Hello, senior fellow apprentice. I have heard a lot about you!

I changed the model structure on the basis of your model, and the training process was smooth. However, a large number of problems occurred in data-shape during the test.

During the training and testing, did you follow the relevant principles in choosing the data_shape size?

taigw commented 5 years ago

Hi, I'm not sure about what problems you have faced. Can you provide more information?

1160914483 commented 5 years ago

嗨,我不确定你遇到了什么问题。你能提供更多信息吗?

hello I would like to ask how you choose the size of data_shape and label_shape during the training and test? Is there any basis for that?

taigw commented 5 years ago

@1160914483 , these are hyperparameters. I tried different configurations and found the optimal values.

1160914483 commented 5 years ago

@ 1160914483,这些是超参数。我尝试了不同的配置并找到了最佳值。

Hello,senior fellow apprentice

Is the size of data_shape a patch size that is randomly cropped from 240240155?

Or, to resize the size of 240240155 to the value of data_shape?

In your paper, the restricted working area is introduced, and the segmentation process works in the whole tumor area and the tumor core area successively. Therefore, I do not understand whether the data_shape in the configuration file refers to the patch size in 240240155 data or the patch size in the subregion of the tumor.

taigw commented 5 years ago

Hi, the data_shape in the configure file is the size of randomly cropped patch.

1160914483 commented 5 years ago

嗨,配置文件中的data_shape是随机裁剪补丁的大小。

Thank you for your reply Can you answer two more questions?

  1. How is the number of patch specified, and what is the initial specified value?
  2. Why are patch sizes different during training and testing?
taigw commented 5 years ago

Hi, During training time, I randomly selected N volumes from the training set, and then randomly cropped one patch from each volume. During testing time, the patch size is larger just for efficiency.

1160914483 commented 5 years ago

嗨, 在训练期间,我从训练集中随机选择N个卷,然后从每个卷中随机裁剪一个补丁。在测试期间,贴片尺寸只是为了提高效率。

Thank you for your reply. I have a question.When I was testing, I printed out the shape that was actually running in the network.Then I find that the data_shape that actually goes into the network is not the same as the one in the configuration file. For example, for wt training, I set the data_shape of ax,sg and cr in the configuration file to [19144144].When testing WT, I set the data_shape of ax, sg and cr in the configuration file as [19144144], but the actual size of data_shape running in the network is [19196144], [19148196], and [19148144]. For the same wt training, I set the data_shape of ax,sg and cr in the configuration file as [19144144].However, in the test, I set the data_shape of ax, sg and cr in the configuration file as [19160180], [19180160], [19160160], but in the actual operation of the network, the data_shape is [19196160], [19160196], and [19160160]. And what I found was that the size of these things changed for different patients.Is it because you added the rectangle?May I ask you to tell me the reason for this?

taigw commented 5 years ago

Hi, the reason for that is just to make the testing shape adapted to the testing image, so that the testing can be faster. For example, if the testing image has a shape of [19, 196, 160], then the patch number should be 2 if the data_shape is [19, 180, 160], and it can be reduced to 1 by setting data_shape as [19, 196, 160]. Testing with one [19, 196, 160] patch is more efficient than testing with two [19, 180, 160] patches.