DeepMed-Lab-ECNU / MagicNet

MagicNet: Semi-Supervised Multi-Organ Segmentation via Magic-Cube Partition and Recovery (CVPR 2023)
MIT License
57 stars 5 forks source link

result #5

Closed CamillerFerros closed 3 weeks ago

CamillerFerros commented 1 year ago

Hi!This semi-supervised method is truly amazing!I've reproduced your work. The results are excellent on the BTCV dataset, but for the esophagus, my DSC is 0 at iteration 70000. The average DSC is 0.704, spleen: 0.873, right kidney: 0.924, left kidney: 0.889, gallbladder: 0.604, esophagus: 0.000, liver: 0.937, stomach: 0.704, aorta: 0.858, inferior vena cava: 0.820, portal vein and splenic vein: 0.707, pancreas: 0.693, right adrenal gland: 0.545. Can you please explain why?Thanks!

DuowenC commented 1 year ago

Hi!Sorry for my late reply. Could you tell me in which setting these results are obtained?

yeeohh commented 1 year ago

@DuowenC Hi, thanks very much for your good work!

I encountered the same problem when I reproduced your work. I use the default settings as your code. The random seed is kept as 1337. However, the DSC of esophagus is 0 for both 30% and 40% unlabeled data.

     DSC      NSD    Spl           R.kid        L.kid   Gall       Eso     Liv    Sto           Aor         IVC         Veins      Pan      RG  LG

30% 70.77 69.60 88.55 92.30 92.18 50.20 0 93.74 71.33 86.30 83.26 69.33 71.10 61.91 59.87 40% 73.58 74.14 91.10 93.65 92.69 64.95 0 94.89 77.59 87.19 84.35 71.37 73.38 63.74 61.69

yeeohh commented 1 year ago

@DuowenC What's the seed used in your paper? I think it could be due to the seed.

DuowenC commented 1 year ago

@QW-1 I just check the results as shown below. The seed used in our methods is 1337. "Final Average DSC: 0.7553, HD95: 13.4608, NSD: 0.7631, ASD: 4.4296, spleen: 0.9142+-0.0293, 19.3966+-36.0654, 0.8659+-0.0655, 5.5963+-6.5453, r.kidney: 0.8464+-0.2391, 9.3388+-12.7384, 0.8465+-0.2144, 3.2233+-4.2872, l.kidney: 0.8619+-0.2557, 11.5317+-30.4640, 0.8713+-0.2479, 9.3496+-26.0845, gallbladder: 0.6286+-0.2686, 26.4782+-41.7231, 0.6298+-0.2699, 10.0740+-19.0686, esophagus: 0.6249+-0.1330, 5.4183+-2.0362, 0.6879+-0.1193, 1.8210+-0.6378, liver: 0.9389+-0.0327, 30.3141+-51.5901, 0.8077+-0.1571, 11.6608+-21.2452, stomach: 0.7287+-0.1822, 17.1976+-14.4824, 0.5922+-0.1942, 3.0867+-1.9872, aorta: 0.9070+-0.0203, 1.5739+-0.7786, 0.9439+-0.0433, 0.6900+-0.3154, ivc: 0.8352+-0.0533, 3.9609+-1.8827, 0.8074+-0.0992, 1.1246+-0.9647, portal and splenic vein: 0.7007+-0.0736, 7.0605+-4.1683, 0.7791+-0.0871, 0.9441+-0.3085, pancreas: 0.6494+-0.1188, 11.2827+-9.2399, 0.5908+-0.1170, 1.6339+-0.5579, right adrenal gland: 0.6088+-0.0981, 5.4536+-5.8563, 0.7788+-0.1345, 1.4688+-2.3248, Left adrenal gland: 0.5748+-0.1320, 25.9842+-43.7142, 0.7192+-0.1579, 6.9115+-11.3705"

yeeohh commented 1 year ago

@DuowenC Thanks very much for your quick reply !!! Could you please release the 'btcv.txt' file? Or check whether our data are splitted same? My data splitting are as follows after shuffle with seed 1337. train_list ['0025', '0006', '0024', '0004', '0002', '0001', '0022', '0026', '0007', '0028', '0005', '0023', '0003', '0021', '0027', '0010', '0008', '0009'] test_list ['0029', '0030', '0031', '0032', '0033', '0034', '0035', '0036', '0037', '0038', '0039', '0040']

30% labeled, ['0025', '0006', '0024', '0004', '0002'] 40% labeled, ['0025', '0006', '0024', '0004', '0002', '0001', '0022']

DuowenC commented 1 year ago

@QW-1 Here are our data-splitting lists using the seed 1337. train_list: ['0006', '0039', '0021', '0005', '0007', '0031', '0040', '0027', '0024', '0037', '0026', '0010', '0009', '0023', '0028', '0030', '0034', '0033'] test_list: ['0008', '0022', '0038', '0036', '0032', '0002', '0029', '0003', '0001', '0004', '0025', '0035']

LiYing-hub-coder commented 12 months ago

Hi!This semi-supervised method is truly amazing!I've reproduced your work. The results are excellent on the BTCV dataset, but for the esophagus, my DSC is 0 at iteration 70000. The average DSC is 0.704, spleen: 0.873, right kidney: 0.924, left kidney: 0.889, gallbladder: 0.604, esophagus: 0.000, liver: 0.937, stomach: 0.704, aorta: 0.858, inferior vena cava: 0.820, portal vein and splenic vein: 0.707, pancreas: 0.693, right adrenal gland: 0.545. Can you please explain why?Thanks!

hello,my result is below: Final Average DSC:0.5893, HD95: 26.0942, NSD: 0.5530, ASD: 8.3840, spleen: 0.8903+-0.0560, 37.8076+-43.6354, 0.7839+-0.1061, 12.1132+-13.4151, r.kidney: 0.8223+-0.2377, 46.2144+-61.5079, 0.7942+-0.2042, 12.6138+-13.1435, l.kidney: 0.8480+-0.2365, 20.2680+-33.9149, 0.8364+-0.2267, 10.9137+-22.4268, gallbladder: 0.4864+-0.2754, 91.9425+-43.3784, 0.4341+-0.2392, 33.3619+-24.4725, esophagus: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, liver: 0.9388+-0.0371, 32.9467+-57.9041, 0.8235+-0.1173, 10.6590+-17.0104, stomach: 0.7029+-0.1907, 21.1473+-21.1430, 0.5647+-0.1875, 6.0936+-5.6126, aorta: 0.9005+-0.0281, 17.2169+-49.1231, 0.9233+-0.0569, 3.0403+-5.9916, ivc: 0.8354+-0.0428, 4.0521+-2.0406, 0.7954+-0.0864, 1.1259+-0.4525, portal and splenic vein: 0.6356+-0.1043, 54.5063+-54.2834, 0.7033+-0.1119, 13.6434+-9.5160, pancreas: 0.6004+-0.1509, 13.1227+-9.9145, 0.5306+-0.1457, 5.4273+-4.7261, right adrenal gland: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, Left adrenal gland: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000 for BTCV 30%,have you solved this question?what is your setting?

DuowenC commented 11 months ago

@LiYing-hub-coder It is highly likely that this is caused by the different division of data cases. In other words, the partitioning of the training set and test set, as well as the selection during training of which case samples in the training set to use as labeled data and which to use as unlabeled data, may affect the final results. For the BTCV dataset, you can try training according to the data partitioning way as I mentioned above (or 'btcv.txt' that I have released). I hope this resolves your problem!

yinguanchun commented 11 months ago

@LiYing-hub-coder It is highly likely that this is caused by the different division of data cases. In other words, the partitioning of the training set and test set, as well as the selection during training of which case samples in the training set to use as labeled data and which to use as unlabeled data, may affect the final results. For the BTCV dataset, you can try training according to the data partitioning way as I mentioned above (or 'btcv.txt' that I have released). I hope this resolves your problem!

I use the btcv.txt to split training set,but the dice of esophagus is still 0.Whether the order given in the text is different from when you experimented? Although I feel that this effect is small, I really can't think of any other possible causes.

DuowenC commented 11 months ago

@yinguanchun

e35114e7e0b97a5ac63f0c594dd7673

I checked again and try printing the train_list and test_list in this ''train'' function, and the printing result is the same as the above: "train_list:['0006', '0039', '0021', '0005', '0007', '0031', '0040', '0027', '0024', '0037', '0026', '0010', '0009', '0023', '0028', '0030', '0034', '0033'], test_list:['0008', '0022', '0038', '0036', '0032', '0002', '0029', '0003', '0001', '0004', '0025', '0035']". Have you used the h5 format data files that we have released?

DuowenC commented 11 months ago

@yinguanchun Perhaps you could check again if your training process has any other issues. If that doesn't work, I can share my training logs with you.

yinguanchun commented 11 months ago

@yinguanchun Perhaps you could check again if your training process has any other issues. If that doesn't work, I can share my training logs with you.

I only use the cross-image partition and recovery to reproduce your work, and I get a better result than before: [2023-12-13 22:22:52.799] Final Average DSC:0.7129, HD95: 40.0639, NSD: 0.7109, ASD: 14.0176, spleen: 0.8982+-0.0420, 34.8456+-49.1840, 0.8320+-0.0604, 9.9828+-9.4784, r.kidney: 0.8033+-0.2447, 11.5804+-13.0295, 0.7769+-0.2290, 4.7590+-4.8127, l.kidney: 0.8085+-0.2435, 65.3169+-38.3292, 0.7664+-0.2249, 24.4275+-23.1399, gallbladder: 0.6028+-0.2365, 65.0918+-44.5093, 0.5941+-0.2288, 21.3649+-16.9566, esophagus: 0.5948+-0.1403, 37.7049+-40.2545, 0.6257+-0.1299, 12.3332+-9.3304, liver: 0.9309+-0.0483, 43.5487+-60.1639, 0.7841+-0.1978, 15.7450+-24.7303, stomach: 0.6309+-0.2067, 58.8686+-38.4446, 0.5213+-0.1881, 16.7627+-8.7100, aorta: 0.8988+-0.0224, 8.1931+-17.3021, 0.9203+-0.0435, 2.9579+-2.1100, ivc: 0.8438+-0.0507, 3.5811+-1.9184, 0.8281+-0.0913, 0.9303+-0.3751, portal and splenic vein: 0.6846+-0.0994, 14.7149+-18.1514, 0.7543+-0.1122, 5.8082+-4.3803, pancreas: 0.6152+-0.1232, 10.4835+-5.0394, 0.5727+-0.1124, 2.8209+-2.1405, right adrenal gland: 0.5329+-0.1041, 68.6448+-30.8425, 0.6822+-0.1325, 20.1848+-9.2258, Left adrenal gland: 0.4230+-0.1228, 98.2571+-41.8155, 0.5837+-0.1256, 44.1513+-21.9901

I think the code of Within-image Partition and Recovery to generate pseudo label have some errors. 1702551033163 The code uses the first two samples to generate pseudo labels and caculate loss,but the first two samples are labeled. I think we should use the unlabeled samples to generate pseudo labels and caculate loss. I don't know if I'm right, but I do have questions about it.

DuowenC commented 11 months ago

@yinguanchun Thanks for your attention to our work! We have updated the file 'cube_losses.py'.

RY-97 commented 7 months ago

@DuowenC Thanks very much for your quick reply !!! Could you please release the 'btcv.txt' file? Or check whether our data are splitted same? My data splitting are as follows after shuffle with seed 1337. train_list ['0025', '0006', '0024', '0004', '0002', '0001', '0022', '0026', '0007', '0028', '0005', '0023', '0003', '0021', '0027', '0010', '0008', '0009'] test_list ['0029', '0030', '0031', '0032', '0033', '0034', '0035', '0036', '0037', '0038', '0039', '0040']

30% labeled, ['0025', '0006', '0024', '0004', '0002'] 40% labeled, ['0025', '0006', '0024', '0004', '0002', '0001', '0022']

请问你有在自己的数据集上跑过吗?我在私有数据集上损失一直不下降 在来回波动

RY-97 commented 7 months ago

@yinguanchun e35114e7e0b97a5ac63f0c594dd7673 I checked again and try printing the train_list and test_list in this ''train'' function, and the printing result is the same as the above: "train_list:['0006', '0039', '0021', '0005', '0007', '0031', '0040', '0027', '0024', '0037', '0026', '0010', '0009', '0023', '0028', '0030', '0034', '0033'], test_list:['0008', '0022', '0038', '0036', '0032', '0002', '0029', '0003', '0001', '0004', '0025', '0035']". Have you used the h5 format data files that we have released?

我在同样的数据下 包括测试和训练数据划分一样 但得到的esophagus: 确实是0

GaoHaokai222 commented 1 month ago

Hi!This semi-supervised method is truly amazing!I've reproduced your work. The results are excellent on the BTCV dataset, but for the esophagus, my DSC is 0 at iteration 70000. The average DSC is 0.704, spleen: 0.873, right kidney: 0.924, left kidney: 0.889, gallbladder: 0.604, esophagus: 0.000, liver: 0.937, stomach: 0.704, aorta: 0.858, inferior vena cava: 0.820, portal vein and splenic vein: 0.707, pancreas: 0.693, right adrenal gland: 0.545. Can you please explain why?Thanks!

hello,my result is below: Final Average DSC:0.5893, HD95: 26.0942, NSD: 0.5530, ASD: 8.3840, spleen: 0.8903+-0.0560, 37.8076+-43.6354, 0.7839+-0.1061, 12.1132+-13.4151, r.kidney: 0.8223+-0.2377, 46.2144+-61.5079, 0.7942+-0.2042, 12.6138+-13.1435, l.kidney: 0.8480+-0.2365, 20.2680+-33.9149, 0.8364+-0.2267, 10.9137+-22.4268, gallbladder: 0.4864+-0.2754, 91.9425+-43.3784, 0.4341+-0.2392, 33.3619+-24.4725, esophagus: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, liver: 0.9388+-0.0371, 32.9467+-57.9041, 0.8235+-0.1173, 10.6590+-17.0104, stomach: 0.7029+-0.1907, 21.1473+-21.1430, 0.5647+-0.1875, 6.0936+-5.6126, aorta: 0.9005+-0.0281, 17.2169+-49.1231, 0.9233+-0.0569, 3.0403+-5.9916, ivc: 0.8354+-0.0428, 4.0521+-2.0406, 0.7954+-0.0864, 1.1259+-0.4525, portal and splenic vein: 0.6356+-0.1043, 54.5063+-54.2834, 0.7033+-0.1119, 13.6434+-9.5160, pancreas: 0.6004+-0.1509, 13.1227+-9.9145, 0.5306+-0.1457, 5.4273+-4.7261, right adrenal gland: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, Left adrenal gland: 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000, 0.0000+-0.0000 for BTCV 30%,have you solved this question?what is your setting?

@LiYing-hub-coder Hi, have you solved this problem? I encountered the same issue where the scores for both the right adrenal gland and the left adrenal gland are 0.

DuowenC commented 3 weeks ago

@GaoHaokai222 Hi, have you resolved your problem? We released our checkpoint and training logs on for model_checkpoint 30% and 40% BTCV setting, hope these can help you!